http://support.automation.siemens.com/WW/view/es/47756141
¿Cómo se implementa una comunicación MODBUS-RTU con el STEP 7 Basic V10.5 para un SIMATIC S7-1200? Nr. de identificación (ID):47756141 Fecha:2011-01-13 STEP 7 Basic -- Creación de programas S7 -- Crear secuencia de programa S7-1200 communication modules -- Configuración y programación de la comunicación -- MODBUS RTU ¿Cómo se implementa una comunicación MODBUS-RTU con el STEP 7 Basic V10.5 para un SIMATIC S7-1200?
Descripción: El SIMATIC S7-1200 permite la comunicación punto a punto con ayuda de los módulos de comunicación CM 1241 RS485 y CM 1241 RS232. Cada control S7-1200 se puede ampliar con hasta 3 módulos de comunicación. Con ayuda de la librería para MODBUS integrada en el STEP 7 Basic V10.5, cada módulo de comunicación se puede definir como maestro o esclavo MODBUS. Si se elige como maestro MODBUS, por limitaciones físicas, a través del módulo CM 1241 RS232 sólo se puede comunicar con un esclavo . Si se elige como maestro MODBUS, a través del módulo CM 1241 RS485 se puede comunicar sucesivamente con hasta 32 esclavos . Con ayuda de un proyecto ejemplo se describe el procedimiento para realizar la configuración en el STEP 7 Basic V10.5 y posibilitar la comunicación con varios esclavos a través del módulo CM 1241 RS485. Instrucciones: Se implementa la comunicación MODBUS entre un maestro y un esclavo. Se escribe de manera alterna en el registro de datos del esclavo (código de función 16) y se lee desde los registros de datos de dicho esclavo (código de función 03). Debido a que en RS485 se utiliza una interfase con 2 hilos (half-duplex), la lectura y la escritura se tiene que realizar sucesivamente. Utilizando el mismo principio, también se puede modificar la dirección del esclavo a contactar usando 2 acciones (en este caso, lectura y escritura) y así intercambiar datos con varios esclavos.
Figura 01
P
1 f6
6/14/2011 5 40 28 PM
http://support.automation.siemens.com/WW/view/es/47756141
Los módulos de comunicación CM 1241 RS485 se conectan entre sí a través de un cable PROFIBUS. Continuando con ese mismo cable de PROFIBUS, se pueden conectar con el maestro con hasta otros 31 módulos MODBUS esclavos. La configuración se realiza con el STEP 7 Basic V10.5 + SP2. El código del programa se transfiere a los controles a través del Switch CSM 1277.
MB_COMM_LOAD Para implementar la comunicación MODBUS, se necesita el módulo de configuración MB_COMM_LOAD en ambos lados (maestro y esclavo).
Figura 02 Con ayuda del módulo MB_COMM_LOAD se selecciona el módulo de comunicación, se configuran los parámetros de comunicación y se crea la conexión con los parámetros del maestro o del esclavo. El módulo MB_COMM_LOAD se tiene que llamar en el primer ciclo del programa (mediante la activación de la marca de ciclo M1.0 en la configuración hardware o llamado al OB 100 de arranque). Tras insertar el módulo de comunicación en la configuración hardware, se puede seleccionar en el parámetro PORT el nombre simbólico del modulo de comunicación. El parámetro de comunicación BAUD (velocidad de transmisión) y PARITY (paridad) deben ser los mismos para todos los participantes. La configuración del puerto de la interfase RS485 en la vista del STEP 7 V10.5 para el equipo, no tiene aquí ninguna relevancia. En el parámetro MB_DB se indica el módulo de instancia del maestro o del esclavo para así definir el módulo de comunicación (parámetro PORT) como maestro o esclavo MODBUS.
MB_MASTER Con ayuda del módulo MB_MASTER se define el modulo de comunicación elegido, con el módulo de configuración MB_COMM_LOAD, como maestro MODBUS.
P
2 f6
6/14/2011 5 40 28 PM
http://support.automation.siemens.com/WW/view/es/47756141
Figura 03 A través del módulo MB_MASTER, se define el esclavo MODBUS a contactar, el código de función (lectura / escriture, dirección de inicio de MODBUS y longitud de dato) y la zona de datos local. La comunicación se activa a través del parámetro REQ. En el parámetro MB_ADDR se indica la dirección de la estación RTU de MODBUS con la que se ha de comunicar. El parámetro MODE ajusta el sentido de transmisión ("0" = lectura, "1" = escritura o funciones de diagnóstico adicionales). El módulo MB_MASTER se tiene que llamar en el primer ciclo del programa (mediante la activación de la marca de ciclo M1.0 en la configuración hardware o llamado al OB 100 de arranque). A través de los parámetros DATA_ADDR y DATA_LEN se indica la dirección de inicio MODBUS y la longitud de los datos (bits o palabras, en función de la dirección de inici o MODBUS elegida). El parámetro DATA_PTR configura la zona de envío y recepción local del maestro. DATA_PTR tiene que asignarse en un módulo de datos global que tiene que haber sido creado con la opción "Sólo direccionable simbólicamente" desactivada. Si hay varios registros a transferir (bits o palabras), hay que indicar aquí el nombre simbólico de un Array o una estructura, que admita toda esta zona de datos (DATA_ADDR y DATA_PTR).
MB_SLAVE Con ayuda del módulo MB_SLAVE se define el modulo de comunicación elegido, con el módulo de configuración MB_COMM_LOAD, como esclavo MODBUS.
P
3 f6
6/14/2011 5 40 28 PM
http://support.automation.siemens.com/WW/view/es/47756141
Figura 04 A través del módulo MB_SLAVE se configura la dirección de estación RTU para MODBUS y se ajusta la zona de datos local para la transferencia de datos al registro de datos. En el parámetro MB_ADDR se indica la dirección de estación RTU local para MODBUS. A través de ello identifica el maestro MODBUS al esclavo. El parámetro MB_HOLD_REG ajusta la zona del registro de datos de esclavo . MB_HOLD_REG tiene que asignarse en un módulo de datos global que tiene que haber sido creado con la opción "Sólo direccionable simbólicamente" desactivada. Si hay varios registros a transferir (palabras), hay que indicar aquí el nombre simbólico de un Array o una estructura, que admita toda la cantidad de datos prevista en el maestro (DATA_ADDR y DATA_PTR). La primera palabra de este Array o esta estructura se corresponde con la dirección de inicio del registro de datos para MODBUS 40001. Los parámetros se pueden asignar a través de las estradas y salidas de los módulos o accediendo al módulo de datos de instancia correspondiente.
Proyecto ejemplo La escritura en /lectura desde alterna desde los registros de datos del esclavo se implementan en el proyecto maestro con ayuda de una cadena de pasos.
Figura 05 En el paso de inicialización 0 se llama al módulo de configuración MB_COMM_LOAD. En el paso 1 se llama y se ejecuta el módulo MB_MASTER (REQ = 1) con los parámetros de comunicación para escribir en el esclavo (MODE = 1). La transición al paso 2 se realiza a través del acuse positivo (DONE) o negativo (ERROR) del retroaviso del módulo MB_MASTER. Por medio de la transición al paso se resetea la ejecución del módulo MB_MASTER (REQ = 0). En el paso 2 se escriben, en el mismo módulo de datos de instancia del paso 1, los parámetros de comunicación para leer desde el esclavo (MODE = 0) con ayuda del módulo MB_MASTER
P
4 f6
6/14/2011 5 40 28 PM
http://support.automation.siemens.com/WW/view/es/47756141
(parámetro MB_DB del módulo MB_COMM_LOAD). La ejecución y la transición se realiza de la misma manera que en el paso 1. La ejecución de un paso (segmento 6 y 7) con transición (segmento 8) se muestra en la siguiente imagen:
P
5 f6
6/14/2011 5 40 28 PM
http://support.automation.siemens.com/WW/view/es/47756141
Figura 06 A través del parámetro MB_ADDR (ver el segmento 6), se puede cambiar el esclavo a contactar en cada paso y así intercambiar datos con hasta 32 esclavos.
Descarga: El archivo comprimido "MODBUS_RTU.zip" contiene el proyecto ejemplo "MODBUS_RTU.ap10" para la transferencia de datos alterna entre un maestro y un esclavo. Por favor, descomprima el archivo "MODBUS_RTU.zip" y abra el proyecto ejemplo "MODBUS_RTU.ap10" con ayuda del STEP 7 Basic V10.5 (>= SP2). El Firmware utilizado en los controles SIMATIC S7-1200 tiene la versión V1.0.2. Cargue la carpeta del proyecto proyecto ("Maestro" y "Esclavo") en los controles . La transferencia de datos se puede seguir en las tablas de visualización.
Modbus_RTU.zip ( 969 KB )
Advertencia: Información adicional sobre las operaciones de librería para Modbus está disponible en el manual de automatización SIMATIC S7-1200 (36932465). Nr. de identificación (ID):47756141 Fecha:2011-01-13
© Siemens AG 2011 - Pie de imprenta - Privacidad de datos - Condiciones de uso
P
6 f6
6/14/2011 5 40 28 PM