Enseñarle desde el inicio hasta la competencia en la comunicación C# Modbus

inserte la descripción de la imagen aquí

Prefacio:

En el campo de la comunicación industrial, la comunicación Modbus es un protocolo de comunicación ampliamente utilizado. Generalmente existen tres tipos de Modbus, a saber, ModbusRTU, ModbusASCII y ModbusTCP. Entre ellos, ModbusRTU y ModbusASCII son protocolos aplicados a los enlaces serie. Utiliza el puerto serie. En términos sencillos, ModbusTCP utiliza el puerto de red. El autor ha estado trabajando en el campo de la automatización durante muchos años y ha realizado innumerables proyectos Modbus. También ha ganado decenas de miles de trabajos a tiempo parcial confiando en la comunicación Modbus. Después de todo, déjame usar un ModbusSlave con las manos desnudas. Una herramienta de depuración de Modbus no es un problema para mí. Por ejemplo, el asistente de depuración de Modbus que ves en la imagen de arriba está escrito por mí. Los antiguos decían que leer miles de libros no es tan bueno como viajar miles de kilómetros, y viajar miles de kilómetros no es tan bueno como ser guiado por un maestro famoso, por lo que la forma más rápida de comenzar debe ser encontrar a alguien mayor a quien imitar. él, y debes invertir en ti mismo cuando eres joven! Comprar libros, comprar cursos y aprender son las formas más rápidas de mejorar. No hay otra manera de convertirse en un maestro. ¡Estudia mucho + imita a los maestros y seguramente lograrás algo en el futuro! Un libro o un curso cuesta decenas de dólares, pero el dinero que ganarás en el futuro debe ser de decenas, cientos, miles o incluso más de estos costos. Si usted es una persona común sin antecedentes sólidos, debe continuar aprendiendo. ¡El aprendizaje continuo es la única forma en que la gente común puede contraatacar! Si desea dominar la programación de Modbus, es esencial un conocimiento básico de la gramática de C#. Suscríbase a mi columna " Comunicación C# Modbus de principiante a maestro " y obtenga los libros electrónicos "C# Essence" y "C# Graphical Tutorial". En resumen, mientras aprenda la comunicación Modbus conmigo, definitivamente podrá convertirse en un reproductor Modbus invencible . Si le hago las siguientes preguntas, puede responderlas y será considerado un maestro. De lo contrario, ¿cómo puede ¿gana fácilmente más de 300 000 de salario anual? Por supuesto, presentaré Comunicación C# Modbus desde el inicio hasta el dominio ".
Pregunta 1: ¿Cuántos tipos de Modbus hay?
Pregunta 2: ¿Modbus RTU utiliza el puerto serie o el puerto de red?
Pregunta 3. ¿Es necesario verificar Modbus RTU?
Pregunta 4. ¿Modbus TCP necesita verificación?
Pregunta 5. ¿Qué códigos de función admite Modbus? ¿Cuál es el significado específico de cada código de función?
Pregunta 6. ¿Cómo resolver el problema de la comunicación multihilo en la comunicación ModbusRTU?
Pregunta 7. ¿Cómo solucionar el problema de desconexión y reconexión en la comunicación ModbusTCP?
Si no puede dominar todas las preguntas anteriores que le hice, le sugiero que vaya a mi sistema de columna " Comunicación C# Modbus de principiante a maestro " para aprenderlo.
Esta columna explicará en detalle cómo se aplican estos tres protocolos en el desarrollo de programas de C#, incluidos los principios de protocolo, los formatos de mensajes y la implementación del código fuente de C#.

1. Catálogo de la columna " Comunicación C# Modbus desde la entrada hasta la competencia "

