Introducción al Protocolo de comunicación modbus
El Protocolo modbus es un Protocolo de comunicación universal que se ha utilizado ampliamente en el campo del control industrial actual. Con este protocolo, los controladores pueden comunicarse entre sí o con otros dispositivos a través de una red, como ethernet. El Protocolo modbus utiliza la tecnología de comunicación Maestro - esclavo, es decir, el dispositivo maestro consulta y opera activamente el dispositivo esclavo. En general, el Protocolo utilizado por el lado del dispositivo de control principal se llama modbus master, y el Protocolo utilizado por el lado del dispositivo secundario se llama modbus slave. Los equipos principales típicos incluyen computadoras industriales y controladores industriales; Dispositivos secundarios típicos como controladores programables por plc, etc. La interfaz física de comunicación modbus puede seleccionar puertos serie (incluidos RS232 y rs485), o puertos ethernet. Su comunicación sigue el siguiente proceso:
● El equipo principal envía una solicitud al equipo secundario
● analizar y procesar la solicitud del dispositivo principal desde el dispositivo y luego enviar los resultados al dispositivo principal
● si se produce algún error, se devuelve un código de función anormal desde el dispositivo
Introducción a los productos de software de Protocolo de comunicación Yingchuang modbus
Los productos de software de Protocolo de comunicación modbus lanzados por Yingchuang se utilizan principalmente en el entorno de la placa base integrada Yingchuang arm9. la placa base de control industrial de Yingchuang tiene ricos puertos serie, recursos de red, interfaz gpio universal, etc., y tiene una fuerte capacidad de procesamiento. En combinación con el software de Protocolo de comunicación modbus, es muy conveniente construir una plataforma de aplicación de control principal (maestro) y dispositivo (slave) que cumpla con las especificaciones de comunicación modbus. En respuesta a la característica de la forma principal y subordinada de comunicación modbus, el paquete de software de Protocolo de comunicación modbus de la compañía Yingchuang se divide en dos partes que se pueden utilizar de forma independiente, a saber, "modbus Master software de Protocolo de control principal" (conocido como modbus master) y "modbus Equipment Protocol software" (conocido como modbus slave). En la actualidad, el software de Protocolo de comunicación Yingchuang modbus se ejecuta en el entorno WinCE y se proporciona a los clientes en forma de función C más Biblioteca LIB estática. Sus principales características son las siguientes:
● muy adecuado para aplicaciones industriales en tiempo real
● puede soportar aplicaciones de Protocolo de comunicación modbus basadas en puertos serie o aplicaciones de Protocolo de comunicación modbus TCP
● modo de transmisión rtu
● admite la mayoría de las operaciones de código funcional modbus, incluidas las operaciones de bits en la entrada de la bobina, el interruptor discreto y las operaciones de bytes en el registro
:: apoyo a las direcciones de radiodifusión
● se puede configurar con flexibilidad el tiempo de espera para la comunicación modbus
● se pueden obtener detalles del Código de error del Protocolo de transmisión en la comunicación
Gráfico de comunicación del software de protocolo Yingchuang modbus

