Este artículo demuestra cómo establecer comunicación Modbus RTU entre un PLC Siemens S7-1200 y un servoaccionamiento de la serie A6-RS de STEPPERONLINE.
Escenario de aplicación: El PLC S7-1200 actúa como maestro Modbus RTU y el servoaccionamiento A6-RS actúa como esclavo. El PLC lee la tensión del bus CC del servoaccionamiento.
Requisitos previos
Prepare los siguientes elementos antes de comenzar:
- PLC S7-1200: CPU 1215C DC/DC/DC
- Cualquier servomotor de la serie A6-RS
- Un cable de comunicación RS-485
Procedimiento
1. Configurar los parámetros del servoaccionamiento
Configure los siguientes parámetros en el servoaccionamiento A6-RS:
| Parámetro | Valor | Descripción |
|---|---|---|
| C0A.00 | 1 | Dirección de esclavo Modbus |
| C0A.01 | 7 | Velocidad de transmisión Modbus |
| C0A.02 | 0 | Formato de comunicación Modbus |
2. Configurar el módulo de comunicación Modbus RTU

3. Habilitar la memoria del sistema
En el árbol del proyecto, seleccione PLC_1, haga clic con el botón derecho en Propiedades, vaya a Memoria de sistema y de reloj y marque Habilitar el uso del byte de memoria del sistema.

4. Llamar la instrucción MB_COMM_LOAD
Abra el bloque Main (OB1). En el panel Instrucciones, vaya a Comunicación → Procesador de comunicación → Modbus y arrastre la instrucción MB_COMM_LOAD a un segmento de programa, como se muestra a continuación:

5. Crear búferes de envío y recepción de datos
En el árbol del proyecto, seleccione Añadir nuevo bloque → Bloque de datos (DB) → Aceptar, como se muestra a continuación.
Después de añadir el nuevo bloque de datos, desactive la opción Acceso optimizado al bloque y defina las áreas de búfer de envío y recepción de datos.

6. Llamar la instrucción MB_MASTER
Abra el bloque de organización Main (OB1). En el panel Instrucciones, vaya a Comunicación → Procesador de comunicación → Modbus y arrastre la instrucción MB_MASTER a un segmento de programa, como se muestra a continuación:

Configure los parámetros de la instrucción de la siguiente manera:
- MB_ADDR: Establecer en 1 (la dirección de esclavo configurada en el Paso 1).
- MODE: Establecer en 0 (modo de lectura).
- DATA_ADDR: Establecer en 16#4006 para leer el registro U40.06 (tensión del bus CC). Utilice la dirección directa del registro; no añada el desplazamiento 40001 que se utiliza habitualmente en el direccionamiento Modbus.
7. Ejecutar el programa
Supervise el valor de U40.06 en el programa del PLC. Los datos recibidos están en formato hexadecimal; conviértalos a decimal y compárelos con el valor de U40.06 mostrado en el servoaccionamiento A6-RS para verificar su corrección.