Haga clic en el enlace del artículo a continuación para ir a este artículo:
1. Comunicación C# Modbus desde el inicio hasta la competencia (1) - el uso de herramientas de depuración de puertos seriales virtuales
2. Comunicación C# Modbus desde el inicio hasta la competencia (2) - Principio del protocolo Modbus RTU
3. Comunicación C# Modbus desde la entrada hasta la competencia (3)——Modbus RTU (código de función 0x01)
4. Comunicación C# Modbus desde la entrada hasta la competencia (4)——Modbus RTU (código de función 0x02)
5. Comunicación C# Modbus desde la entrada hasta Competente (5)——Modbus RTU (código de función 0x03)
6. C# Comunicación Modbus desde la entrada al maestro (6)——Modbus RTU (código de función 0x04)
7. C# Comunicación Modbus desde la entrada hasta la competencia (7)——Modbus RTU (código de función 0x05)
8. Comunicación C# Modbus desde el ingreso hasta el dominio (8) - Modbus RTU (código de función 0x06)
9. Comunicación C# Modbus desde el ingreso hasta el dominio (9) - Modbus RTU (código de función 0x0F)
10. Comunicación C# Modbus desde el ingreso hasta el dominio (10) - Modbus RTU (código de función 0x10)
11, C# Comunicación Modbus desde el ingreso hasta el dominio (11) - el uso del software de depuración Modbus Slave y Modbus Poll
12,Comunicación C# Modbus desde el inicio hasta la competencia (12)——Principio
13 del protocolo Modbus ASCII, C# Comunicación Modbus desde el inicio hasta la competencia (13)——Modbus ASCII (código de función 0x01)
14, C# Comunicación Modbus desde el inicio hasta la competencia (14)— —Modbus ASCII (código de función 0x02)
15. Comunicación C# Modbus desde la entrada al maestro (15) —— Modbus ASCII (código de función 0x03)
16. C# Comunicación Modbus desde la entrada al maestro (16) —— Modbus ASCII (código de función 0x04)
17. Comunicación C# Modbus desde el ingreso hasta el dominio (17) - Modbus ASCII (código de función 0x05)
18. Comunicación C# Modbus desde el ingreso hasta el dominio (18) - Modbus ASCII (código de función 0x06)
19. Comunicación C# Modbus desde el ingreso hasta el dominio (código de función 0x06) 19)——Modbus ASCII (código de función 0x0F)
20. C# Comunicación Modbus desde la entrada al maestro (20)——Modbus ASCII (0x10 código de función)
21. C# Comunicación Modbus desde la entrada hasta la competencia (21)——Principio del protocolo Modbus TCP
22. Comunicación C# Modbus desde la entrada hasta la competencia (22) - Modbus TCP (código de función 0x01)
23. Comunicación C# Modbus desde la entrada hasta la competencia (23) - Modbus TCP (código de función 0x02)
24. Comunicación C# Modbus desde la entrada hasta la competencia (24)——Modbus TCP (código de función 0x03)
25. Comunicación C# Modbus desde la entrada hasta la competencia (25)——Modbus TCP (código de función 0x04)
26. Comunicación C# Modbus desde la entrada hasta Competente (26)——Modbus TCP (código de función 0x05)
27. C# Comunicación Modbus desde la entrada al maestro (27)——Modbus TCP (0x06 código de función)
28. C# Comunicación Modbus desde la entrada hasta la competencia (28)——Modbus TCP (código de función 0x0F)
29. C# Comunicación Modbus desde la entrada hasta la competencia (29) - Modbus TCP (código de función 0x10)

2. ¿Por qué estudiar esta columna?