El Código de función soportado por el software de protocolo Yingchuang modbus
código de función |
descripción |
1 |
Leer una sola bobina |
2 |
Leer entrada discreta |
3 |
Leer varios registros |
4 |
Leer el registro de entrada |
5 |
Escribe una sola bobina |
6 |
Escribe un solo registro |
15 |
Escribe varias bobinas |
16 |
Escribe varios registros |
22 |
Registro de escritura bloqueado |
23 |
Registro de lectura / escritura |
Uso básico del software
Para facilitar el uso de la aplicación y mantener una forma de código consistente para los diferentes medios de comunicación, las funciones API en el software de Protocolo modbus proporcionado por Yingchuang (incluidos modbus master y modbus slave) pueden soportar el Protocolo modbus basado en Puerto serie y TCP al mismo tiempo. la aplicación solo necesita distinguirlo con diferentes parámetros al llamar a la Función de iniciación. para una descripción de los parámetros, consulte los archivos de cabecera correspondientes: modbus master.h y modbus slave.h.
1. aplicación de modbus master
Como aplicación del modo cliente modbus, se trata principalmente de preparar la solicitud y enviarla al dispositivo del servidor, y esperar la respuesta del servidor. Al hacer este tipo de desarrollo de aplicaciones, los usuarios pueden referirse a la literatura estándar modbus y al manual de datos de la interfaz de comunicación del dispositivo controlado, llamando directamente al paquete de software modbus Master proporcionado por Yingchuang para proporcionar las funciones API de operación correspondientes para completar el acceso y control del dispositivo del servidor. Al realizar este tipo de desarrollo de aplicaciones, los usuarios solo necesitan incluir modbus master.h / modbus master.lib.
2. aplicación de modbus Slave
Como aplicación del modo de servidor modbus, es necesario principalmente implementar el análisis y la respuesta de los mensajes de aplicación modbus, pero esto es solo una parte de toda la comunicación de modbus, y la otra parte es que también se necesita acceso a los datos de la aplicación, y el contenido de esta parte necesita ser definido por el propio usuario. Para facilitar el uso de los clientes, la carga automática de estas funciones de interfaz de usuario se realiza en el paquete de software modbus Slave a través de punteros de función, asociando el procesamiento de datos de la aplicación del usuario con la respuesta del mensaje de la aplicación modbus. Los usuarios solo necesitan definir estas funciones de interfaz de acuerdo con los requisitos para implementar las funciones correspondientes, y la definición específica de cada función se implementa a través de un archivo CPP especial: dataprovider.cpp.
Se puede ver que en este tipo de aplicaciones de desarrollo, hay que incluir dos partes, una parte es la función API definida por modbus slave.h / modbus slave.lib; La otra parte es la función de interfaz de datos de usuario definida por dataprovider.h / dataprovider.cpp, en la que la función de interfaz requiere que el usuario la implemente específicamente en dataprovider.cpp.
Para responder oportunamente al mensaje de aplicación modbus, hay que tener en cuenta que al diseñar el programa, se debe diseñar un hilo para llamar repetidamente a la función de ejecución modbus slave, que es el modo de bloqueo.
Los ejemplos son los siguientes:
(1) iniciar el Protocolo del lado del dispositivo modbus
hPort = mbusSlave_StartupServer(_T('*'.), 1, 10000, mbusSlave_Interface );
o
hPort=mbusSlave_StartupServer(_T)"COM3:9600-8-1-0"),1,10000, mbusSlave_Interface );
(2) llamada a la función de ejecución en el hilo serverloop solicitud de respuesta
mientras que( 1 )
{
/Llama a la función de ejecución para el análisis y la respuesta a los mensajes modbus.
resultado = mbusSlave_ServerLoop( hPort );
si(¡resultado!=0)/Comprobar si se devuelve un error
{
/Manejo de errores: este caso es para obtener e imprimir información de texto del Código de error
wcscpy( szText, mbusSlave_GetErrorText( resultado ) );
i1 = wcslen( szText );
si( i1>0 )
(...)
wcstombs( strText, szText, i1 );
imprimir(código de error: %s! n'Stretex);
'.
'.
'.
Anteriormente, el software de Protocolo de comunicación modbus proporcionado por Yingchuang se proporcionaba a los clientes en forma de función C más Biblioteca estática (archivo modbus.lib o libmodbus.a). A medida que más y más clientes lo utilizan, Yingchuang preinstala los protocolos de comunicación modbus, especialmente el software de Protocolo de control principal (conocido como modbus master), en el sistema central de la placa base de control industrial integrada de Yingchuang en forma de biblioteca dinámica (modbus master.dll o archivo libbusmaster.so) para facilitar la llamada de aplicaciones de clientes. La placa base de control industrial preinstalada con el Protocolo modbus incluye todas las placas base de la serie Yingchuang ESM (esm6802, esm6800, esm335x, esm928x, etc.).
Referencias relevantes
| Esquema de aplicación de adquisición de anillo de corriente de 4 a 20ma | El software de Protocolo de comunicación de control principal modbus bajo WinCE | |
| Software de protocolo del lado del dispositivo modbus bajo WinCE | La placa base de control industrial de Linux integrada de Yingchuang admite el software de Protocolo de control principal modbus | |
| Introducción del software de protocolo del lado del dispositivo modbus bajo linux | Esm6802 admite el desarrollo del programa Qt modbus | |
| Preinstalación del Protocolo de comunicación modbus en la placa base de Yingchuang |