¿ Por qué recomiendo aprender la columna " C# Modbus Communication from Entry to Mastery "? Hay varias razones:
1) Dominar el protocolo Modbus es una habilidad necesaria para un ingeniero de software de PC, y se requiere dominar el protocolo Modbus en los requisitos de contratación.Es difícil obtener un salario alto para el desarrollo de software de PC sin dominar el ¡Protocolo Modbus!
2) Esta columna presenta sistemáticamente los principios y la implementación de C# de los tres protocolos Modbus RTU, Modbus ASCII y Mobus TCP. No puede encontrar en el mercado un tutorial de C# que presente estos tres protocolos al mismo tiempo. La mayoría de ellos tratan sobre el principios Sí, si hay algunos cursos de formación, usted sabe el precio de los cursos de formación.
3) Esta columna proporciona el código fuente del asistente de depuración de Modbus desarrollado por mí (compatible con tres protocolos: Modbus RTU, Modbus ASCII y Mobus TCP), que no solo es conveniente para depurar al realizar proyectos de Modbus, sino que también es beneficioso para que domines la clase de comunicación Modbus desarrollada por mí Cómo se usa la biblioteca.
4) La biblioteca de clases Modbus desarrollada por mí admite múltiples códigos de función, como lectura de bobinas de entrada, lectura de bobinas de salida, lectura de registros de retención, lectura de registros de entrada, escritura de bobinas simples, escritura de múltiples bobinas y escritura de múltiples registros de retención.
5) La biblioteca de clases Modbus desarrollada por mí admite la lectura y escritura de varios tipos de datos, incluidos los enteros con signo int16, los enteros sin signo uint16 y los decimales flotantes.
6) La biblioteca de clases Modbus desarrollada por mí admite la configuración de tiempo de espera, configuración de tiempos de lectura, retorno de razón anormal, reconexión desconectada, subprocesos múltiples y otras funciones 7) La biblioteca de clases Modbus desarrollada por mí es estable y se ha aplicado en muchos proyectos,
para evitar desvíos para los novatos
8) Algunas personas dicen que hay algunas bibliotecas de terceros disponibles en el mercado, entonces, ¿por qué aprenderlas? La experiencia de ser un ingeniero senior es que dominar el código subyacente es la única forma de convertirse en un maestro. Si hay un problema, sabrá cómo solucionarlo. ¿Entiende la comunicación Modbus? Un entrevistador dijo que había encapsuló el protocolo Modbus, y otro entrevistador dijo que usaría una biblioteca escrita por otra persona Como entrevistador, ¿a quién eliges admitir?

3. Introducción del asistente de depuración de Modbus

Para facilitar que los estudiantes aprendan Modbus rápidamente, también he desarrollado una herramienta maestra de depuración de Modbus que admite los tres protocolos de ModbusRTU, ModbusASCII y ModbusTCP, de la siguiente manera:

3.1 Interfaz del asistente de depuración de Modbus

3.1.1 Interfaz de selección de protocolo

Cuando se inicie el software, aparecerá la interfaz de selección de protocolo. Dependiendo del protocolo seleccionado, aparecerán diferentes interfaces en la interfaz principal.
inserte la descripción de la imagen aquí

3.1.2 Interfaz de depuración

3.1.2.1 Interfaz de depuración ModbusRTU

inserte la descripción de la imagen aquí

3.1.2.2 Interfaz de depuración ModbusASCII

inserte la descripción de la imagen aquí

3.1.2.3 Interfaz de depuración ModbusTCP

inserte la descripción de la imagen aquí

3.2 Funciones compatibles con el asistente de depuración de Modbus

Los códigos de función compatibles con esta herramienta son:
0x01 (lectura de bobina de salida)
0x02 (lectura de bobina de entrada)
0x03 (lectura de registro de retención múltiple/único)
0x04 (lectura de registro de entrada múltiple/único)
0x05 (escritura de bobina simple)
0x06 (escritura de registro de retención único) registro)
0x0F (escribir múltiples bobinas)
0x10 (escribir múltiples registros de retención)
Los códigos de función anteriores son códigos de función de uso común en nuestro desarrollo. Por supuesto, Modbus también admite otros códigos de función. Si los estudiantes encuentran que necesitan admitir más Si tiene más códigos de función, también puedes preguntarme, y mejoraré sus funciones.

3.3 Parte de la visualización del código fuente del asistente de depuración Modbus

inserte la descripción de la imagen aquí
Dado que las estructuras parciales de los mensajes ModbusRTU, ModbusASCII y ModbusTCP son similares, declaré una clase Modbus de clase abstracta durante el diseño y luego definí muchos métodos de operación de código de función en la clase abstracta y luego apunté a ModbusRTU, ModbusASCII y ModbusTCP. Los protocolos se pueden utilizar para implementar los métodos definidos en la clase abstracta. Las tres clases ModbusRTU, ModbusASCII y ModbusTCP en la figura anterior implementan los métodos definidos en la clase abstracta Modbus.Algunos códigos de la clase abstracta Modbus son los siguientes:
inserte la descripción de la imagen aquí

4. Modbus RTU

El catálogo de artículos de la serie ModbusRTU es el siguiente (haga clic en el enlace para ir al artículo):
1. Comunicación C# Modbus desde la entrada hasta la competencia (1): el uso de herramientas de depuración de puertos serie virtuales
2. Comunicación C# Modbus desde la entrada hasta dominio (2) - Principio Modbus del protocolo RTU
3. Comunicación C# Modbus desde el ingreso hasta el dominio (3) - Modbus RTU (código de función 0x01)
4. Comunicación C# Modbus desde el ingreso hasta el dominio (4) - Modbus RTU (código de función 0x02)
5. Comunicación C# Modbus Desde el ingreso hasta el dominio (5) - Modbus RTU (código de función 0x03)
6. Comunicación C# Modbus desde el ingreso hasta el dominio (6) - Modbus RTU (código de función 0x04)
7. Comunicación C# Modbus desde el ingreso hasta el dominio ( 7) - —Modbus RTU (código de función 0x05)
8. C# Comunicación Modbus desde la entrada al maestro (8) —— Modbus RTU (0x06 código de función)
9. C# Comunicación Modbus desde la entrada al maestro (9) —— Modbus RTU (0x0F código de función)
10. Comunicación C# Modbus desde la entrada hasta la competencia (10) - Modbus RTU (código de función 0x10)
11. Comunicación C# Modbus desde la entrada hasta la competencia (11) - el uso del software de depuración Modbus Slave y Modbus Poll

Ejemplo, ModbusASCII

El directorio de artículos de la serie ModbusASCII es el siguiente (haga clic en el enlace para ir al artículo):
12. Comunicación C# Modbus desde la entrada hasta el dominio (12) - Principio del protocolo Modbus ASCII
13. Comunicación C# Modbus desde la entrada hasta el dominio (13) - Modbus ASCII (código de función 0x01)
14. Comunicación C# Modbus desde la entrada hasta la competencia (14) - Modbus ASCII (código de función 0x02)
15. Comunicación C# Modbus desde la entrada hasta la competencia (15) - Modbus ASCII (código de función 0x03)
16. C# Comunicación Modbus desde el ingreso hasta el dominio (16) - Modbus ASCII (código de función 0x04)
17. C# Comunicación Modbus desde el ingreso hasta el dominio (17) - Modbus ASCII (código de función 0x05)
18. C# Comunicación Modbus desde el ingreso hasta el dominio (18) ——Modbus ASCII (código de función 0x06)
19. C# Comunicación Modbus desde el inicio hasta la competencia (19) ——Modbus ASCII (código de función 0x0F)
20. C# Comunicación Modbus desde el inicio hasta la competencia (20) ——Modbus ASCII (código de función 0x10 )

六、ModbusTCP

El catálogo de artículos de la serie ModbusTCP es el siguiente (haga clic en el enlace para ir al artículo):
21. Comunicación C# Modbus desde la entrada hasta la competencia (21) - Principio del protocolo Modbus TCP
22. Comunicación C# Modbus desde la entrada hasta la competencia (22) - Modbus TCP (código de función 0x01)
23. Comunicación C# Modbus desde el ingreso hasta la competencia (23) - Modbus TCP (código de función 0x02)
24. Comunicación C# Modbus desde el ingreso hasta la competencia (24) - Modbus TCP (código de función 0x03)
25. C# Comunicación Modbus desde el ingreso hasta el dominio (25) - Modbus TCP (código de función 0x04)
26. C# Comunicación Modbus desde el ingreso hasta el dominio (26) - Modbus TCP (0x05 código de función)
27. C# Comunicación Modbus desde el ingreso hasta el dominio (27) ——Modbus TCP (código de función 0x06)
28. C# Comunicación Modbus desde la entrada hasta la competencia (28) ——Modbus TCP (código de función 0x0F)
29. C# Comunicación Modbus desde la entrada hasta la competencia (29) ——Modbus TCP (código de función 0x10 )

Supongo que te gusta

Origin blog.csdn.net/qq_34059233/article/details/130875321
Recomendado
Clasificación