95230619 Bloques Comunicaciones Modicon

440
33002530.07 www.schneider-electric.com Unity Pro 4.0 Comunicación Librería de bloques 07/2008 spa

Transcript of 95230619 Bloques Comunicaciones Modicon

Page 1: 95230619 Bloques Comunicaciones Modicon

3300

2530

.07

www.schneider-electric.com

Unity Pro 4.0ComunicaciónLibrería de bloques07/2008 spa

Page 2: 95230619 Bloques Comunicaciones Modicon

2 33002530 07 07/2008

Page 3: 95230619 Bloques Comunicaciones Modicon

Tabla de materias

Información de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

Parte I Generalidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Capítulo 1 Tipos de bloques y utilización. . . . . . . . . . . . . . . . . . . . . . . . . .17Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Tipos de bloques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Estructura de FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20EN y ENO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Capítulo 2 Disponibilidad de los módulos en las diferentes plataformas de hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25Disponibilidad de bloques en las diversas plataformas de hardware . . . . . . . . . 25

Capítulo 3 Operación de la comunicación EF . . . . . . . . . . . . . . . . . . . . . .27Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.1 Información general sobre las funciones de comunicación de Premium y Atrium. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Reglas de uso de las funciones de comunicación en PLC Premium y Atrium . . 30Las funciones de comunicación en autómatas Premium y Atrium . . . . . . . . . . . 31Estructura de las funciones de comunicación de Premium y Atrium . . . . . . . . . 33Dirección del destinatario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Estructura de los parámetros de gestión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Parámetros de gestión: informes de comunicación y funcionamiento . . . . . . . . 37Parámetros de gestión: longitud y timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Función Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Parte II Extensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Capítulo 4 ADDM: Conversión de direcciones. . . . . . . . . . . . . . . . . . . . . .45

33002530 07 07/2008 3

Page 4: 95230619 Bloques Comunicaciones Modicon

Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Capítulo 5 ADDR: conversión de direcciones . . . . . . . . . . . . . . . . . . . . . . 49Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Capítulo 6 CANCEL: detención de un intercambio en curso. . . . . . . . . . 51Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Ejemplo de cómo cancelar un intercambio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Capítulo 7 CREAD_REG: lectura continua de registro. . . . . . . . . . . . . . . 55Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Tipos de datos derivados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Modo de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Descripción de los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Capítulo 8 CWRITE_REG: escritura continua de registro . . . . . . . . . . . . 63Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Tipos de datos derivados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Modo de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Descripción de los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Capítulo 9 DATA_EXCH: intercambio de datos entre aplicaciones . . . . 71Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Pantalla de entrada asistida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Ejemplo de cómo utilizar una red Fipway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Capítulo 10 INPUT_BYTE: recepción de cadenas de caracteres. . . . . . . . 83Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Capítulo 11 INPUT_CHAR: recepción de cadenas de caracteres . . . . . . . 87Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Pantalla de entrada asistida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Ejemplo de lectura de cadenas de caracteres a través de la red Fipway . . . . . . 95Ejemplo de lectura de cadenas de caracteres mediante la conexión serie de procesadores Modicon M340. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Capítulo 12 MBP_MSTR: Maestro Modbus Plus . . . . . . . . . . . . . . . . . . . . . 99Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Descripción del bloque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Códigos de función de operación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Estructuras de bloque de control de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Leer datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4 33002530 07 07/2008

Page 5: 95230619 Bloques Comunicaciones Modicon

Escribir datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Obtención de estadísticas locales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Eliminación de estadísticas locales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Escritura de datos globales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115Lectura de datos globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Obtener estadísticas remotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117Borrar estadísticas remotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118Funcionamiento de Peer Cop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Restablecimiento de módulos opcionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Lectura de CTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Escritura de CTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Envío de correo electrónico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Leer/escribir datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Estado de funcionamiento de las comunicaciones Peer Cop . . . . . . . . . . . . . . 128Estadísticas de red Modbus Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Estadísticas de red de Ethernet TCP/IP.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP . . . . . . . . . . . . 139Códigos de error específicos de SY/MAX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Códigos de error de TPC/IP Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Códigos de error CTE para Ethernet SY/MAX y TCP/IP. . . . . . . . . . . . . . . . . . 148Códigos de error del servicio de correo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Capítulo 13 ModbusP_ADDR: dirección de Modbus Plus . . . . . . . . . . . .151Descripción general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Capítulo 14 OUT_IN_CHAR: envío/recepción de cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Pantalla de entrada asistida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Ejemplo de cómo enviar/recibir una cadena de caracteres . . . . . . . . . . . . . . . 163

Capítulo 15 OUT_IN_MBUS: función de comunicación Modbus . . . . . . .165Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

15.1 Presentación general del bloque de comunicación OUT_IN_MBUS . . . . . . . . 167Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167Descripción de la función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168Casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

15.2 Descripción del bloque de comunicación OUT_IN_MBUS . . . . . . . . . . . . . . . . 172Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Representaciones y parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Parámetro MbusCmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176Parámetro RetryLmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

33002530 07 07/2008 5

Page 6: 95230619 Bloques Comunicaciones Modicon

Parámetro DataBits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180Parámetro RespTout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181Parámetro MasterDataArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Parámetro Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

15.3 Instalación del bloque de comunicación OUT_IN_MBUS . . . . . . . . . . . . . . . . . 184Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184Configuración de la conexión serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Procedimiento para programar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188Uso de un módem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

15.4 Ejemplo de uso del bloque de comunicación OUT_IN_MBUS . . . . . . . . . . . . . 192Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Descripción del ejemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Estructura de programación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Declaración de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196Programación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Capítulo 16 PRINT_CHAR: envío de cadenas de caracteres . . . . . . . . . . 203Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Pantalla de entrada asistida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208Ejemplo de envío de cadenas de caracteres a través de la red Fipway . . . . . . 209Ejemplo de envío de cadenas de caracteres mediante la conexión serie de procesadores Modicon M340 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Capítulo 17 RCV_TLG: recepción de telegramas . . . . . . . . . . . . . . . . . . . 213Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Ejemplo de cómo recibir un telegrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

Capítulo 18 READ_ASYN: lectura asíncrona de datos . . . . . . . . . . . . . . . 217Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Capítulo 19 READ_GDATA: lectura de datos globales Modbus Plus . . . 221Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Capítulo 20 READ_REG: lectura de registro . . . . . . . . . . . . . . . . . . . . . . . 223Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224Tipos de datos derivados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Modo de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228Descripción de los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

Capítulo 21 READ_VAR: lectura de variables . . . . . . . . . . . . . . . . . . . . . . 231Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232Pantalla de entrada asistida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237Ejemplo de utilización en un bus Uni-Telway . . . . . . . . . . . . . . . . . . . . . . . . . . 239

6 33002530 07 07/2008

Page 7: 95230619 Bloques Comunicaciones Modicon

Ejemplo de bits de lectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241Ejemplo de uso en una red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243Ejemplo de lectura de palabras a través de la conexión serie de procesadores Modicon M340. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Ejemplo de comprobación de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

Capítulo 22 SEND_EMAIL: Envío de un correo electrónico . . . . . . . . . . .249Send_Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

Capítulo 23 SEND_REQ: peticiones de envío . . . . . . . . . . . . . . . . . . . . . .253Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254Lista de peticiones UNI-TE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258Pantalla de entrada asistida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263Ejemplo de cómo enviar una petición UNI-TE . . . . . . . . . . . . . . . . . . . . . . . . . 265Modificación de parámetros IP con SEND_REQ (ejemplo) . . . . . . . . . . . . . . . 267Utilización de la función SEND_REQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Capítulo 24 SEND_TLG: envío de telegramas . . . . . . . . . . . . . . . . . . . . . .269Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270Ejemplo de cómo enviar un telegrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

Capítulo 25 SYMAX_IP_ADDR: dirección SY/MAX IP . . . . . . . . . . . . . . . .275Descripción general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

Capítulo 26 TCP_IP_ADDR: dirección TCP/IP . . . . . . . . . . . . . . . . . . . . . .279Descripción general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280Descripción detallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

Capítulo 27 UNITE_SERVER: servidor inmediato . . . . . . . . . . . . . . . . . . .285Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286Ejemplo de servidor inmediato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

Capítulo 28 WRITE_ASYN: escritura asíncrona de datos . . . . . . . . . . . . .291Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Capítulo 29 WRITE_GDATA: escritura de datos globales Modbus Plus .295Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

Capítulo 30 WRITE_REG: escritura del registro . . . . . . . . . . . . . . . . . . . .297Descripción general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298Tipos de datos derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

33002530 07 07/2008 7

Page 8: 95230619 Bloques Comunicaciones Modicon

Modo de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303Descripción de los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

Capítulo 31 WRITE_VAR: variables de escritura. . . . . . . . . . . . . . . . . . . . 307Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308Pantalla de entrada asistida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313Ejemplo de cómo escribir palabras en una red . . . . . . . . . . . . . . . . . . . . . . . . . 315Ejemplo de escritura de palabras mediante la conexión serie de PLC Modicon M340 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317Ejemplo de comprobación de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Capítulo 32 XXMIT: transmisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

32.1 Introducción a XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323Funciones de XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

32.2 XXMIT: funciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324Breve descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325Representación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326Descripción detallada de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330Funciones de comunicación de XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341Funciones ASCII de XXMIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342Funciones de módem de XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347Funciones Modbus de XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348FIFO y control de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354Ejemplos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

32.3 XXMIT: normas de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370Normas de programación de XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

32.4 Referencias técnicas para XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372Consulta Modbus/Límites de los parámetros de respuesta. . . . . . . . . . . . . . . . 373Configuración del bloque de funciones XXMIT mediante módems de marcación compatible con Hayes (sólo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374Ejemplo de aplicación Hayes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

32.5 Información de cableado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384Asignación de pins de cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385Kits de adaptador de cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

Apéndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

Apéndice A Códigos de error y valores EFB . . . . . . . . . . . . . . . . . . . . . . . 405Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405Tablas de códigos de error de la librería de comunicación . . . . . . . . . . . . . . . . 406

8 33002530 07 07/2008

Page 9: 95230619 Bloques Comunicaciones Modicon

Errores comunes de coma flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

Apéndice B Objetos de sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .411Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411Introducción de bits de sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412Descripción de los bits de sistema de %S15 a %S21. . . . . . . . . . . . . . . . . . . . 413Descripción de las palabras de sistema %SW12 a %SW29. . . . . . . . . . . . . . . 416

Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

33002530 07 07/2008 9

Page 10: 95230619 Bloques Comunicaciones Modicon

10 33002530 07 07/2008

Page 11: 95230619 Bloques Comunicaciones Modicon

§

Información de seguridad

Información importante

AVISO Lea atentamente estas instrucciones y observe el equipo para familiarizarse con el dispositivo antes de instalarlo, utilizarlo o realizar su mantenimiento. Los mensajes especiales que se ofrecen a continuación pueden aparecer a lo largo de la documentación o en el equipo para advertir de peligros potenciales o para ofrecer información que aclare o simplifique los distintos procedimientos.

La inclusión de este icono en una etiqueta de peligro o advertencia indicaun riesgo de descarga eléctrica, que puede provocar lesiones sino se siguen las instrucciones.

Éste es el icono de alerta de seguridad. Se utiliza para advertir de posibles riesgos de lesiones. Observe todos los mensajes que siguen a este icono para evitar posibles lesiones o incluso la muerte.

PELIGRO indica una situación inminente de peligro que, si no se evita, provocará lesiones graves o incluso la muerte.

PELIGRO

ADVERTENCIA indica una posible situación de peligro que, si no se evita, puede provocar daños en el equipo, lesiones graves o incluso la muerte.

ADVERTENCIA

AVISO indica una posible situación de peligro que, si no se evita, puede provocar lesiones o daños en el equipo.

AVISO

33002530 07 07/2008 11

Page 12: 95230619 Bloques Comunicaciones Modicon

Información de seguridad

TENGA EN CUENTA

Sólo el personal de servicio cualificado podrá instalar, utilizar, reparar y mantener el equipo eléctrico. Schneider Electric no asume las responsabilidades que pudieran surgir como consecuencia de la utilización de este material.

© 2008 Schneider Electric. Todos los derechos reservados.

12 33002530 07 07/2008

Page 13: 95230619 Bloques Comunicaciones Modicon

Acerca de este libro

Presentación

Objeto En este documento se describen las funciones y los bloques de funciones de la librería de comunicación.

Este documento es válido para el software Unity Pro versión 4.0.

Campo de aplicación

Los datos e ilustraciones de este documento no son vinculantes. Nos reservamos el derecho de modificar nuestros productos de acuerdo con nuestra política de desarrollo constante. La información incluida en este documento está sujeta a cambios sin previo aviso y no debe interpretarse como un compromiso de Schneider Electric.

33002530 07 07/2008 13

Page 14: 95230619 Bloques Comunicaciones Modicon

Acerca de este libro

Documentos relacionados

Puede descargar estas publicaciones técnicas, así como más información técnica de nuestro sitio web www.shneider-elctric.com.

Advertencia Schneider Electric no se hace responsable de ningún error que pudiera aparecer en este documento. Si ha encontrado algún error o tiene alguna sugerencia para mejorar o modificar esta publicación, le agradeceremos que nos lo notifique.

Ninguna parte de este documento puede ser reproducida, de ninguna forma ni por ningún medio, electrónico o mecánico, incluidas las fotocopias, sin el permiso expreso por escrito de Schneider Electric.

Debe seguir todas las normas de seguridad locales, regionales y nacionales pertinentes durante la instalación y la utilización de este producto. Por motivos de seguridad y para garantizar la conformidad con los datos del sistema documentados, la reparación de los componentes sólo debe encomendarse al fabricante.

Cuando utilice controladores en aplicaciones con requisitos técnicos de seguridad, siga las instrucciones pertinentes.

Si no se utiliza el software de Schneider Electric o un software compatible con nuestros productos de hardware, pueden sufrirse daños o lesiones o provocar un funcionamiento inadecuado del dispositivo.

Si no se observa esta advertencia sobre el manejo del producto, pueden producirse daños personales o materiales.

Comentarios del usuario

Envíe sus comentarios a la dirección electrónica [email protected]

Título Reference Number

Bloque de función XXMIT para Quantum mediante Unity Pro, manual de usuario

-

14 33002530 07 07/2008

Page 15: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

I

Generalidades

Introducción

Visión general Esta sección contiene información general sobre la biblioteca de comunicación.

Contenido Esta parte contiene los siguientes capítulos:

Capítulo Nombre del capítulo Página

1 Tipos de bloques y utilización 17

2 Disponibilidad de los módulos en las diferentes plataformas de hardware

25

3 Operación de la comunicación EF 27

15

Page 16: 95230619 Bloques Comunicaciones Modicon

Generalidades

16 33002530 07 07/2008

Page 17: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

1

Tipos de bloques y utilización

Introducción

Vista general Este capítulo describe los distintos tipos de bloques y su utilización.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Tipos de bloques 18

Estructura de FFB 20

EN y ENO 23

17

Page 18: 95230619 Bloques Comunicaciones Modicon

Tipos de bloques y utilización

Tipos de bloques

Tipos de bloques En Unity Pro se utilizan distintos tipos de bloques. El término general que abarca todos los tipos de bloques es FFB.

Debemos distinguir los siguientes tipos de bloques:función elemental (EF)bloques de funciones elementales (EFB)bloques de funciones derivados (DFB)procedimientos

Función elemental

Las funciones elementales (EF) no disponen de estado interno y solo cuentan con una salida. Si en las entradas aparecen los mismos valores, siempre que se ejecute la función, el valor de la salida será el mismo; por ejemplo, siempre que se ejecuta la suma de dos valores, el resultado es el mismo.

En los lenguajes gráficos (FBD y LD), una función elemental se representa como una trama de bloques con entradas y una salida. Las entradas siempre aparecen a la izquierda de la trama y las salidas a la derecha. El nombre de la función, esto es, el tipo de función, se muestra en el centro de la trama.

El número de entradas puede aumentarse con algunas funciones elementales.

Bloques de funciones elementales

Los bloques de funciones elementales (EF) tienen estados internos. Si las entradas disponen del mismo valor, el valor de la salida puede variar cada vez que se ejecuten los bloques de funciones. Por ejemplo, con un contador, aumenta el valor de la salida.

En los lenguajes gráficos (FBD y LD), un bloque de funciones elementales se representa como una trama de bloques con entradas y salidas. Las entradas siempre aparecen a la izquierda de la trama y las salidas a la derecha. El nombre de los bloques de funciones, esto es, el tipo de bloque de funciones, se muestra en el centro de la trama. El nombre de la instancia aparece por encima de la trama.

Nota: Los bloques de funciones de movimiento no están disponibles en la plataforma Quantum.

Nota: La desactivación de una EF (EN=0) ocasiona el reinicio de los enlaces conectados a su entrada/salida. No utilice un enlace para transferir el estado de la señal. Una variable debe conectarse a la salida de la EF y utilizarse para conectar la entrada del elemento.

18 33002530 07 07/2008

Page 19: 95230619 Bloques Comunicaciones Modicon

Tipos de bloques y utilización

Bloques de funciones derivados

Los bloques de funciones derivados (DFB) presentan las mismas propiedades que los bloques de funciones elementales. Sin embargo, el usuario los crea en los lenguajes de programación FBD, LD, IL o ST.

Procedimientos Los procedimientos son funciones con distintas salidas. No disponen de estado interno.

La única diferencia con las funciones elementales es que los procedimientos pueden tener más de una salida y admiten variables del tipo de datos VAR_IN_OUT.

Los procedimientos no devuelven ningún valor.

Los procedimientos son una ampliación de la norma IEC 61131-3 y se deben habilitar de forma explícita.

Los procedimientos no se distinguen visualmente de las funciones elementales.

33002530 07 07/2008 19

Page 20: 95230619 Bloques Comunicaciones Modicon

Tipos de bloques y utilización

Estructura de FFB

Estructura Cada FFB está compuesto por una operación (nombre del FFB), los operandos necesarios para la operación (parámetros formales y reales) y, en el caso de los bloques de funciones elementales o derivados, un nombre de instancia.

Para llamar a un bloque de funciones en el lenguaje de programación FBD:

Comportamiento imprevisto del equipoNo llame varias veces a la misma instancia de bloque dentro de un ciclo de PLC

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

Nombre de instancia

Funcionamiento(nombre de FFB)

Operando

Parámetro formal

TON

ENABLE

EXAMP

TIME1

EN

IN

PT

ENO

Q

ET

ERROR

OUT

TIME2

MY_TON

Parámetro real

AVISO

20 33002530 07 07/2008

Page 21: 95230619 Bloques Comunicaciones Modicon

Tipos de bloques y utilización

Para llamar formalmente a un bloque de funciones en el lenguaje de programación ST:

Funcionamiento La operación establece la función que debe ejecutar el FFB; por ejemplo, registro de desplazamientos u operaciones de conversión.

Operando El operando especifica con qué se debe ejecutar la operación. En el caso de los FFB, se trata de parámetros formales y reales.

Parámetros formales y parámetros reales

Las entradas y salidas se necesitan para transferir valores desde y hasta un FFB. Se conocen como parámetros formales.

A los parámetros formales se les vinculan objetos que contienen los estados actuales del proceso. Se conocen como parámetros reales.

Los valores del proceso se transfieren al FFB a través de los parámetros actuales durante el tiempo de ejecución del programa y se vuelven a emitir después del procesamiento.

El tipo de datos del parámetro actual debe ser el mismo que el de la entrada o salida (parámetros formales). Las únicas excepciones son las entradas y salidas genéricas, cuyo tipo de datos se determina mediante el parámetro real. Si todos los parámetros reales constan de literales, se selecciona un tipo de datos apropiado para el bloque de función.

Llamada de un FFB en IL/ST

En los lenguajes de texto IL y ST, los FFB pueden llamarse en formato formal e informal. Si desea más información, consulte el Manual de referencia.

Ejemplo de una llamada de función formal:

out:=LIMIT (MN:=0, IN:=var1, MX:=5);

Ejemplo de una llamada de función informal:

out:=LIMIT (0, var1, 5);

Nombre de instanciaParámetros formales (entradas)

MY_TON (EN:=ENABLE, IN:=EXAMP, PT:=TIME1, ENO=>ERROR, Q=>OUT, ET=>TIME2);

Parámetros reales (entradas)

Parámetros formales (salidas)

Parámetros reales (salidas)

Operandos

Operandos

Nota: Tenga en cuenta que EN y ENO sólo se pueden utilizar con llamadas formales.

33002530 07 07/2008 21

Page 22: 95230619 Bloques Comunicaciones Modicon

Tipos de bloques y utilización

Variable VAR_IN_OUT

A menudo, los FFB se utilizan para leer una variable en la entrada (variables de entrada), procesarla y devolver los valores modificados de esta variable (variables de salida).

Este caso específico de variable de entrada/salida también se denomina variable VAR_IN_OUT.

La correspondencia de las variables de entrada y salida aparece representada con una línea en los lenguajes gráficos (FBD y LD).

Bloque de funciones con la variable VAR_IN_OUT en FBD:

Bloque de funciones con la variable VAR_IN_OUT en ST:

MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT, OUT1=>Output1, OUT2=>Output2);

Tenga en cuenta las siguientes particularidades al utilizar FFB con variables VAR_IN_OUT:

Hay que asignar obligatoriamente una variable a todas las entradas VAR_IN_OUT.No es posible asignar literales o constantes a las entradas/salidas VAR_IN_OUT.

Además, en el caso de los lenguajes gráficos (FBD y LD) también se aplican las siguientes restricciones:

Las conexiones gráficas sólo permiten conectar salidas VAR_IN_OUT a entradas VAR_IN_OUT. Sólo es posible vincular una conexión gráfica a una salida/entrada VAR_IN_OUT.Es posible vincular a la entrada VAR_IN_OUT y a la salida VAR_IN_OUT distintas variables o componentes de variables. En tal caso, el valor de la variable o de su componente en la entrada se copiará en la variable o componente de variable en la salida. No se puede utilizar ninguna negación en las entradas/salidas VAR_IN_OUT.En el caso de las salidas VAR_IN_OUT no es posible combinar una variable/dirección con conexiones gráficas.

EXAMP1

Comb_IN_OUTIO1

IN1Input1IN2Input2IO1Comb_IN_OUT

MY_EXAMP1

Output1OUT1Output2OUT2

22 33002530 07 07/2008

Page 23: 95230619 Bloques Comunicaciones Modicon

Tipos de bloques y utilización

EN y ENO

Descripción Se puede configurar una entrada EN y una salida ENO para todos los FFB.

Si el valor de EN es "0" cuando se llama al FFB, los algoritmos definidos por el FFB no se ejecutan y ENO pasa a "0".

Si el valor de EN es "1" cuando se llama al FFB, se ejecutan los algoritmos definidos por el FFB. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se produce un error al ejecutar estos algoritmos, ENO pasa "0".

Si ENO pasa a "0" (por EN=0 o por un error durante la ejecución):Bloques de funciones

Manipulación de EN/ENO con bloques de funciones que (sólo) tienen un vínculo como parámetro de salida:

Si EN de FunctionBlock_1 se define como "0", la conexión de salida OUT de FunctionBlock_1 conserva el estado que tenía en el último ciclo ejecutado correctamente. Manipulación de EN/ENO con bloques de funciones que tienen una variable y un vínculo como parámetros de salida:

Si EN de FunctionBlock_1 se define como "0", la conexión de salida OUT de FunctionBlock_1 conserva el estado que tenía en el último ciclo ejecutado correctamente. La variable OUT1 del mismo pin conserva su estado anterior o se puede modificar de forma externa sin influir en la conexión. La variable y el vínculo se guardan de forma independiente entre sí.

Funciones/ProcedimientosComo se define en CEI61131-3, no se han definido las salidas de las funciones desactivadas (entrada EN definida como "0"). (Esto es aplicable a los procedimientos.) A continuación, se ofrece una explicación del estado de la salida en este caso:

Manipulación de EN/ENO con funciones/procedimientos que (sólo) tienen un vínculo como parámetro de salida:

Function_block_1

EN

IN2

ENOIN1 OUT

Function_block_2

EN

IN2

ENOIN1 OUT

Function_block_1

EN

IN2

ENOIN1 OUT

Function_block_2

EN

IN2

ENOIN1 OUTOUT1

33002530 07 07/2008 23

Page 24: 95230619 Bloques Comunicaciones Modicon

Tipos de bloques y utilización

Si EN de Function/Procedure_1 se define como "0", la conexión de salida OUT de Function/Procedure_1 conserva el estado que tenía en el último ciclo ejecutado correctamente. Manipulación de EN/ENO con bloques de funciones que tienen una variable y un vínculo como parámetros de salida:

Si EN de Function/Procedure_1 se define como "0", la conexión de salida OUT de Function/Procedure_1 conserva el estado que tenía en el último ciclo ejecutado correctamente. La variable OUT1 del mismo pin conserva su estado anterior o se puede modificar de forma externa sin influir en la conexión. La variable y el vínculo se guardan de forma independiente entre sí.

El comportamiento del FFB no depende de si los FFB se llaman sin EN/ENO o con EN=1.

Llamada de FFB condicional/incondicional

Las llamadas "incondicionales" o "condicionales" son posibles con cada FFB. La condición se lleva a cabo vinculando previamente la entrada EN.

EN conectadollamadas condicionales (el FFB sólo se procesa si EN = 1)EN mostrado, ocultado y marcado como TRUE, o mostrado y no ocupadollamadas incondicionales (el FFB siempre se procesa)

Nota para IL y ST El uso de EN y ENO sólo es posible en los lenguajes de texto para una llamada FFB formal, por ejemplo,

MY_BLOCK (EN:=enable, IN1:=var1, IN2:=var2,ENO=>error, OUT1=>result1, OUT2=>result2);

La asignación de variables a ENO se debe llevar a cabo con el operador =>.

Con una llamada no formal, EN y ENO no se pueden utilizar.

Function/Procedure_1

EN

IN2

ENOIN1 OUT

Function/Procedure_2

EN

IN2

ENOIN1 OUT

Function/Procedure_1

EN

IN2

ENOIN1 OUT

Function/Procedure_2

EN

IN2

ENOIN1 OUTOUT1

Nota: Para bloques de funciones deshabilitados (EN = 0) con una función de tiempo interna (por ejemplo, DELAY), el tiempo sigue avanzando, ya que se calcula con la ayuda de un reloj del sistema, y por tanto es independiente del ciclo de programa y de la apertura del bloque.

24 33002530 07 07/2008

Page 25: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

2

Disponibilidad de los módulos en las diferentes plataformas de hardware

Disponibilidad de bloques en las diversas plataformas de hardware

Introducción No todos los bloques están disponibles para cada una de las plataformas de hardware. La disponibilidad de módulos en función de la plataforma de hardware puede encontrarse en la tabla siguiente.

Expandido Disponibilidad de los módulos:

Nota: Las funciones, los procedimientos y los bloques de funciones de esta librería no están definidos en IEC 61131-3.

Nombre del bloque Tipo de bloque

M340 Premium Quantum

ADDR EF - + -

ADDM EF + - -

CANCEL Procedimiento + + -

CREAD_REG EFB - - +

CWRITE_REG EFB - - +

DATA_EXCH Procedimiento + + -

INPUT_BYTE Procedimiento + + -

INPUT_CHAR Procedimiento + + -

MBP_MSTR EFB - - +

MODBUSP_ADDR EFB - - +

OUT_IN_CHAR Procedimiento - + -

OUT_IN_MBUS DFB - + -

PRINT_CHAR Procedimiento + + -

RCV_TLG Procedimiento - + -

READ_ASYN Procedimiento - + -

25

Page 26: 95230619 Bloques Comunicaciones Modicon

Disponibilidad de los módulos

READ_GDATA Procedimiento - + -

READ_REG EFB - - +

READ_VAR Procedimiento + + -

SEND_REQ Procedimiento - + -

SEND_EMAIL EF + - -

SEND_TLG Procedimiento - + -

SYMAX_IP_ADDR EFB - - +

TCP_IP_ADDR EFB - - +

UNITE_SERVER Procedimiento - + -

WRITE_ASYN Procedimiento - + -

WRITE_GDATA Procedimiento - + -

WRITE_REG EFB - - +

WRITE_VAR Procedimiento + + -

XXMIT EFB - - +

Leyenda:

+ Sí

- No

Nombre del bloque Tipo de bloque

M340 Premium Quantum

26 33002530 07 07/2008

Page 27: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

3

Operación de la comunicación EF

Presentación

Tema del capítulo

En el capítulo se describe el funcionamiento y la gestión de las funciones de comunicación.

Contenido: Este capítulo contiene las siguientes secciones:

Sección Apartado Página

3.1 Información general sobre las funciones de comunicación de Premium y Atrium

29

27

Page 28: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

28 33002530 07 07/2008

Page 29: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

3.1 Información general sobre las funciones de comunicación de Premium y Atrium

Presentación

Objetivo de esta sección

Esta sección describe el funcionamiento y la gestión de las funciones de comunicación de los PLC Premium y Atrium.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Reglas de uso de las funciones de comunicación en PLC Premium y Atrium 30

Las funciones de comunicación en autómatas Premium y Atrium 31

Estructura de las funciones de comunicación de Premium y Atrium 33

Dirección del destinatario 34

Estructura de los parámetros de gestión 35

Parámetros de gestión: informes de comunicación y funcionamiento 37

Parámetros de gestión: longitud y timeout 40

Función Servidor 41

33002530 07 07/2008 29

Page 30: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Reglas de uso de las funciones de comunicación en PLC Premium y Atrium

Presentación Las funciones de comunicación utilizadas con PLC Premium y Atrium tienen algunas características exclusivas que las diferencian de las otras funciones de la librería. Esta documentación se ajusta a la norma de documentación relativa a la librería de funciones, pero también contiene información adicional relacionada con las particularidades de la aplicación específica de comunicación.

Variables ubicadas

Todas las funciones de comunicación que no requieren programación en el PLC del servidor (READ_VAR, WRITE_VAR, etc.) proporcionan acceso a las variables ubicadas de PLC remotos. No se puede acceder a las variables no ubicadas.

A parte del primer ejemplo de la función WRITE_VAR (véase Ejemplo de cómo escribir palabras en una red, p. 315), el resto de ejemplos se realiza mediante variables de direccionamiento directo (Ver Unity Pro, Lenguajes y estructura del programa, Manual de referencia, Referencias de datos) (uso de direcciones, variables ubicadas).

Lenguaje de programación

El lenguaje de programación más conciso para crear aplicaciones de comunicación es el lenguaje de texto estructurado (ST, del inglés Structured Text ). Todos los ejemplos, excepto el de la función READ_VAR (véase READ_VAR: lectura de variables, p. 231), están, por tanto, escritos en ST.

Nota: Para llevar a cabo transferencias de variables no ubicadas entre PLC, se debe emplear la función DATA_EXCH. Otra solución es hacer copias locales en las áreas de variables ubicadas.

30 33002530 07 07/2008

Page 31: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Las funciones de comunicación en autómatas Premium y Atrium

Presentación Estas funciones permiten la comunicación entre equipos. Algunas son comunes a varios tipos de vía de comunicación, mientras que otras pueden ser específicas de una sola vía de comunicación.

Funciones de comunicación asincrónica

Una función de comunicación es asincrónica cuando se ejecuta durante uno o varios ciclos después del que la ha activado.

La siguiente tabla muestra las funciones de comunicación en las que la ejecución es asincrónica:

Nota: El tratamiento de las funciones de comunicación es asincrónico con respecto al tratamiento de la tarea de aplicación que ha permitido su activación. Las funciones de emisión/recepción de telegrama y de parada de funcionamiento son las únicas excepciones, ya que su ejecución es sincrónica con la ejecución de la tarea de activación.

Función Su función es...

READ_VAR leer objetos de lenguaje básico: palabras y bits internos, palabras y bits de sistema, temporizadores, monoestables, programadores cíclicos, registros, contadores.

WRITE_VAR escribir objetos de lenguaje básico: palabras y bits internos, palabras y bits de sistema.

SEND_REQ emitir peticiones UNI-TE.

DATA_EXCH emitir o solicitar la recepción de datos.

PRINT_CHAR escribir una cadena de caracteres.

INPUT_CHAR leer una cadena de caracteres.

OUT_IN_CHAR emitir una cadena de caracteres y esperar una respuesta.

READ_GDATA leer datos comunes de Modbus Plus.

WRITE_GDATA escribir datos comunes de Modbus Plus.

SERVER tratar las peticiones READ_VAR y WRITE_VAR en Modbus de forma inmediata (Servidor inmediato).

READ_Asyn leer 1 Kbyte en mensajería.

WRITE_Asyn escribir 1 Kbyte en mensajería.

33002530 07 07/2008 31

Page 32: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Funciones de comunicación sincrónica

Una función de comunicación es sincrónica cuando se ejecuta por completo durante la tarea del autómata que la activa.

La tabla siguiente muestra las funciones de comunicación en las que la ejecución es sincrónica:

Nota: se recomienda iniciar las funciones asincrónicas en flanco y no en estado para no saturar los búferes de los equipos mediante el envío de varias peticiones. Por el mismo motivo, se aconseja gestionar el bit de actividad (véase Bit de actividad, p. 35) y las palabras de confirmación (véase Parámetros de gestión: informes de comunicación y funcionamiento, p. 37) durante la ejecución de cada función de comunicación.

Función Su función es ...

SEND_TLG emitir un telegrama.

RCV_TLG recibir un telegrama.

CANCELAR detener un intercambio en curso.

DIR convertir una cadena de caracteres en una dirección (tabla de 6 enteros) que la función de comunicación puede aprovechar directamente.

32 33002530 07 07/2008

Page 33: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Estructura de las funciones de comunicación de Premium y Atrium

Presentación Una función de comunicación en PLC Premium y Atrium utiliza:

un parámetro de dirección,parámetros específicos de una operación de comunicación,parámetros de gestión.

Sintaxis La sintaxis de una función de comunicación es la siguiente:

Función (dirección de destino, parámetros específicos, parámetros de gestión)

La tabla siguiente describe las diferentes entidades que componen una función:

Entidad Descripción

Función Corresponde al tipo de función de comunicación.

Dirección de destino Indica la dirección del destino del intercambio.

Parámetros específicos Depende del tipo de función de comunicación. Se proporciona una descripción de ellos para cada tipo de función de comunicación.

Parámetros de gestión Los parámetros de gestión son comunes a todas las funciones de comunicación asíncronas. Están compuestos de lo siguiente:

un parámetro que proporciona datos sobre la actividad de la función,un parámetro que especifica el número de intercambio que identifica la transacción en curso,un parámetro que contiene el informe de intercambio (informe de comunicación e informe de funcionamiento),un parámetro de timeout que se puede utilizar para comprobar si no hay respuesta,un parámetro de longitud que se puede utilizar para almacenar el número de bytes que se van a enviar o el número de bytes recibidos.

33002530 07 07/2008 33

Page 34: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Dirección del destinatario

Presentación Este parámetro indica la dirección del equipo destinatario (Ver Modicon M340, Premium, Atrium y Quantum utilizando Unity Pro, Arquitecturas y servicios de comunicaciones, Manual de referencia, Direccionamiento) del intercambio.

Puede encontrarse:

Por palabras internas (%MW) o constantes internas (%KW),o escrito directamente en valor inmediato.

Para facilitar la fase de preparación del intercambio, existe la función ADDR() (véase Descripción de las funciones, p. 49), que convierte un valor inmediato de tipo dirección (cadena de caracteres) en una tabla formada siempre por seis palabras internas (%MW).

Ejemplo

%MWi:6:=ADDR(’{2.4}SYS’);

34 33002530 07 07/2008

Page 35: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Estructura de los parámetros de gestión

Presentación Los parámetros de gestión se agrupan en una matriz de cuatro enteros. Los valores contenidos en esta matriz se pueden utilizar para gestionar las funciones de comunicación.

Estructura La tabla siguiente describe la estructura de los datos de la tabla de gestión de comunicación:

Bit de actividad Este bit indica el estado de ejecución de la función de comunicación.

Se configura en 1 al iniciar y vuelve a 0 cuando se completa la ejecución.

Es el primer bit del primer elemento de la tabla.

Ejemplo: Si la tabla de gestión indica lo siguiente:

Tab_Gest ARRAY [1..4] OF INT, el bit de actividad es el bit con la anotación Tab_Gest[1].0.

Nota: En la documentación técnica, a estos parámetros de gestión también se les denomina tabla de gestión o informe.

Nota: Las dos primeras palabras son gestionadas por el sistema. Las dos últimas palabras dependen del usuario.

Orden de la palabra

Byte de mayor valor Byte de menor valor

Datos gestionados por el sistema

1 Número de intercambio Bit de actividad

2 Informe de funcionamiento (véase Informe de operación, p. 38)

Informe de comunicación (véase Informe de comunicación, p. 37)

Datos gestionados por el usuario

3 Timeout (véase Timeout, p. 40)

4 Longitud (véase Longitud, p. 40)

Nota: La anotación utilizada previamente requiere la configuración de las propiedades del proyecto de manera que se permita la extracción de bits de los tipos enteros. De lo contrario, no se puede acceder a Tab_Gest[1].0de esta forma.

33002530 07 07/2008 35

Page 36: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Número de intercambio

Cuando se envía una función de comunicación, el sistema le atribuye automáti-camente un número, de forma que se permite la identificación del intercambio.

Este número puede utilizarse donde sea necesario para detener el intercambio en curso (mediante la función CANCEL (véase Descripción de la función, p. 52)).

36 33002530 07 07/2008

Page 37: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Parámetros de gestión: informes de comunicación y funcionamiento

Presentación Los informes de comunicación y funcionamiento forman parte de los parámetros de gestión.

Informe de comunicación

Este informe es común a todas las funciones. Es significativo cuando el valor del bit de actividad cambia de 1 a 0.

Los informes cuyo valor está entre 16#01 y 16#FE se refieren a errores detectados por el procesador que ejecutó la función.

En la tabla siguiente se indican los diferentes valores de este informe:

Nota: Se recomienda comprobar siempre los informes de las funciones de comunicación en cuanto se haya completado su ejecución y antes de reactivarlos. En el inicio en frío, es obligatorio que todos los parámetros de gestión de las funciones de comunicación, se comprueben y se vuelvan a poner en 0.

Valor Informe de comunicación (bit de menor valor)

16#00 Intercambio correcto

16#01 Detención del intercambio en timeout

16#02 Detención del intercambio a petición del usuario (CANCEL)

16#03 Formato de dirección incorrecto

16#04 Dirección de destino incorrecta

16#05 Formato incorrecto de parámetro de gestión

16#06 Parámetros específicos incorrectos

16#07 Problema en el envío al destino

16#08 Reservado

16#09 Tamaño del búfer de recepción insuficiente

16#0A Tamaño del búfer de envío insuficiente

16#0B Sin recursos de sistema del procesador

16#0C Número de intercambio incorrecto

16#0D Ningún telegrama recibido

16#0E Longitud incorrecta

16#0F Servicio de telegramas sin configurar

16#10 Módulo de red ausente

16#11 Petición ausente

16#12 Servidor de la aplicación ya activo

33002530 07 07/2008 37

Page 38: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Informe de operación

Este byte de informe es específico de cada función y especifica el resultado de la operación en la aplicación remota.

Sólo es significativo si el informe de comunicación tiene los valores siguientes:

16#00 (intercambio correcto),16#FF (mensaje rechazado).

Si el valor del informe de comunicación es 16#00, el informe de funcionamiento tendrá los valores siguientes:

Si el valor del informe de comunicación es 16#FF, el informe de funcionamiento tendrá los valores siguientes:

16#13 Número de transacción UNI-TE V2 incorrecto

16#FF Mensaje rechazado

Nota: La función puede detectar un error en los parámetros antes de activar el intercambio. En este caso, el bit de actividad se mantiene a 0 y el informe se inicia con los valores correspondientes al error.

Valor Informe de comunicación (bit de menor valor)

Valor Informe de funcionamiento (bit de mayor valor)

16#00 Resultado positivo

16#01 Petición no procesada

16#02 Respuesta incorrecta

16#03 Reservado

Valor Informe de funcionamiento (bit de mayor valor)

16#01 No hay recursos respecto al procesador

16#02 No hay recursos de línea

16#03 Sin dispositivo o dispositivo sin recursos (*)

16#04 Error de línea

16#05 Error de longitud

16#06 Canal de comunicación defectuoso

16#07 Error de direccionamiento

16#08 Error de aplicación

16#0B Sin recursos de sistema

16#0C Función de comunicación inactiva

16#0D Destino ausente

38 33002530 07 07/2008

Page 39: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

16#0F Problema de acceso entre estaciones o canal sin configurar

16#11 Formato de dirección no gestionado

16#12 Sin recursos de destino

16#14 Conexión no operativa (ejemplo: Ethernet TCP/IP)

16#15 Sin recurso en el canal local

16#16 Acceso no autorizado (ejemplo: Ethernet TCP/IP)

16#17 Configuración de red incoherente (ejemplo: Ethernet TCP/IP)

16#18 Conexión no disponible temporalmente

16#21 Servidor de la aplicación detenido

16#30 Error de transmisión

Leyenda:

(*) Código gestionado solo por tarjetas PCMCIA: TSX FPP20 y TSX FPP10

Valor Informe de funcionamiento (bit de mayor valor)

33002530 07 07/2008 39

Page 40: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Parámetros de gestión: longitud y timeout

De un vistazo Estos dos parámetros dependen del usuario.

Longitud El parámetro de longitud se utiliza tanto para especificar el número de caracteres (en bytes) que se van a enviar durante la transmisión, como para almacenar el número de caracteres (en bytes) recibidos tras la recepción de un mensaje.

Antes de iniciar determinadas funciones de comunicación (SEND_REQ, DATA_EXCH, PRINT_CHAR, SEND_TLG), es obligatorio para algunas, y se recomienda para otras, actualizar el parámetro de longitud.

Timeout El timeout determina el tiempo máximo de espera para la respuesta. La base de tiempo para este parámetro es 100 ms (el valor 0 corresponde a un valor de espera infinita).

Cuando transcurre el timeout, el intercambio termina con un informe de error. Asimismo, el sistema no acepta ninguna respuesta al término del timeout.

Ejemplo

Nota: Con la función PRINT_CHAR, por ejemplo, si otra función de la aplicación está utilizando la misma tabla de informe en la que el número de bytes que se van a enviar es diferente del de la función previa, es obligatorio inicializar el parámetro de longitud con el número nuevo de bytes que se va a transmitir. De lo contrario, mantiene el mismo número de bytes enviados por la función anterior.

Nota: El valor de timeout de una función de comunicación debe ser suficiente para garantizar que la respuesta a la pregunta formulada se ha recibido (uso de un módem externo en una conexión basada en protocolo, por ejemplo).

Nota: Para la comunicación del master Modbus, el timeout de la aplicación establecido en las funciones de comunicación debe ser mayor que el timeout de la pantalla de configuración multiplicado por el número de reintentos (timeout de hardware).

Inicio de la función Bit de actividad = 1Activación del timeoutRestablecimiento del informeAsignación del número de intercambio

Bit de actividad = 0Detención del timeoutActualización del informe

Recepción de la respuestaFin del timeout

Bit de actividad = 0Informe = 1

40 33002530 07 07/2008

Page 41: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Función Servidor

Presentación La función de servidor puede utilizarse para responder a las peticiones de los dispositivos cliente.

Los procesadores TSX 57 35• y PCX 57 35• proporcionan dos servidores de peticiones:

un servidor principal (recomendado para peticiones de menos de 256 bytes),un servidor auxiliar (recomendado para peticiones de hasta 1.024 bytes).

Estos dos servidores se pueden activar simultáneamente.

Ilustración El diagrama siguiente muestra las peticiones enviadas a los servidores en el ciclo del PLC:

Entradas

Salidas

Procesamiento

Servidor auxiliar (servidor asíncrono)

Servidor principal (servidor UNI-TE)

Tarea MAST

33002530 07 07/2008 41

Page 42: 95230619 Bloques Comunicaciones Modicon

Operación de la comunicación EF

Servidor principal

Este servidor corresponde al puerto 0 (servidor UNI-TE). Se activa al comienzo del ciclo MAST del PLC.

El tiempo de respuesta del PLC cliente depende del tiempo de ciclo del PLC del servidor. Esto puede utilizarse para procesar hasta cuatro peticiones simultáneas por ciclo del PLC.

Se admiten todas las peticiones UNI-TE. El tamaño de la petición debe ser inferior a 256 bytes.

Es posible direccionar esta entidad en la dirección topológica SYS o {network.station}SYS.

Servidor auxiliar Este servidor corresponde al puerto 7 (servidor asíncrono). Se activa únicamente para tareas periódicas al final del ciclo del PLC, una vez que la tarea MAST se ha procesado, mientras se espera el comienzo del ciclo siguiente.

El inicio del siguiente ciclo de mayor prioridad podría interrumpir una petición en curso. El acceso al servidor está, por tanto, reservado a las aplicaciones que no requieren coherencia en sus datos de lectura/escritura.

El tiempo de respuesta de la aplicación dependerá fundamentalmente del tiempo del ciclo del PLC. El tamaño de la petición puede ser de hasta 1.024 bytes. No se puede acceder a ésta desde una función de comunicación; el servidor procesa el objeto (bit o palabra), las peticiones de LECTURA/ESCRITURA, etc.

42 33002530 07 07/2008

Page 43: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

II

Extensiones

Introducción

Visión general En esta parte se describen las funciones y bloques de función elementales de la familia Extensiones.

Contenido Esta parte contiene los siguientes capítulos:

Capítulo Nombre del capítulo Página

4 ADDM: Conversión de direcciones 45

5 ADDR: conversión de direcciones 49

6 CANCEL: detención de un intercambio en curso 51

7 CREAD_REG: lectura continua de registro 55

8 CWRITE_REG: escritura continua de registro 63

9 DATA_EXCH: intercambio de datos entre aplicaciones 71

10 INPUT_BYTE: recepción de cadenas de caracteres 83

11 INPUT_CHAR: recepción de cadenas de caracteres 87

12 MBP_MSTR: Maestro Modbus Plus 99

13 ModbusP_ADDR: dirección de Modbus Plus 151

14 OUT_IN_CHAR: envío/recepción de cadenas de caracteres 157

15 OUT_IN_MBUS: función de comunicación Modbus 165

16 PRINT_CHAR: envío de cadenas de caracteres 203

17 RCV_TLG: recepción de telegramas 213

18 READ_ASYN: lectura asíncrona de datos 217

19 READ_GDATA: lectura de datos globales Modbus Plus 221

20 READ_REG: lectura de registro 223

21 READ_VAR: lectura de variables 231

22 SEND_EMAIL: Envío de un correo electrónico 249

23 SEND_REQ: peticiones de envío 253

43

Page 44: 95230619 Bloques Comunicaciones Modicon

Extensiones

24 SEND_TLG: envío de telegramas 269

25 SYMAX_IP_ADDR: dirección SY/MAX IP 275

26 TCP_IP_ADDR: dirección TCP/IP 279

27 UNITE_SERVER: servidor inmediato 285

28 WRITE_ASYN: escritura asíncrona de datos 291

29 WRITE_GDATA: escritura de datos globales Modbus Plus 295

30 WRITE_REG: escritura del registro 297

31 WRITE_VAR: variables de escritura 307

32 XXMIT: transmisión 321

Capítulo Nombre del capítulo Página

44 33002530 07 07/2008

Page 45: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

4

ADDM: Conversión de direcciones

Descripción

Descripción de la función

La función ADDM se utiliza para convertir una cadena de caracteres en una dirección que las siguientes funciones de comunicación pueden utilizar directamente: READ_VAR, WRITE_VAR, INPUT_CHAR, PRINT_CHAR, DATA_EXCH, SEND_EMAIL.

Pueden configurarse los parámetros EN y ENO adicionales.

Representación en FBD

Representación:

Representación en LD

Representación:

Representación en IL

Representación:

LD Addr_StringADDMST Addr_Array

Representación ST

Representación:

Addr_Array := ADDM(Addr_String);

ADDMAddr_String Addr_ArrayOUTIN

ADDM

ENOEN

Addr_String Addr_ArrayOUTIN

45

Page 46: 95230619 Bloques Comunicaciones Modicon

ADDM

Descripción de parámetros

En la siguiente tabla se describe el parámetro de entrada:

Para direccionar una estación en Ethernet, el parámetro IN adopta la forma:‘ConexRed{DirHost}’‘ConexRed{DirHost}TCP.MBS’‘ConexRed{DirHost}nodo’‘r.m.c{DirHost}’‘r.m.c{DirHost}TCP.MBS’‘r.m.c{DirHost}nodo’‘{DirHost}’‘{DirHost}TCP.MBS’‘{DirHost}nodo’

También existe la posibilidad de usar la conexión de red predeterminada mediante la notación simplificada para dirigir una estación en Ethernet:

ADDM‘{DirHost}’A conexión de red predeterminada es la conexión de red configurada más próxima desde la CPU.

Donde:ConexRed: nombre de red establecido en el campo Conexión de red del canal Ethernet.DirHost: dirección IP del dispositivo.r: número de bastidor (rack).m: posición del módulo.c: número de canal (channel).nodo: nodo Modbus o CANopen detrás de una pasarela (pasarela identificada con DirHost).TCP.MBS: para el direccionamiento de un servidor Modbus TCP.

Para direccionar un dispositivo en un bus CANopen, el parámetro IN adopta la forma ‘r.m.c.e’, donde:

r: número de bastidor (rack).m: posición del módulo.c: número de canal (channel) del puerto CANopen (2).e: nodo de esclavo CANopen (equipment) (rango de 1 a 127).

Para direccionar un dispositivo mediante el protocolo Modbus, el parámetro IN adopta la forma:

‘r.m.c.e.MBS’

Donde:r: número de bastidor (rack).m: posición del módulo.

Parámetro Tipo Comentario

IN Cadena de caracteres

Dirección de dispositivo en un bus o una red.

46 33002530 07 07/2008

Page 47: 95230619 Bloques Comunicaciones Modicon

ADDM

c: número de canal (channel) del puerto Modbus (0).e: número del esclavo de Modbus (equipment) (rango de 1 a 247).MBS: para el direccionamiento de un servidor Modbus.

Para direccionar un dispositivo mediante el protocolo de modo de caracteres, el parámetro IN adopta la forma ‘r.m.c’ o ‘r.m.c.SYS’, donde:

r: número de bastidor (rack).m: posición del módulo.c: número de canal (channel) del puerto de modo de caracteres (0).SYS: palabra clave utilizada para estipular el sistema de servidor de la estación. SYS puede omitirse.

Para obtener más información, consulte la descripción general del direccionamiento de PLC M340 del manual de usuario Arquitecturas de comunicación.

En la siguiente tabla se describe el parámetro de salida:

El bloque ADDM analiza la sintaxis de la cadena de direccionamiento (parámetro IN) y coloca el resultado en una matriz de 8 enteros simples que define la dirección de destino. La dirección de destino puede proporcionarse mediante el parámetro OUT de la función ADDM o directamente mediante una matriz de 8 objetos INT. Sin embargo, se recomienda encarecidamente utilizar la función ADDM para direccionar una comunicación EF.

La estructura de la dirección de destino es la siguiente:

Parámetro Tipo Comentario

OUT ADDM_TYPEMatriz de 8 enteros simples.

Matriz que representa la dirección de un dispositivo. Este parámetro se puede utilizar como parámetro de entrada para varias funciones de comunicación.

Campo Tamaño Valor

Tipo Byte Reservado.

ClientID Byte Reservado.

Bastidor Byte Número de ranuras del bastidor.

Slot Byte Número de ranuras del módulo.

Channel Byte Número de canal.

ProtId Byte Reservado. 0 para Modbus.

AddrLen Byte Este byte puede tener los siguientes valores:Valor 0 si el servidor de módulo o canal está direccionado (no se utilizan UnitId ni AddrExt).Valor 1 si se especifica el número de dispositivo.Valor >1 si también se utiliza AddrExt.

UnitId Byte Número de dispositivo, dispositivo Modbus por ejemplo.

33002530 07 07/2008 47

Page 48: 95230619 Bloques Comunicaciones Modicon

ADDM

AddrExt Matriz[7] Reservado. Se utiliza para codificar información adicional de la dirección para direcciones TCP/IP.

COMPORTAMIENTO INESPERADO DE LA APLICACIÓNEl uso de parámetros reservados es responsabilidad de los usuarios y puede provocar un funcionamiento incorrecto.

Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daños en el equipo.

Campo Tamaño Valor

ADVERTENCIA

48 33002530 07 07/2008

Page 49: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

5

ADDR: conversión de direcciones

Descripción

Descripción de las funciones

La función ADDR se utiliza para convertir una cadena de caracteres en una dirección que puede ser utilizada por las funciones de comunicación directamente.

Los parámetros adicionales EN y ENO pueden ser configurados.

Representación FBD

Representación:

Representación LD

Representación:

Representación IL

Representación:

LD Addr_StringADDRST Addr_Array

ADDRAddr_String Addr_ArrayOUTIN

ADDR

ENOEN

Addr_String Addr_ArrayOUTIN

49

Page 50: 95230619 Bloques Comunicaciones Modicon

ADDR

Representación ST

Representación:

Addr_Array := ADDR(Addr_String);

Descripción de parámetros

En la siguiente tabla, se describen los parámetros de entrada:

En la tabla siguiente, se describen los parámetros de salida:

Parámetro Tipo Comentario

Addr_String STRING La variable de tipo de cadena de caracteres representa la dirección de dispositivo en un bus o una red.

Ejemplos: ‘{5.6}SYS’, ‘{1.2}0.4.5.2’

Parámetro Tipo Comentario

Addr_Array ADDR_TYPEoARRAY [0..5] OF INT

Matriz de 6 enteros que representa la dirección Addr_String.Addr_Array puede ser utilizado directamente como primer parámetro de entrada de los EF de comunicación.

50 33002530 07 07/2008

Page 51: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

6

CANCEL: detención de un intercambio en curso

Presentación

Objetivo En este capítulo se describe la función CANCEL.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 52

Ejemplo de cómo cancelar un intercambio 54

51

Page 52: 95230619 Bloques Comunicaciones Modicon

CANCEL

Descripción

Descripción de la función

La función CANCEL permite interrumpir una función de comunicación asincrónica en curso. El número de intercambio asignado a cada comunicación permite identificar la función que se va a detener.

Pueden configurarse los parámetros adicionales EN y ENO.

Representación en FBD

Representación:

Representación en Ladder

Representación:

Representación en IL

Representación:

LD Exchange_NumCANCELST Report

Representación en ST

Representación:

CANCEL (Exchange_Num, Report);

Nota: la ejecución de esta función es síncrona a la ejecución del programa autómata (la función de comunicación se detiene en el ciclo del autómata en el que se ha ejecutado la función CANCEL).

CANCEL

Exchange_num ReportCRNUM

CANCEL

ENOEN

Exchange_num ReportCRNUM

52 33002530 07 07/2008

Page 53: 95230619 Bloques Comunicaciones Modicon

CANCEL

Descripción de los parámetros

La tabla siguiente describe los parámetros de entrada:

La siguiente tabla describe los parámetros de salida:

Parámetro Tipo Comentario

Exchange_Num INT Este parámetro especifica el número del intercambio en el que debe interrumpirse la ejecución.

Parámetro Tipo Comentario

Report INT Esta confirmación de operación toma uno de los valores siguientes:

16#00: operación correcta. La comunicación se interrumpe, el bit de actividad de la función interrumpida se encuentra a 0 y la confirmación toma el valor 2.16#0C: número de intercambio incorrecto.

33002530 07 07/2008 53

Page 54: 95230619 Bloques Comunicaciones Modicon

CANCEL

Ejemplo de cómo cancelar un intercambio

Presentación Este ejemplo ilustra cómo cancelar un intercambio realizado con la función OUT_IN_CHAR.

Cuando se inicia el intercambio, se le asigna un número único. Este número es válido hasta el final del intercambio.

La función CANCEL emplea este número para interrumpir el intercambio al que está asignada.

Programación de la función OUT_IN_CHAR

Programación en ST:

Programación de la función CANCEL

Programación en ST:

%MW180 := SHRZ_INT(%MW170,8); IF RE(%I0.3.9) THEN CANCEL(%MW180,%MW185); END_IF;

La función CANCEL afecta a dos parámetros:

en entradas: al número del intercambio que se va a cancelar,en salidas: al informe.

Es necesario inicializar el primer parámetro con el número del intercambio que se va a cancelar. Este número se encuentra en el byte de mayor valor de la primera palabra de la tabla de gestión. En este caso, se trata del byte de mayor valor de %MW170. Antes de enviar la función CANCEL, resulta necesario crear un desplaza-miento de ocho bits para recuperar los ocho bits de mayor valor de %MW170.

Parámetros de petición:

Parámetros Descripción

%MW180 El bit de menor valor contiene el número del intercambio que se va a cancelar. ATENCIÓN: El byte de mayor valor debe ser cero.

%MW185 Informe de la función.

54 33002530 07 07/2008

Page 55: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

7

CREAD_REG: lectura continua de registro

Descripción general

Introducción En este capítulo se describe el bloque CREAD_REG.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 56

Tipos de datos derivados 58

Modo de funcionamiento 60

Descripción de los parámetros 61

55

Page 56: 95230619 Bloques Comunicaciones Modicon

CREAD_REG

Descripción

Descripción de funciones

Este bloque de función está ideado para leer de forma continua un área de registro. Lee datos de un participante direccionado a través de Modbus Plus, Ethernet TCP/IP o Ethernet SY/MAX.

Como parámetros adicionales se pueden configurar EN y ENO.

Representación en FBD

Representación:

Representación en LD

Representación:

Nota: Para programar la función CREAD_REG debe conocer los procedimientos de acceso utilizados en la red. La descripción detallada de las estructuras de ruta de acceso Modbus Plus se encuentra en "Modbus Plus Network Planning and Installation Guide". En el caso de que se implemente la ruta de acceso de Ethernet TCP/IP o SY/MAX, se deberán utilizar los productos estándar de ruta de acceso de Ethernet-IP. La descripción detallada de las rutas de acceso TCP/IP figura en el manual "Manual de usuario sobre la configuración de Quantum con Unity ProTCP/IP".

Nota: En el programa puede utilizar diversos ejemplares de este bloque de función. No obstante, no es posible instanciar estos ejemplares de forma múltiple.

RegisterToRead

CREAD_REG

OffsetAddressNumberOfRegisters

DataStructure ErrorCode

CREAD_REG_Instance

REG_READSTATUS

SLAVEREGNO_REGADDRFLD

RegisterToRead

ErrorCodeDataStructure

ENOEN

CREAD_REG

REG_READ

STATUS

SLAVEREG

NO_REG

ADDRFLD

CREAD_REG_Instance

OffsetAddress

NumberOfRegisters

56 33002530 07 07/2008

Page 57: 95230619 Bloques Comunicaciones Modicon

CREAD_REG

Representación en IL

Representación:

CAL CREAD_REG_Instance (SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, ADDRFLD:=DataStructure, REG_READ=>RegisterToRead, STATUS=>ErrorCode)

Representación en ST

Representación:

CREAD_REG_Instance (SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, ADDRFLD:=DataStructure, REG_READ=>RegisterToRead, STATUS=>ErrorCode) ;

Descripción de los parámetros

Descripción de los parámetros de entrada

Descripción de los parámetros de salida

Error de ejecución

Para obtener una lista de todos los códigos y los valores de error del módulo, consulte Extendido, p. 406.

Parámetro Tipo de datos Significado

SLAVEREG DINT Dirección de la primera dirección %MW en el slave desde el que se debe leer.

NO_REG INT Número de direcciones que se deben leer desde el slave.

ADDRFLD WordArr5 Estructura de datos para la descripción de la dirección Modbus Plus, TCI/IP o SY/MAX-IP.

Parámetro Tipo de datos Significado

REG_READ ANY Datos que se van a leer.Se debe declarar una estructura de datos como Located Variable para los datos que se van a leer.

STATUS WORD En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.Para código de error, consulte:

Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

33002530 07 07/2008 57

Page 58: 95230619 Bloques Comunicaciones Modicon

CREAD_REG

Tipos de datos derivados

Tipo de datos derivado WordArr5 en Modbus Plus

Descripción de los elementos:

Descripción de elementos para WordArr5 en Ethernet TCP/IP

Descripción de elementos para WordArr5 en Ethernet TCP/IP

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de menor valor:El registro de ruta de acceso 1 se utiliza para determinar la dirección (dirección de ruta de acceso una de cinco) del participante de destino en una transmisión de red.El último byte en la ruta de acceso que no se corresponda con cero es el participante de destino.Byte de mayor valor:Slot del modulo adaptador de red (NOM), si existe (sólo en Quantum).

WordArr5[2] WORD Registro de ruta de acceso 2

WordArr5[3] WORD Registro de ruta de acceso 3

WordArr5[4] WORD Registro de ruta de acceso 4

WordArr5[5] WORD Registro de ruta de acceso 5

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de menor valor: Índice de copiado de un Transporter MBP a Ethernet (MET)Byte de mayor valor:Slot del módulo NOE

WordArr5[2] WORD Byte 4 (MSB) de la dirección IP de destino de 32 bits

WordArr5[3] WORD Byte 3 de la dirección IP de destino de 32 bits

WordArr5[4] WORD Byte 2 de la dirección IP de destino de 32 bits

WordArr5[5] WORD Byte 1 (LSB) de la dirección IP de destino de 32 bits

58 33002530 07 07/2008

Page 59: 95230619 Bloques Comunicaciones Modicon

CREAD_REG

Descripción de elementos para WordArr5 en Ethernet SY/MAX

Descripción de elementos para WordArr5 en Ethernet SY/MAX

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de menor valor:Índice de copiado de un Transporter MBP a Ethernet (MET)Byte de mayor valor:Slot del módulo NOE

WordArr5[2] WORD Número de estación de destino (o ajustar a FF hex)

WordArr5[3] WORD Terminador (ajustar a FF hex)

WordArr5[4] WORD Sin significado

WordArr5[5] WORD Sin significado

33002530 07 07/2008 59

Page 60: 95230619 Bloques Comunicaciones Modicon

CREAD_REG

Modo de funcionamiento

Modo de funcionamiento del bloque CREAD_REG

Se puede programar un gran número de bloques de función CREAD_REG, pero solamente pueden estar activas cuatro operaciones de lectura al mismo tiempo. En este caso, no tiene importancia si dichas operaciones se realizan por medio de este bloque de función u otros (p. ej. MBP_MSTR, MSTR o READ_REG). Todos los bloques de función emplean una ruta de transacción de datos y necesitan varios ciclos para completar una orden.

La información de acceso completa está incluida en la estructura de datos WordArr5 de la entrada ADDRFLD. El tipo del bloque de función conectado a esta entrada se orienta de acuerdo con la red utilizada.

Utilice:El bloque de función ModbusP_ADDR para Modbus Plus.El bloque de función TCP_IP_ADDR para Ethernet TCP/IP.El bloque de función SYMAX_IP_ADDR para Ethernet SY/MAX.

Nota: La comunicación TCP/IP entre un autómata Quantum (NOE 211 00) y un autómata Momentum (todas las CPU TCP/IP y todos los módulos de E/S TCP/IP) sólo es posible cuando en cada ciclo del autómata únicamente se lleva a cabo una orden de escritura o de lectura. Si se envían varias órdenes por cada ciclo del autómata, la comunicación permanece estancada, sin generar ningún mensaje de error en el registro de estado del bloque de función.

Nota: La estructura de datos WordArr5 también se puede utilizar con constantes.

Nota: Este bloque de función supone una gran carga para la red; por lo tanto, se debe vigilar atentamente la carga de la red. En caso de que la carga de la red sea demasiado alta, se debería repasar nuevamente la lógica del programa para poder trabajar con el bloque de función READ_REG, una variación de este bloque de función que no trabaja en modalidad continua, sino controlado por comandos.

60 33002530 07 07/2008

Page 61: 95230619 Bloques Comunicaciones Modicon

CREAD_REG

Descripción de los parámetros

SLAVEREG Principio del área en el slave direccionado en la que se leen los datos de origen. El área de origen se encuentra siempre dentro del área del rango de direcciones %MW.

El parámetro se puede indicar como dirección, Located Variable, Unlocated Variable o literal.

NO_REG Número de direcciones que se deben leer desde el slave direccionado (1 a 100).

El parámetro se puede indicar como dirección, Located variable o Unlocated variable.

REG_READ Para este parámetro se debe definir una matriz (ARRAY) del tamaño del envío requerido (≥ NO_REG). El nombre de esta matriz se transferirá como parámetro. Si se define una matriz demasiado pequeña, sólo se transferirá la cantidad de datos que tenga cabida en la matriz.

El parámetro se debe indicar como Located Variable.

STATUS En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.

Para código de error, consulte:Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

El parámetro se puede indicar como dirección, Located variable o Unlocated variable.

Nota: Para slaves de un PLC que no sea Unity Pro:El área de origen se encuentra siempre dentro del área de registro 4x. SLAVEREG espera la dirección de origen como offset dentro del área 4x. El "4" de la izquierda no se tiene en cuenta (p. ej. 59 (contenido de las variables o valor del literal) = 40059).

33002530 07 07/2008 61

Page 62: 95230619 Bloques Comunicaciones Modicon

CREAD_REG

62 33002530 07 07/2008

Page 63: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

8

CWRITE_REG: escritura continua de registro

Descripción general

Introducción En este capítulo se describe el bloque CWRITE_REG.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 64

Tipos de datos derivados 67

Modo de funcionamiento 68

Descripción de los parámetros 69

63

Page 64: 95230619 Bloques Comunicaciones Modicon

CWRITE_REG

Descripción

Descripción de funciones

Este bloque de función está ideado para escribir de forma continua un área de registro. Transmite datos desde el autómata a través de Modbus Plus, Ethernet TCP/IP o Ethernet SY/MAX a un slave direccionado.

Como parámetros adicionales se pueden configurar EN y ENO.

Representación en FBD

Representación:

Nota: Para programar la función CWRITE_REG debe conocer los procedimientos de acceso utilizados en la red. La descripción detallada de las estructuras de ruta de acceso Modbus Plus se encuentra en "Modbus Plus Network Planning and Installation Guide". En el caso de que se implemente la ruta de acceso de Ethernet TCP/IP o SY/MAX, se deberán utilizar los productos estándar de ruta de acceso de Ethernet-IP. La descripción detallada de las rutas de acceso TCP/IP figura en el manual "Manual de usuario sobre la configuración de Quantum con Unity ProTCP/IP".

Nota: En el programa puede utilizar diversos ejemplares de este bloque de función. No obstante, no es posible instanciar estos ejemplares de forma múltiple.

ErrorCode

CWRITE_REG

OffsetAddressNumberOfRegisters

SourceDataAreaDataStructure

CWRITE_REG_Instance

STATUS

SLAVEREGNO_REGREG_WRITADDRFLD

64 33002530 07 07/2008

Page 65: 95230619 Bloques Comunicaciones Modicon

CWRITE_REG

Representación en LD

Representación:

Representación en IL

Representación:

CAL CWRITE_REG_Instance (SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, REG_WRIT:=SourceDataArea, ADDRFLD:=DataStructure, STATUS=>ErrorCode)

Representación en ST

Representación:

CWRITE_REG_Instance ( SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, REG_WRIT:=SourceDataArea, ADDRFLD:=DataStructure, STATUS=>ErrorCode) ;

Descripción de los parámetros

Descripción de los parámetros de entrada

ErrorCode

SourceDataArea

DataStructure

ENOEN

CWRITE_REG

STATUS

SLAVEREG

NO_REG

REG_WRIT

ADDRFLD

CWRITE_REG_Instance

OffsetAddress

NumberOfRegisters

Parámetro Tipo de datos Significado

SLAVEREG DINT Dirección de la primera dirección %MW del slave en el que se debe escribir.

NO_REG INT Número de direcciones que se deben escribir desde el slave.

REG_WRIT ANY Datos de origen(Se debe declarar una estructura de datos como Located Variable para los datos de origen).

ADDRFLD WordArr5 Estructura de datos para la transmisión de la dirección Modbus Plus, TCI/IP o SY/MAX-IP.

33002530 07 07/2008 65

Page 66: 95230619 Bloques Comunicaciones Modicon

CWRITE_REG

Descripción de los parámetros de salida

Error de ejecución

Para obtener una lista de todos los códigos y los valores de error del módulo, consulte Extendido, p. 406.

Parámetro Tipo de datos Significado

STATUS WORD En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.Para código de error, consulte:

Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

66 33002530 07 07/2008

Page 67: 95230619 Bloques Comunicaciones Modicon

CWRITE_REG

Tipos de datos derivados

Descripción de elementos para WordArr5 en Modbus Plus

Descripción de elementos para WordArr5 en Modbus Plus:

Descripción de elementos para WordArr5 en Ethernet TCP/IP

Descripción de elementos para WordArr5 en Ethernet TCP/IP:

Descripción de elementos para WordArr5 en Ethernet SY/MAX

Descripción de elementos para WordArr5 en Ethernet SY/MAX:

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de menor valor:El registro de ruta de acceso 1 se utiliza para determinar la dirección (dirección de ruta de acceso una de cinco) del participante de destino en una transmisión de red.El último byte en la ruta de acceso que no se corresponda con cero es el participante de destino.Byte de mayor valor:slot del modulo adaptador de red (NOM), si existe.

WordArr5[2] WORD Registro de ruta de acceso 2

WordArr5[3] WORD Registro de ruta de acceso 3

WordArr5[4] WORD Registro de ruta de acceso 4

WordArr5[5] WORD Registro de ruta de acceso 5

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de menor valor:Índice de copiado de un Transporter MBP a Ethernet (MET)Byte de mayor valor:Slot del módulo NOE

WordArr5[2] WORD Byte 4 (MSB) de la dirección IP de destino de 32 bits

WordArr5[3] WORD Byte 3 de la dirección IP de destino de 32 bits

WordArr5[4] WORD Byte 2 de la dirección IP de destino de 32 bits

WordArr5[5] WORD Byte 1 (LSB) de la dirección IP de destino de 32 bits

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de menor valor:Índice de copiado de un Transporter MBP a Ethernet (MET)Byte de mayor valor:Slot del módulo NOE

WordArr5[2] WORD Número de estación de destino (o ajustar a FF hex)

WordArr5[3] WORD Terminador (ajustar a FF hex)

WordArr5[4] WORD Sin significado

WordArr5[5] WORD Sin significado

33002530 07 07/2008 67

Page 68: 95230619 Bloques Comunicaciones Modicon

CWRITE_REG

Modo de funcionamiento

Modo de funcionamiento del bloque CWRITE_REG

Se puede programar un gran número de bloques de función CWRITE_REG, pero sólo pueden estar activas cuatro operaciones de escritura al mismo tiempo. En este caso, no tiene importancia si dichas operaciones se realizan por medio de este bloque de función u otros (p. ej. MBP_MSTR, MSTR o WRITE_REG). Todos los bloques de función emplean una ruta de transacción de datos y necesitan varios ciclos para completar una orden.

Si se utilizan varios bloques de función CWRITE_REG en una aplicación, hay que diferenciarlos al menos en los valores de los parámetros NO_REG o REG_WRIT.

La información de acceso completa está incluida en la estructura de datos WordArr5 de la entrada ADDRFLD. El tipo del bloque de función conectado a esta entrada se orienta de acuerdo con la red utilizada.

Utilice:El bloque de función ModbusP_ADDR para Modbus Plus.El bloque de función TCP_IP_ADDR para Ethernet TCP/IP.El bloque de función SYMAX_IP_ADDR para Ethernet SY/MAX.

Nota: La comunicación TCP/IP entre un autómata Quantum (NOE 211 00) y un autómata Momentum (todas las CPU TCP/IP y todos los módulos de E/S TCP/IP) sólo es posible cuando en cada ciclo del autómata únicamente se lleva a cabo una orden de escritura o de lectura. Si se envían varias órdenes por cada ciclo del autómata, la comunicación permanece estancada, sin generar ningún mensaje de error en el registro de estado del bloque de función.

Nota: La estructura de datos WordArr5 también se puede utilizar con constantes.

Nota: Este bloque de función supone una gran carga para la red; por lo tanto, se debe vigilar atentamente la carga de la red. En caso de que la carga de la red sea demasiado alta, hay que repasar de nuevo la lógica del programa para poder trabajar con el bloque de función WRITE_REG, una variación de este bloque de función que no trabaja en modo continuo, sino controlado por comandos.

68 33002530 07 07/2008

Page 69: 95230619 Bloques Comunicaciones Modicon

CWRITE_REG

Descripción de los parámetros

SLAVEREG Comienzo del área en el slave direccionado donde se van a escribir los datos de origen. El área de destino se encuentra siempre dentro del área del rango de direcciones %MW.

NO_REG Número de registros que deben escribirse en el procesador slave (1 a 100). El parámetro se puede indicar como dirección, Located Variable, Unlocated Variable o literal.

STATUS En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.

Para código de error, consulte:Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

El parámetro se puede indicar como dirección, Located variable o Unlocated variable.

REG_WRIT Para este parámetro se debe definir una matriz (ARRAY) del tamaño del envío deseado (≥ NO_REG). El nombre de esta matriz se transferirá como parámetro. Si se define una matriz demasiado pequeña, sólo se transferirá la cantidad de datos que tenga cabida en la matriz.

El parámetro se debe indicar como Located Variable.

Nota: Para slaves de un PLC que no sea Unity Pro:Esta área de destino siempre se encuentra dentro del área de registro 4x. SLAVEREG espera la dirección de destino como offset dentro del área 4x. El "4" de la izquierda no se tiene en cuenta (p. ej. 59 (contenido de las variables o valor del literal) = 40059).El parámetro se puede indicar como dirección, Located Variable, Unlocated Variable o literal.

33002530 07 07/2008 69

Page 70: 95230619 Bloques Comunicaciones Modicon

CWRITE_REG

70 33002530 07 07/2008

Page 71: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

9

DATA_EXCH: intercambio de datos entre aplicaciones

Presentación

Objetivo En este capítulo se describe la función DATA_EXCH.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 72

Pantalla de entrada asistida 77

Ejemplo de cómo utilizar una red Fipway 79

71

Page 72: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Descripción

Descripción de la función

La función DATA_EXCH permite transferir datos de un dispositivo a otro con PLC Premium y M340:

emisión de datos,recepción de datos,emisión seguida de una recepción de datos.

Los parámetros adicionales EN y ENO se pueden configurar.

Representación en FBD

Representación:

Representación en LD

Representación:

Nota: El tipo de petición que se puede enviar depende del tipo de PLC: En PLC Modicon M340, esta función se puede utilizar para enviar peticiones Modbus a otro dispositivo.En PLC Premium, esta función se puede utilizar para enviar peticiones UNI-TE o Modbus a otro dispositivo. Para ello, es necesario asegurarse de que los datos enviados constituyen la totalidad de la trama necesaria para el protocolo utilizado.

Management_ParamManagement_Param

DATA_EXCH

AddressAction

Data_to_Send

Received_DataRECPADR

GESTGEST

TYPEEMIS

Management_ParamManagement_Param

DATA_EXCH

Address

Action

Data_to_Send

ENOEN

Received_DataRECPADR

GESTGEST

TYPE

EMIS

72 33002530 07 07/2008

Page 73: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Representación en IL

Representación:

LD AddressDATA_EXCH Action, Data_to_Send, Management_Param, Received_Data

Representación en ST

Representación:

DATA_EXCH(Address, Action, Data_to_Send, Management_Param, Received_Data);

Descripción de parámetros

En la siguiente tabla se describen los parámetros de entrada:

Parámetros Tipo Comentario

Address ARRAY [0.. 5] OF INT para PremiumARRAY [0.. 7] OF INT para Modicon M340

Dirección de la entidad de destino del intercambio. Si el parámetro Action es del tipo emisión/recepción, las direcciones de difusión están prohibidas.Para PLC Premium:

Debe utilizarse la función ADDR.

Para PLC Modicon M340: Debe utilizarse la función ADDM.La entidad de destino del intercambio es una matriz de 8 palabras: %MWx:8.%MWx:8: Inicializada por medio del bloque de conversión ADDM.%MW0:8:=ADDM(‘0.3.0.0’)

Action INT Tipo de acción que se va a realizar.Para PLC Premium, los valores posibles son:

1: Emisión seguida de recepción en espera (esta acción no puede efectuarse en Uni-Telway esclavo).2: Emisión simple.3: Modo de recepción.

Para PLC Modicon M340, el valor posible es:1: Emisión seguida de recepción en espera.

Data_to_Send

ARRAY [n... m] OF INT

Tabla de enteros que se enviará al dispositivo de destino de la petición.

Atención: Debe tener, como mínimo, una longitud de 1 elemento, aunque no haya datos que enviar (por ejemplo, código 3 para esta acción).

Nota: Antes del inicio de la función y para que ésta se ejecute correctamente, la longitud de los datos que se van a emitir (en número de bytes) debe estar asignada a la cuarta palabra de la tabla de gestión.

33002530 07 07/2008 73

Page 74: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

En la siguiente tabla se describen los parámetros de entrada/salida:

En la siguiente tabla se describen los parámetros de salida:

Parámetro Tipo Comentario

Management_Param ARRAY [0... 3] OF INT

Tabla de gestión del intercambio (véase Estructura de los parámetros de gestión, p. 35)En PLC Modicon M340, existe un bit de cancelación disponible en la palabra de rango 1 de la tabla de gestión de intercambio.La palabra de rango 1 consta de 2 bytes:

Byte más significativo: número de intercambio.Byte menos significativo: bit de actividad (rango 0) y bit de cancelación (rango 1).

La EF DATA_EXCH puede anularse mediante la CANCEL EF o poniendo en 1 el bit de cancelación de la tabla de gestión (Ver Modicon M340 con Unity Pro, Conexión serie, Manual del usuario, Servicios admitidos por un procesador maestro de conexión Modbus).

Parámetro Tipo Comentario

Received_Data ARRAY [n... m] OF INT

Tabla de enteros que contiene los datos recibidos durante el modo de recepción o una acción de emisión/recepción.

Atención: Incluso si la acción es una simple emisión, la tabla Received_Data debe existir y tener un tamaño mínimo de 1.

Nota: El sistema escribe automáticamente el tamaño de los datos recibidos (en número de bytes) en la cuarta palabra de la tabla de gestión (véase Parámetros de gestión: longitud y timeout, p. 40).

74 33002530 07 07/2008

Page 75: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Servicios de Modicon M340

En los PLC Modicon M340, el usuario puede codificar un protocolo privado y libre para enviar cualquier petición Modbus. Ofrece la posibilidad de enviar o recibir una cadena de bytes libre sobre soporte Modbus.

La EF DATA_EXCH se puede usar en todos los puertos de comunicaciones excepto el puerto CANopen. Las limitaciones de la longitud de SendBuffer vienen dadas por las características del puerto de destino.

En la tabla siguiente se indica la longitud de todos los puertos de comunicaciones:

La longitud del mensaje que se va a enviar o recibir se indica en la cuarta palabra de la tabla de gestión (véase Parámetros de gestión: longitud y timeout, p. 40).

El bloque de conversión ADDM se utiliza para indicar el destino de la petición.

Véase la función ADDM.

No se admite ninguna otra entidad de Ethernet. La EF DATA_EXCH no gestiona directamente una conexión sobre TCP.

Para el protocolo de usuario abierto sobre Modbus, se acepta la sintaxis siguiente: bastidor.módulo: servidor de módulobastidor.módulo.canal.dispositivo.MBS: protocolo Modbusbastidor.módulo.canal.dispositivo: protocolo de usuario

Puerto Longitud

Ethernet (NOE o puerto incorporado) 1 kb

Modbus 256 bytes

Nota: Se debe especificar la palabra clave TCP.MBS al utilizar la EF DATA_EXCH para comandos Modbus sobre Ethernet.

33002530 07 07/2008 75

Page 76: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Ejemplo de servicio de Modicon M340

(* PETICIÓN ESCRITURA ÚNICO REGISTRO %MW100 Longitud := 5 *)

(* Dirección superior + FC Escribir único registro (6) *)

req_wr_single_reg[0] := 6; (* Valor superior + Dirección inferior *)

req_wr_single_reg[1] := (value_write & 16#FF00) + 100;

(* sin usar + Valor inferior *)

req_wr_single_reg[2] := value_write & 16#FF;

IF ((mng_wr_single_reg[ACTIVITY] & 1) = 0 ) THEN

mng_wr_single_reg[LENGTH] := 5; (* LONGITUD PET ESCRITURA *)

DATA_EXCH (ADDM('0.0.0.1'), 1, req_wr_single_reg, mng_wr_single_reg, resp_wr_single_reg);

END_IF;

76 33002530 07 07/2008

Page 77: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Pantalla de entrada asistida

Presentación Para esta función de comunicación, puede solicitar la pantalla de entrada asistida. Tenga en cuenta que la pantalla de entrada asistida no está disponible para Modicon M340.

Ilustración La pantalla siguiente muestra una pantalla de entrada asistida de la función:

Dirección Para PLC Premium, los tipos de objetos posibles son los siguientes:

ADDR(STRING),ARRAY [0..5] OF INT.

Nota: Los símbolos de variable se aceptan en los diferentes campos de la pantalla.

DATA_EXCH

Dirección: ? Parámetros

Tipos posibles: Matriz de enteros constantes, matriz de enteros (n>=6)Dirección ADDR(‘..’)

Aceptar Cancelar

Informe:

...

...

Modalidad: ... Intercambio

Datos para recibir: ...Datos para enviar: ...

Nota: Si introduce un valor directamente en un campo, el botón de entrada de dirección asistida se vuelve gris.

33002530 07 07/2008 77

Page 78: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Modo Las opciones posibles son las siguientes:

1: intercambio,2 : transmisión,3 : recepción.

Datos para enviar

La variable para la transmisión es una matriz de enteros. La matriz puede localizarse o no.

Datos para recibir

El área de recepción es una matriz de cuatro enteros, que puede o no localizarse. El tamaño de la matriz depende del número de objetos que se van a recibir.

Informe El informe es una matriz de cuatro enteros, que puede o no localizarse.

Nota: Si utiliza el campo de entrada en lugar del menú, puede introducir una variable de tipo INT, esté o no localizada.

Nota: Tenga cuidado de no utilizar varias áreas de memoria idénticas para las tablas de informes; de lo contrario, la función de lectura de variables podría no funcionar.

78 33002530 07 07/2008

Page 79: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Ejemplo de cómo utilizar una red Fipway

Presentación Supongamos que deseamos que dos estaciones de PLC se comuniquen mediante una red Fipway. La estación 1 debe enviar los datos (20 bytes ubicados en %MW70:10) a la estación 2, que los recibe en una tabla ubicada en %MW80:10. Cada PLC cuenta con una tabla de gestión que comienza con la dirección %MW90.

Para la estación 1, la palabra %MW93 debe contener la longitud de los datos que se van a enviar, o 20 (se van a enviar diez palabras).

Para la estación 2, la palabra %MW93 se define en 0 antes del intercambio, con el fin de ver el número de caracteres recibidos al final del intercambio.

La función DATA_EXCH requiere que los dos PLC estén programados, uno para enviar y el otro para recibir.

Ilustración Las dos estaciones se conectan mediante una red Fipway:

Fipway

Premium {20.1} Premium {20.2}

33002530 07 07/2008 79

Page 80: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Transmisión programada en la estación 1

Programación en ST:

SI RE(%I0.3.2) Y NO %MW90.0 ENTONCES (* inicialización de los datos para enviar *) %MW93:= 20; (* función de comunicación *) DATA_EXCH(ADDR(’{20.2}APP’),2,%MW70:10,%MW90:4,%MW80:1);END_IF;

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.2}APP’) 20 : red2 : estaciónAPP: aplicación de la estación 2

2 Tipo de comunicación: transmisión

%MW70:10 Datos para enviar

%MW90:4 Tabla de gestión

%MW80:1 Área de recepción para respuestas. Aquí no hay datos que recibir. No obstante, se debe reservar una palabra (obligatorio).

80 33002530 07 07/2008

Page 81: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

Recepción programada en la estación 2

SI RE(%I0.3.4) Y NO %MW90.0 ENTONCES (* inicialización de los datos para recibir *) %MW93:= 0; (* función de comunicación *) DATA_EXCH(ADDR(’{20.1}APP’),3,%MW70:1,%MW90:4,%MW80:10);END_IF;

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.1}APP’) 20 : red1 : estaciónAPP: aplicación de la estación 1

3 Tipo de comunicación: recepción

%MW70:1 Datos para enviar. Aquí no hay ningún dato. No obstante, se debe reservar una palabra.

%MW90:4 Tabla de gestión

%MW80:10 Zona de recepción: se proporcionan diez palabras de la estación 1.

33002530 07 07/2008 81

Page 82: 95230619 Bloques Comunicaciones Modicon

DATA_EXCH

82 33002530 07 07/2008

Page 83: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

10

INPUT_BYTE: recepción de cadenas de caracteres

Descripción

Descripción de las funciones

INPUT_BYTE se utiliza para enviar una solicitud de lectura de una matriz de bytes a un módulo de comunicación de modalidad de caracteres. El mensaje recibido se almacena en una matriz de bytes.

Para PLC Premium, esta función se utiliza para recibir hasta 4 Kbytes (120 bytes para el puerto de terminal).

Para PLC Modicon M340 esta función se utiliza para recibir hasta 1.024 bytes.

Existen dos posibilidades exclusivas disponibles:

Lectura de un número de bytes: no debe configurarse ninguna condición.Lectura de un mensaje: debe configurarse una condición de detención en la pantalla de configuración.

Pueden configurarse los parámetros adicionales EN y ENO.

Representación FBD

Representación:

Nota: En general, INPUT_BYTE proporciona las mismas funciones que INPUT_CHAR, pero permite pasar una tabla de bytes en vez de una cadena como parámetro de salida. Debido a esto, es posible leer un valor de byte 0 (NULL) en un flujo de bytes desde un puerto serie.

RECPADR

GESTGEST

RAZNB

Management_ParamManagement_Param

INPUT_BYTE

AddressRaz

Buffer_Length

Received_Data

83

Page 84: 95230619 Bloques Comunicaciones Modicon

INPUT_BYTE

Representación LD

Representación:

Representación IL

Representación:

Dirección LDINPUT_BYTE Reset, Buffer_Length, Management_Param, Received_Data

Representación ST

Representación:

INPUT_BYTE(Address, Reset, Buffer_Length, Management_Param, Received_Data);

Descripción de parámetros

La tabla siguiente describe los parámetros de entrada:

RECPADR

GESTGEST

RAZ

NB

Management_ParamManagement_Param

INPUT_BYTE

Address

Raz

Buffer_Length

ENOEN

Received_Data

Parámetro Tipo Comentario

ADR ARRAY [0.. 5] OF INT para PLC PremiumARRAY [0.. 7] OF INT para PLC Modicon M340

Para PLC Premium:La función ADDR proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.Sólo son posibles las direcciones que terminan en SYS (por ejemplo, el puerto de terminal del procesador 0.0.0.SYS).

Para PLC Modicon M340:La función ADDM proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.La sintaxis de la dirección es del tipo ADDM (‘r.m.c.node’). Asiento es un campo opcional que puede ser SYS o estar vacío (por ejemplo, ADDM(‘0.0.0.SYS’) es igual a ADDM(‘0.0.0’)).

84 33002530 07 07/2008

Page 85: 95230619 Bloques Comunicaciones Modicon

INPUT_BYTE

En la siguiente tabla, se describen los parámetros de entrada/salida:

La tabla siguiente describe los parámetros de salida:

RAZ INT Restablecer. Este parámetro se utiliza para restablecer la memoria de recepción del acoplador.

Valor = 0: sin restablecimiento de memoria.Valor = 1: restablecimiento de memoria.

Nota: Para las comunicaciones de puerto de terminal de PLC Premium, el valor debe ser 1.Nota: En PLC Modicon M340, la EF INPUT_CHAR puede programarse con este parámetro o sin él.

NB INT Longitud del búfer o número de bytes que van a recibirse.

Valor = 0: lectura del mensaje en cuanto esté disponible en el canal. Aquí, debe especificarse una condición de detención en la pantalla de configuración.Valor mayor que 0: especifica el búfer o número de bytes que van a leerse.

Nota: Para las comunicaciones de puerto de terminal de PLC Premium, 0 es el único valor permitido. Aquí, el carácter de fin del mensaje predeterminado es un retorno de carro (CR).

Parámetro Tipo Comentario

GEST ARRAY [0.. 3] OF INT

Tabla de gestión de intercambio (véase Estructura de los parámetros de gestión, p. 35).Sólo en los PLC Modicon M340, hay un bit de cancelación disponible. El bit de cancelación está ubicado en la palabra 1 del rango de la tabla de gestión de intercambio y consta de 2 bytes:

Byte de mayor valor: número de intercambio. Byte de menor valor: bit de actividad (rango 0) y bit de cancelación (rango 1).

El bloque de funciones INPUT_CHAR puede cancelarse mediante el bloque de funciones CANCEL o estableciendo en 1 el bit de cancelación de la tabla de gestión; consulte también Cancelación de un intercambio (Ver Modicon M340 con Unity Pro, Conexión serie, Manual del usuario, Funciones de comunicación en modalidad de caracteres).

Parámetro Tipo Comentario

RECP ARRAY OF BYTE Bytes recibidos. Se almacenan en una matriz deBYTES.

Parámetro Tipo Comentario

33002530 07 07/2008 85

Page 86: 95230619 Bloques Comunicaciones Modicon

INPUT_BYTE

Normas de programación

Cuando se inician varias INPUT_BYTE simultáneamente, el parámetro Reset debe establecerse en 0 (memoria de recepción del módulo no restablecida).

Puede solicitarse el restablecimiento de la memoria del módulo en el próximo mensaje para evitar la recepción de datos antiguos.

Cuando el parámetro Reset está establecido en 1, la función INPUT_BYTE debe iniciarse antes del envío de datos.

En PLC Premium, son necesarios varios ciclos de PLC para recibir una cadena de bytes de más de 240 bytes (la cadena está fragmentada). Por tanto, es importante asegurarse de que no se modifiquen los datos de gestión durante el procesamiento de la función. El sistema recibe la cadena coherentemente en varios fragmentos.

En PLC Modicon M340, sólo es necesario un ciclo de PLC para recibir una cadena de bytes de una longitud máxima de 1.024 bytes. Por ello, es importante asegurarse de que no se modifiquen los datos de gestión durante el procesamiento de la función.

El puerto serie del PLC Modicon M340 es dúplex completo, por lo que es posible enviar una función PRINT_CHAR, incluso si se ha enviado una función INPUT_CHAR y todavía está pendiente.

86 33002530 07 07/2008

Page 87: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

11

INPUT_CHAR: recepción de cadenas de caracteres

Presentación

Objetivo En este capítulo se describe la función INPUT_CHAR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 88

Pantalla de entrada asistida 93

Ejemplo de lectura de cadenas de caracteres a través de la red Fipway 95

Ejemplo de lectura de cadenas de caracteres mediante la conexión serie de procesadores Modicon M340

97

87

Page 88: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Descripción

Descripción de las funciones

La función INPUT_CHAR se emplea para enviar una petición de lectura de cadena de caracteres a un módulo de comunicación de modalidad de caracteres (esperar la recepción de las cadenas de caracteres). El mensaje recibido se almacena en una cadena de caracteres.

Para PLC Premium, esta función se utiliza para recibir hasta 4 Kbytes (120 bytes para el puerto de terminal).

Para PLC Modicon M340, esta función se utiliza para recibir hasta 1.024 bytes.

Existen dos posibilidades exclusivas disponibles:

Lectura de un número de caracteres: no debe configurarse ninguna condición.Lectura de un mensaje: debe configurarse una condición de detención en la pantalla de configuración.

Pueden configurarse los parámetros adicionales EN y ENO.

Representación FBD

Representación:

Representación LD

Representación:

RECPADR

GESTGEST

RAZNB

Management_ParamManagement_Param

INPUT_CHAR

AddressRaz

String_Length

Received_Data

RECPADR

GESTGEST

RAZ

NB

Management_ParamManagement_Param

INPUT_CHAR

Address

Raz

String_Length

ENOEN

Received_Data

88 33002530 07 07/2008

Page 89: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Representación IL

Representación:

Dirección LDINPUT_CHAR Reset, String_Length, Management_Param, Received_Data

Representación ST

Representación:

INPUT_CHAR(Address, Reset, String_Length, Management_Param, Received_Data);

Descripción de parámetros

En la siguiente tabla se describen los parámetros de entrada:

Parámetro Tipo Comentario

Address ARRAY [0.. 5] OF INT para PLC PremiumARRAY [0.. 7] OF INT para PLC Modicon M340

Las instrucciones siguientes sólo son válidas para PLC Premium:

La función ADDR proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.Únicamente las direcciones que acaban en SYS son posibles (por ejemplo: puerto de terminal del procesador 0.0.0.SYS).

Las instrucciones siguientes sólo son válidas para PLC Modicon M340:

La función ADDM proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.La sintaxis de la dirección es del tipo ADDM (‘r.m.c.asiento’). Asiento es un campo opcional que puede ser SYS o estar vacío (por ejemplo, ADDM(‘0.0.0.SYS’) es igual a ADDM(‘0.0.0’).

Reset INT Restablecer. Este parámetro se utiliza para restablecer la memoria de recepción del acoplador.

Valor = 0: sin restablecimiento de memoria.Valor = 1: restablecimiento de memoria.

Nota: Para las comunicaciones de puerto de terminal de PLC Premium, el valor debe ser 1. Nota: En PLC Modicon M340, la EF INPUT_CHAR puede programarse con o sin este parámetro.

33002530 07 07/2008 89

Page 90: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

En la tabla siguiente se describen los parámetros de entrada/salida:

En la siguiente tabla se describen los parámetros de salida:

String_Length INT Longitud de la cadena de caracteres o número de caracteres que deben recibirse.

Valor = 0: lectura del mensaje en cuanto esté disponible en el canal. Aquí, debe especificarse una condición de detención en la pantalla de configuración.Valor mayor que 0: especifica el número de caracteres que deben leerse.

Nota: Para las comunicaciones de puerto de terminal de PLC Premium, 0 es el único valor permitido. Aquí, el carácter de fin del mensaje predeterminado es un retorno de carro (CR).

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión de intercambio (véase Estructura de los parámetros de gestión, p. 35).Únicamente en PLC Modicon M340, existe un nuevo bit de cancelación disponible en la palabra de rango 1 de la tabla de gestión de intercambio.Este bit de cancelación se encuentra ubicado en la palabra de rango 1, que consta de 2 bytes:

Byte de mayor valor: número de intercambio.Byte de menor valor: bit de actividad (rango 0) y bit de cancelación (rango 1).

La EF INPUT_CHAR puede anularse mediante la EF CANCEL o estableciendo en 1 el bit de cancelación de la tabla de gestión (Ver Modicon M340 con Unity Pro, Conexión serie, Manual del usuario, Funciones de comunicación en modalidad de caracteres).

Parámetro Tipo Comentario

Received_Data STRING Cadena recibida. Posteriormente se almacena en una cadena de caracteres.

Parámetro Tipo Comentario

90 33002530 07 07/2008

Page 91: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Normas de programación

Cuando se inician varias INPUT_CHAR simultáneamente, el parámetro Restablecer debe establecerse en 0 (memoria de recepción del módulo no restablecida).

Puede solicitarse el restablecimiento de la memoria del módulo en el próximo mensaje para evitar la recepción de datos antiguos.

Cuando el parámetro Reset se pone a 1, la función INPUT_CHAR debe iniciarse antes del envío de datos.

En PLC Premium, son necesarios varios ciclos de PLC para recibir una cadena de caracteres de más de 240 bytes (la cadena está fragmentada). Por tanto, es importante asegurarse de que no se modifiquen los datos de gestión durante el procesamiento de la función. El sistema recibe la cadena coherentemente en varios fragmentos.

En PLC Modicon M340, sólo es necesario un ciclo de PLC para recibir una cadena de caracteres de una longitud máxima de 1.024 bytes. Por ello, es importante asegurarse de que no se modifiquen los datos de gestión durante el procesamiento de la función.

El puerto serie del PLC Modicon M340 es dúplex completo, por lo que es posible enviar una función PRINT_CHAR, incluso si se ha enviado una función INPUT_CHAR y todavía está pendiente.

Es posible iniciar la función INPUT_CHAR antes de terminar los caracteres en el PLC.

Si se utilizan los caracteres de terminación, en caso de que en el búfer haya muchos de estos caracteres y de que no se haya restablecido el búfer, cada función INPUT_CHAR recibe la cadena de inicio del búfer hasta alcanzar el primer carácter de terminación y, a continuación, el búfer se elimina de los caracteres de lectura.

Funciona igual al leer un número de caracteres.

Si los caracteres de terminación están configurados, puede utilizarse la función de número de caracteres.

Nota: Gestión de RTS/CTS: En la comunicación en modalidad de caracteres, al utilizar EF INPUT_CHAR, los caracteres recibidos en la conexión de serie se almacenan en un búfer de anillo. El tamaño de este búfer es 1.024. Cuando el búfer está lleno, los demás caracteres se pierden. Para evitar esta pérdida de caracteres, puede seleccionar la gestión de RTS/CTS. En este caso, cuando el búfer de anillo está casi lleno, la CPU restablece su señal RTS para detener el envío de caracteres.

33002530 07 07/2008 91

Page 92: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

RIESGO DE PÉRDIDA DE CARACTERESAl utilizar la gestión de RTS/CTS, la cantidad máxima de caracteres permitidos de una cadena que va a enviar el equipo remoto es 1.000 (incluido el carácter de fin). Si se envía una cadena de más de 1.000 caracteres (por ejemplo, 1.013), el RTS sólo permitirá la recepción de los 1.000 primeros caracteres, mientras que la función INPUT_CHAR esperará indefinidamente la recepción del carácter de fin (en caso de que no se haya definido ningún timeout con la función).

Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daños en el equipo.

Nota: Si desea enviar una cadena de más de 1.000 caracteres (1.013, por ejemplo), deberá enviar la cadena dos veces, la primera con los primeros 1.000 caracteres y la segunda con los 13 restantes, por ejemplo.

ADVERTENCIA

92 33002530 07 07/2008

Page 93: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Pantalla de entrada asistida

Presentación Para esta función de comunicación, puede solicitar la pantalla de entrada asistida. Tenga en cuenta que la pantalla de entrada asistida no está disponible para Modicon M340.

Ilustración La pantalla siguiente muestra un ejemplo de la pantalla de entrada asistida de la función:

Dirección Para PLC Premium, el tipo de objeto posible es el siguiente:

ADDR(STRING).ARRAY [0..5] OF INT.

Nota: Los símbolos de variable se aceptan en los diferentes campos de la pantalla.

INPUT_CHAR

Dirección: ? Parámetros

Tipos posibles: Matriz de enteros constantes, matriz de enteros (n>=6)Dirección ADDR(‘..’)

Aceptar Cancelar

Informe:

...

...

Tipo de lectura

Resetear memoria del módulo: ...

Cadena para recibir: ...

Definir número de caracteres que leer

Leer mensaje con condición de parada

NoSí

Número de caracteres: ...

Nota: Si introduce un valor directamente en un campo, el botón de entrada de dirección asistida se vuelve gris.

33002530 07 07/2008 93

Page 94: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Resetear memoria del módulo

A continuación se indica la selección de tipo INT posible:

Yes,No.

Tipo de lectura Los dos botones de opción seleccionan la modalidad de funcionamiento; esta selección debe realizarse de acuerdo con la configuración del canal utilizado.

Número de caracteres

Puede introducir un entero, en forma de variable o valor inmediato.

Cadena para recibir

El área de recepción es una variable de tipo STRING. El tamaño de esta variable es una función del número de caracteres que se van a recibir. Esta variable debe declararse antes de emplearse en esta pantalla.

Informe El informe es una matriz de 4 enteros.

Nota: Al seleccionar los botones Sí/No, inmediatamente se muestra el valor 1 ó 0.

Nota: Tenga cuidado de no utilizar varias áreas de memoria idénticas para las tablas de informes; de lo contrario, la función de lectura de variables podría no funcionar.

94 33002530 07 07/2008

Page 95: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Ejemplo de lectura de cadenas de caracteres a través de la red Fipway

Presentación Desde una estación con una dirección de 1 en una red Fipway 20, es posible leer una cadena de caracteres enviada por un terminal de visualización (pantalla y teclado) conectado al puerto TER del PLC con una dirección de red de 20, estación 5.

Esta cadena de caracteres se almacena en la variable Str_1, la tabla de gestión de la función de comunicación es %MW110:4.

Ilustración Las dos estaciones se conectan a través de una red Fipway.

Premium

Fipway{20.5}

{20.1}

Micro

33002530 07 07/2008 95

Page 96: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Programación Programación en ST:

SI RE(%I0.3.6) Y NO %MW110.0 ENTONCES INPUT_CHAR(ADDR(’{20.5}0.0.SYS’), 1, 0, %MW110:4, Str_1);END_IF;

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.5}0.0.0.SYS’)

{20.5} : red 20, estación 50 : bastidor0 : módulo0 : canal 0SYS: dirección de sistema (puerto de terminal)

1 Restablecer

0 Leer la cadena de caracteres completa

%MW110:4 Tabla de gestión

Str_1 Variable de tipo STRING que va a recibir el mensaje

96 33002530 07 07/2008

Page 97: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

Ejemplo de lectura de cadenas de caracteres mediante la conexión serie de procesadores Modicon M340

Presentación Imagine que desea leer una cadena de caracteres enviada por un terminal de entrada/visualización de datos conectado a una puerto serie del procesador Modicon M340.

Esta cadena de caracteres se almacena en la variable Str, la tabla de gestión de la función de comunicación es gestion.

Ilustración Un PLC Modicon M340 está conectado a un terminal de entrada/visualización de datos TM8501:

Programación Programación en ST:

SI (%M15) ENTONCES INPUT_CHAR(ADDM(’0.0.0’), 1, 0, gestion, Str);END_IF;

Parámetros de petición:

BMX P34 2010 Processor

TM8501 Terminal

Parámetros Descripción

ADDM(‘0.0.0’) 0 : bastidor0 : módulo0 : canal 0SYS: dirección del sistema (opcional en los PLC Modicon M340)

1 Restablecer

0 Leer la cadena de caracteres completa

gestion Tabla de gestión

Str Variable de tipo STRING que va a recibir el mensaje

33002530 07 07/2008 97

Page 98: 95230619 Bloques Comunicaciones Modicon

INPUT_CHAR

98 33002530 07 07/2008

Page 99: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

12

MBP_MSTR: Maestro Modbus Plus

Descripción general

Introducción En este capítulo se describe el bloque MBP_MSTR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción del bloque 101

Códigos de función de operación 105

Estructuras de bloque de control de red 106

Leer datos 109

Escribir datos 111

Obtención de estadísticas locales 113

Eliminación de estadísticas locales 114

Escritura de datos globales 115

Lectura de datos globales 116

Obtener estadísticas remotas 117

Borrar estadísticas remotas 118

Funcionamiento de Peer Cop 119

Restablecimiento de módulos opcionales 120

Lectura de CTE 121

Escritura de CTE 122

Envío de correo electrónico 125

Leer/escribir datos 127

Estado de funcionamiento de las comunicaciones Peer Cop 128

Estadísticas de red Modbus Plus 130

Estadísticas de red de Ethernet TCP/IP. 136

Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP 139

99

Page 100: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de error específicos de SY/MAX 143

Códigos de error de TPC/IP Ethernet 145

Códigos de error CTE para Ethernet SY/MAX y TCP/IP 148

Códigos de error del servicio de correo 149

Apartado Página

100 33002530 07 07/2008

Page 101: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Descripción del bloque

Descripción de las funciones

Puede seleccionar una de las 14 operaciones de comunicación de red disponibles (véase Códigos de función de operación, p. 105) mediante el bloque de funciones MBP_MSTR.

En función del protocolo de comunicaciones que se esté utilizando, se puede disponer de hasta 16 bloques de funciones MBP_MSTR activos al mismo tiempo.

Modbus Plus admite hasta cuatro bloques al mismo tiempo.Ethernet TCP/IP admite hasta 16 bloques al mismo tiempo.

Todos los bloques de funciones utilizan una ruta de transacciones de datos y necesitan varios ciclos para completar una operación.

EN y ENO pueden configurarse como parámetros adicionales.

Nota: Deberá estar familiarizado con los procedimientos de enrutamiento de su red cuando programe un bloque de funciones MBP_MSTR. Las estructuras de ruta de acceso Modbus Plus se describen detalladamente en la Guía de instalación y planificación de red Modbus Plus. Si el enrutamiento Ethernet TCP/IP o SY/MAX se encuentra implantado, se deben utilizar productos de enrutador Ethernet IP estándar. Puede obtener una descripción completa del enrutamiento TCP/IP en la Guía de usuario de configuración de Quantum con Unity Pro TCP/IP.

Nota: En las secciones FBD y LD, este bloque de funciones sólo puede utilizarse en el nivel de programa, es decir, no debe utilizarse en bloques de funciones derivados (DFB).Por motivos técnicos, un bloque de funciones MBP_MSTR no permite el uso de lenguajes de programación ST e IL.

Nota: Una comunicación TCP/IP entre un PLC Quantum y un PLC Momentum sólo es posible cuando sólo se lleva a cabo una tarea de lectura o escritura en cada ciclo. Si se envían varias tareas por ciclo de PLC, la comunicación se detiene sin generar un mensaje de error en el registro de estado del bloque de funciones.Ejemplo:

Puede enviar MBP_MSTR.Enable:=(HSBY_NOEPLCMSTR_ON) AND (%SW61.1) AND NOT (%SW61.0).Puede crear una variable booleana primary_state:=(%SW61.1) AND NOT (%SW61.0), e insertarla para ejecutar la sección.

33002530 07 07/2008 101

Page 102: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Representación en FBD

Representación en LD

Nota: Para evitar la anterior CPU del controlador Standby, que ha cambiado su estado de la ejecución de funciones de comunicación a RUN offline, debe añadir una condición en los bits de estado para desactivar la función, si la CPU está offline.

Nota: Se pueden utilizar varias copias de este bloque de funciones en el programa. Sin embargo, no se pueden realizar varias instancias de estas copias.

OperationActiv

MBP_MSTR

EnableMSTRFunctionCancelActivMSTROperation FaultyOperation

OperationSuccessfulControlBlockDataField

MBP_MSTR_Instance

ACTIVEERROR

SUCCESSCONTROLDATABUF

ENABLEABORT

CancelActivMSTROperation

EnableMSTRFunctionENOEN

OperationActiv

MBP_MSTR

FaultyOperation

OperationSuccessful

ACTIVE

ERROR

SUCCESS

DATABUF

ENABLE

ABORT

MBP_MSTR_Instance

DataField

CONTROL ControlBlock

102 33002530 07 07/2008

Page 103: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Parámetros de entrada

Parámetros de salida

Parámetro Tipo de datos Significado

ENABLE BOOL Cuando está en ON, la operación especificada en el primer elemento del registro CONTROL se habilita.

ABORT BOOL Cuando está en ON, se cancela la operación activa (véase Códigos de función de operación, p. 105) en ese momento.

Parámetro Tipo de datos Significado

ACTIVE BOOL ON cuando la operación está activa.

ERROR BOOL Cuando está activado, la operación se cancela sin éxito.

SUCCESS BOOL Cuando está activado, la operación finaliza correctamente.

CONTROL WORD Este campo contiene el bloque de control. El primer elemento CONTROL[1] contiene el número de código de operación de la operación que se va a realizar (véase Códigos de función de operación, p. 105). El contenido del registro de secuencia está determinado por la operación.El campo de datos debe declararse como una variable ubicada.La estructura del bloque de control difiere en función de la red utilizada (véase Estructuras de bloque de control de red, p. 106).

DATABUF WORD Para las operaciones que proporcionan datos, por ejemplo, una operación de escritura, el campo de datos es la fuente de datos. Para las operaciones de recepción de datos, por ejemplo, la operación de lectura, el campo de datos es el destino de los datos.Con las operaciones de lectura y escritura de Ethernet CTE, el campo de datos conserva el contenido de la tabla de ampliación de la configuración Ethernet. DATABUF debe definirse como una matriz de al menos 10 elementos en este caso.El campo de datos debe declararse como una variable ubicada.

33002530 07 07/2008 103

Page 104: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Error de ejecución

En caso de que surja un error durante una operación MBP_MSTR, aparecerá un código de error hexadecimal en el registro CONTROL[2] del bloque de control para un ciclo.

Los códigos de error de funciones son específicos de la red:Códigos de error de Ethernet Modbus Plus y SY/MAX (véase Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139)Códigos de error específicos de SY/MAX (véase Códigos de error específicos de SY/MAX, p. 143)Códigos de error Ethernet TCP/IP (véase Códigos de error de TPC/IP Ethernet, p. 145)Códigos de error CTE para Ethernet SY/MAX y TCP/IP (véase Códigos de error CTE para Ethernet SY/MAX y TCP/IP, p. 148)Códigos de error de envío de correo electrónico (véase Códigos de error del servicio de correo, p. 149)

Nota: Para obtener una lista de todos los valores y códigos de error de los bloques, consulte Tablas de códigos de error para la biblioteca de comunicación.

104 33002530 07 07/2008

Page 105: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de función de operación

Códigos de función MBP_MSTR válidos

Mediante el bloque MBP_MSTR, puede activarse una de las 14 operaciones de comunicación de red disponibles a través de la red. Cada operación tiene un código de función asignado a ella. La disponibilidad de las operaciones específicas depende del tipo de red que se esté utilizando.

donde:

X indica Sí - indica No

Código de función

Operación Modbus Plus

Ethernet TCP/IP

Ethernet SY/MAX

1 Escribir datos X X X

2 Leer datos X X X

3 Obtener estadísticas locales X X -

4 Eliminar estadísticas locales X X -

5 Escribir datos globales, Peer Cop X - -

6 Leer datos globales, Peer Cop X - -

7 Obtener estadísticas remotas X X -

8 Eliminar estadísticas remotas (véase Borrar estadísticas remotas, p. 118)

X X -

9 Estado de funcionamiento de Peer Cop X - -

10 Restablecer módulos opcionales - X X

11 Leer CTE (ampliación config.) - X X

12 Escribir CTE (ampliación config.) - X X

13 Enviar correo electrónico (véase Envío de correo electrónico, p. 125)

X

23 Leer/escribir datos (véase Leer/escribir datos, p. 127)

X

33002530 07 07/2008 105

Page 106: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Estructuras de bloque de control de red

Resumen La estructura de bloque de control MBP_MSTR varía en función del tipo de red que se está utilizando. Las estructuras para Modbus Plus, Ethernet TCP/IP y Ethernet SyMax se describen a continuación.

Bloque de control de Modbus Plus

Registro Contenido

CONTROL[1] Indica una operación que es válida para Modbus Plus

CONTROL[2] indica el estado de error.

CONTROL[3] Indica la longitud, es decir, el número de unidades de datos transferidas, (máx. 100)

CONTROL[4] Indica la información dependiente de la operación MSTR

CONTROL[5] Registro de acceso 1: utilizado para especificar un asiento de destino durante la transferencia de red (direcciones de la ruta de acceso de uno a cinco).Byte de mayor valor: dirección de nodo de origen, es decir, la ranura del módulo de opciones de red Modbus Plus (NOM). Cuando utilice el puerto Modbus Plus en la CPU, este byte deberá establecerse en 0 (independientemente de la ranura de la CPU).Byte de menor valor: dirección de nodo de destino, es decir, un valor que representa una dirección directa o de puente. Si no hay puente, este valor contiene la dirección de asiento de destino. Si hay un puente, este valor contiene la dirección del puente.Si se inserta el NOM en la ranura 7 del bastidor de módulos, el byte de mayor valor del registro de acceso 1 tiene el aspecto siguiente (valor 0x0706):

Byte de mayor valor Ranuras 1 – 16Byte de menor valor Dirección de destino (valor binario entre 1 y 64

[normal] o 65 – 255 [ampliado])

CONTROL[6] Registro de acceso 2, la dirección de nodo de destino (módulos puente o Modbus Plus más lejanos). Si ha finalizado el direccionamiento en el registro de acceso anterior, el valor se establece en 0.

CONTROL[7] Registro de acceso 3, similar al registro de acceso 2.

CONTROL[8] Registro de acceso 4, similar al registro de acceso 2.Consulte el registro de acceso 2.

0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0

Byte más significativo

Byte menos significativo

106 33002530 07 07/2008

Page 107: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Bloque de control para Ethernet TCP/IP

CONTROL[9] Registro de acceso 5, similar al registro de acceso 2.Consulte el registro de acceso 2.

Registro Contenido

Registro Contenido

CONTROL[1] Indica una operación que es válida para TCP/IP.

CONTROL[2] indica el estado de error.

CONTROL[3] Indica la longitud, es decir, el número de unidades de datos transferidas, (máx. 100)

CONTROL[4] Indica la información dependiente de la operación MSTR

CONTROL[5] Registro de acceso: utilizado para especificar un asiento de destino durante la transferencia de red.Byte de mayor valor: dirección de asiento de origen, es decir, la ranura NOE para el módulo NOE.Cuando utilice un Ethernet integrado en la CPU, este byte deberá establecerse en 254 (FE hex) independientemente de la ranura de la CPU.Byte de menor valor: dirección de nodo de destino, es decir, un valor que representa una dirección directa o de puente. Si no hay puente, el valor en el byte de menor valor se establece en 0. Si hay un puente, este valor contiene el MBP para el índice de mapping Ethernet (MET).Si se inserta el NOM en la ranura 7 del bastidor de módulos, y el índice de asignación Ethernet (MET) es 6, el registro de acceso tiene el siguiente aspecto (valor 0x0706):

Byte de mayor valor Ranuras 1 – 16Byte de menor valor índice de mapping MET (transportador de MBP por

Ethernet).

CONTROL[6] Byte 4, MSB de la dirección IP de destino de 32 bits

CONTROL[7] Byte 3 de la dirección IP de destino de 32 bits

CONTROL[8] Byte 2 de la dirección IP de destino de 32 bits

CONTROL[9] Byte 1, LSB de la dirección IP de destino de 32 bits

0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0

Byte más significativo

Byte menos significativo

33002530 07 07/2008 107

Page 108: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Bloque de control para Ethernet SY/MAX

Registro Contenido

CONTROL[1] Indica una operación que es válida para SY/MAX.

CONTROL[2] indica el estado de error.

CONTROL[3] Indica la longitud, es decir, el número de registros transferidos, (máx. 100)

CONTROL[4] Indica la información dependiente de la operación MSTR

CONTROL[5] Registro de acceso: utilizado para especificar un asiento de destino durante la transferencia de red.Byte de mayor valor: dirección de asiento de origen, es decir, la ranura NOE para el módulo NOE.Byte de menor valor: dirección de nodo de destino, es decir, un valor que representa una dirección directa o de puente. Si no hay puente, el valor en el byte de menor valor se establece en 0. Si hay un puente, este valor contiene el MBP para el índice de mapping Ethernet (MET).Si se inserta el NOM en la ranura 7 del bastidor de módulos, y el índice de mapping Ethernet (MET) es 6, el registro de acceso tiene el siguiente aspecto (valor 0x0706):

Byte de mayor valor Ranuras 1 – 16Byte de menor valor índice de mapping MET (transportador de MBP por

Ethernet).

CONTROL[6] Número de estación de destino (o establecido en FF hex)

CONTROL[7] Terminador (establecido en FF hex)

0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0

Byte más significativo

Byte menos significativo

108 33002530 07 07/2008

Page 109: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Leer datos

Significado Una operación de lectura transfiere datos de un dispositivo origen esclavo especificado a un dispositivo maestro de destino en la red. Utiliza una ruta de transacciones de maestro y puede que necesite varios ciclos para completarse. Para programar un bloque MBP_MSTR para que realice una operación de escritura, utilice el código de función 1 (véase Códigos de función de operación, p. 105).

Implantación de red

La operación de lectura puede realizarse en las redes Modbus Plus, Ethernet TCP/IP y Ethernet SY/MAX.

Uso del bloque de control de Modbus Plus

Nota: No intente programar un MBP_MSTR para leer su propia dirección de estación. Esta acción hace que el bloque de funciones genere un error en el registro CONTROL[2] del bloque de control (véase Estructuras de bloque de control de red, p. 106).Se puede realizar una operación de lectura en un registro esclavo no existente. El esclavo detecta el estado y lo registra. Esto puede durar varios ciclos.

Registro Significado

CONTROL[1] 2 = leer datos

CONTROL[2] Indica el estado de error

CONTROL[3] Cantidad de registros que se debe leer del esclavo

CONTROL[4] Determina el registro de inicio %MW en el esclavo del que se leen los datos, por ejemplo, 1 = %MW1, 49 = %MW49

CONTROL[5]...CONTROL[9]

Registro de acceso 1 se utiliza para especificar la dirección (dirección de ruta de acceso de 1 a 5) del nodo durante una transferencia de red.El último byte de la ruta de acceso que no es 0 es el nodo de destino.

33002530 07 07/2008 109

Page 110: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Uso del bloque de control para Ethernet TCP/IP

Uso del bloque de control para Ethernet SY/MAX

Registro Significado

CONTROL[1] 2 = leer datos

CONTROL[2] Indica el estado de error

CONTROL[3] Cantidad de direcciones que se debe leer del esclavo

CONTROL[4] Determina el registro de inicio %MW en el esclavo del que se leen los datos, por ejemplo, 1 = %MW1, 49 = %MW49

CONTROL[5] Registro de acceso:Byte de mayor valor: ranura de módulo adaptador de redByte de menor valor: índice de mapping MET (transportador de MBP por Ethernet).

CONTROL[6] ...CONTROL[9]

Cada dirección contiene un byte de la dirección IP de 32 bits, donde MSB está en CONTROL[6] y LSB en CONTROL[9].

Registro Significado

CONTROL[1] 2 = leer datos

CONTROL[2] Indica el estado de error

CONTROL[3] Cantidad de direcciones que se debe leer del esclavo

CONTROL[4] Determina el registro de inicio %MW en el esclavo en el que se escriben los datos, por ejemplo, 1 = %MW1, 49 = %MW49

CONTROL[5] Registro de accesoByte de mayor valor: ranura de módulo adaptador de redByte de menor valor: número de estación de destino

CONTROL[6] ...CONTROL[9]

Terminador: FF hex

110 33002530 07 07/2008

Page 111: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Escribir datos

Significado Una operación de escritura transfiere datos de un dispositivo maestro de origen a un dispositivo esclavo de destino especificado en la red. Utiliza una ruta de transacciones de maestro y puede que necesite varios ciclos para completarse. Para programar un bloque MBP_MSTR para realizar una operación de escritura, utilice el código de función 2 (véase Códigos de función de operación, p. 105).

Implantación de red

La operación de escritura puede realizarse en las redes Modbus Plus, Ethernet TCP/IP y Ethernet SY/MAX.

Uso del bloque de control de Modbus Plus

Nota: No intente programar un MBP_MSTR para escribir su propia dirección de estación. Esta acción hace que el bloque de funciones genere un error en el registro CONTROL[2] del bloque de control (véase Estructuras de bloque de control de red, p. 106).Se puede realizar una operación de escritura en un registro esclavo no existente. El esclavo detecta el estado y lo registra. Esto puede durar varios ciclos.

Registro Significado

CONTROL[1] 1 = escribir datos

CONTROL[2] Indica el estado de error.

CONTROL[3] Cantidad de direcciones enviadas al esclavo

CONTROL[4] Determina el registro de inicio %MW en el esclavo en el que se escriben los datos, por ejemplo, 1 = %MW1, 49 = %MW49.

CONTROL[5]...CONTROL[9]

Registro de acceso 1 se utiliza para especificar la dirección (dirección de ruta de acceso de 1 a 5) del nodo durante una transferencia de red.El último byte de la ruta de acceso que no es 0 es el nodo de destino.

33002530 07 07/2008 111

Page 112: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Uso del bloque de control para Ethernet TCP/IP

Uso del bloque de control para Ethernet SY/MAX

Registro Significado

CONTROL[1] 1 = escribir datos

CONTROL[2] Indica el estado de error.

CONTROL[3] Cantidad de direcciones enviadas al esclavo

CONTROL[4] Determina la dirección de inicio CONTROL[ ] del esclavo en el que se escriben los datos.

CONTROL[5] Registro de accesoByte de mayor valor: ranura de módulo adaptador de redByte de menor valor: índice de mapping MET (transportador de MBP por Ethernet).

CONTROL[6]...CONTROL[7]

Cada dirección contiene un byte de la dirección IP de 32 bits

Registro Significado

CONTROL[1] 1 = escribir datos

CONTROL[2] Indica el estado de error.

CONTROL[3] Cantidad de direcciones enviadas al esclavo

CONTROL[4] Determina el registro de inicio %MW en el esclavo en el que se escriben los datos, por ejemplo, 1 = %MW1, 49 = %MW49.

CONTROL[5] Registro de accesoByte de mayor valor: ranura de módulo adaptador de redByte de menor valor: número de estación de destino

CONTROL[6] ...CONTROL[9]

Terminador: FF hex

112 33002530 07 07/2008

Page 113: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Obtención de estadísticas locales

Significado Una operación de obtención de históricos locales lee los datos del asiento local en un ciclo y no necesita un ruta de transacción de maestro. Para programar un bloque MBP_MSTR con la intención de obtener históricos locales, utilice el código de función 3 (véase Códigos de función de operación, p. 105).

Implantación de red

La operación de obtención de estadísticas locales puede realizarse en redes Modbus Plus y Ethernet TCP/IP (véase Estadísticas de red de Ethernet TCP/IP., p. 136).

Uso del bloque de control de Modbus Plus

Uso del bloque de control para Ethernet TCP/IP

Registro Significado

CONTROL[1] 3 = leer estadísticas locales

CONTROL[2] indica el estado de error.

CONTROL[3] Cantidad de direcciones que se debe leer de las estadísticas locales (0 – 53)

CONTROL[4] Primera dirección desde la que se debe leer la tabla de estadísticas (Reg1=0)

CONTROL[5] Registro de acceso 1 se utiliza para especificar la dirección (dirección de ruta de acceso de 1 a 5) del nodo durante una transferencia de red.El último byte de la ruta de acceso que no es 0 es el nodo de destino.

Registro Significado

CONTROL[1] 3 = leer estadísticas locales

CONTROL[2] indica el estado de error.

CONTROL[3] Cantidad de direcciones que se debe leer de las estadísticas locales (0 – 37)

CONTROL[4] Primera dirección desde la que se debe leer la tabla de estadísticas (Reg1=0)

CONTROL[5] Registro de accesoByte de mayor valor: ranura de módulo adaptador de red

CONTROL[6] ...CONTROL[9]

No utilizado

33002530 07 07/2008 113

Page 114: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Eliminación de estadísticas locales

Significado Una operación de eliminación de estadísticas locales borra los valores de las palabras 13 - 22 en la tabla de estadísticas del nodo local. La operación se realiza en un ciclo y no necesita una ruta de transacción de maestro. Para programar un bloque MBP_MSTR para eliminar históricos locales, utilice el código de función 4 (véase Códigos de función de operación, p. 105).

Implantación de red

La operación de eliminación de estadísticas locales puede realizarse en redes Modbus Plus y Ethernet TCP/IP (véase Estadísticas de red de Ethernet TCP/IP., p. 136).

Uso del bloque de control de Modbus Plus

Uso del bloque de control para Ethernet TCP/IP

Registro Significado

CONTROL[1] 4 = eliminar estadísticas locales

CONTROL[2] Indica el estado de error.

CONTROL[3] Reservado

CONTROL[4] Reservado

CONTROL[5] Registro de acceso 1 se utiliza para especificar la dirección (dirección de ruta de acceso de 1 a 5) del nodo durante una transferencia de red.El último byte de la ruta de acceso que no es 0 es el nodo de destino.

Registro Significado

CONTROL[1] 4 = eliminar estadísticas locales

CONTROL[2] Indica el estado de error.

CONTROL[3] Reservado

CONTROL[4] Reservado

CONTROL[5] Registro de accesoByte de mayor valor: ranura de módulo adaptador de red

CONTROL[6] ...CONTROL[9]

Reservado

114 33002530 07 07/2008

Page 115: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Escritura de datos globales

Significado Una operación de escritura de datos globales transfiere datos al procesador de comunicaciones del nodo actual; los datos pueden transmitirse por la red tan pronto como el nodo recibe el token y, a continuación, los leen todos los nodos conectados a la red local (véase Lectura de datos globales, p. 116).

Una operación de escritura de datos globales se realiza en un ciclo y no necesita una ruta de transacción de maestro. Para programar un bloque MBP_MSTR para escribir datos globales, utilice el código de función 5 (véase Códigos de función de operación, p. 105).

Implantación de red

Una operación de escritura de datos globales sólo puede realizarse en redes Modbus Plus. Las operaciones de lectura y escritura de datos globales comprenden una función de Modbus Plus conocida como Peer Cop.

Uso del bloque de control de Modbus Plus

Registro Significado

CONTROL[1] 5 = escribir datos globales

CONTROL[2] Indica el estado de error.

CONTROL[3] Número de direcciones que se van a escribir de la memoria de señal en la memoria de datos globales (procesador de comandos) (1 – 32)

CONTROL[4] Reservado

CONTROL[5] Si se envían datos globales a través de un NOM, introduzca la ranura de módulo NOM en el byte de mayor valor de este registro.

33002530 07 07/2008 115

Page 116: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Lectura de datos globales

Significado Una operación de lectura de datos globales lee datos del procesador de comunica-ciones de un nodo de la red que presenta datos globales escritos (véase Escritura de datos globales, p. 115). No se necesita una ruta de transacciones de maestro.

Una operación de lectura de datos globales puede llevar varios ciclos si los datos globales no están disponibles actualmente con los asientos activados. Si los datos globales están disponibles, la operación se ejecuta en un ciclo. Para programar un bloque MBP_MSTR para escribir datos globales, utilice el código de función 6 (véase Códigos de función de operación, p. 105).

Implantación de red

Una operación de lectura de datos globales sólo puede realizarse en redes Modbus Plus. Las operaciones de lectura y escritura de datos globales comprenden una función de Modbus Plus conocida como Peer Cop.

Uso del bloque de control de Modbus Plus

Registro Significado

CONTROL[1] 6 = leer datos globales

CONTROL[2] Indica el estado de error.

CONTROL[3] Número de direcciones que se van a enviar desde la memoria de datos globales (procesador de comandos) (1 – 32)

CONTROL[4] Muestra las direcciones disponibles en el asiento explorado. (Este registro se actualiza automáticamente.)

CONTROL[5] El byte de menor valor contiene la dirección del asiento cuyos datos globales van a leerse. Puede ser un valor en el rango 1 – 64.Si se reciben datos globales a través de un NOM, introduzca la ranura de módulo NOM en el byte de mayor valor de esta dirección.

116 33002530 07 07/2008

Page 117: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Obtener estadísticas remotas

Significado Una operación de obtención de estadísticas remotas puede utilizarse para leer datos de asientos remotos de la red. Con cada consulta, el procesador de comunicaciones remoto proporciona una tabla completa de estadísticas, aunque la consulta no haga referencia a toda la tabla. Entonces, sólo copia las palabras consultadas en direcciones $MW identificadas.

Una operación puede llevar varios ciclos para completarse; no necesita una ruta de transacción de maestro. Para programar un bloque MBP_MSTR para obtener históricos remotos, utilice el código de función 7 (véase Códigos de función de operación, p. 105).

Implantación de red

La operación de obtención de estadísticas remotas puede realizarse en redes Modbus Plus y Ethernet TCP/IP.

Uso del bloque de control de Modbus Plus

Uso del bloque de control para Ethernet TCP/IP

Registro Significado

CONTROL[1] 7 = obtener estadísticas remotas

CONTROL[2] Indica el estado de error

CONTROL[3] Número de direcciones que se van a leer del campo de datos de estadísticas (0 – 53). El tamaño del campo de datos no puede superar 53.

CONTROL[4] Primera dirección desde la que se deben leer los históricos de asiento. El número de registros de históricos disponible no se puede superar.

CONTROL[5] ...CONTROL[9]

Dirección de acceso 1 - 5 del nodo.El último byte de la ruta de acceso que no es 0 es el asiento de destino.

Registro Significado

CONTROL[1] 7 = obtener estadísticas remotas

CONTROL[2] Indica el estado de error.

CONTROL[3] Número de direcciones que se van a leer del campo de datos de estadísticas (0 – 37). El tamaño del campo de datos no puede superar 37.

CONTROL[4] Primera dirección desde la que se deben leer los históricos de asiento. El número de registros de estadísticas disponible no se puede superar.

CONTROL[5] Registro de accesoByte de mayor valor: ranura de módulo adaptador de red

CONTROL[6] ...CONTROL[9]

Cada dirección contiene un byte de la dirección IP de 32 bits, donde el valor de CONTROL[6] es el MSB y el valor de CONTROL[9] es el LSB.

33002530 07 07/2008 117

Page 118: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Borrar estadísticas remotas

Significado Una operación de eliminación de las estadísticas remotas elimina los valores de los nodos remotos de las palabras 13 – 22 en la tabla de estadísticas del nodo local. Utiliza una ruta de transacciones de maestro y puede que necesite varios ciclos para completarse. Para programar un bloque MBP_MSTR para realizar una operación de eliminación de estadísticas remotas, utilice el código de función 8 (véase Códigos de función de operación, p. 105).

Implantación de red

La operación de eliminación de estadísticas remotas puede realizarse en redes Modbus Plus y Ethernet TCP/IP (véase Estadísticas de red de Ethernet TCP/IP., p. 136).

Uso del bloque de control de Modbus Plus

Uso del bloque de control para Ethernet TCP/IP

Registro Significado

CONTROL[1] 8 = eliminar estadísticas remotas

CONTROL[2] Indica el estado de error

CONTROL[3] Reservado

CONTROL[4] Reservado

CONTROL[5] ...CONTROL[9]

Registro de acceso 1 se utiliza para especificar la dirección (dirección de ruta de acceso de 1 a 5) del nodo de destino durante una transferencia de red.El último byte de la ruta de acceso que no es 0 es el nodo de destino.

Registro Significado

CONTROL[1] 8 = eliminar estadísticas remotas

CONTROL[2] Indica el estado de error

CONTROL[3] Reservado

CONTROL[4] Reservado

CONTROL[5] Registro de accesoByte de mayor valor: ranura de módulo adaptador de red

CONTROL[6] ...CONTROL[9]

Cada dirección contiene un byte de la dirección IP de 32 bits, donde MSB está en CONTROL[6] y LSB en CONTROL[9].

118 33002530 07 07/2008

Page 119: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Funcionamiento de Peer Cop

Significado Una operación de estado funcional de Peer Cop lee datos seleccionados de la tabla de estado funcional de comunicaciones de Peer Cop y descarga los datos a las direcciones %MW especificadas en la memoria de señal. Para programar un bloque MBP_MSTR para realizar una operación de eliminación de históricos remotos, utilice el código de función 9 (véase Códigos de función de operación, p. 105).

La tabla de estado funcional de comunicaciones de Peer Cop tiene una longitud de 12 palabras; MBP_MSTR indexa estas palabras con los números 0 – 11.

Implantación de red

Una operación de estado funcional de Peer Cop sólo puede realizarse en redes Modbus Plus.

Uso del bloque de control de Modbus Plus

Nota: El estado funcional de Peer Cop sólo está operativo cuando se ha configurado un explorador de E/S basado en Peer Cop.

Registro Significado

CONTROL[1] 9 = funcionamiento de Peer Cop

CONTROL[2] indica el estado de error.

CONTROL[3] Número de palabras solicitadas por la tabla Peer Cop (1 – 12)

CONTROL[4] Primera palabra que se va a leer de la tabla de Peer Cop, donde 0 = la primera palabra y 11 = la última palabra

CONTROL[5] Dirección de acceso 1Si éste es el segundo de dos asientos locales, establezca el valor del byte alto en 1.

33002530 07 07/2008 119

Page 120: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Restablecimiento de módulos opcionales

Significado Una operación de restablecimiento de módulos opcionales hace que un módulo de comunicaciones Quantum NOE Ethernet o el puerto Ethernet de un módulo de CPU 140CPU65150/60 CPU introduzca un ciclo que restablece su entorno de trabajo. Para programar un bloque MBP_MSTR con el fin de realizar una operación de restablecimiento de módulos opcionales, utilice el código de función 10 (véase Códigos de función de operación, p. 105).

Implantación de red

La operación de restablecimiento de módulos opcionales puede realizarse en las redes Ethernet TCP/IP (véase Estadísticas de red de Ethernet TCP/IP., p. 136) y Ethernet SY/MAX.

Uso del bloque de control para Ethernet TCP/IP

Uso del bloque de control para Ethernet SY/MAX (CONTROL)

Registro Significado

CONTROL[1] 10 = restablecer módulos opcionales

CONTROL[2] indica el estado de error.

CONTROL[3] Sin significado

CONTROL[4] Sin significado

CONTROL[5] Registro de accesoEl valor mostrado en el byte alto del área 1 – 16 indica la ranura del plano posterior de Quantum en la que se ubica el módulo NOE.

CONTROL[6] ...CONTROL[9]

Sin significado

Registro Significado

CONTROL[1] 10 = restablecer módulos opcionales

CONTROL[2] indica el estado de error.

CONTROL[3] Sin significado

CONTROL[4] Sin significado

CONTROL[5] Registro de accesoMSB: ranura de módulo adaptador de red

CONTROL[6] ...CONTROL[9]

Sin significado

120 33002530 07 07/2008

Page 121: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Lectura de CTE

Significado Una operación de lectura de CTE lee un número especificado de bytes de la tabla de ampliación de configuración Ethernet en el búfer especificado de la memoria del PLC. Los bytes que se van a leer comienzan por un offset de byte al principio de la tabla CTE. El contenido de la tabla CTE se muestra en el parámetro de salida DATABUF . (véase Parámetros de entrada, p. 103)Para programar un bloque MBP_MSTR para realizar una operación de eliminación de estadísticas remotas, utilice el código de función 11 (véase Códigos de función de operación, p. 105).

Implantación de red

Una operación de lectura CTE puede realizarse en redes Ethernet TCP/IP y Ethernet SY/MAX.

Uso del bloque de control para Ethernet TCP/IP

Uso del bloque de control para Ethernet SY/MAX

Registro Significado

CONTROL[1] 11 = leer CTE

CONTROL[2] indica el estado de error.

CONTROL[3] El ajuste de la longitud: un valor entre 12 y 37.

CONTROL[4] Sin significado

CONTROL[5] Registro de accesoByte de menor valor = índice de asignaciónUn valor mostrado en el byte del registro o no utilizado.-byte de mayor valor = ranura de módulo adaptador de red

CONTROL[6] ...CONTROL[9]

El número mostrado en el byte de menor valor en el área 1–16 indica la ranura en la que se ubica el módulo opcional.

Registro Significado

CONTROL[1] 11 = leer CTE

CONTROL[2] indica el estado de error.

CONTROL[3] Número de palabras transferidas.

CONTROL[4] Offset de byte en la estructura de registro de PLC, que especifica dónde se van a leer los bytes CTE.

CONTROL[5] Registro de accesoMSB: ranura del módulo NOE

CONTROL[6] ...CONTROL[9]

Terminador: FF hex.

33002530 07 07/2008 121

Page 122: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Implantación del indicador CTE (DATABUF)

Los valores de la tabla CTE se muestran en la salida DATABUF cuando se implementa una operación de lectura de CTE. Los registros muestran los datos CTE siguientes:

Implantación del indicador CTE (DATABUF):

Escritura de CTE

Significado Una operación de escritura de CTE escribe la tabla de configuración CTE de los datos especificados (DATABUF) en una tabla de ampliación de configuración Ethernet especificada o una ranura específica. Para programar un bloque MBP_MSTR con el fin de realizar una operación de escritura CTE, utilice el código de función 12 (véase Códigos de función de operación, p. 105).

Implantación de red

Una operación de escritura CTE puede realizarse en redes Ethernet TCP/IP (véase Estadísticas de red de Ethernet TCP/IP., p. 136) y Ethernet SY/MAX.

Uso del bloque de control para Ethernet TCP/IP

Parámetro Registro Contenido

Tipo de trama DATABUF[0] 1 = 802.32 = Ethernet

Dirección IP DATABUF[1] Primer byte de la dirección IP

DATABUF[2] Segundo byte de la dirección IP

DATABUF[3] Tercer byte de la dirección IP

DATABUF[4] Cuarto byte de la dirección IP

Máscara de red inferior

DATABUF[5] Palabra de mayor valor

DATABUF[6] Palabra de menor valor

Pasarela DATABUF[7] Primer byte de la pasarela

DATABUF[8] Segundo byte de la pasarela

DATABUF[9] Tercer byte de la pasarela

DATABUF[10] Cuarto byte de la pasarela

Registro Significado

CONTROL[1] 12 = escribir CTE

CONTROL[2] indica el estado de error.

CONTROL[3] El ajuste de la longitud: un valor entre 12 y 37.

CONTROL[4] Sin significado

122 33002530 07 07/2008

Page 123: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Uso del bloque de control para Ethernet SY/MAX

Implantación del indicador CTE (DATABUF)

Los valores de la tabla de ampliación de configuración Ethernet se muestran en el campo de salida DATABUF cuando se implementa una operación de escritura de CTE. Los registros se utilizan para transferir los datos CTE siguientes:

Implantación del indicador CTE (DATABUF):

CONTROL[5] Registro de accesoByte de menor valor = índice de asignaciónUn valor mostrado en el byte de la dirección o no utilizado.-byte de mayor valor = ranura de módulo adaptador de red

CONTROL[6] ...CONTROL[9]

El número mostrado en el byte de menor valor en el área 1–16 indica la ranura en la que se ubica el módulo opcional.

Registro Significado

Registro Significado

CONTROL[1] 12 = escribir CTE (tabla de ampliación de configuración)

CONTROL[2] indica el estado de error.

CONTROL[3] Número de palabras transferidas.

CONTROL[4] Offset de byte en la estructura de dirección de PLC, que especifica dónde se van a escribir los bytes CTE.

CONTROL[5] Registro de accesoBit de mayor valor = ranura de módulo NOEByte de menor valor = número de estación de destino

CONTROL[6] Terminador: FF hex.

CONTROL[7]...CONTROL[9]

Sin significado

Parámetro Registro Contenido

Tipo de trama DATABUF[0] 1 = 802.32 = Ethernet

Dirección IP DATABUF[1] Primer byte de la dirección IP

DATABUF[2] Segundo byte de la dirección IP

DATABUF[3] Tercer byte de la dirección IP

DATABUF[4] Cuarto byte de la dirección IP

33002530 07 07/2008 123

Page 124: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Máscara de red inferior

DATABUF[5] Palabra de mayor valor

DATABUF[6] Palabra de menor valor

Pasarela DATABUF[7] Primer byte de la pasarela

DATABUF[8] Segundo byte de la pasarela

DATABUF[9] Tercer byte de la pasarela

DATABUF[10] Cuarto byte de la pasarela

Parámetro Registro Contenido

124 33002530 07 07/2008

Page 125: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Envío de correo electrónico

Descripción El servicio de notificación por correo electrónico permite que los proyectos basados en controladores informen de alarmas o eventos. El controlador supervisa el sistema y crea dinámicamente un mensaje de correo electrónico que avisa a los usuarios locales o remotos.

Un evento o condición definidos por el usuario accionan el bloque MSTR para crear un mensaje. Cada mensaje utiliza uno de los tres encabezamientos definidos por el usuario. Cada mensaje enviado por el controlador puede contener texto e información variable (con un máximo de 238 bytes).

El proyecto selecciona el encabezamiento adecuado. Cada encabezamiento contiene:

Nombre del remitenteLista de destinatariosAsunto

Para programar un bloque MBP_MSTR para enviar correo electrónico, utilice el código de función 13 (véase Códigos de función MBP_MSTR válidos, p. 105).

Implantación de red

Se puede realizar una operación de envío de correo electrónico a través de una red Ethernet TCP/IP.

Uso del bloque de control para Ethernet TCP/IP

Registro Significado

CONTROL[1] 13 = enviar correo electrónico

CONTROL[2] Indica los códigos de error específicos de correo electrónico (véase Códigos de error del servicio de correo, p. 149).

CONTROL[3] Número de palabras transferidas.

CONTROL[4] Sin utilizar

CONTROL[5] Byte de mayor valor: dirección de ranura del módulo NOE o 0xFE para 140 CPU 651 60.

Byte de menor valor: siempre 0

CONTROL[6] ...CONTROL[9]

Sin utilizar

33002530 07 07/2008 125

Page 126: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Descripción del parámetro DATABUF

Registro Contenido

DATABUF 1 El encabezado del correo es el byte de menor valor con un valor de 1, 2 ó 3.

El byte de mayor valor contiene el número (n) de caracteres en el asunto; un valor entre 0 y 238.

DATABUF 2...DATABUF 119

Los datos (en formato ASCII) que se copiarán en el mensaje de correo electrónico.Los primeros n caracteres se agregarán al asunto del correo electrónico configurado. Los caracteres restantes (2 * N -2 - n) son parte del cuerpo del mensaje, donde N es el número de palabras transferidas.

126 33002530 07 07/2008

Page 127: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Leer/escribir datos

Introducción En una única transacción, las operaciones de lectura y escritura de MSTR pueden transferir datos desde un dispositivo maestro de origen a un dispositivo esclavo de destino especificado y, a continuación, transferir datos desde ese esclavo de origen especificado al maestro. Utiliza una ruta de transacciones de maestro y puede que necesite varios ciclos para completarse. Para programar un bloque MBP_MSTR con el fin de realizar una operación de lectura/escritura combinada, utilice el código de función 23 (véase Códigos de función de operación, p. 105).

La operación de lectura/escritura combinada sólo puede utilizarse con estos dos modelos Quantum:

NOE 771 01 (versión 2.0 y posteriores)NOE 771 11 (versión 2.0 y posteriores)CPU 651 50 (con puerto Ethernet incorporado)CPU 651 60 (con puerto Ethernet incorporado)CPU 652 60 (con puerto Ethernet incorporado)

Uso del bloque de control

Registro Contenido

CONTROL[1] 23 = datos de lectura/escritura.

CONTROL[2] Indica el estado de error.

CONTROL[3] Número de direcciones que se van a leer del esclavo y se van a escribir en el maestro.

CONTROL[4] Determina el registro de inicio %MW en el esclavo del que se leen los datos, por ejemplo, 1 = %MW1, 49 = %MW49).

CONTROL[5] Registro de acceso:Byte de mayor valor: ranura de módulo adaptador de redByte de menor valor: índice de mapping MET (transportador de MBP por Ethernet).

CONTROL[6] ...CONTROL[9]

Cada dirección contiene un byte de la dirección IP de 32 bits, donde MSB está en CONTROL[6] y LSB en CONTROL[9].

CONTROL[10] Número de registros que se van a leer del esclavo

CONTROL[11] Especifica la primera palabra %MW del esclavo de destino en el que se van a leer los datos.

33002530 07 07/2008 127

Page 128: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Estado de funcionamiento de las comunicaciones Peer Cop

Estado de funcionamiento de las comunica-ciones Peer Cop

La tabla que contiene la información de estado de Peer Cop completa 12 registros contiguos indexados con los números 0 – 11 en una operación MBP_MSTR. Cada bit individual de las palabras de la tabla se utiliza para presentar un aspecto del funcionamiento de las comunicaciones para un asiento específico de la red Modbus Plus. Para programar un bloque MBP_MSTR con el fin de obtener el estado de funcionamiento de Peer Cop, utilice el código de función 9 (véase Códigos de función de operación, p. 105).

Implantación de red

Una operación de estado de funcionamiento de las comunicaciones Peer Cop sólo puede realizarse en redes Modbus Plus.

Relación de bits del asiento de red

Los bits de las palabras 0 – 3 representa el funcionamiento en la entrada de comunicaciones globales de los asientos 1 – 64. Los bits de las palabras 4 – 7 representan el funcionamiento de la salida de un asiento específico.

Los bits en las palabras 8 – 11 representan el funcionamiento de la entrada de un asiento específico.

Tipo de estado Índice de palabra Relación de bits del asiento de red

Recepción global 0

1

2

3

Envío directo 4

5

6

7

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17

48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33

64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17

48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33

64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49

128 33002530 07 07/2008

Page 129: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Estado del bit de estado funcional

El estado del bit de estado funcional de Peer Cop indica el estado actual de las comunicaciones del asiento asignado. Un bit de estado funcional se establece cuando el asiento asociado acepta la entrada de su bloque de datos Peer Cop o cuando recibe una señal de que otro asiento ha aceptado los datos de salida específicos de su bloque de datos de salida de Peer Cop. Se eliminará un bit de estado funcional si el bloque de datos asociado no acepta ninguna comunicación en el periodo de timeout de funcionamiento de Peer Cop configurado.

Todos los bits de estado funcional se eliminan cuando el comando de interfaz Aplicar Peer Cop se ejecuta durante el arranque del PLC. Los valores de la tabla pasan a ser válidos cuando el token se ha omitido por completo, una vez realizado el comando Aplicar Peer Cop. El bit de estado funcional de un asiento específico siempre es 0 cuando la entrada de Peer Cop asignada es 0.

Recepción directa

8

9

10

11

Tipo de estado Índice de palabra Relación de bits del asiento de red

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17

48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33

64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49

33002530 07 07/2008 129

Page 130: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Estadísticas de red Modbus Plus

Estadísticas de red Modbus Plus

La tabla siguiente muestra las estadísticas disponibles en Modbus Plus. Puede obtener estos datos si ejecuta la operación MBP_MSTR correspondiente (código de función 8 de Modbus).

Nota: Si modifica la operación eliminar estadísticas locales (véase Eliminación de estadísticas locales, p. 114) o eliminar estadísticas remotas (véase Borrar estadísticas remotas, p. 118), sólo se eliminarán las palabras 13 – 22 de la tabla de estadísticas.

Palabra Bits Descripción

00 ID de tipo de asiento

0 Tipo de asiento desconocido

1 Asiento PLC

2 Asiento puente Modbus

3 Asiento host

4 Asiento Bridge Plus

5 Asiento E/S Peer

6 ... 15 Reservado

01 0 – 11 Número de versión de software como valor hexadecimal (para leerlo, se deben aislar los bits 12 – 15 de la palabra)

12 – 14 Reservado

15 Define contadores de errores desde la palabra 15.El bit de mayor valor define el uso de contadores de error en la palabra 15. La mitad de menor valor del byte de mayor valor junto con el byte de menor valor contiene la versión de software.

02 Dirección de red de esta estación

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Número de versión de software (en valores hexadecimales)

Contador de errores de la palabra 15 (consulte la palabra 15)

130 33002530 07 07/2008

Page 131: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

03 Variable de estado MAC:

0 Estado de arranque

1 Señales del indicador de estado fuera de línea

2 Estado fuera de línea duplicado

3 Estado inactivo

4 Estado de utilización del token

5 Estado de respuesta de trabajo

6 Estado de transferencia del token

7 Estado de petición de respuesta

8 Comprobación de estado de transferencia

9 Estado de petición del token

10 Estado de petición de respuesta

04 El estado de Peer (código LED); indica el estado de este dispositivo respecto a la red:

0 Operación de conexión de control

32 Operación de conexión normal

64 Nunca recibe token

96 Estación única

128 Estación duplicada

05 Contador de transferencias de token; aumenta cada vez que esta estación recibe un token

06 Tiempo de ciclo de token en ms

07 LOW Error del maestro de datos de representación de bit durante la posesión del token

HIGH Error del maestro de programa (mapa de bits) de representación de bit durante la posesión del token

08 LOW Posesión del token de actividad de mapa de bits del maestro de datos

HIGH Posesión del token de actividad de mapa de bits del maestro de programa

09 LOW Posesión del token de actividad de mapa de bits del esclavo de datos

HIGH Posesión del token de actividad de mapa de bits del esclavo de programa

10 LOW

HIGH Lectura de dotación de esclavo/esclavo de datos de comando de petición de transferencia de mapa de bits

Palabra Bits Descripción

33002530 07 07/2008 131

Page 132: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

11 LOW Lectura de dotación del maestro/maestro de programa de petición de transferencia de respuesta de mapa de bits

HIGH Lectura de dotación de esclavo/esclavo de programa de comando de petición de transferencia de mapa de bits

12 LOW Estado de conexión del mapa de bits del maestro de programa

HIGH Cierre de sesión automático de mapa de bits del esclavo de programa

13 LOW Contador de errores de retardo de pretransferencia

HIGH Contador de errores de desborde de DMA del búfer de recepción

14 LOW Comando de repetición de contador recibido

HIGH Tamaño del bloque de datos de contador de errores

15 Si el bit 15 de la palabra 1 no se ha definido, la palabra 15 tiene el significado siguiente:

LOW Cancelación de la colisión del receptor del contador de errores

HIGH Alineación del receptor del contador de errores

Si el bit 15 de la palabra 1 se ha establecido, la palabra 15 tiene el significado siguiente:

LOW Error de bloque de datos en el cable A

HIGH Error de bloque de datos en el cable B

16 LOW Receptor CRC de contador de errores

HIGH Longitud de paquete incorrecta del contador de errores

17 LOW Dirección de conexión incorrecta del contador de errores

HIGH Almacenamiento en búfer de transferencia con transgresión por debajo de rango DMA de contador de errores

18 LOW Longitud de paquete interno incorrecta del contador de errores

HIGH Código de función MAC incorrecta del contador de errores

19 LOW Contador de reintentos de comunicación

HIGH Error de comunicaciones del contador de errores

20 LOW Recepción de paquete de contador realizada con éxito

HIGH Sin recepción de respuesta del contador de errores

21 LOW Recepción inesperada de respuesta del contador de errores

HIGH Ruta inesperada de contador de errores

22 LOW Respuesta inesperada del contador de errores

HIGH Transacción omitida del contador de errores

23 LOW Tabla de estaciones activas de mapa de bits, asientos 1 – 8

HIGH Tabla de estaciones activas de mapa de bits, asientos 9 – 16

Palabra Bits Descripción

132 33002530 07 07/2008

Page 133: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

24 LOW Tabla de estaciones activas de mapa de bits, asientos 17 – 24

HIGH Tabla de estaciones activas de mapa de bits, asientos 25 – 32

25 LOW Tabla de estaciones activas de mapa de bits, asientos 33 – 40

HIGH Tabla de estaciones activas de mapa de bits, asientos 41 – 48

26 LOW Tabla de estaciones activas de mapa de bits, asientos 49 – 56

HIGH Tabla de estaciones activas de mapa de bits, asientos 57 – 64

27 LOW Tabla de estaciones de token de mapa de bits, asientos 1 – 8

HIGH Tabla de estaciones de token de mapa de bits, asientos 9 – 16

28 LOW Tabla de estaciones de token de mapa de bits, asientos 17 – 24

HIGH Tabla de estaciones de token de mapa de bits, asientos 25 – 32

29 LOW Tabla de estaciones de token de mapa de bits, asientos 33 – 40

HIGH Tabla de estaciones de token de mapa de bits, asientos 41 – 48

30 LOW Tabla de estaciones de token de mapa de bits, asientos 49 – 56

HIGH Tabla de estaciones de token de mapa de bits, asientos 57 – 64

31 LOW Tabla de mapa de bits respecto a la existencia de datos globales, asientos 1 – 8

HIGH Tabla de mapa de bits respecto a la existencia de datos globales, asientos 9 – 16

32 LOW Tabla de mapa de bits respecto a la existencia de datos globales, asientos 17 – 24

HIGH Tabla de mapa de bits respecto a la existencia de datos globales, asientos 25 – 32

33 LOW Tabla de mapa de bits respecto a la existencia de datos globales, asientos 33 – 40

HIGH Tabla de mapa de bits respecto a la existencia de datos globales, asientos 41 – 48

34 LOW Tabla de mapa de bits respecto a la existencia de datos globales, asientos 49 – 56

HIGH Tabla de mapa de bits respecto a la existencia de datos globales, asientos 57 – 64

35 LOW Búfer de recepción de mapa de bits utilizado, búferes 1 – 8

HIGH Búfer de recepción de mapa de bits utilizado, búferes 9 – 16

36 LOW Búfer de recepción de mapa de bits utilizado, búferes 17 – 24

HIGH Búfer de recepción de mapa de bits utilizado, búferes 25 – 32

Palabra Bits Descripción

33002530 07 07/2008 133

Page 134: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

37 LOW Búfer de recepción de mapa de bits utilizado, búferes 33 – 40

HIGH Contador de comandos procesados activados para la administración de estaciones

38 LOW Ruta 1 de salida del comando de activación de contador del maestro de datos

HIGH Ruta 2 de salida del comando de activación de contador del maestro de datos

39 LOW Ruta 3 de salida del comando de activación de contador del maestro de datos

HIGH Ruta 4 de salida del comando de activación de contador del maestro de datos

40 LOW Ruta 5 de salida del comando de activación de contador del maestro de datos

HIGH Ruta 6 de salida del comando de activación de contador del maestro de datos

41 LOW Ruta 7 de salida del comando de activación de contador del maestro de datos

HIGH Ruta 8 de salida del comando de activación de contador del maestro de datos

42 LOW Ruta 41 de entrada de procesamiento de comando de contador del esclavo de datos

HIGH Ruta 42 de entrada de procesamiento de comando de contador del esclavo de datos

43 LOW Ruta 43 de entrada de procesamiento de comando de contador del esclavo de datos

HIGH Ruta 44 de entrada de procesamiento de comando de contador del esclavo de datos

44 LOW Ruta 45 de entrada de procesamiento de comando de contador del esclavo de datos

HIGH Ruta 46 de entrada de procesamiento de comando de contador del esclavo de datos

45 LOW Ruta 47 de entrada de procesamiento de comando de contador del esclavo de datos

HIGH Ruta 48 de entrada de procesamiento de comando de contador del esclavo de datos

Palabra Bits Descripción

134 33002530 07 07/2008

Page 135: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

46 LOW Ruta 81 de salida de activación de comando de contador del maestro de programas

HIGH Ruta 82 de salida de activación de comando de contador del maestro de programas

47 LOW Ruta 83 de salida de activación de comando de contador del maestro de programas

HIGH Ruta 84 de salida de activación de comando de contador del maestro de programas

48 LOW Ruta 85 de salida de activación de comando de contador del maestro de programas

HIGH Ruta 86 de salida de activación de comando de contador del maestro de programas

49 LOW Ruta 87 de salida de activación de comando de contador del maestro de programas

HIGH Ruta 88 de salida de activación de comando de contador del maestro de programas

50 LOW Ruta C1 de entrada de procesamiento de comando de contador del esclavo de programa

HIGH Ruta C2 de entrada de procesamiento de comando de contador del esclavo de programa

51 LOW Ruta C3 de entrada de procesamiento de comando de contador del esclavo de programa

HIGH Ruta C4 de entrada de procesamiento de comando de contador del esclavo de programa

52 LOW Ruta C5 de entrada de procesamiento de comando de contador del esclavo de programa

HIGH Ruta C6 de entrada de procesamiento de comando de contador del esclavo de programa

53 Ruta C7 de entrada de procesamiento de comando de contador del esclavo de programa

HIGH Ruta C8 de entrada de procesamiento de comando de contador del esclavo de programa

Palabra Bits Descripción

33002530 07 07/2008 135

Page 136: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Estadísticas de red de Ethernet TCP/IP.

Estadísticas de red de Ethernet TCP/IP.

Un módulo de Ethernet TCP/IP contesta a comandos de estadísticas remotas y locales del bloque MBP_MSTR con la siguiente información:

Palabra Significado

de 00 a 02 Dirección MAC Por ejemplo, la dirección MAC 00 00 54 00 12 34 se muestra de la forma siguiente:

03 Estado del módulo0x0001 = En ejecución0x4000 = LED de APPI (1 = activo, 0 = desactivado)0x8000 = conexión de LED

04 y 05 Número de interrupts receptores

06 y 07 Número de interrupts de transferencia

08 y 09 Número de errores de tiempo de espera de transferencia

10 y 11 Cantidad de errores de detección de colisiones

12 y 13 Paquetes omitidos

14 y 15 Número de errores de memoria

16 y 17 Número de veces que el controlador ha reiniciado el sistema

18 y 19 Número de errores de bloques de datos de recepción

20 y 21 Receptor de número de errores de desborde

22 y 23 Contador de errores CRC de recepción

24 y 25 Contador de errores de búfer de recepción

26 y 27 Contador de errores de búfer de transferencia

28 y 29 Contador de trasgresión por debajo de rango de bin de transferencia

30 y 31 Contador de últimas colisiones

32 y 33 Contador de portadora perdida

34 y 35 Número de reintentos

36 y 37 Dirección IPPor ejemplo, la dirección IP 198.202.137.113 (o c6 CA 89 71) se representa de la forma siguiente:

Palabra000102

Contenido000034

005412

Palabra3637

Contenido89C6

71CA

136 33002530 07 07/2008

Page 137: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Definición del bit de palabra de estado de tarjeta

La tabla siguiente describe las definiciones de bits de palabra para estado de tarjeta:

140 NOE 771 x1, versiones 2.0, 3.0, 3.1, 3.3 y 3.6 y140 NOE 771 x0, versiones 3.0, 3.3 y 3.4

La tabla siguiente describe las definiciones de bits de palabra para estado de tarjeta:

140 NOE 771 x1, versiones 3.5140 NOE 771 x0, versiones 1.02 y 2.0 y140 CPU 651 x0

Bit n.º Definición

15 0 = LED Link apagado 1 = LED Link encendido

14 0 = LED Appl apagado 1 = LED Appl encendido

13 0 = par trenzado 1 = fibra

12 0 = 10 Mbit 1 = 100 Mbit

11 ... 8 (Reservado)

7 ... 4 Tipo de módulo (consulte la tabla siguiente)

3 (Reservado)

2 0 = semi-dúplex 1 = dúplex completo

1 0 = no configurado 1 = configurado

0 0 = el PLC no está en funcionamiento 1 = el PLC/NOE está en funcionamiento

Nota: Los bits se contabilizan de derecha a izquierda empezando por el bit 0 (bit bajo). Por ejemplo, PLC en ejecución = 0x0001, Aplicación de LED = 0x4000 y Conexión de LED = 0x8000.

Bit n.º Definición

15 ... 12 Tipo de módulo (consulte la tabla a continuación)

11 (Reservado)

10 0 = dúplex 1 = dúplex completo

9 0 = no configurado 1 = configurado

8 0 = el PLC no está en funcionamiento 1 = el PLC/NOE está en funcionamiento

7 0 = LED Link apagado 1 = LED Link encendido

33002530 07 07/2008 137

Page 138: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Definición del bit de palabra de estado de la tarjeta por tipo de módulo

En la tabla siguiente se describen los valores de los tipos de módulo:

6 0 = LED Appl. apagado 1 = LED Appl. encendido

5 0 = par trenzado 1 = fibra

4 0 = 10 Mbit 1 = 100 Mbit

3 ... 0 (Reservado)

Nota: Los bits se contabilizan de derecha a izquierda empezando por el bit 0 (bit bajo). Por ejemplo, PLC en ejecución = 0x0100, Aplicación de LED = 0x0040, y Conexión de LED = 0x0080.

Valor de los bits 7...4 o 15...12 (consulte las tablas anteriores para el rango de bit que se aplique a la versión de software de su módulo)

Tipo de módulo

0 NOE 2x1

1 ENT

2 M1E

3 NOE 771 00

4 ETY

5 CIP

6 (reservado)

7 140 CPU 651 x0

8 (reservado)

9 (reservado)

10 NOE 771 10

11 NOE 771 01

12 NOE 771 11

13 ... 15 (reservado)

138 33002530 07 07/2008

Page 139: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP

Forma del código de error de la función

Los códigos de error de la función para las transacciones Ethernet SY/MAX y Modbus Plus aparecen como Mmss, donde:

M es el código mayor.m es el código menor.ss es un subcódigo.

Errores de red Ethernet SY/MAX y Modbus Plus

Códigos de error hexadecimales para Ethernet SY/MAX y Modbus Plus:

Códigode error hex.

Descripción

1001 Cancelado por el usuario

2001 Se ha especificado un tipo de operación incompatible en el bloque de control.

2002 Se modificaron uno o más parámetros del bloque de control mientras el elemento MSTR estaba activo (esto sólo es aplicable a operaciones que requieren varios ciclos para completarse). Los parámetros del bloque de control sólo pueden modificarse en componentes MSTR inactivos.

2003 Valor no válido en el campo longitud del bloque de control.

2004 Valor no válido en el campo offset del bloque de control.

2005 Valor no válido en los campos longitud y offset del bloque de control.

2006 Campo de datos no autorizado en esclavo.

2007 Campo de red no autorizado en esclavo.

2008 Ruta de acceso a redes no autorizada en esclavo.

2009 Ruta de acceso equivalente a las propias direcciones.

200A Intento de obtener más palabras de datos globales de las que están disponibles.

200B Conflicto de PEER Cop en la lectura/escritura de datos globales.

200C Modelo incorrecto para la petición de cambio de dirección.

200D Dirección incorrecta para la petición de cambio de dirección.

200E El bloque de control no está asignado o algunas partes del bloque de control están ubicadas fuera del rango %MW (4x).

30ss Respuesta de excepción del esclavo Modbus. (véase Valor hexadecimal ss en código de error de 30ss, p. 142)

4001 Respuesta incoherente del esclavo Modbus.

5001 Respuesta incoherente de la red.

6007 ID de ranura no válido.

6mss Error de ruta de acceso (véase Valor hexadecimal ss en código de error de 6mss, p. 142)El subcampo m muestra dónde se ha producido el error (un valor 0 indica un nodo local, 2 indica que el segundo dispositivo está en ruta, etc.).

33002530 07 07/2008 139

Page 140: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Errores de red Ethernet TCP/IP

Códigos de error hexadecimales para Ethernet TCP/IP:

Código de error hex.

Significado

5004 Llamada del sistema interrumpida

5005 Error de E/S

5006 No existe esa dirección

5009 La identificación del socket no es válida

500C Memoria insuficiente

500D Permiso denegado

5011 Entrada ya existente

5016 Argumento no válido

5017 La tabla interna se ha quedado sin espacio

5020 Conexión interrumpida

5028 Se necesita dirección de destino

5029 Tipo de protocolo incorrecto para el socket

502A Protocolo no disponible

502B Protocolo no admitido

502C Tipo de socket no admitido

502D Operación no admitida en un socket

502E Familia de protocolo no admitida

502F Familia de direcciones no compatible

5030 La dirección está siendo utilizada

5031 No se puede asignar la dirección solicitada

5032 Operación socket no en socket

5033 No es posible tener acceso a la red

5034 La red cerró la conexión al restablecer

5035 Anulación de conexión provocada por la red

5036 Conexión restablecida por el interlocutor

5037 No hay espacio de búfer disponible

5038 Socket ya conectado

5039 Socket no conectado

503A No se puede enviar después de cerrar el socket

503B Demasiadas referencias: no es posible empalmar

503C Se agotó el tiempo de conexión (véase nota a continuación)

503D Conexión rechazada

140 33002530 07 07/2008

Page 141: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

503E Red desconectada

503F Archivo de texto ocupado

5040 Demasiados niveles de vínculos

5041 No hay ruta al host

5042 Se necesita dispositivo de bloques

5043 El host está desconectado

5044 Operación en curso

5045 La operación ya se está ejecutando

5046 Se bloquearía la operación

5047 Función no implementada

5048 Longitud hardware no válida

5049 No se puede hallar la ruta especificada

504A Colisión al seleccionar llamada: otra tarea ya ha seleccionado estas condiciones

504B ID de tarea no válido

5050 Sin recurso de red

5051 Error de longitud

5052 Error de direccionamiento

5053 Error de aplicación

5054 Cliente en estado incorrecto para petición

5055 Sin recurso remoto: puede indicar que no hay ruta al dispositivo remoto (véase nota a continuación)

5056 Conexión TCP no operativa

5057 Configuración incoherente

Nota: El código de error 5055 puede ocurrir antes de un error 503C.Ningún dispositivo remoto tiene prioridad sobre un tiempo de espera.

Código de error hex.

Significado

33002530 07 07/2008 141

Page 142: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Valor hexadecimal ss en código de error de 30ss

Valor hexadecimal ss en código de error de 30ss:

Valor hexadecimal ss en código de error de 6mss

El subcampo ss en el código de error 6mss es de la siguiente manera:

Valor ss hex. Descripción

01 El esclavo no admite la operación solicitada.

02 Se solicitaron registros del esclavo no existentes.

03 Se solicitó un valor de datos no autorizado.

05 El esclavo ha aceptado un comando de programa largo.

06 La función no puede llevarse a cabo en estos momentos: comando largo en ejecución.

07 El esclavo ha rechazado un comando de programa largo.

Nota: El subcampo m en código de error de 6mss es un Índice de la información de acceso que muestra dónde se ha detectado el error (un valor 0 indica un nodo local, 2 indica que el segundo dispositivo está en ruta, etc.).

Valor hexadecimal ss Descripción

01 Sin recepción de respuesta.

02 Acceso al programa denegado.

03 Nodo fuera de servicio; no puede establecer la comunicación.

04 Respuesta inusual recibida.

05 Ruta de datos encaminador-nodo ocupada.

06 Esclavo fuera de servicio.

07 Dirección de destino incorrecta.

08 Tipo de nodo no autorizado en la ruta de acceso.

10 El esclavo ha rechazado el comando.

20 El esclavo ha perdido una transacción activada.

40 Ruta de salida maestro inesperada recibida.

80 Respuesta inesperada recibida.

F001 Se ha especificado un nodo de destino incorrecto para la operación MSTR.

142 33002530 07 07/2008

Page 143: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de error específicos de SY/MAX

Códigos de error específicos de SY/MAX

Si utiliza Ethernet SY/MAX, puede registrar otros tres tipos de errores en el registro CONTROL[1] del bloque de control ().

Los códigos de error tienen el siguiente significado:Error 71xx: Error descubierto por el equipo remoto SY/MAXError 72xx: Error descubierto por el servidorError 73xx: Error descubierto por el combinador Quantum

Códigos de error hex. específicos de SY/MAX

Códigos de error hex. específicos de SY/MAX:

Código de error Código de error

Significado

7101 Código operacional no válido descubierto por el equipo remoto SY/MAX

7103 Dirección inválida descubierta por el equipo remoto SY/MAX

7109 Intento de escribir en un registro descubierto por un equipo remoto SY/MAX protegido contra escritura

F710 Rebasamiento del receptor descubierto por el equipo remoto SY/MAX

7110 Longitud inválida descubierta por el equipo remoto SY/MAX

7111 Equipo remoto inactivo, sin conexión (sucede después de agotar los intentos de repetición y la desconexión de tiempo), descubierto por un equipo remoto SY/MAX

7113 Parámetro inválido en una operación de lectura descubierto por el equipo remoto SY/MAX

711D Ruta inválida descubierta por el equipo remoto SY/MAX

7149 Parámetro inválido en una operación de escritura descubierto por el equipo remoto SY/MAX

714B Número de estación inválido descubierto por el equipo remoto SY/MAX

7101 Código operacional no válido descubierto por el servidor SY/MAX

7203 Dirección inválida descubierta por el servidor SY/MAX

7209 Intento de escribir en un registro encontrado por el servidor SY/MAX y protegido contra escritura

F720 Rebasamiento del receptor descubierto por un servidor SY/MAX

7210 Longitud inválida descubierta por el servidor SY/MAX

7211 Equipo remoto inactivo, sin conexión (sucede después de agotar los intentos de repetición y la desconexión de tiempo), descubierto por el servidor SY/MAX

33002530 07 07/2008 143

Page 144: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

7213 Parámetro inválido en una operación de lectura descubierto por el servidor SY/MAX

721D Ruta inválida descubierta por el servidor SY/MAX

7249 Parámetro inválido en una operación de escritura descubierto por el servidor SY/MAX

724B Número de estación inválido descubierto por el servidor SY/MAX

7301 Código operacional inválido en una solicitud de bloque MSTR del combinador Quantum

7303 Estado del módulo QSE de lectura/escritura (dirección de acceso 200 fuera del rango)

7309 Intento de escribir en un registro protegido cuando se ejecuta una escritura de estado(ruta 200)

731D Ruta inválida descubierta por el combinador QuantumRutas válidas:

dest_drop, 0xFF200, dest_drop, 0xFF100+drop, dest_drop, 0xFFTodos los demás valores de ruta generarán un error

734B Ha surgido uno de los siguientes errores:No se ha configurado ninguna tabla CTE (extensión de la configuración).No se ha creado ninguna entrada de tabla CTE para el número de slot de modelo QSE.No se ha definido ninguna estación válida.El módulo QSE no se ha restablecido después de crear la CTE.Nota: Después de escribir y configurar la CTE y cargarla en el módulo QSE, deberá restablecer dicho módulo para que se apliquen los cambios.Al utilizar una instrucción MSTR no se ha definido ningún slot o estación.

Código de error Código de error

Significado

144 33002530 07 07/2008

Page 145: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de error de TPC/IP Ethernet

Códigos de error de TPC/IP Ethernet

Un error en una rutina MSTR a través de TCP/IP Ethernet puede provocar uno de los siguientes errores en el bloque de control MSTR:

El código de error aparece como Mmss, donde:M es el código mayor.m es el código menor.ss es un subcódigo.

Códigos de error HEX de TPC/IP Ethernet

Códigos de error HEX de TPC/IP Ethernet:

Valor hexadecimal ss en código de error de 30ss

Valor hexadecimal ss en código de error de 30ss:

Hex. Código de error

Significado

1001 Cancelado por el usuario

2001 Se ha especificado un tipo de operación incompatible en el bloque de control

2002 Se modificaron uno o más parámetros del bloque de control mientras el elemento MSTR estaba activo (esto sólo es aplicable a operaciones que requieren varios ciclos para completarse). Los parámetros del bloque de control sólo pueden modificarse en componentes MSTR inactivos.

2003 Valor no válido en el campo longitud del bloque de control

2004 Valor no válido en el campo offset del bloque de control

2005 Valor no válido en los campos longitud y offset del bloque de control

2006 Campo de datos no autorizado en esclavo

2008 Ruta de acceso a redes no autorizada en esclavo

200E El bloque de control no está asignado o algunas partes del bloque de control están ubicadas fuera del rango %MW (4x).

3000 Código de fallo Modbus genérico

30ss Respuesta de excepción del esclavo del Modbus (véase Valor hexadecimal ss en código de error de 30ss, p. 145)

4001 Respuesta incoherente del esclavo del Modbus

Valor hex. ss Significado

01 El esclavo no admite la operación solicitada

02 Se solicitaron registros del esclavo no existentes

03 Se solicitó un valor de datos no autorizado

05 El esclavo ha aceptado un comando de programa largo

06 La función no puede llevarse a cabo en estos momentos: comando largo en ejecución

07 El esclavo ha rechazado un comando de programa largo

33002530 07 07/2008 145

Page 146: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de error HEX de red TPC/IP Ethernet:

Un error en la red TCP/IP Ethernet puede dar lugar por sí mismo a uno de los errores siguientes en el registro CONTROL[1] del bloque de control.

Códigos de error HEX de red TPC/IP Ethernet:

Código de error hex.

Significado

5004 Ejecución del sistema interrumpida

5005 Código de error de E/S

5006 No existe tal dirección

5009 El descriptor del socket no es válido

500C No hay suficiente espacio de almacenamiento

500D Autorización denegada

5011 Entrada existente

5016 Uno de los argumentos no es válido

5017 Una tabla interna no dispone de más espacio

5020 Existe una interferencia en la conexión

5023 Esta operación se bloqueó y el socket no es de bloqueo

5024 El socket no es de bloqueo y la conexión no se puede cerrar

5025 El socket no es de bloqueo y el intento de conexión anterior no ha concluido

5026 Operación socket en un non-socket

5027 La dirección de destino no es válida

5028 Mensaje demasiado largo

5029 Tipo de protocolo incorrecto para el socket

502A Protocolo no disponible

502B Protocolo no admitido

502C Tipo de socket no admitido

502D Operación no admitida en socket

502E Familia de protocolo no admitida

F502 Familia de dirección no admitida

5030 La dirección ya se está utilizando

5031 La dirección no está disponible

5032 Red fuera de servicio

5033 No es posible establecer conexión con la red

5034 La red ha cerrado la conexión durante el restablecimiento

5035 Conexión terminada por el interlocutor

5036 Conexión restablecida por el interlocutor

5037 Es necesario un búfer interno, pero no es posible asignarlo

146 33002530 07 07/2008

Page 147: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

5038 El socket ya está conectado

5039 El socket no está conectado

503A La transmisión no es posible una vez desconectado el socket

503B Demasiadas referencias; no es posible empalmar

503C Se agotó el tiempo de conexión

503D Se ha denegado el intento de conexión

5040 El host está fuera de servicio

5041 No es posible establecer conexión con el host de destino desde este asiento

5042 El directorio no está vacío

5046 NI_INIT ha devuelto -1

5047 El MTU no es válido.

5048 La longitud del hardware no es válida

5049 No se puede encontrar la ruta especificada

504A Colisión al ejecutar Seleccionar; estas condiciones ya se seleccionaron en otro trabajo

504B La ID del trabajo no es válida

5050 No existen recursos de red

5051 Error de longitud

5052 Error de direccionamiento

5053 Error de aplicación

5054 El cliente no puede procesar la petición

5055 No existen recursos de red

5056 Conexión TPC no operativa

5057 Configuración incoherente

6003 FIN o RST no esperados

F001 En modalidad de restablecimiento

F002 Componente no inicializado totalmente

Código de error hex.

Significado

33002530 07 07/2008 147

Page 148: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de error CTE para Ethernet SY/MAX y TCP/IP

Códigos de error CTE para Ethernet SY/MAX y TCP/IP

Los siguientes códigos de error en el registro CONTROL[1] del bloque de control aparecen cuando en la configuración de programa hay un problema con la tabla de extensión de configuración Ethernet (CTE).

Códigos de error CTE para Ethernet SY/MAX y TCP/IP:

Código de error hex.

Significado

7001 No hay ninguna extensión de la configuración

7002 Acceso no disponible a la CTE

7003 Offset inválido

7004 Offset + longitud inválidos

7005 Fallos en el campo de datos de la CTE

148 33002530 07 07/2008

Page 149: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

Códigos de error del servicio de correo

Códigos de error El servicio de notificación de correo electrónico admite los códigos de error siguientes:

Código de error hex.

Descripción

5100 Error interno.

5101 Componente SMTP no operativo.

5102 Encabezamiento de correo no configurado.

5103 Valor de encabezamiento de correo no válido (debería ser 1, 2 o 3).

5104 No es posible conectarse al servidor SMTP.

5105 Error al transmitir el contenido del cuerpo del mensaje de correo electrónico al servidor SMTP.

5106 Se ha producido un error al cerrar la conexión SMTP con el servidor.

5107 Error de petición SMTP HELO.

5108 Error de petición SMTP MAIL. El servidor SMTP puede requerir una autenticación.

5109 Error de petición SMTP RCPT.

510A El servidor SMTP no ha aceptado ningún destinatario.

510B Error de petición SMTP DATA.

510C La petición de envío de correo electrónico tiene una longitud no válida.

510D Fallo de la autenticación.

510E Se ha recibido una petición de reinicialización de componente mientras la conexión estaba abierta.

33002530 07 07/2008 149

Page 150: 95230619 Bloques Comunicaciones Modicon

MBP_MSTR

150 33002530 07 07/2008

Page 151: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

13

ModbusP_ADDR: dirección de Modbus Plus

Descripción general

Introducción En este capítulo se describe el bloque ModbusP_ADDR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 152

Descripción detallada 155

151

Page 152: 95230619 Bloques Comunicaciones Modicon

MODBUSP_ADDR

Descripción

Descripción de la función

Este bloque de función permite indicar la dirección Modbus Plus para los bloques de función REAG_REG, CREAD_REG, WRITE_REG y CWRITE_REG. La dirección se transmite en forma de una estructura de datos.

Como parámetros adicionales se pueden configurar EN y ENO.

Representación en FBD

Representación

Nota: Para programar el bloque de funciónModbusP_ADDR debe conocer los procedimientos de acceso utilizados en la red. La descripción detallada de las estructuras de ruta de acceso Modbus Plus se encuentra en "Modbus Plus Network Planning and Installation Guide".

DataStructureModbusPlusAddress

ModbusP_ADDR

NOMModuleSlot

BYTE_variable1BYTE_variable2BYTE_variable3BYTE_variable4BYTE_variable5

ModbusP_ADDR_Instance

ADDRFLDSLOT_ID

ROUTING1ROUTING2ROUTING3ROUTING4ROUTING5

152 33002530 07 07/2008

Page 153: 95230619 Bloques Comunicaciones Modicon

MODBUSP_ADDR

Representación en LD

Representación

Representación en IL

Representación

CAL ModbusP_ADDR_Instance (SLOT_ID:=NOMModuleSlot, ROUTING1:=BYTE_variable1, ROUTING2:=BYTE_variable2, ROUTING3:=BYTE_variable3, ROUTING4:=BYTE_variable4, ROUTING5:=BYTE_variable5, ADDRFLD=>DataStructureModbusPlusAddress)

Representación en ST

Representación

ModbusP_ADDR_Instance (SLOT_ID:=NOMModuleSlot, ROUTING1:=BYTE_variable1, ROUTING2:=BYTE_variable2, ROUTING3:=BYTE_variable3, ROUTING4:=BYTE_variable4, ROUTING5:=BYTE_variable5, ADDRFLD=>DataStructureModbusPlusAddress) ;

DataStructureModbusPlusAddress

BYTE_variable2

BYTE_variable3

BYTE_variable5

ENOEN

ModbusP_ADDR

ADDRFLD

SLOT_ID

ROUTING1

ROUTING2

ROUTING3

ROUTING4

ROUTING5

ModbusP_ADDR_Instance

NOMModuleSlot

BYTE_variable4

BYTE_variable1

33002530 07 07/2008 153

Page 154: 95230619 Bloques Comunicaciones Modicon

MODBUSP_ADDR

Descripción de parámetros

Descripción de los parámetros de entrada

Descripción de los parámetros de salida

Parámetro Tipo de datos Significado

SLOT_ID BYTE ID del slotSlot del módulo NOM

ROUTING1 BYTE La ruta de acceso 1 se emplea para el establecimiento de la dirección (direcciones de ruta de acceso una de cinco) del participante de destino durante una transmisión de red.El último byte en la ruta de acceso que no se corresponda con cero es el participante de destino.

ROUTING2 BYTE Ruta de acceso 2

ROUTING3 BYTE Ruta de acceso 3

ROUTING4 BYTE Ruta de acceso 4

ROUTING5 BYTE Ruta de acceso 5

Parámetro Tipo de datos Significado

ADDRFLD WordArr5 Estructura de datos para la transmisión de la dirección Modbus Plus

154 33002530 07 07/2008

Page 155: 95230619 Bloques Comunicaciones Modicon

MODBUSP_ADDR

Descripción detallada

Tipos de datos derivados

Descripción de elementos para WordArr5

Slot_ID Cuando un módulo opcional de red Modbus Plus (NOM) del bastidor accede a un controlador Quantum como participante de destino, el valor de la entrada Slot_ID representa el slot físico del NOM, es decir, cuando el NOM está insertado en el slot 7 del bastidor, el valor tiene el siguiente aspecto:

Ruta de acceso x

La entrada Ruta de acceso x se emplea para el establecimiento de la dirección (direcciones de ruta de acceso una de cinco) del participante de destino durante una transmisión de red. El último byte en la ruta de acceso que no se corresponda con cero es el participante de destino.

Elemento Tipo de datos Significado

WordArr5[1] WORD Registro de ruta de acceso 1Byte de menor valor:Se emplea para el establecimiento de la dirección (direcciones de ruta de acceso una de cinco) del participante de destino durante una transmisión de red.Byte de mayor valor:Slot del modulo adaptador de red (NOM), si existe.

WordArr5[2] WORD Registro de ruta de acceso 2

WordArr5[3] WORD Registro de ruta de acceso 3

WordArr5[4] WORD Registro de ruta de acceso 4

WordArr5[5] WORD Registro de ruta de acceso 5

0 0 0 0 0 1 1 1

0 x x x x x x x

Dirección de destino (valor binario entre 1 y 64 (normal) o entre 65 y 249 (extendido))

33002530 07 07/2008 155

Page 156: 95230619 Bloques Comunicaciones Modicon

MODBUSP_ADDR

Registro de ruta de acceso 1

Si un módulo opcional de red (NOM) Modbus Plus del bastidor accede a un controlador Quantum como participante de destino, el valor del byte de mayor valor representa el slot físico del NOM. Si el participante de destino es una CPU, el byte de mayor valor se pone a "0" (independientemente del slot de la CPU).

Si el NOM está instalado en el slot 7 del bastidor, el byte de mayor valor del registro de acceso 1 tiene el siguiente aspecto:

Byte de mayor valor Slot 1 a 16Byte de menor valor Dirección de destino (valor binario entre 1 y 64 (normal) o entre 65 y 255

(extendido))

0 0 0 0 0 1 1 1 0 x x x x x x x

Byte de mayor valor Byte de menor valor

156 33002530 07 07/2008

Page 157: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

14

OUT_IN_CHAR: envío/recepción de cadenas de caracteres

Presentación

Objetivo En este capítulo se describe la función de comunicación OUT_IN_CHAR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 158

Pantalla de entrada asistida 161

Ejemplo de cómo enviar/recibir una cadena de caracteres 163

157

Page 158: 95230619 Bloques Comunicaciones Modicon

OUT_IN_CHAR

Descripción

Descripción de la función

La función OUT_IN_CHAR permite emitir una cadena de caracteres de 210 bytes como máximo (120 para el conector terminal), seguida de una solicitud de recepción de mensaje (la emisión o la recepción solas también son posibles).

La cadena de caracteres puede estar contenida en una variable estática (Ver Unity Pro, Lenguajes y estructura del programa, Manual de referencia, Instancias de tipos de datos) o determinada en forma de valor inmediato (serie de bytes entre apóstrofes, por ejemplo: 'Mensaje que se va a enviar').

Estas cadenas de caracteres pueden contener caracteres especiales y deben empezar por el carácter $ seguido del valor hexadecimal del carácter que se va a transmitir, por ejemplo, $0D.

Pueden utilizarse algunos caracteres especiales (Ver Unity Pro, Lenguajes y estructura del programa, Manual de referencia, Tipo de datos elementales (EDT) con formato de cadena de caracteres), como, por ejemplo:

$R = CR (retorno de carro), $L = LF (retorno de línea), $N = CR+LF.

Los parámetros adicionales EN y ENO se pueden configurar.

Representación en FBD

Representación:

GEST GEST Management_ParamManagement_Param

OUT_IN_CHAR

Address Received_DataMode

Data_to_Send

RECPADRTYPEEMIS

158 33002530 07 07/2008

Page 159: 95230619 Bloques Comunicaciones Modicon

OUT_IN_CHAR

Representación en LD

Representación:

Representación en IL

Representación:

Dirección LDOUT_IN_CHAR Mode, Data_to_Send, Management_Param, Received_Data

Representación en ST

Representación:

OUT_IN_CHAR(Address, Mode, Data_to_Send, Management_Param, Received_Data);

Descripción de los parámetros

En la siguiente tabla se describen los parámetros de entrada:

RECPADR

GESTGEST

TYPE

EMIS

Management_ParamManagement_Param

OUT_IN_CHAR

Address Received_Data

Mode

Data_to_Send

ENOEN

Parámetro Tipo Comentario

Dirección ARRAY [0..5] OF INT

Dirección de la entidad de destino del intercambio. Sólo se admiten las direcciones que terminan en SYS (ejemplo: {Red.Estación}SYS).

Modalidad INT Modo de funcionamiento: 1: emisión seguida de una puesta en modo de recepción2: emisión de un mensaje3: puesta en modo de recepción del mensaje

Data_to_Send

STRING Cadena de caracteres que se va a enviar. Esta cadena de caracteres debe existir en el momento de la llamada de la función, aunque no se vaya a emitir ningún dato (modo de recepción simple, por ejemplo).

33002530 07 07/2008 159

Page 160: 95230619 Bloques Comunicaciones Modicon

OUT_IN_CHAR

En la siguiente tabla se describen los parámetros de entrada/salida:

En la siguiente tabla se describen los parámetros de salida:

Parámetro Tipo Comentario

Management_Param ARRAY [0..3] OF INT

Tabla de gestión del intercambio (véase Estructura de los parámetros de gestión, p. 35).

Parámetro Tipo Comentario

Received_Data STRING Cadena de caracteres recibida. Esta cadena de caracteres debe existir obligatoriamente en el momento de la llamada de la función, aunque no se vaya a recibir ningún dato (por ejemplo, modo de emisión simple).

Nota: Durante una emisión o una emisión seguida de una recepción, se recomienda inicializar la cuarta palabra de la tabla de gestión (longitud) antes de la ejecución de la función. Por otro lado, la longitud de la cadena de caracteres recibida se memoriza en esta misma palabra al final del intercambio. No obstante, es necesario definir en el momento de la configuración una condición de parada (Ver Premium y Atrium en Unity Pro, Conexión serie asíncrona, Manual de instalación, Parámetros de final de mensaje en modalidad de caracteres).Para enviar cadenas de caracteres que contienen caracteres de final de cadena (NULL), es necesario:

Utilizar STRING localizados,Inicializar la última palabra de la tabla de gestión de intercambios con el número de caracteres que se van a emitir. Si inicializa la palabra con el valor 0, la cadena enviada se detendrá en el primer carácter NULO que encuentre. Si inicializa la palabra con un valor, la longitud de la cadena de caracteres enviada será igual a este valor.

160 33002530 07 07/2008

Page 161: 95230619 Bloques Comunicaciones Modicon

OUT_IN_CHAR

Pantalla de entrada asistida

Presentación Para esta función de comunicación, puede solicitar la pantalla de entrada asistida. Tenga en cuenta que la pantalla de entrada asistida no está disponible para Modicon M340.

Ilustración La pantalla siguiente muestra un ejemplo de la pantalla de entrada asistida de la función:

Dirección Para PLC Premium, el tipo de objeto posible es el siguiente:

ADDR(STRING).ARRAY [0..5] OF INT.

Nota: Los símbolos de variable se aceptan en los diferentes campos de la pantalla.

OUT_IN_CHAR

Dirección: ? Parámetros

Tipos posibles: Matriz de enteros constantes, matriz de enteros (n>=6)Dirección ADDR(‘..’)

Aceptar Cancelar

Informe:

...

...

Variable:

Cadena para enviar:

Valor:...

Modalidad: ... Intercambio

Cadena para ...

Nota: Si introduce un valor directamente en un campo, el botón de entrada de dirección asistida se vuelve gris.

33002530 07 07/2008 161

Page 162: 95230619 Bloques Comunicaciones Modicon

OUT_IN_CHAR

Modo La selección de la lista desplegable es la siguiente:

intercambio,transmisión,recepción.

Muestra directamente el valor inmediato 1, 2 o 3.

Cadena para enviar

La cadena que se va a enviar es una variable de tipo STRING. Esta variable se debe declarar antes de su uso.

Si la elección de la cadena es una variable (por ejemplo, String_0), el campo de entrada de valor inmediato desaparece.

Cadena para recibir

El área de recepción es una variable de tipo STRING. El tamaño de esta variable es una función del número de caracteres que se van a recibir. Esta variable debe declararse antes de emplearse en esta pantalla.

Informe El informe es una matriz de 4 enteros.

Nota: Basta con seleccionar la solución que desee en el menú desplegable.

Nota: Si utiliza el campo de entrada en lugar del menú, puede introducir una variable de tipo INT, esté o no localizada.

Nota: Tenga cuidado de no utilizar varias áreas de memoria idénticas para las tablas de informes; de lo contrario, la función de lectura de variables podría no funcionar.

162 33002530 07 07/2008

Page 163: 95230619 Bloques Comunicaciones Modicon

OUT_IN_CHAR

Ejemplo de cómo enviar/recibir una cadena de caracteres

Presentación Supongamos que desea enviar una cadena de caracteres Str_1 de la estación 1 de la red 20 al puerto de terminal del la estación 5, y después recibir una cadena de caracteres Str_2 del puerto de terminal de la estación 5 de la misma red.

En este caso, una terminal de visualización está conectada al puerto de terminal de la estación 5 de la red 20.

La cadena que se va a enviar contiene diez caracteres.

La tabla de gestión de la función está compuesta por la tabla de palabras %MW170:4.

Ilustración Las dos estaciones se conectan a través de una red Fipway.

TSX Premium

Fipway{20.5}

{20.1}

TSX Micro

33002530 07 07/2008 163

Page 164: 95230619 Bloques Comunicaciones Modicon

OUT_IN_CHAR

Programación Programación en ST:

SI RE(%I0.3.8) Y NO %MW170.0 ENTONCES (* inicialización de los datos para enviar *) %MW173 := 10; (* función de comunicación *) OUT_IN_CHAR(ADDR(’{20.5}0.0.0.SYS’),1,Str_1,%MW170:4,Str_2);END_IF;

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.5}0.0.0.SYS’)

{20.5}: red 20, estación 50: bastidor0: módulo0: canal 0SYS: dirección de sistema

1 Transmisión seguida de recepción

Str_1 Variable de tipo STRING que contiene el mensaje para enviar

%MW170:4 Tabla de gestión

Str_2 Variable de tipo STRING que contendrá el mensaje recibido

Nota: Antes de que la función se inicie, inicialice el parámetro de longitud (en el ejemplo: %MW173) con el valor correspondiente al número de caracteres (en bytes) para enviar a Str_1.Al final del intercambio, %MW173 contendrá la longitud de los datos recibidos (en bytes).

164 33002530 07 07/2008

Page 165: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

15

OUT_IN_MBUS: función de comunicación Modbus

Presentación

Objetivo En este capítulo se describe la función de comunicación OUT_IN MBUS.

Contenido: Este capítulo contiene las siguientes secciones:

Sección Apartado Página

15.1 Presentación general del bloque de comunicación OUT_IN_MBUS

167

15.2 Descripción del bloque de comunicación OUT_IN_MBUS 172

15.3 Instalación del bloque de comunicación OUT_IN_MBUS 184

15.4 Ejemplo de uso del bloque de comunicación OUT_IN_MBUS 192

165

Page 166: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

166 33002530 07 07/2008

Page 167: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

15.1 Presentación general del bloque de comunicación OUT_IN_MBUS

Presentación

Objeto Este subcapítulo ofrece una breve descripción del bloque de comunicación OUT_IN_MBUS.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Descripción de la función 168

Casos de uso 169

Funciones 171

33002530 07 07/2008 167

Page 168: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Descripción de la función

Introducción La función OUT_IN_MBUS permite simular una comunicación Modbus maestra a partir de una conexión serie configurada en modalidad de caracteres.

Combinada con la capacidad de cambiar sobre la marcha de una configuración Modbus esclava a una configuración en modalidad de caracteres a través de la función WRITE_CMD, permite utilizar el PLC indistintamente como maestro o en modalidad de esclavo de Modbus con una misma conexión.

Nota: Esta función sólo tiene relevancia cuando se utilizan las modalidades Modbus maestra y esclava de forma simultánea. Si no es éste el caso, se recomienda utilizar las EF estándar READ_VAR y WRITE_VAR para gestionar la función Modbus maestra (la función Modbus esclava la gestiona implícitamente el sistema). Consulte la documentación de Modbus.

Riesgos relacionados con la escritura de variablesLa aportación de modificaciones incorrectas al PLC de destino puede dar lugar a un comportamiento no deseado de la aplicación.Es recomendable tomar todas las precauciones necesarias antes de instalar el bloque OUT_IN_MBUS.

Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daños en el equipo.

ADVERTENCIA

168 33002530 07 07/2008

Page 169: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Casos de uso

Modalidad nominal

La mayoría de las aplicaciones constan de un PC que contiene las aplicaciones de supervisión. El supervisor es un maestro de Modbus y se comunica con diferentes esclavos. Esta modalidad de funcionamiento recibe el nombre de modalidad nominal.

En la ilustración siguiente se representa la modalidad nominal (supervisor a esclavo):

SCADA

A

B

C

RS485

PSTN

SCADA

X Y

MODEM

Supervisor

YX

RTC

MÓDEM

RS485

Supervisor

A

B

C

33002530 07 07/2008 169

Page 170: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Modalidad de excepción

Si así se solicita, un PLC debe tener la capacidad de pasar del estado esclavo de Modbus al estado maestro Modbus con el fin de enviar peticiones a otros PLC o dispositivos. Este paso de una modalidad a otra recibe el nombre de modalidad de excepción.

Una vez finalizada la modalidad de excepción, el sistema debe poder recuperar su estado inicial (modalidad nominal).

En la ilustración siguiente se representa la modalidad de excepción (de maestro a esclavo):

SCADA

A

B

C

RS485

PSTN

SCADA

X Y

MODEM

Supervisor

YX

RTC

MÓDEM

RS485

Supervisor

A

B

C

170 33002530 07 07/2008

Page 171: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Funciones

Presentación La función OUT_IN_MBUS admite:

Los códigos Modbus 1, 2, 3, 4, 5, 6, 15 y 16 (véase Parámetro MbusCmd, p. 176)Las modalidades ASCII y RTU (véase Parámetro DataBits, p. 180)El direccionamiento completo (véase Parámetro MbusCmd, p. 176)

La función OUT_IN_MBUS se presenta en forma de DFB cuya ejecución debe reiniciarse en cada ciclo del PLC cuando el bit de actividad está en 1.

La función está disponible en PLC Premium a través de una tarjeta de comunicación TSXSCP111 o TSXSCP114 instalada en el procesador, o bien de un módulo host (TSXSCY21601 o TSXSCY11601).

Restricciones En cada puerto, no debe activarse más de un DFB OUT_IN_MBUS simultáneamente. Igualmente, no deben utilizarse simultáneamente los bloques PRINT_CHAR, INPUT_CHAR o OUT_IN_CHAR.

La función OUT_IN_MBUS no admite:

cambio de parámetros de las capas físicas o de conexión: flujo, formato de caracteres, paso de RTU a ASCII o inversión o gestión de señales RS232.conflictos y errores de comunicación que puedan resultar de la presencia de 2 maestros de Modbus activos de forma simultánea en la misma conexión.ninguna modalidad de servicio que pueda resultar de un fallo o de la conexión temporal de una tarjeta de comunicación.configuración ni gestión de módems.

33002530 07 07/2008 171

Page 172: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

15.2 Descripción del bloque de comunicación OUT_IN_MBUS

Presentación

Objeto Este subcapítulo ofrece una descripción detallada del bloque de comunicación OUT_IN_MBUS.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Representaciones y parámetros 173

Parámetro MbusCmd 176

Parámetro RetryLmt 179

Parámetro DataBits 180

Parámetro RespTout 181

Parámetro MasterDataArea 182

Parámetro Status 183

172 33002530 07 07/2008

Page 173: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Representaciones y parámetros

Representación FBD

Representación:

Representación LD

Representación:

OUT_IN_MBUS

ADR

MASTERDATAAREA

MBUSCMDRETRYLMTDATABITS

MDAMDA

ADMCRLDB

ABORTAB

RETRY RTACTIVE AC

DONE DOERROR ERR

STATUS ST

ADR

MASTERDATAAREA

MBUSCMD

RETRYLMT

DATABITS

MDAMDA

OUT_IN_MBUS

AD

MC

RL

DB

ENOEN

ABORTAB

RETRY RT

ACTIVE AC

DONE DO

ERROR ERR

STATUS ST

33002530 07 07/2008 173

Page 174: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Representación IL

Representación:

Dirección LDOUT_IN_MBUS AD, MC, RL, DB, AB, MDA, RT, AC, DO, ERR, ST

Representación ST

Representación:

OUT_IN_MBUS(AD, MC, RL, DB, AB, MDA, RT, AC, DO, ERR, ST);

Descripción de parámetros

En la siguiente matriz se describen los parámetros de entrada:

En la siguiente matriz se describe el parámetro de entrada y salida:

Parámetro Tipo Comentario

ADDR ADDR_TYPE Información acerca de la dirección del puerto de comunicación del dispositivo esclavo.Esta dirección debe aparecer de la forma siguiente: ADDR(’r.m.c.SYS’).Abreviaturas utilizadas: r = bastidor, m = slot del módulo, c = canal.

MBUSCMD ARRAY [1.. 4] OF INT

Definición (véase Definición del parámetro MbusCmd, p. 176)de la matriz Modbus.

RETRYLMT INT Número de intentos (véase Parámetro RetryLmt, p. 179) del bloque para enviar un mensaje creado por el bloque.

DATABITS BOOL Mensajes (véase Parámetro DataBits, p. 180) Modbus para enviar en modalidad ASCII (DATABITS =0) o en modalidad RTU (DATABITS=1).

RESPTOUT INT Tiempo de espera (véase Parámetro RespTout, p. 181) del bloque.

ABORT BOOL Bit de cancelación de DFB.

Parámetro Tipo Comentario

MASTERDATAAREA ARRAY [x.. y] OF INT

Área de datos (véase Parámetro MasterDataArea, p. 182) del PLC maestro.

Nota: Para leer uno de los últimos ocho bits de la memoria, es necesario leerlos todos ya que, de lo contrario, la función devuelve un informe de estado de error. Entonces es posible extraer el bit que necesite.

174 33002530 07 07/2008

Page 175: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

En la siguiente matriz se describen los parámetros de salida (solo lectura):

Nota: Si el parámetro de entrada y salida utiliza una matriz dinámica, debe marcar en las matrices dinámicas Unity Pro Allow [ANY_ARRAY_XXX] en herramienta → opción de proyecto → extensión de lenguaje.

Parámetro Tipo Comentario

RETRY INT El valor visualizado muestra el número actual de intentos realizados por el bloque.

ACTIVE BOOL El valor 1 indica que se está realizando una operación.

DONE BOOL El valor 1 indica que la operación se ha completado.

ERROR BOOL El valor 1 indica que se ha producido un error.

STATUS INT El valor muestra un código de estado (véase Parámetro Status, p. 183) generado por el bloque.

33002530 07 07/2008 175

Page 176: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetro MbusCmd

Definición del parámetro MbusCmd

El parámetro MbusCmd corresponde al comando Modbus.

El parámetro MbusCmd consta de una matriz de 4 registros como la que se muestra a continuación:

Contenido Descripción Descripción

MbusCmd[1] Dirección de esclavo

Esta palabra contiene la dirección del PLC Modbus esclavo. El rango de direcciones permitidas es de 0 a 248. La dirección 0 está reservada para enviar un mensaje Modbus a diversos PLC. Este tipo de transmisión recibe el nombre de modalidad de difusión. La modalidad de difusión admite únicamente los códigos de función Modbus que escriben los datos del PLC maestro a los PLC esclavos. Por el contrario, no admite los códigos de función Modbus que leen los datos procedentes de PLC esclavos.La dirección 248 esta reservada para la comunicación punto a punto en los casos en que no se conozca la dirección del esclavo. No todos los dispositivos admiten esta dirección.

MbusCmd[2] Código de función Modbus

El bloque OUT_IN_MBUS admite los siguientes códigos de función:

01 = lectura de varios bits de salida (0x)02 = lectura de varios bits de entrada (1x)03 = lectura de varios registros de salida (4x)04 = lectura de varios registros de entrada (3x)05 = escritura de un solo bit de salida (0x)06 = escritura de un solo registro de salida (4x)15 = escritura de varios bits de salida (0x)16 = escritura de varios registros de salida (4x)

Nota: Cuando el PLC esclavo es de tipo Premium, todos los bits se convierten en %M, mientras que los registros se convierten en %MW.

176 33002530 07 07/2008

Page 177: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

MbusCmd[3] La tabla siguiente presenta el área de datos del PLC esclavo para MbusCmd[3]. Esta área de datos depende del código de función Modbus utilizado y del tipo de PLC esclavo:

MbusCmd[3] Área de datos del PLC esclavo

En los comandos de lectura, el área de datos del PLC esclavo es el origen de los datos. En los comandos de escritura, el área de datos del PLC esclavo es el destino de los datos. Por ejemplo:

Para leer los bits de salida del 300 al 500 de un PLC esclavo, introduzca 300 en este campo.Para escribir los datos de un PLC maestro en el registro 100 de tipo 4x de un PLC esclavo, introduzca 100 en este campo.

En función del tipo de comando Modbus (lectura o escritura), las áreas de datos de origen y de destino deberán coincidir con las de la siguiente tabla (véase MbusCmd[3], p. 177).

MbusCmd[4] Cantidad Este registro contiene la cantidad de datos de deben escribirse o leerse en el PLC esclavo.Por ejemplo, introduzca 100 para leer 100 registros de salida en el PLC esclavo, o 32 para escribir 32 bits de salida en un PLC esclavo.Existe un límite de tamaño que dependerá del código de función Modbus utilizado y de la modalidad de transmisión (RTU o ASCII). Los valores límite de MbusCmd[4] aparecen detallados en la siguiente tabla (véase MbusCmd[4], p. 178). Este tamaño no es significativo para los códigos de función 5 y 6.Nota: El límite del área de memoria dependerá del dispositivo y de los parámetros del esclavo.

Contenido Descripción Descripción

Código de función Área de datos para dispositivo Modbus estándar

Área de datos para PLC Premium

01 (lectura de varios bits de salida [0x])

0x (origen) %M (origen)

02 (lectura de varios bits de entrada [1x])

1x (origen) %M (origen)

03 (lectura de varios registros de salida [4x])

4x (origen) %MW (origen)

04 (lectura de varios registros de entrada [3x])

3x (origen) %MW (origen)

33002530 07 07/2008 177

Page 178: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

MbusCmd[4] La tabla siguiente presenta el valor límite de MbusCmd[4]. Este valor depende del código de función Modbus utilizado y de la modalidad de transmisión:

05 (escritura de un solo bit de salida [0x])

0x (destino) %M (destino)

06 (escritura de un solo registro de salida [4x])

4x (destino) %MW (destino)

15 (escritura de varios bits de salida [0x])

0x (destino) %M (destino)

16 (escritura de varios registros de salida [4x]).

4x (destino) %MW (destino)

Código de función Área de datos para dispositivo Modbus estándar

Área de datos para PLC Premium

Código de función Modalidad RTU (8 bits)

Modalidad ASCII (7 bits)

01 (lectura de varios bits de salida [0x]) 1.000 500

02 (lectura de varios bits de entrada [1x]) 1.000 500

03 (lectura de varios registros de salida [4x]) 100 50

04 (lectura de varios registros de entrada [3x]) 100 50

05 (escritura de un solo bit de salida [0x]) 1 1

06 (escritura de un solo registro de salida [4x]) 1 1

15 (escritura de varios bits de salida [0x]) 1.000 500

16 (escritura de varios registros de salida [4x]) 100 50

178 33002530 07 07/2008

Page 179: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetro RetryLmt

Definición Este parámetro indica el número de intentos de envío de un mensaje efectuados por el bloque OUT_IN_MBUS hasta la recepción de una respuesta correcta por parte de un dispositivo esclavo (PLC, módem, etc.).

Cuando la respuesta no se estructura completamente en el tiempo indicado, el bloque genera un error y un código de error.

El número de reintentos debe estar comprendido entre 0 y 32.767.

Este campo se utiliza de forma conjunta con RespTout.

33002530 07 07/2008 179

Page 180: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetro DataBits

Definición Los mensajes Modbus pueden enviarse en modalidad ASCII o RTU.

El modo ASCII utiliza 7 bits de datos, mientras que la modalidad RTU utiliza 8. Para enviar mensajes en caracteres RTU, Databits debe tomar el valor 1.

El valor deberá corresponderse con la configuración de la tarjeta de comunicación.

Nota: Para evitar problemas en caso de modificación de la configuración, utilice constantes del sistema de tipo %KWr.m.c.1.8 para inicializar este parámetro.

180 33002530 07 07/2008

Page 181: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetro RespTout

Definición Este parámetro indica el tiempo de espera del bloque OUT_IN_MBUS hasta la recepción de una respuesta correcta por parte de un dispositivo esclavo (PLC, módem, etc.).

Cuando la respuesta no se estructura completamente en el tiempo indicado, el bloque genera un error. Una vez transcurrido este tiempo, el sistema no admitirá ninguna respuesta.

La base de tiempo es de 100 ms. Los valores válidos están comprendidos entre 0 (espera infinita) y 32767.

El timeout empieza la cuenta atrás con el envío del último carácter del mensaje.

33002530 07 07/2008 181

Page 182: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetro MasterDataArea

Definición En los comandos de lectura, el área de datos del PLC maestro será el destino de los datos reenviados por el esclavo.

En los comandos de escritura, el área de datos del PLC maestro es el origen de los datos.

En los códigos de comandos Modbus 1, 2, 5 y 15, la codificación de los bits se lleva a cabo de la forma siguiente:

Los bits de 1 a 16 se almacenan en el primer elemento de la matriz de INT del argumento, siendo el primer bit el menos significativo del elemento.Los bits de 17 a 32 se almacenan en el segundo elemento de la matriz, siendo el bit 17 el menos significativo del elemento.Y así sucesivamente.

De esta forma, para intercambiar 1.000 bits, conviene declarar una matriz de 63 INT (1.000/16 + 8).

Nota: Se puede utilizar una área de datos de tipo entero %MW directamente en el parámetro MasterDataArea (por ejemplo: %MW100:50 designa una matriz de 50 enteros que empieza en la dirección 100).Primero se deberá convertir y volver a copiar una sucesión de elementos de una matriz de bit de tipo %M en una matriz de enteros (INT), según la codificación descrita a continuación.

182 33002530 07 07/2008

Page 183: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetro Status

Definición Este parámetro muestra un código de estado generado por el bloque OUT_IN_MBUS.

La tabla siguiente muestra los diferentes códigos de estado:

Código de estado

Descripción del estado

1 Excepción de Modbus – Función incorrecta

2 Excepción de Modbus – Dirección de datos incorrecta

3 Excepción de Modbus – Valor de datos incorrecto

4 Excepción de Modbus – Error de asiento esclavo

5 Excepción de Modbus – Confirmación

6 Excepción de Modbus – Asiento esclavo ocupado

7 Excepción de Modbus – Confirmación negativa

8 Excepción de Modbus – Error de paridad de memoria

104 La longitud de los datos no puede ser igual a cero.

108 Error indefinido

113 Suma de control LRC del PLC esclavo no válida

114 Suma de control CRC del PLC esclavo no válida

115 Código de función Modbus no válido

116 Timeout de mensaje de respuesta Modbus

124 Estado interno indefinido

125 Modalidad de difusión no permitida por esta función Modbus.

128 Respuesta inesperada procedente del esclavo de Modbus

130 Palabra de comando modificada durante la actividad

131 Número de caracteres incorrecto

200 Dirección de esclavo no comprendida en los límites

201 Error de comunicación con el puerto serie

202 Número binario no válido

203 Cantidad de datos excesiva

204 Área de datos del maestro insuficiente

205 El timeout debe tener un valor positivo.

206 Excepción de Modbus desconocida

207 Acción cancelada por el usuario

208 RetryLmt debe ser positivo.

33002530 07 07/2008 183

Page 184: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

15.3 Instalación del bloque de comunicación OUT_IN_MBUS

Presentación

Objeto Este subcapítulo describe la instalación del bloque de comunicación OUT_IN_MBUS.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Configuración de la conexión serie 185

Procedimiento para programar 188

Uso de un módem 190

184 33002530 07 07/2008

Page 185: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Configuración de la conexión serie

Introducción La utilización del bloque OUT_IN_MBUS requiere una correcta configuración previa de la conexión serie.

Existen dos tipos de parámetros:

Parámetros relativos a la transmisión y configurados desde Unity ProParámetros relativos a la aplicación y cuyo argumento ha pasado a la función

Recuperación de los parámetros de transmisión

La conexión serie de las tarjetas se configura desde Unity Pro. Estos parámetros son:

Velocidad de transmisiónRetardo entre caracteresBits de datosBit de paradaParidad

Para permitir el intercambio de datos entre todos los dispositivos conectados al bus, los parámetros de la conexión serie deben ser idénticos para todos.

La pantalla de configuración que permite introducir los parámetros depende de la configuración de la modalidad nominal.

33002530 07 07/2008 185

Page 186: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetros de transmisión de la modalidad Modbus

La ilustración siguiente representa una pantalla de configuración cuando la modalidad nominal está en modalidad Modbus.

El uso de OUT_IN_MBUS requiere una conmutación dinámica en modalidad de caracteres. En esta modalidad, las condiciones de parada (en caracteres o en silencio) se encuentran desactivadas y no pueden modificarse desde la aplicación. Por lo tanto, la función OUT_IN_CHAR no podrá utilizarse en la modalidad de recepción (parada en timeout). En esta modalidad, sólo podrán usarse las funciones INPUT_CHAR y INPUT_BYTES, para lo que se necesitará un número de caracteres por recibir.

TARJETA PCMCIA RS485 MP

TSX SCP 114/1114 Canal 1

CONEXIÓN JBUS MODBUS

Tarea:

Función:

MAST

Config.

Retardo de respuesta

ms

2 bitsa 1 bit

SinImparPar

Tipo Velocidad de transmisión

Retardo entre caracteres

Paridad

Parada

Retardo RTS/CTS Bucle de corriente (PSR)

Esclavo

Maestro

Multipunto

Número de esclavo

Número de reintentos

Punto a punto x100 ms Portadora de datos (DCD)

9.600 bits/s

4

0

1

Esclavo

x 10 ms

0

1

Predeterminado

RTU (8 bits)ASCII (7 bits)

Datos

Nota: El valor del parámetro de entrada Databit (véase Parámetro DataBits, p. 180) del bloque OUT_IN_MBUS debe corresponderse con el valor seleccionado en la ventana ‘Datos’ de la pantalla de configuración.

186 33002530 07 07/2008

Page 187: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Parámetros de transmisión de la modalidad de caracteres

La ilustración siguiente representa una pantalla de configuración cuando la modalidad nominal está en modalidad de caracteres.

Cuando la configuración de la tarjeta usa la modalidad de caracteres:

Las condiciones de parada (en modalidad de caracteres o silencio) configurables en esta modalidad deben desactivarse para un correcto funcionamiento de OUT_IN_MBUS. Por lo tanto, la función OUT_IN_CHAR no podrá utilizarse en modalidad de recepción (parada en timeout). Sólo podrán usarse en esta modalidad las funciones INPUT_CHAR y INPUT_BYTES, para lo que se necesitará un número de caracteres por recibir.El retardo entre caracteres no puede configurarse. Por lo tanto, es conveniente asegurarse de que el valor de este parámetro en los dispositivos Modbus remotos sea compatible con la configuración de la modalidad de caracteres.

Parámetros relativos a la aplicación

Existen dos parámetros relativos a la aplicación que se transmiten como argumento a la función OUT_IN_MBUS.

Estos parámetros son:

Número de repeticiones (véase Parámetro RetryLmt, p. 179)Retardo de respuesta (véase Parámetro RespTout, p. 181)

TARJETA PCMCIA RS 485 MP

TSX SCP 114/1114 Canal 0

Conexión modalidad de caracteres

Tarea:

Función:

MAST

Config.

9.600 bits/s

2 bitsa 1 bit

Parada

Velocidad de transmisión

8 bits7 bits

Datos

Parada en silencioms1Parada

SinImparPar Paridad

Retardo RTS/STSx100 ms

Portadora de datos (DCD)0Full duplex

(RS422)

Bucle de corriente (PSR)Multipunto Punto a punto

Hardware RTS/CTS

0

Parada al recibir Control de flujo

Hardware RTS/DCDXon/Xoff Ninguno

EcoAl recibir

Reinicio en el primer car.CR -> CR LF

Gestión de señalGestión de retroceso

Carácter 1ParadaCR LFCarácter incluido

0

Carácter 2ParadaCR LFCarácter incluido

Nota: El valor del parámetro de entrada Databit (véase Parámetro DataBits, p. 180) del bloque OUT_IN_MBUS debe corresponderse con el valor seleccionado en la ventana ‘Datos’ de la pantalla de configuración.

33002530 07 07/2008 187

Page 188: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Procedimiento para programar

Procedimiento La tabla siguiente contiene el procedimiento para programar el bloque OUT_IN_MBUS:

Paso Acción Detalles

1 Preparar el puerto de comunicación

Si el puerto serie no se ha configurado en la modalidad de caracteres, cambie la modalidad Modbus del puerto a modalidad de caracteres enviando al puerto serie el comando WRITE_CMD (véase Escritura de palabras de comando en un puerto de comunicación, p. 189).Si se trata de una transmisión de módem, envíe el comando HAYES utilizando el bloque PRINT_CHAR o OUT_IN_CHAR para configurar el módem (véase Uso de un módem, p. 190). En las transmisiones de módem, utilice el comando HAYES para enviar al módem un mensaje de numeración utilizando el bloque PRINT_CHAR o OUT_IN_CHAR. El mensaje de numeración se utiliza para enviar un número de teléfono al módem (véase Uso de un módem, p. 190).

2 Inicializar parámetros

Inicialice los parámetros de entrada del bloque DFB. No es necesario repetir esta operación en cada ciclo del PLC.

3 Llamar al bloque OUT_IN_MBUS

Se debe efectuar una llamada a OUT_IN_MBUS en cada ciclo del PLC hasta que el bit de actividad se ponga a cero.Cuando el bit de actividad esté a cero, se deberá forzar un bit en la condición de llamada para evitar llamadas posteriores.Verifique el bit de error (en caso de error, la palabra de estado exigirá la causa del error).

4 Reinicializar el puerto de comunicación

Si se trata de una transmisión de módem, envíe el comando HAYES para enviar un mensaje de desconexión al módem (véase Uso de un módem, p. 190) utilizando el bloque PRINT_CHAR o OUT_IN_CHAR.Si el puerto se ha conmutado a la modalidad de caracteres (en el paso 1), vuelva a la modalidad inicial del puerto con el comando WRITE_CMD (véase Escritura de palabras de comando en un puerto de comunicación, p. 189).

188 33002530 07 07/2008

Page 189: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Escritura de palabras de comando en un puerto de comunicación

Para enviar un WRITE_CMD a un puerto de comunicación deben seguirse estos pasos:

En el ejemplo (véase Ejemplo de uso del bloque de comunicación OUT_IN_MBUS, p. 192) siguiente, se utiliza la interfaz IODDT correspondiente para comunicar con el canal del puerto serie de comunicación.

Paso Acción

1 Comprobar si existe algún comando en esperaAntes de ejecutar WRITE_CMD, comprobar si existe algún intercambio en proceso que utilice el objeto de lenguaje %MWr.m.c.0. Para actualizar esta palabra, conviene utilizar el bloque READ_STS.

2 Asignar la palabra de comandoA continuación, se deberá modificar el valor del objeto de lenguaje de comandos para ejecutar el comando deseado. En conexiones Modbus, el objeto de lenguaje es la palabra interna %MWr.m.c.15. Por ejemplo, para pasar de la modalidad Modbus a la modalidad de caracteres, %MWr.m.c.15 debe estar en 16#4000 (%MWr.m.c.15.14=1).Nota: Sólo será necesario conmutar un único bit de 0 a 1 antes de transmitir el WRITE_CMD.

3 Enviar el comandoPor último, deberá ejecutarse WRITE_CMD para confirmar el comando.

33002530 07 07/2008 189

Page 190: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Uso de un módem

Descripción Conviene familiarizarse con tres comandos para comunicar los módems telefónicos con los PLC. Estos comandos son:

Inicializar el módemMarcar el númeroDesconectar el módem

Es imprescindible enviar al módem un mensaje de inicialización, y después de marcación, antes de enviarle mensajes ASCII o Modbus.

Una vez realizada la conexión entre los dos módems, se podrá enviar un número ilimitado de mensajes ASCII o de mensajes de Modbus.

Cuando se haya enviado la totalidad de los mensajes, deberá enviar la cadena de desconexión al módem.

Inicializar el módem

El mensaje de inicialización es un mensaje ASCII que contiene 512 caracteres como máximo aunque, por lo general, basta con 50 caracteres para inicializar el módem.

Puede utilizar cualquier comando Hayes AT como componente de la cadena de incialización.

Ejemplo: mensaje Hayes típico de inicialización:

AT&F&K0&Q0&D0V1X0Q0 <CR><LF>

Nota: A fin de simplificar la programación, puede inicializar el módem desde un terminal (por ejemplo: hiperterminal de Windows ) y no utilizar la función OUT_IN_CHAR. Una vez cargados los parámetros en el módem, podrán guardarse en la memoria no volátil con un comando AT, generalmente &W.

190 33002530 07 07/2008

Page 191: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Marcar el número del módem

El mensaje de marcación se utiliza para enviar el número de teléfono al módem.

Sólo se deberá incluir en el mensaje los comandos AT relativos a la marcación.

Ejemplo 1: marcación por frecuencia

AT DT 6800326 <CR><LF>

Ejemplo 2: marcación por pulsos

AT DP 6800326 <CR><LF>

Ejemplo 3: marcación por frecuencia con espera de tono

AT DT W,6800326 <CR><LF>

Desconectar el módem

El mensaje de desconexión se utiliza para desconectar el módem.

Ejemplo 1: mensaje Hayes típico de desconexión:

+++AT H0 <CR><LF>

Nota: El valor de TimeOut debe ser alto puesto que la conexión entre dos módems tarda algún tiempo (por ejemplo, defina el timeout en 3.0000ms). Si el valor es demasiado bajo, se generará un código de estado (véase Parámetro Status, p. 183) 116 desde el bloque OUT_IN_MBUS. Es posible que se necesiten varios intentos antes de encontrar el tiempo óptimo.

Nota: El valor de TimeOut debe ser alto puesto que la desconexión de un módem tarda algún tiempo (por ejemplo, defina el timeout en 30.000ms). Si el valor es demasiado bajo, se generará un código de estado (véase Parámetro Status, p. 183) 116 desde el bloque OUT_IN_MBUS. Es posible que se necesiten varios intentos antes de encontrar el tiempo óptimo.

33002530 07 07/2008 191

Page 192: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

15.4 Ejemplo de uso del bloque de comunicación OUT_IN_MBUS

Presentación

Objeto Este subcapítulo ofrece un ejemplo de uso del bloque de comunicación OUT_IN_MBUS.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Descripción del ejemplo 193

Estructura de programación 194

Declaración de variables 196

Programación 197

192 33002530 07 07/2008

Page 193: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Descripción del ejemplo

Presentación El ejemplo seleccionado corresponde a una aplicación de Modbus mediante módems.

El ejemplo se explica en la ilustración siguiente:

Los dispositivos se comunican entre sí a través de un módem. El supervisor es un maestro de Modbus, mientras que los PLC X e Y son esclavos.

La finalidad del ejemplo consiste en describir los valores de un área de datos del PLC X en Y.

El PLC X debe escribir un área de datos de 41 enteros que empiece con la dirección %MW100 en el PLC Y a partir de %MW100.

Para ello, el PLC X debe definirse como maestro de Modbus. La dirección de Modbus del PLC X es 9, mientras que la de Y es 10.

A fin de simplificar la programación, los módems se inicializan con los parámetros correctos mediante un terminal de programación. Estos parámetros se almacenan en la memoria no volátil con los comandos AT&W.

PSTN

SCADA

X Y

MODEM

Supervisor

X Y

MÓDEM

RTC

33002530 07 07/2008 193

Page 194: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Estructura de programación

Comentarios sobre el procedimiento

La tabla siguiente resume el procedimiento de programación del ejemplo:

Paso n.º Descripción

0 Estado inicial de la función Espera de la puesta a 1 del bit Start_4 para ir al paso 5.

5 Si no existe ningún comando en proceso en el puerto serie, se envía un comando para que dicho puerto pase de la modalidad Modbus a la modalidad de caracteres.Avance hasta el paso 10.

10 Lectura del estado del puerto serie Si se produce un error en el puerto serie:

Error_4 está en -2.avance hasta el paso 65.

Si no se produce ningún error en el puerto serie y la modalidad de caracteres está activa, avance al paso 15.y la modalidad de caracteres no está activa, compruebe el estado del paso a la modalidad de caracteres en 1.000 ciclos. Si, una vez concluidos los 1.000 ciclos, el módem no ha cambiado, Error_4 estará en -1, y se avanza hasta el paso 65.

15 Envío de un comando de numeración al módem a través del bloque PRINT_CHAR y espera de la respuesta a través de INPUT_CHAR.Ir al paso 20.

20 Si el resultado de PRINT_CHAR es correcto, se avanza hasta el paso 25. De lo contrario, se avanza hasta el paso 65 con Error_4 en -3.

25 Si el resultado de INPUT_CHAR es correcto, se avanza hasta el paso 30. De lo contrario, se avanza hasta el paso 65 con Error_4 en -4.

30 Si el módem responde, se avanza hasta el paso 35. De lo contrario, se avanza hasta el paso 65 con Error_4 en -5.

35 Inicialización de los parámetros del bloque OUT_IN_MBUS Avance hasta el paso 40.

40 Llamada al bloque OUT_IN_MBUSSi el bit Active_4 está en 0

y el bit Flag_Error_4 está en 0, avance hasta el paso 45. y el bit Flag_Error_4 está en 1, avance hasta el paso 45 con Error_4 en -6.

45 Envío de un comando de desconexión al módem desde el bloque PRINT_CHARAvance hasta el paso 50.

50 Si el resultado de PRINT_CHAR es correcto, avance hasta el paso 55. De lo contrario, avance hasta el paso 65 con Error_4 definido con el valor 1.

194 33002530 07 07/2008

Page 195: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

55 Si no existe ningún comando en proceso en el puerto serie, se envía un comando para que dicho puerto pase de la modalidad de caracteres a la modalidad Modbus.Avance hasta el paso 60.

60 Lectura del estado del puerto serie Si se produce un error en el puerto serie:

Error_4 esta en 3.avance hasta el paso 65.

Si no se produce ningún error en el puerto serie y se pasa a la modalidad Modbus, avance hasta el paso 65.y no se ha pasado a la modalidad Modbus, compruebe el estado del paso a Modbus en 1.000 ciclos. Si, una vez concluidos los 1.000 ciclos, el módem no ha cambiado, Error_4 estará en -2, y se avanza hasta el paso 65.

65 Regreso al paso 0 (estado inicial de la función) con el bit Start_4 en 0.

Paso n.º Descripción

33002530 07 07/2008 195

Page 196: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Declaración de variables

Presentación En la tabla siguiente se detallan las variables utilizadas:

Variable Tipo Definición

Start_4 BOOL Bit de inicio de la función

Step_4 INT Paso de la función

Error_4 INT Código de error de la función

MngtPrint_4 ARRAY[0..4] of INT

Matriz de parámetros de comunicación para el bloque INPUT_CHAR

MngtInput_4 ARRAY[0..4] of INT

Matriz de parámetros de comunicación para el bloque PRINT_CHAR

ReqString_4 CADENA DE CARACTERES

Comando de una cadena de caracteres al módem

AnsString_4 CADENA DE CARACTERES

Respuesta de una cadena de caracteres del módem

Out_In_Mbus_4 OUT_IN_MBUS Instancia del bloque OUT_IN_MBUS

Adr_4 INT Puerto de comunicación de PLC esclavo

MbusCmd_4[1] INT Código de función Modbus

MbusCmd_4[2] INT Cantidad de datos por leer

MbusCmd_4[3] INT Dirección Modbus del PLC esclavo

MbusCmd_4[4] INT Comienzo del área de datos por leer del esclavo

RetryLmt_4 INT Cantidad de intentos

DataBits_4 INT Modalidad de transmisión (1 para RTU y 0 para ASCII)

RespTout_4 INT Timeout

Retry_4 INT Número de intentos efectuados por el bloque

Active_4 BOOL El valor 1 indica que la operación está en proceso.

Done_4 BOOL El valor 1 indica que la operación ha concluido con éxito.

Flag_Error_4 BOOL El valor 1 indica que se ha producido un error o que la operación actual ha concluido.

Status_4 INT Código de estado generado por el bloque

196 33002530 07 07/2008

Page 197: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Programación

Programación en lenguaje ST

El siguiente ejemplo está programado en lenguaje literal estructurado ST. La sección especializada se encuentra en la tarea maestra (MAST).

(* Function to write %MW100 to %MW140 in slave Y *)(* --------------------------------------------- *)

CASE Step_4 OF

0: (* Inicialización *) IF (Start_4) THEN (* trigger flag *) Error_4 := 0; Step_4 := 5; (* next step *) END_IF;

5: (* Send command to switch serial port from modbus to character mode *)

READ_STS(Ioddt_Pcmcia_0_3_1); (* read serial port status *) IF (Ioddt_Pcmcia_0_3_1.EXCH_STS = 0) THEN (* no active command *) Ioddt_Pcmcia_0_3_1.CONTROL := 16#00; (* reset control word *) SET(Ioddt_Pcmcia_0_3_1.MB_TO_CHAR); (* set MB_TO_CHAR command bit *) WRITE_CMD (Ioddt_Pcmcia_0_3_1); (* send command *) i := 0; (* initialize retry counter *) Step_4 := 10; (* next step *) END_IF;

10: (* Test result of switch command *) READ_STS(Ioddt_Pcmcia_0_3_1); (* read serial port status *) IF (Ioddt_Pcmcia_0_3_1.EXCH_STS = 0) THEN (* command completed *) RESET(Ioddt_Pcmcia_0_3_1.MB_TO_CHAR); (* reset MB_TO_CHAR command bit *)

33002530 07 07/2008 197

Page 198: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

IF (Ioddt_Pcmcia_0_3_1.EXCH_RPT = 0) THEN (* no error *) IF (AND(Ioddt_Pcmcia_0_3_1.PROTOCOL, 16#0F) = 03) THEN (* character mode OK *) Step_4 := 15; (* next step *) ELSE i := i + 1; IF (i > 1000) THEN Error_4 := -1; (* error *) Step_4 := 65; (* next step = end *) END_IF; END_IF; ELSE (* error in sending command to port *) Error_4 := -2; (* error *) Step_4 := 65; (* next step = end *) END_IF; END_IF;

15: (* Send dial command to modem *)

Adr_4 := ADDR('0.3.1.SYS'); (* communication port *) MngtPrint_4[3] := 50; (* timeout *) MngtPrint_4[4] := 16; (* number of bytes to send *) ReqString_4 := 'ATDT0102030405$N'; (* dial message *) PRINT_CHAR(Adr_4, ReqString_4, MngtPrint_4); MngtInput_4[3] := 300; (* timeout *) MngtInput_4[4] := 0; (* number of bytes to send *) INPUT_CHAR(Adr_4, 0, 12, MngtPrint_4, AnsString_4); (* wait modem reply *) Step_4 := 20; (* next step *)

20: (* Test PRINT_CHAR function result *) IF (NOT MngtPrint_4[1].1) THEN IF (MngtPrint_4[2] = 0) THEN Step_4 := 25; (* success : next step *) ELSE Error_4 := -3; (* error *) Step_4 := 65; (* next step = end *) END_IF; END_IF;

198 33002530 07 07/2008

Page 199: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

25: (* Test INPUT_CHAR function result *) IF (NOT MngtPrint_4[1].1) THEN IF (MngtPrint_4[2] = 0) THEN Step_4 := 30; (* success : next step *) ELSE Error_4 := -4; (* error *) Step_4 := 65; (* next step = end *) END_IF; END_IF;

30: (* Test Modem reply *) IF (AnsString_4 = 'CONNECT 9600') THEN Step_4 := 35; (* success : next step *) ELSE Error_4 := -5; (* error *) Step_4 := 65; (* next step = end *) END_IF;

35: (* Initialize OUT_IN_MBUS parameters *) MbusCmd_4[1] := 10; (* slave PLC address *) MbusCmd_4[2] := 16#06; (* Modbus function 16#06 *) MbusCmd_4[3] := 100; (* slave PLC area = %MW100 *) MbusCmd_4[4] := 41; (* quantity of data *) RetryLmt_4 := 2; (* number of retry *) DataBits_4 := %KW0.3.1.1.8; (* 1 = 8 bits -> RTU mode, 0 = 7 bits -> ASCII mode *) RespTout_4 := 300; (* timeout = 30s *) Flag_Error_4 := 0; Step_4 := 40; (* next step *)

40: (* Call OUT_IN_MBUS *) Out_In_Mbus_4 (Adr_4, MbusCmd_4, RetryLmt_4, DataBits_4, RespTout_4, Abort_4, %MW100:41, Retry_4, Active_4, Done_4, Flag_Error_4, Status_4);

IF (NOT Active_4) THEN (* request completed *) IF (NOT Flag_Error_4) THEN (* no error *)

33002530 07 07/2008 199

Page 200: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

Step_4 := 45; (* next step *) ELSE (* error *) Error_4 := -6; (* error *) Step_4 := 45; (* next step *) END_IF; END_IF;

45: (* Hangup modem *) MngtPrint_4[3] := 50; (* timeout *) MngtPrint_4[4] := 9; (* number of bytes to send *) ReqString_4 := '+++ATH0$N'; (* hangup message *) PRINT_CHAR(Adr_4, ReqString_4, MngtPrint_4); Step_4 := 50; (* next step *)

50: (* Test PRINT_CHAR function result *) IF (NOT MngtPrint_4[1].1) THEN IF (MngtPrint_4[2] = 0) THEN (* Success : next step *) Step_4 := 55; ELSE (* End on error *) Error_4 := 1; Step_4 := 65; END_IF; END_IF;

55: (* Send command to switch serial port from Modbus to character mode *) READ_STS(Ioddt_Pcmcia_0_3_1); (* read serial port status *) IF (Ioddt_Pcmcia_0_3_1.EXCH_STS = 0) THEN (* no active command *) Ioddt_Pcmcia_0_3_1.CONTROL := 16#00; (* reset control word *) SET(Ioddt_Pcmcia_0_3_1.CHAR_TO_MB); (* set MB_TO_CHAR command bit *) WRITE_CMD (Ioddt_Pcmcia_0_3_1); (* send command *) i := 0; (* initialize retry counter *) Step_4 := 60; (* next step *) END_IF;

200 33002530 07 07/2008

Page 201: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

60: (* Test result of switch command *) READ_STS(Ioddt_Pcmcia_0_3_1); (* read serial port status *) IF (Ioddt_Pcmcia_0_3_1.EXCH_STS = 0) THEN (* command completed *) RESET(Ioddt_Pcmcia_0_3_1.CHAR_TO_MB); (* reset CHAR_TO_MB command bit *) IF (Ioddt_Pcmcia_0_3_1.EXCH_RPT = 0) THEN (* no error *) IF (AND(Ioddt_Pcmcia_0_3_1.PROTOCOL, 16#0F) = 07) THEN (* Modbus mode OK *) Step_4 := 65; (* next step *) ELSE i := i + 1; IF (i > 1000) THEN Error_4 := 2; (* error *) Step_4 := 65; (* next step *) END_IF; END_IF; ELSE (* error in sending command to port *) Error_4 := 3; (* error *) Step_4 := 65; (* next step *) END_IF; END_IF;

65: (* End *) Start_4 := 0; (* allow new demand *) Step_4 := 0; (* goto waiting state *)

END_CASE;

33002530 07 07/2008 201

Page 202: 95230619 Bloques Comunicaciones Modicon

OUT_IN_MBUS

202 33002530 07 07/2008

Page 203: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

16

PRINT_CHAR: envío de cadenas de caracteres

Presentación

Objetivo En este capítulo se describe la función PRINT_CHAR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 204

Pantalla de entrada asistida 208

Ejemplo de envío de cadenas de caracteres a través de la red Fipway 209

Ejemplo de envío de cadenas de caracteres mediante la conexión serie de procesadores Modicon M340

211

203

Page 204: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

Descripción

Descripción de las funciones

Para PLC Premium, la función PRINT_CHAR se utiliza para enviar una cadena de caracteres de 4 Kbytes como máximo, 120 bytes al puerto de terminal, que debe transmitirse a una conexión de modalidad de caracteres.

Para PLC Modicon M340, la función PRINT_CHAR se utiliza para enviar una cadena de caracteres de 1.024 bytes como máximo.

La cadena de caracteres puede estar contenida en una variable estática (Ver Unity Pro, Lenguajes y estructura del programa, Manual de referencia, Instancias de tipos de datos) o definida en forma de valor inmediato (serie de bytes entre apóstrofes, por ejemplo, 'Mensaje que se va a enviar').

Estas cadenas de caracteres pueden contener caracteres especiales, y deben empezar por el carácter $ seguido del valor hexadecimal del carácter que se va a enviar, por ejemplo $0D.

Pueden utilizarse algunos caracteres especiales (Ver Unity Pro, Lenguajes y estructura del programa, Manual de referencia, Tipo de datos elementales (EDT) con formato de cadena de caracteres), como por ejemplo:

$R = CR (retorno de carro), $L = LF (salto de línea), $N = CR+LF.

Pueden configurarse los parámetros adicionales EN y ENO.

Representación FBD

Representación:

ADR

GESTGESTEMIS

Management_ParamManagement_ParamString_to_Send

PRINT_CHAR

Address

204 33002530 07 07/2008

Page 205: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

Representación LD

Representación:

Representación IL

Representación:

Dirección LDPRINT_CHAR String_to_Send, Management_Param

Representación ST

Representación:

PRINT_CHAR(Address, String_to_Send, Management_Param);

Descripción de parámetros

En la siguiente tabla se describen los parámetros de entrada:

ADR

GESTGEST

EMIS

Management_ParamManagement_Param

String_to_Send

PRINT_CHAR

Address

ENOEN

Parámetro Tipo Comentario

Dirección ARRAY [0...5] OF INT para PLC PremiumARRAY [0...7] OF INT para PLC Modicon M340

Las instrucciones siguientes sólo son válidas para PLC Premium:

La función ADDR proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.Únicamente las direcciones que acaban en SYS son posibles (por ejemplo: puerto de terminal del procesador 0.0.0.SYS).

Las instrucciones siguientes sólo son válidas para PLC Modicon M340:

La función ADDM proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.La sintaxis de la dirección es del tipo ADDM (‘r.m.c.node’). Asiento es un campo opcional que puede ser SYS o estar vacío (por ejemplo, ADDM(‘0.0.0.SYS’) es igual a ADDM(‘0.0.0’).

33002530 07 07/2008 205

Page 206: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

En la tabla siguiente se describen los parámetros de entrada/salida:

String_to_Send STRING Cadena de caracteres para enviar. Está enclavada en una cadena de caracteres o se proporciona como valor inmediato.

Nota: Debe incluirse esta cadena de caracteres, incluso si no existen datos para enviar.

Parámetro Tipo Comentario

Management_Param ARRAY [0...3] OF INT

Tabla de palabras utilizada para gestionar el intercambio (véase Estructura de los parámetros de gestión, p. 35).En PLC Modicon M340, existe un nuevo bit de cancelación disponible en la palabra de rango 1 de la tabla de gestión de intercambio.Este bit de cancelación se encuentra ubicado en la palabra 1 de rango, que consta de dos bytes:

Byte de mayor valor: número de intercambio.Byte de menor valor: bit de actividad (rango 0) y bit de cancelación (rango 1).

La EF PRINT_CHAR puede anularse mediante la EF CANCEL, o estableciendo en 1 el bit de cancelación de la tabla de gestión (Ver Modicon M340 con Unity Pro, Conexión serie, Manual del usuario, Funciones de comunicación en modalidad de caracteres).

Parámetro Tipo Comentario

206 33002530 07 07/2008

Page 207: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

Normas de programación

En la cadena que se va a transmitir, los caracteres especiales van precedidos del carácter $. Los caracteres $ no los transmite el emisor; por lo tanto, no deben confirmarse durante la inicialización del parámetro de longitud.

Los espacios entre dos caracteres se contabilizan con un byte.

Del mismo modo, en el ejemplo PRINTING IN PROGRESS$L$R, la longitud de los datos que se van a emitir es de 22 bytes.

En PLC Premium, son necesarios varios ciclos de PLC para enviar una cadena de caracteres de más de 240 bytes (la cadena está fragmentada). Por tanto, es importante asegurarse de que no se modifiquen los datos de gestión durante el procesamiento de la función. El sistema transmite la cadena de forma coherente en varios fragmentos, pero no prohíbe la transmisión de otra cadena de caracteres entre dos fragmentos.

En PLC Modicon M340, es necesario un ciclo de PLC para enviar una cadena de caracteres de una longitud máxima de 1.024 bytes. Por ello, es importante asegurarse de que no se modifiquen los datos de gestión durante el procesamiento de la función.

El puerto serie del PLC Modicon M340 es dúplex completo, por lo que es posible enviar una función PRINT_CHAR, incluso si se ha enviado una función INPUT_CHAR y todavía está pendiente.

Nota: Para enviar cadenas de caracteres que contienen el final de los caracteres de cadena (cero), es necesario:

utilizar CADENAS localizadas,inicializar la última palabra de la tabla de gestión de intercambio con el número de caracteres que deben enviarse. Si inicializa la palabra con el valor 0, la cadena que se envía se detendrá en el primer carácter Cero que encuentre. Si inicializa la palabra con un valor, la longitud de la cadena de caracteres enviada será igual a este valor.

33002530 07 07/2008 207

Page 208: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

Pantalla de entrada asistida

Presentación Para esta función de comunicación, puede solicitar la pantalla de entrada asistida. Tenga en cuenta que la pantalla de entrada asistida no está disponible para Modicon M340.

Ilustración La pantalla siguiente muestra un ejemplo de la pantalla de entrada asistida de la función:

Dirección Para PLC Premium, el tipo de objeto posible es el siguiente:

ADDR(STRING).ARRAY [0..5] OF INT.

Cadena para enviar

La cadena que se va a enviar es una variable de tipo STRING o un valor inmediato. En caso de seleccionar una variable de tipo STRING, el campo de valor desaparece.

Informe El informe es una matriz de cuatro enteros, que puede o no localizarse.

Nota: Los símbolos de variable se aceptan en los diferentes campos de la pantalla.

PRINT_CHAR

Dirección: ? Parámetros

Tipos posibles: Matriz de enteros constantes, matriz de enteros (n>=6)Dirección ADDR(‘..’)

Aceptar Cancelar

Informe:

...

...

Variable:

Cadena para

Valor:...

Nota: Si introduce un valor directamente en un campo, el botón de entrada de dirección asistida se vuelve gris.

Nota: Tenga cuidado de no utilizar varias áreas de memoria idénticas para las tablas de informes; de lo contrario, la función de lectura de variables podría no funcionar.

208 33002530 07 07/2008

Page 209: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

Ejemplo de envío de cadenas de caracteres a través de la red Fipway

Presentación Supongamos que desea enviar una cadena de caracteres a un terminal de visualización conectado a una conexión integrada del módulo TSX SCY 21601 de un PLC con una dirección de red de 20, estación 3. El módulo TSX SCY 21601 está ubicado en el slot 2 del bastidor base.

La tabla de gestión se encuentra en %MW110:4 y la cadena que se va a enviar está ubicada en la variable Str_1.

Ilustración Las dos estaciones se conectan a través de una red Fipway.

TSX Premium

Fipway{20.1}

{20.3}

TSX Micro

33002530 07 07/2008 209

Page 210: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

Transmisión Programación en ST:

SI RE(%I0.3.6) Y NO %MW110.0 ENTONCES PRINT_CHAR(ADDR(’{20.3}0.2.0.SYS’),Str_1,%MW110:4);END_IF;

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.3}0.2.0.SYS’)

{20.3}: red 20, estación 30: bastidor2: módulo0: canal 0SYS: dirección de sistema

Str_1 Cadena de caracteres para enviar, la variable Str_1 es del tipo STRING.

%MW110:4 Tabla de gestión

Nota: Cada vez que la función se inicia, inicialice el parámetro de longitud (en el ejemplo: %MW113) con el valor correspondiente al número de caracteres (en bytes) para enviar a Str_1.

210 33002530 07 07/2008

Page 211: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

Ejemplo de envío de cadenas de caracteres mediante la conexión serie de procesadores Modicon M340

Presentación Imagine que desea enviar una cadena de caracteres a un terminal de entrada/visualización de datos compacto conectado a un puerto serie del procesador Modicon M340.

La tabla de gestión se encuentra en %MW110:4 y la tabla que se va a enviar está ubicada en la variable caract.

Ilustración Un PLC Modicon M340 está conectado a un terminal de entrada/visualización de datos TM8501:

Transmisión Programación en ST:

SI (%M16) ENTONCES PRINT_CHAR(ADDM(’0.0.0’),caract,gestion);END_IF;

Parámetros de petición:

BMX P34 2010 Processor

TM8501 Terminal

Parámetros Descripción

ADDM(’0.0.0’) 0: bastidor0: módulo0: canal 0SYS: dirección del sistema (opcional en los PLC Modicon M340)

caract Cadena de caracteres para enviar, variable caract.

gestion Tabla de gestión

Nota: Cada vez que la función se inicia, inicialice el parámetro de longitud (por ejemplo: %MW113 si la tabla de gestión está ubicada de %MW110 a %MW113) con el valor correspondiente al número de caracteres (en bytes) para enviar a caract.

33002530 07 07/2008 211

Page 212: 95230619 Bloques Comunicaciones Modicon

PRINT_CHAR

212 33002530 07 07/2008

Page 213: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

17

RCV_TLG: recepción de telegramas

Presentación

Objetivo En este capítulo se describe la función RCV_TLG.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 214

Ejemplo de cómo recibir un telegrama 216

213

Page 214: 95230619 Bloques Comunicaciones Modicon

RCV_TLG

Descripción

Descripción de las funciones

La función RCV_TLG se utiliza para leer datos de tipo telegrama desde una aplicación remota.

Los datos recibidos deben tener una longitud máxima de 16 bytes. Al contrario que las otras funciones de comunicación, esta función de procesa inmediatamente (sincronizada). Por tanto, no hay bit de actividad ni parámetros de timeout.

Como consecuencia de esto, la tabla de enteros asignada a los parámetros de gestión utiliza solo dos palabras en lugar de cuatro (los números de intercambio y timeout no son necesarios).

Se pueden configurar los parámetros adicionales EN y ENO.

Representación FBD

Representación:

Representación LD

Representación:

Nota: Esta función puede utilizarse en Fipway en el procesador únicamente, y para las estaciones 0 a 15.

RCV_TLG

ADR

GESTGEST Management_ParamManagement_ParamReceived_DataAddress

RECP

ADR

GESTGEST

RECP

Management_ParamManagement_Param

RCV_TLG

ENOEN

Received_Data

Address

214 33002530 07 07/2008

Page 215: 95230619 Bloques Comunicaciones Modicon

RCV_TLG

Representación IL

Representación:

LD Management_ParamRCV_TLG Address, Received_Data

Representación ST

Representación:

RCV_TLG(Management_Param, Address, Received_Data);

Descripción de parámetros

En la tabla siguiente se describen los parámetros de entrada/salida:

En la tabla siguiente, se describen los parámetros de salida:

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 1] OF INT

Tabla de palabras utilizadas para gestionar el intercambio. Esta tabla está compuesta de 2 palabras: la palabra del informe y la palabra que indica la cantidad de datos recibidos (en número de bytes). El informe incluye:

el informe de funcionamiento (byte de mayor valor de la primera palabra),el informe de comunicación (byte de menor valor de la primera palabra).

El informe de comunicación utiliza uno de los valores siguientes:

16#00 : intercambio correcto,16#05 : parámetros de gestión incorrectos,16#06 : parámetros específicos incorrectos,16#09 : tamaño del búfer de recepción insuficiente,16#0B: sin recursos de sistema,16#0D: no se ha recibido ningún telegrama,16#10 : módulo de red ausente,16#0F: servicio de telegrama sin configurar.

Parámetro Tipo Comentario

Dirección INT Dirección de la entidad que transmite el telegrama al final del intercambio.

El byte de menor valor corresponde al número de red hexadecimal.El byte de mayor valor corresponde al número de estación hexadecimal.

Received_Data ARRAY [n... m] OF INT

Búfer de recepción. Tabla de enteros que contiene los datos recibidos.Esta tabla debe tener una longitud máxima de 8 enteros (16 bytes).

33002530 07 07/2008 215

Page 216: 95230619 Bloques Comunicaciones Modicon

RCV_TLG

Ejemplo de cómo recibir un telegrama

Presentación Supongamos que desea recibir un telegrama de ocho palabras (16 bytes) de una aplicación remota en una red Fipway.

Ilustración Las dos estaciones se conectan a través de una red Fipway.

Programación Programación en ST:

SI RE(%I0.3.11) ENTONCES RCV_TLG(%MW200:2, %MW300,%MW310:8);END_IF;

Parámetros de petición:

TSX Premium

Fipway{20.3}

{20.1}

TSX Micro

Parámetros Descripción

%MW200:2 Tabla de gestión

%MW300 Contiene la dirección del remitente al final del intercambio

%MW310:8 Contenido del telegrama recibido

Nota: Cuando una función RCV_TLG se programa en una tarea de eventos, no se puede utilizar en las tareas MAST o FAST.Para ejecutar esta función de forma sincronizada, es necesario comprobar el informe de funcionamiento inmediatamente después de la línea del programa que activa la ejecución de esta función.

216 33002530 07 07/2008

Page 217: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

18

READ_ASYN: lectura asíncrona de datos

Descripción

Descripción de la función

La función READ_ASYN permite leer 1 Kbyte de datos por el canal de mensajería asincrónica de los acopladores TSX ETY en modo TCP/IP.

Los datos a los que se puede acceder en lectura son los siguientes:

Bits internos ypalabras internas.

La lectura asincrónica sólo se puede llevar a cabo entre dos estaciones del mismo segmento de red Ethernet TCP/IP.

La función READ_ASYN se emite al final de la tarea MAST, únicamente si ésta se encuentra configurada en modo periódico. Es posible activar ocho funciones al mismo tiempo.

El principio de funcionamiento es idéntico al de la función WRITE_ASYN (véase Principio de los intercambios, p. 292).

El tamaño de los búferes de emisión y de recepción se expresa en palabras. Es de 512 palabras, es decir, 1024 bytes.

Los parámetros adicionales EN y ENO se pueden configurar.

Nota: La función de servidor asincrónico es compatible con los protocolos UNI-TE V2.0 o V1. La función READ_ASYN utiliza el protocolo UNI-TE V2.0.

217

Page 218: 95230619 Bloques Comunicaciones Modicon

READ_ASYN

Representación en FBD

Representación:

Representación en LD

Representación:

Representación en IL

Representación:

LD AddressREAD_ASYN Object_Type, First_Object, Object_Number, Management_Param, Receiving_Array

Representación en ST

Representación:

READ_ASYN(Address, Object_Type, First_Object, Object_Number, Management_Param, Receiving_Array);

RECPADR

GESTGEST

OBJ

NBManagement_ParamManagement_Param

READ_ASYN

Address Receiving_ArrayObject_TypeFirst_Object

Object_NumberNUM

Management_ParamManagement_Param

READ_ASYN

Address Receiving_Array

Object_Type

First_Object

Object_Number

ENOEN

RECPADR

GESTGEST

OBJ

NB

NUM

218 33002530 07 07/2008

Page 219: 95230619 Bloques Comunicaciones Modicon

READ_ASYN

Descripción de los parámetros

En la siguiente tabla se describen los parámetros de entrada:

En la siguiente tabla se describen los parámetros de entrada/salida:

En la siguiente tabla se describen los parámetros de salida:

Parámetro Tipo Comentario

Address ARRAY [0.. 5] OF INT

Dirección de la entidad de destino del intercambio. Las direcciones son de tipo: ADDR(’{Red.Estación}SYS.

Object_Type CADENA DE CARACTERES

Tipo de objetos que se van a leer: ’%M’: bits internos,’%MW’: palabras internas,’%S’: bits de sistema y’%SW’: palabras de sistema.

First_Object DINT Índice del primer objeto que se va a leer:

Object_Number INT Número de objetos que se van a leer.

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión del intercambio (véase Estructura de los parámetros de gestión, p. 35)

Parámetro Tipo Comentario

Receiving_Array ARRAY [n... m] OF INT

Tabla de palabras que contiene el valor de los objetos leídos.

33002530 07 07/2008 219

Page 220: 95230619 Bloques Comunicaciones Modicon

READ_ASYN

220 33002530 07 07/2008

Page 221: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

19

READ_GDATA: lectura de datos globales Modbus Plus

Descripción

Descripción de la función

La función READ_GDATA permite leer los datos compartidos, llamados también datos globales en una red Modbus Plus.

Los datos globales se comparten entre un máximo de 64 estaciones de una misma red Modbus Plus. Cada estación puede escribir hasta 32 enteros que pueden utilizar todas las estaciones de la red. A su vez, cada estación puede leer los 32 (como máximo) enteros de cada estación de la red.

Los parámetros adicionales EN y ENO se pueden configurar.

Representación en FBD

Representación:

Representación en LD

Representación:

RECPADRGESTGEST Management_ParamManagement_Param

READ_GDATA

Address Receiving_Array

RECPADR

GESTGEST Management_ParamManagement_Param

READ_GDATA

Address Receiving_Array

ENOEN

221

Page 222: 95230619 Bloques Comunicaciones Modicon

READ_GDATA

Representación en IL

Representación:

LD AddressREAD_GDATA Management_Param, Receiving_Array

Representación en ST

Representación:

READ_GDATA (Address, Management_Param, Receiving_Array);

Descripción de los parámetros

En la siguiente tabla se describen los parámetros de entrada:

En la siguiente tabla se describen los parámetros de entrada/salida:

En la siguiente tabla se describen los parámetros de salida:

Parámetro Tipo Comentario

Address ARRAY [0.. 5] OF INT

Dirección de la entidad de destino del intercambio. Esta dirección se inicializa, antes del intercambio, con el valor del nodo al que se conecta la estación cuyos datos globales se desean conocer.

Ejemplo de dirección: ADDR(’0.0.1.10’) corresponde a la estación conectada al nodo 10 de la red. Las tres primeras cifras, 0.0.1, corresponden a la dirección de la vía, tarjeta PCMCIA Modbus Plus de Premium.

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión del intercambio (véase Estructura de los parámetros de gestión, p. 35). No es necesario inicializar el parámetro de longitud antes del inicio del intercambio. Al finalizar este intercambio, el parámetro de longitud (la cuarta palabra) contiene el número de bytes de los que constan los datos generados por la estación especificada en la dirección.

Parámetro Tipo Comentario

Receiving_Array ARRAY [n... m] OF INT

Tabla de palabras que contiene el valor de los objetos leídos.

222 33002530 07 07/2008

Page 223: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

20

READ_REG: lectura de registro

Descripción general

Introducción En este capítulo se describe el bloque READ_REG.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 224

Tipos de datos derivados 227

Modo de funcionamiento 228

Descripción de los parámetros 229

223

Page 224: 95230619 Bloques Comunicaciones Modicon

READ_REG:

Descripción

Descripción de funciones

Con cada flanco ascendente en la entrada REQ, este bloque de función lee un área de registro de un slave direccionado a través de Modbus Plus, Ethernet TCP/IP o Ethernet SY/MAX.

Como parámetros adicionales se pueden configurar EN y ENO.

Representación en FBD

Representación:

Nota: Para programar la función READ_REG debe conocer los procedimientos de acceso utilizados en la red. La descripción detallada de las estructuras de ruta de acceso Modbus Plus se encuentra en "Modbus Plus Network Planning and Installation Guide". En el caso de que se implemente la ruta de acceso de Ethernet TCP/IP o SY/MAX, se deberán utilizar los productos estándar de ruta de acceso de Ethernet-IP. La descripción detallada de las rutas de acceso TCP/IP figura en el "Manual de usuario sobre la configuración de Quantum con Unity Pro TCP/IP".

Nota: En el programa puede utilizar diversos ejemplares de este bloque de función. No obstante, no es posible instanciar estos ejemplares de forma múltiple.

SetAfterReadingNewData

READ_REG

StartReadOnceOffsetAddress

NumberOfRegistersDataStructure

SetInCaseOfErrorRegisterToReadErrorCode

READ_REG_Instance

NDRERROR

REG_READSTATUS

REQSLAVEREGNO_REGADDRFLD

224 33002530 07 07/2008

Page 225: 95230619 Bloques Comunicaciones Modicon

READ_REG:

Representación en LD

Representación:

Representación en IL

Representación:

CAL READ_REG_Instance (REQ:=StartReadOnce, SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, ADDRFLD:=DataStructure, NDR=>SetAfterReadingNewData, ERROR=>SetInCaseOfError, REG_READ=>RegisterToRead, STATUS=>ErrorCode)

Representación en ST

Representación:

READ_REG_Instance (REQ:=StartReadOnce, SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, ADDRFLD:=DataStructure, NDR=>SetAfterReadingNewData, ERROR=>SetInCaseOfError, REG_READ=>RegisterToRead, STATUS=>ErrorCode) ;

StartReadOnceENOEN

SetAfterReadingNewData

READ_REG

SetInCaseOfErrorNDR

ERROR

REQ

READ_REG_Instance

REG_READ RegisterToRead

STATUS ErrorCode

OffsetAddress SLAVEREG

NumberOfRegisters NO_REG

DataStructure ADDRFLD

33002530 07 07/2008 225

Page 226: 95230619 Bloques Comunicaciones Modicon

READ_REG:

Descripción de los parámetros

Descripción de los parámetros de entrada

Descripción de los parámetros de salida

Error de ejecución

Para obtener una lista de todos los códigos y los valores de error del módulo, consulte Extendido, p. 406.

Parámetro Tipo de datos Significado

REQ BOOL Con cada flanco ascendente en la entrada REQ, este bloque de función lee un área de registro de un slave direccionado a través de Modbus Plus, Ethernet TCP/IP o Ethernet SY/MAX.

SLAVEREG DINT Dirección de la primera dirección %MW en el slave desde el que se debe leer.

NO_REG INT Número de direcciones que se deben leer desde el slave.

ADDRFLD WordArr5 Estructura de datos para la descripción de la dirección Modbus Plus, TCP/IP o SY/MAX-IP.

Parámetro Tipo de datos Significado

NDR BOOL Ajustado a "1" durante un ciclo cuando se han leído datos nuevos.

ERROR BOOL Ajustado a "1" durante un ciclo cuando se produce un error.

STATUS WORD En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.Para código de error, consulte:

Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

REG_READ ANY Datos que se van a leer.(Se debe declarar una estructura de datos como Located Variable para los datos que se van a leer).

226 33002530 07 07/2008

Page 227: 95230619 Bloques Comunicaciones Modicon

READ_REG:

Tipos de datos derivados

Descripción de elementos para WordArr5 en Modbus Plus

Descripción de elementos para WordArr5 en Modbus Plus:

Descripción de elementos para WordArr5 con TCP/IP Ethernet

Descripción de elementos para WordArr5 con TCP/IP Ethernet

Descripción de elementos para WordArr5 con SY/MAX Ethernet

Descripción de elementos para WordArr5 con SY/MAX Ethernet:

Elemento Tipo de datos Descripción

WordArr5[1] WORD Byte de menor valor:El registro de rutas de acceso 1 se utiliza para la especificación (direcciones de rutas de acceso de uno a cinco) del asiento durante la transferencia mediante red.El último byte de la ruta de acceso distinto de cero es el asiento de destino.Byte de mayor valor:Slot del módulo del adaptador de red (NOM), si existe.

WordArr5[2] WORD Registro de rutas de acceso 2

WordArr5[3] WORD Registro de rutas de acceso 3

WordArr5[4] WORD Registro de rutas de acceso 4

WordArr5[5] WORD Registro de rutas de acceso 5

Elemento Tipo de datos Descripción

WordArr5[1] WORD Byte de menor valor:MBP en el índice de asignación Ethernet Transporter (MET)Byte de mayor valor:Slot del módulo NOE (16#FE si Ethernet está integrada en la CPU)

WordArr5[2] WORD Byte 4 (MSB) de la dirección IP de 32 bits de destino

WordArr5[3] WORD Byte 3 (MSB) de la dirección IP de 32 bits de destino

WordArr5[4] WORD Byte 2 (MSB) de la dirección IP de 32 bits de destino

WordArr5[5] WORD Byte 1 (LSB) de la dirección IP de 32 bits de destino

Elemento Tipo de datos Descripción

WordArr5[1] WORD Byte de menor valor:MBP en el índice de asignación Ethernet Transporter (MET)Byte de mayor valor:Slot del módulo NOE

WordArr5[2] WORD Número de estación de destino (o fijar en FF hex)

WordArr5[3] WORD Terminador (fijado en FF hex)

WordArr5[4] WORD Sin significado

WordArr5[5] WORD Sin significado

33002530 07 07/2008 227

Page 228: 95230619 Bloques Comunicaciones Modicon

READ_REG:

Modo de funcionamiento

Modo de funcionamiento de los bloques READ_REG

Se puede programar un gran número de bloques de función READ_REG, pero solamente pueden estar activas cuatro operaciones de lectura al mismo tiempo. En este caso, no tiene importancia si dichas operaciones se realizan por medio de este bloque de función u otros (p. ej. MBP_MSTR o CREAD_REG). Todos los bloques de función emplean una ruta de transacción de datos y necesitan varios ciclos para completar una orden.

La información de acceso completa está incluida en la estructura de datos WordArr5 de la entrada ADDRFLD. El tipo del bloque de función conectado a esta entrada se orienta de acuerdo con la red utilizada.

Utilice:El bloque de función ModbusP_ADDR para Modbus Plus.El bloque de función TCP_IP_ADDR para Ethernet TCP/IP.El bloque de función SYMAX_IP_ADDR para Ethernet SY/MAX.

Nota: La comunicación TCP/IP entre un autómata Quantum (NOE 211 00) y un autómata Momentum (todas las CPU TCP/IP y todos los módulos de E/S TCP/IP) sólo es posible cuando en cada ciclo del autómata únicamente se lleva a cabo una orden de escritura o de lectura. Si se envían varias órdenes por cada ciclo del autómata, la comunicación permanece estancada, sin generar ningún mensaje de error en el registro de estado del bloque de función.

Nota: La estructura de datos WordArr5 también se puede utilizar con constantes.

228 33002530 07 07/2008

Page 229: 95230619 Bloques Comunicaciones Modicon

READ_REG:

Descripción de los parámetros

REQ Un flanco ascendente inicia la transacción de lectura.

El parámetro se puede indicar como dirección directa, Located Variable, Unlocated Variable o literal.

SLAVEREG Principio del área en el slave direccionado en la que se leen los datos de origen. El área de origen se encuentra siempre dentro del área del rango de direcciones %MW.

NO_REG Número de direcciones que se deben leer desde el slave direccionado (1 a 100).

El parámetro se puede indicar como dirección directa, Located Variable, Unlocated Variable o literal.

NDR La transición a estado ON durante un ciclo de programa implica la recepción datos nuevos que están dispuestos para ser procesados.

El parámetro se puede indicar como dirección directa, Located Variable o Unlocated Variable.

ERROR La transición a estado ON durante un ciclo de programa implica que se ha descubierto un nuevo error.

El parámetro se puede indicar como dirección directa, Located Variable o Unlocated Variable.

REG_READ Para este parámetro se debe definir una matriz (ARRAY) del tamaño del envío requerido (≥ NO_REG). El nombre de esta matriz se transferirá como parámetro. Si se define una matriz demasiado pequeña, sólo se transferirá la cantidad de datos que tenga cabida en la matriz.

El parámetro se debe indicar como Located Variable.

Nota: Para slaves de un PLC que no sea Unity Pro:El área de origen se encuentra siempre dentro del área de registro 4x. SLAVEREG espera la dirección de origen como offset dentro del área 4x. El "4" de la izquierda no se tiene en cuenta (p. ej. 59 (contenido de las variables o valor del literal) = 40059).El parámetro se puede indicar como dirección directa, Located Variable, Unlocated Variable o literal.

33002530 07 07/2008 229

Page 230: 95230619 Bloques Comunicaciones Modicon

READ_REG:

STATUS En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.

Para código de error, consulte:Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

El parámetro se puede indicar como dirección, Located variable o Unlocated variable.

230 33002530 07 07/2008

Page 231: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

21

READ_VAR: lectura de variables

Presentación

Objetivo En este capítulo se describe la función de comunicación READ_VAR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 232

Pantalla de entrada asistida 237

Ejemplo de utilización en un bus Uni-Telway 239

Ejemplo de bits de lectura 241

Ejemplo de uso en una red 243

Ejemplo de lectura de palabras a través de la conexión serie de procesadores Modicon M340

245

Ejemplo de comprobación de ejecución 247

231

Page 232: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Descripción

Descripción de la función

La función READ_VAR se utiliza para leer el valor de uno o más objetos de lenguaje:

Bits internosPalabras internas

Los objetos de lectura deben ser siempre consecutivos. Pueden estar ubicados en una CPU remota o en un dispositivo conectado a un canal de comunicación.

En los PLC Modicon M340, la función READ_VAR puede leer hasta 2000 bits consecutivos en un dispositivo remoto.

En los PLC Premium, la función READ_VAR puede leer hasta 1000 bits consecutivos en un dispositivo remoto, independientemente del dispositivo o del protocolo utilizado (Uni-Telway o Modbus/Jbus).

Se pueden configurar los parámetros adicionales EN y ENO.

Nota: Sólo en el caso de los PLC Premium, la lectura de más de 1000 bits requiere el uso de la función SEND_REQ.

Compatibilidad de datos intercambiadosLas alineaciones de la estructura de datos no son las mismas para Premium/Quantum y M340, así que compruebe que los datos intercambiados son compatibles. Consulte las reglas de asignación en la página de reglas de asignación DDT (Ver Unity Pro, Lenguajes y estructura del programa, Manual de referencia, DDT: Normas de asignación).

Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daños en el equipo.

ADVERTENCIA

232 33002530 07 07/2008

Page 233: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Representación en FBD

Representación:

Representación en LD

Representación:

Representación en IL

Representación:

LD AddressREAD_VAR Object_Type, First_Object, Object_Number, Management_Param, Receiving_Array

Representación en ST

Representación:

READ_VAR(Address, Object_Type, First_Object, Object_Number, Management_Param, Receiving_Array);

RECPADR

GESTGEST

OBJNUM

Management_ParamManagement_Param

READ_VAR

Address Receiving_ArrayObject_TypeFirst_Object

Object_Number NB

RECPADR

GESTGEST

OBJ

NUM

NB

Management_ParamManagement_Param

READ_VAR

Address Receiving_Array

Object_Type

First_Object

Object_Number

ENOEN

33002530 07 07/2008 233

Page 234: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Descripción de parámetros

En la siguiente tabla se describen los parámetros de entrada:

Parámetro Tipo Comentario

Address ARRAY [0.. 5] OF INT para PremiumARRAY [0.. 7] OF INT para Modicon M340

Las instrucciones siguientes sólo son válidas para PLC Premium:

La función ADDR proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.Dirección de la entidad de destino del intercambio. Las direcciones siguientes están prohibidas:

{Red.Estación}APP,{Red.Estación}APP.núm.

Las instrucciones siguientes sólo son válidas para PLC Modicon M340:

La función ADDM proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.La sintaxis de la dirección es del tipo ADDM ('r.m.c.nodo').

Object_Type STRING Tipo de objetos de lectura para PLC Premium: ’%M’: Bits internos’%MW’: Palabras internas’%S’: Bits de sistema’%SW’: Palabras de sistema

Tipo de objetos de lectura para PLC Modicon M340:

’%M’: Bits internos’%MW’: Palabras internas

First_Object DINT Índice del primer objeto que se va a leer.

Object_Number INT Número de objetos que se van a leer.

234 33002530 07 07/2008

Page 235: 95230619 Bloques Comunicaciones Modicon

READ_VAR

En la siguiente tabla se describen los parámetros de entrada/salida:

En la siguiente tabla se describen los parámetros de salida:

Normas de uso Los tipos de objetos deben introducirse de forma coherente. Las entradas deben escribirse todas en minúsculas o en mayúsculas; de lo contrario, la función devuelve un informe igual a 16#06 (parámetros específicos incorrectos).

En el caso de los PLC Micro, Premium o Atrium que reciben la función READ_VAR, el acceso de sólo lectura a los bits internos tiene las particularidades siguientes:

El valor de forzado de los bits se devuelve en la respuesta.Como consecuencia, la lectura de un bit constituye dos bytes de respuesta:

El primero contiene el valor de los 8 bits desde el bit solicitado.El segundo indica si dichos bits se han forzado.

Para leer uno de los últimos 8 bits de la memoria, es necesario leerlos todos ya que, de lo contrario, la función devuelve un informe de operación 16#01. Esta particularidad se presenta también en los PLC Modicon M340.

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión de intercambio (véase Estructura de los parámetros de gestión, p. 35) En los PLC Modicon M340, existe un nuevo bit de cancelación disponible en la palabra de rango 1 de la tabla de gestión de intercambio.Este bit de cancelación se encuentra ubicado en la palabra de rango 1, que consta de 2 bytes:

Byte más significativo: Número de intercambioByte menos significativo: Bit de actividad (rango 0) y bit de cancelación (rango 1)

La EF READ_VAR puede anularse con CANCEL EF o estableciendo en 1 el bit de cancelación de la tabla de gestión (Ver Modicon M340 con Unity Pro, Conexión serie, Manual del usuario, Servicios admitidos por un procesador maestro de conexión Modbus).

Parámetro Tipo Comentario

Receiving_Array ARRAY [n... m] OF INT

Tabla de palabras que contiene el valor de los objetos leídos.

Nota: Se debe reservar espacio para los bytes de indicación de forzado en la tabla de recepción; de lo contrario, se enviará en el informe un código de error 16#03.

Nota: En el caso de los PLC Modicon M340, las funciones READ_VAR y WRITE_VAR no pueden acceder a los bits forzados, ya que el protocolo Modbus no admite esta acción.

33002530 07 07/2008 235

Page 236: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Transacciones simultáneas

En la tabla siguiente se detallan las capacidades de cada canal de comunicación para procesar transacciones de forma simultánea, de acuerdo con las distintas configuraciones de los PLC Micro y Premium.

En la tabla siguiente se detallan las capacidades de cada canal de comunicación para procesar transacciones de forma simultánea, de acuerdo con las distintas configuraciones de los PLC Modicon M340.

Configuración Micro TSX 57 10 TSX 57 20 TSX 57 23/30/40/45/55, PCX 57, PMX 57

TSX 57 46/56

Puerto de terminal maestro Uni-Telway 4 4 4 4 8

Conexión PCMCIA o SCY maestro Uni-Telway

1 8 8 8 8

Puerto de terminal esclavo cliente Uni-Telway

4 1 1 1 8

Conexión PCMCIA o SCY esclava cliente Uni-Telway

1 1 1 1 1

Puerto de terminal esclavo servidor Uni-Telway

4 4 4 4 4

Conexión PCMCIA o SCY esclava servidor Uni-Telway

4 6 6 6 6

Puerto de terminal Modbus 4 - - - -

Conexión PCMCIA o SCY Modbus 4 8 8 8 8

Modalidad de caracteres, bloque de terminales

1 1 1 1 1

Conexión PCMCIA o SCY de modalidad de caracteres

4 8 8 8 8

PCMCIA CANopen - 10 10 10 10

Conexión PCMCIA o SCY Fipway 4 8 8 8 8

Modbus Plus 4 4 4 4 4

Ethernet - 16 16 16 16

Ethernet incorporado - - - - 64

Configuración BMX P34 1000 BMX P34 2000 BMX P34 2010 BMX P34 2020 BMX P34 2030

CANopen incorporado - - 16 - 16

Ethernet incorporado - - - 16 16

Puerto serie maestro Modbus

8 16 16 16 -

236 33002530 07 07/2008

Page 237: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Pantalla de entrada asistida

Presentación Para esta función de comunicación, puede solicitar la pantalla de entrada asistida. Tenga en cuenta que la pantalla de entrada asistida no está disponible para Modicon M340.

Ilustración La pantalla siguiente muestra un ejemplo de la pantalla de entrada asistida de la función:

Dirección Para PLC Premium, el tipo de objeto posible es el siguiente:

ADDR(STRING).ARRAY [0..5] OF INT.

Nota: Los símbolos de variable se aceptan en los diferentes campos de la pantalla.

READ_VAR

Dirección: ? Parámetros

Tipo de objeto para leer:

Dirección del primer objeto para leer:

Número de objetos consecutivos para leer:

Área de recepción:

Tipos posibles: Matriz de enteros constantes, matriz de enteros (n>=6)Dirección ADDR(‘..’)

Aceptar Cancelar

Informe:

...

...

...

...

...

Nota: Si introduce un valor directamente en un campo, el botón de entrada de dirección asistida se vuelve gris.

33002530 07 07/2008 237

Page 238: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Tipo de objeto para leer

Para PLC Premium, las opciones posibles son las siguientes:

‘%M’ para la lectura de bits internos.‘%MW’ para la lectura de bits internos.‘%S’ para la lectura de bits internos.‘%SW’ para la lectura de bits internos.

Para PLC Modicon M340, las opciones posibles son las siguientes:

‘%M’ para la lectura de bits internos.‘%MW’ para la lectura de bits internos.

Dirección del primer objeto para leer

Los objetos posibles son de tipo DINT:

variables,constantes,valor inmediato.

Número de objetos consecutivos para leer

Los objetos posibles son del tipo INT:

variables,constantes,valor inmediato.

Área de recepción

El área de recepción es una matriz de enteros. El tamaño de la matriz depende del número de objetos que deben leerse. Esta matriz de enteros puede o no localizarse.

Informe El informe es una matriz de 4 enteros.

Nota: Basta con seleccionar la solución que desee en el menú desplegable.

Nota: Si introduce una constante, aparecerá un campo de entrada para ello. Si introduce una variable, ésta puede o no localizarse.

Nota: Si introduce una constante, aparecerá un campo de entrada para ello. Si introduce una variable, ésta puede o no localizarse.

Nota: Tenga cuidado de no utilizar varias áreas de memoria idénticas para las tablas de informes; de lo contrario, la función de lectura de variables podría no funcionar.

238 33002530 07 07/2008

Page 239: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Ejemplo de utilización en un bus Uni-Telway

Presentación El PLC maestro debe leer las palabras internas de %MW100 a %MW109 de la estación de dirección 6 de un bus Uni-Telway. Los valores de las palabras leídas se clasifican en función de la palabra interna %MW10, y los parámetros de gestión se almacenan en función de %MW40.

Ilustración Ambas estaciones están conectadas mediante un bus Uni-Telway.

Programación Programación en LD:

Uni-Telway

Maestro Premium Esclavo

Ad0 = 6

GESTGEST

OBJ

NUM

NB

READ_VAR

ENOEN

%I0.3.0 %MW40.0

%MW40:4%MW40:4

%MW10:10

‘%MW’

100

10

‘0.0.0.6’

ENOEN

ADDR

RECPADROUTIN

33002530 07 07/2008 239

Page 240: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Parámetros de petición:

Parámetros Descripción

’0.0.0.6’ 0: bastidor0: módulo0: canal 06: dirección de destino

’%MW’ Tipo de objeto (palabra interna)

100 Dirección del primer objeto

10 Número de objetos consecutivos

%MW40:4 Informe

%MW10:10 Contenido de la respuesta

240 33002530 07 07/2008

Page 241: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Ejemplo de bits de lectura

Presentación En PLC Modicon M340, las funciones READ_VAR y WRITE_VAR no pueden acceder a los bits forzados, ya que el protocolo Modbus no admite esta acción. Por lo tanto, las instrucciones siguientes sobre bits forzados no pueden aplicarse a PLC Modicon M340.

Los ejemplos siguientes ilustran la función de comunicación READ_VAR para la lectura de bits. En este caso, la tabla de recepción contiene de forma consecutiva el valor de los bits, así como la indicación de forzado.

Lectura de 32 bits internos

En ST, la sintaxis de la función de lectura de bits internos se presenta del modo siguiente:

READ_VAR (ADDR(‘{20.1}0.5.1.3’),‘%M’, 0, 32, %MW100:4, %MW50:4);

La tabla de recepción debe incluir ocho bytes (cuatro palabras), cuatro bytes para el valor y cuatro bytes para la indicación de forzado.

Es posible llevar a cabo el forzado de cada bit %MW102 o %MW103 establecido en 1; el valor de forzado corresponderá a la lectura de bits.

Ejemplo:

Palabra Byte 3 Byte 2 Byte 1 Byte 0

Valor %MW100 0000 0000 1100 1100

%MW101 1111 1111 0000 1111

Forzado %MW102 0000 0000 0101 0101

%MW103 0000 0000 0000 1111

Valor de los primeros cuatro bits (byte 0 de la palabra %MW100)

Forzado de los primeros cuatro bits (byte 0 de la palabra %MW102)

Descripción

0 1 El bit se fuerza a 0.

0 0 El bit no se fuerza.

1 1 El bit se fuerza a 1.

1 0 El bit no se fuerza.

33002530 07 07/2008 241

Page 242: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Lectura de 18 bits internos

En ST, la sintaxis de la función de lectura de bits internos se presenta del modo siguiente:

READ_VAR (ADDR(‘{20.1}0.5.1.3’),‘%M’, 0, 18, %MW100:3, %MW50:4);

La tabla de recepción debe contener tres palabras (o seis bytes). De hecho, para obtener el valor de los 18 bits, son necesarios tres bytes más tres bytes adicionales, con el fin de contener el valor de forzado de los 18 bits.

Valor del 1er bit

Nota de forzadoBit 14.º

%MW100

%MW101

%MW102

0000 0000 1111 1111

0000 0000 0000 1111

0000 1111 0000 0000

Valor del bit 14.º

Nota de forzado1er bit

242 33002530 07 07/2008

Page 243: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Ejemplo de uso en una red

Presentación La estación 2 de la red 20 debe leer una tabla de cinco palabras de %MW0 a %MW4 del esclavo Uni-Telway, dirección de red 20, estación 1, módulo de comunicación TSX SCM 2116 en el slot 5, canal 1 del módulo de comunicación, dirección de servidor Ad0 = 3.

Ilustración Las dos estaciones se conectan a través de una red Fipway.

Uni-Telway

PremiumTSX 87

Ad0 = 3

Ad0 = 1

Red Fipway 20

{20.1}{20.2}

33002530 07 07/2008 243

Page 244: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Programación Programación en LD:

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.1}0.5.1.3’) {20.1} : red 20, estación 10 : bastidor5 : módulo1 : canal 13 : lectura de la dirección del esclavo de destino

’%MW’ Tipo de objeto (palabra interna)

0 Dirección del primer objeto

5 Número de objetos consecutivos

%MW50:4 Tabla de gestión

%MW20:5 Contenido de la respuesta

READ_VAR

ENOEN

%I0.3.1 %MW50.0

%M50:4%MW50:4

%MW20:5

‘%MW’

0

5

‘{20.1}0.5.1.3’

ENOEN

ADDR

GESTGEST

OBJ

NUM

NB

RECPADROUTIN

244 33002530 07 07/2008

Page 245: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Ejemplo de lectura de palabras a través de la conexión serie de procesadores Modicon M340

Presentación El ejemplo utiliza dos procesadores Modicon M340 que se comunican a través de la conexión serie Modbus. El PLC maestro Modbus debe leer las palabras internas de %MW100 a %MW109 del PLC esclavo Modbus.

Descripción del ejemplo

Los valores de las palabras que se leen se clasifican en base a la palabra interna %MW10.

El ejemplo siguiente utiliza variables no ubicadas y abarca la recepción de datos en una tabla de 10 palabras no ubicadas Tab_recp (declarada como una MATRIZ [0..9] DE INT). Los parámetros de gestión están ubicados en una tabla de cuatro enteros llamados Management_Parameter (declarados como MATRIZ [0..3] DE INT).

En dicho ejemplo, el número de esclavos Modbus es 7, así que el parámetro ADDM de entrada es ‘0.0.0.7’:

0: número de bastidor del procesador igual a 00: número de slot del procesador dentro del bastidor, igual a 0 ya que el número de slot de un procesador Modicon M340 es siempre 00: número de canal, igual a 0, ya que la conexión serie de un procesador Modicon M340 es siempre el canal 07: el número de esclavo configurado es 7.

Ilustración Los dos procesadores Modicon 340 están conectados a través de una conexión Modbus:

Maestro Modbus

Cable VW3 A8 306 R30

Procesador BMX P34 2010

Esclavo ModbusProcesador BMX P34 2010

33002530 07 07/2008 245

Page 246: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Programación Programación en LD:

Los parámetros de solicitud son los siguientes:

Parámetros Descripción

ADDM(’0.0.0.7’) 0: número de bastidor del procesador esclavo0: número de slot del procesador esclavo0: número de canal (número del puerto serie)7: número de esclavo configurado

’%MW’ Tipo de objeto (palabra interna)

100 Dirección del primer objeto para leer

10 Número de objetos consecutivos para leer

Tab_recp Contenido de la respuesta

Management_Parameter Tabla de gestión

GESTGEST

OBJ

NUM

NB

READ_VAR

ENOEN

%I0.3.0 %MW40.0

Management_parameter

Tab_recp

‘%MW’

100

10

‘0.0.0.7’

ENOEN

ADDM

RECPADROUTIN

Management_parameter

246 33002530 07 07/2008

Page 247: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Ejemplo de comprobación de ejecución

Presentación El ejemplo siguiente ilustra la función READ_VAR con una comprobación de parámetro de gestión.

Programación de la función

Programación en ST:

SI NO %M21 Y %I0.1.2 ENTONCES %MW210:4 := 0; %MW212 := 50; READ_VAR(ADDR(’0.3.1.7’),’%MW’,20,1,%MW210:4,%MW1701:1); SET %M21;END_IF;

El bit de entrada %I0.1.2 controla la función.El bit de Internet %M21 se utiliza para comprobar la actividad de la función.%MW210:4 := 0; inicializa la tabla de gestión en 0.MW212 := 50; inicializa el valor de timeout en 5 segundos.

Nota: READ_VAR(ADDM(‘0.3.1.7’),’%MW’,20,1,%MW210:4,%MW1701:1); La sintaxis debe utilizarse para PLC Modicon M340, ya que la función ADDR no puede ser utilizada por un PLC Modicon M340.

33002530 07 07/2008 247

Page 248: 95230619 Bloques Comunicaciones Modicon

READ_VAR

Programación de la comprobación de intercambio

Programación en ST:

SI %M21 Y NO %M210.0 ENTONCES INC %MW214; IF %MW211 = 0 THEN INC %MW215; ELSE SET %Q0.2.2; INC %MW216; %MW217 := %MW211; END_IF;END_IF;

%MW214 contabiliza el número de intercambios.%MW215 contabiliza el número de intercambios correctos.%MW216 contabiliza el número de intercambios que generan errores.%MW217 almacena el mensaje de error.%Q0.2.2 indica un fallo de intercambio.

248 33002530 07 07/2008

Page 249: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

22

SEND_EMAIL: Envío de un correo electrónico

Send_Email

Descripción de la función

La función SEND_EMAIL se utiliza para enviar un correo electrónico a través del puerto Ethernet de la CPU de un PLC M340.

El servicio SEND_EMAIL está limitado al puerto Ethernet integrado. Un módulo NOE no puede llevar a cabo esta función.

Representación en FBD

Representación:

Nota: Para que el servicio SEND_EMAIL funcione correctamente, primero es necesario configurar en el software Unity Pro la dirección IP del servidor SMTP y los destinos de correo electrónico utilizados.

Management_ParamManagement_Param

SEND_EMAIL

AddressHeader key of email to send

Email dynamic subject string

ADR

GEST

BODY STR

HEAD KEYSUBJ STR

Email body string

GEST

249

Page 250: 95230619 Bloques Comunicaciones Modicon

Send_Email

Representación en LD

Representación:

Representación en ST

SEND_EMAIL (ADR, HEAD_KEY, SUBJ_STR, BODY_STR, ManagWords);

Descripción de parámetros

En la siguiente tabla, se describen los parámetros de entrada:

Management_ParamManagement_Param

SEND_EMAIL

Address

ENOEN

ADR

GESTGEST

HEAD KEY

SUBJ STR

BODY STR

Header key of email to send

Email body string

Email dynamic subject string

Parámetro Tipo Descripción

ADR ARRAY [0.. 7] OF INT

Dirección o resultado de la función ADDM. Utiliza la función ADDM EF para crear este campo. (véase Descripción, p. 45)La única posibilidad de enviar correos electrónicos es a través del puerto Ethernet de la CPU (0.0.3).

HEAD_KEY INT Corresponde a las direcciones de correo electrónico administradas con el software Unity Pro (sólo se aceptan la 1, 2 y 3).

SUBJ_STR STRING Representa la parte dinámica del asunto que se adjunta a la cadena de asunto estática.

BODY_STR STRING Representa el cuerpo del correo electrónico.

250 33002530 07 07/2008

Page 251: 95230619 Bloques Comunicaciones Modicon

Send_Email

En la siguiente tabla se describen los parámetros de entrada/salida:

Normas de Send_Email

Después de la ejecución de un bloque de funciones SEND_EMAIL EF, se establece el bit de actividad hasta que se envía el correo electrónico. Sin embargo, no hay ninguna confirmación de que el mensaje haya llegado al destino. Si se programa un tiempo de espera (3ª palabra de gestión <> 0), el correo electrónico se cancela si no se envía durante el intervalo programado. En tal caso, la 2ª palabra de gestión recibe una respuesta negativa Intercambio detenido tras tiempo de espera (0x01).

Características del tiempo de ejecución: el sistema puede gestionar cuatro solicitudes de envío a la vez procedentes de cuatro EF. El quinto EF que intenta enviar un correo electrónico recibirá el mensaje No hay recursos de sistema del procesador (0x0B) hasta que un recurso se encuentre libre.

Ejemplo del servicio Send_Email

IF (default_id = 0) THEN

(* PUMP IS OK *)

SEND_EMAIL(ADDM('0.0.3'), 1, 'Pump n°3 is OK', ' ' , Mng_send_email);

ELSE

(* PUMP IS FAULTY *)

str_default := INT_TO_STRING(default_id);

str_email_body := CONCAT_STR(' Default = ', str_default);

SEND_EMAIL(ADDM('0.0.3'), 1, 'Pump n°3 is faulty', str_email_body, Mng_send_email);

END_IF;

Parámetro Tipo Comentario

Management_Param ARRAY [0... 3] OF INT

Tabla de gestión del intercambio (véase Estructura de los parámetros de gestión, p. 35)Se utiliza la tabla de 4 palabras para controlar los parámetros de la ejecución.El parámetro de longitud (4ª palabra de la tabla de gestión) es un parámetro de salida. El sistema escribe esta palabra con la longitud total del correo electrónico (encabezado + cuerpo). El tamaño máximo del encabezado + cuerpo es de 1.024 caracteres.

33002530 07 07/2008 251

Page 252: 95230619 Bloques Comunicaciones Modicon

Send_Email

252 33002530 07 07/2008

Page 253: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

23

SEND_REQ: peticiones de envío

Presentación

Objetivo En este capítulo se describe la función SEND_REQ.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 254

Lista de peticiones UNI-TE 258

Pantalla de entrada asistida 263

Ejemplo de cómo enviar una petición UNI-TE 265

Modificación de parámetros IP con SEND_REQ (ejemplo) 267

Utilización de la función SEND_REQ 268

253

Page 254: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Descripción

Descripción de la función

La función SEND_REQ se utiliza para codificar y enviar todas las solicitudes UNI-TE y Modbus/Jbus, así como recibir las respuestas asociadas.

Los detalles de codificación de las solicitudes UNI-TE se proporcionan en el manual de referencia: Referencia de comunicación TSX DR NET.

Los detalles de codificación de las solicitudes Modbus/Jbus se proporcionan en el manual de TSX DG MDB.

Las solicitudes Modbus comunes para todos los dispositivos Schneider se presentan en el manual Arquitecturas y servicios de comunicación (Ver Premium, Atrium y Quantum en Unity Pro, Arquitecturas y servicios de comunicación, Manual de referencia, Lista de los códigos de la función Modbus).

Pueden configurarse los parámetros adicionales EN y ENO.

Representación FBD

Representación LD

RECPADR

GESTGEST

CODEEMIS

Management_ParamManagement_Param

SEND_REQ

AddressRequest_CodeData_to_Send

Received_Data

RECPADR

GESTGEST

CODE

EMIS

Management_ParamManagement_Param

SEND_REQ

Address

Request_Code

Data_to_Send

ENOEN

Received_Data

254 33002530 07 07/2008

Page 255: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Representación IL

Dirección LDSEND_REQ Request_Code, Data_to_Send, Management_Param, Received_Data

Representación ST

SEND_REQ(Address, Request_Code, Data_to_Send, Management_Param, Received_Data);

Descripción de los parámetros

En la siguiente tabla se describen los parámetros de entrada:

En la siguiente tabla se describen los parámetros de entrada y salida:

Parámetro Tipo Comentario

Dirección ARRAY [0.. 5] OF INT

Dirección de la entidad de destino del intercambio. El tipo de la dirección depende de la solicitud enviada. Por tanto, es posible difundir la solicitud de ejecución (TODO, 0 para el módulo TSX SCY 11601), mientras que no es posible enviar una solicitud de identificación a varios dispositivos a la vez.

Request_Code INT Solicitud que se desea enviar al dispositivo de destino, también denominado servidor. Las solicitudes pueden ser UNI-TE (véase Lista de peticiones UNI-TE, p. 258) o Modbus.

Data_to_Send ARRAY [n... m] OF INT

Tabla de enteros que se desea enviar al dispositivo de destino de la solicitud. Esta tabla depende de la solicitud enviada.Debe tener una longitud mínima de un elemento, incluso si la solicitud utilizada no requiere envío de datos (por ejemplo, una solicitud de identificación).Nota: Es imprescindible que la longitud de los datos que se desean enviar (en bytes) se asigne a la cuarta palabra de la tabla de gestión antes de iniciar la función para su correcta ejecución.

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión de intercambio (véase Estructura de los parámetros de gestión, p. 35)

33002530 07 07/2008 255

Page 256: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

En la siguiente tabla se describen los parámetros de salida:

Parámetro Tipo Comentario

Received_Data ARRAY [n... m] OF INT

Tabla de enteros que contiene los datos devueltos por el dispositivo servidor, que era el destino de la solicitud. Aunque algunas solicitudes no requieren respuesta, (por ejemplo, una solicitud de ejecución), sigue siendo necesario reservar una tabla mínima de un entero cada vez que se utiliza la función SEND_REQ.Nota: El sistema escribe automáticamente el tamaño de los datos recibidos en la cuarta palabra de la tabla de gestión (véase Parámetros de gestión: longitud y timeout, p. 40). Nota: En algunos casos (por ejemplo, la lectura de tablas de palabras) es necesario volver a definir la secuencia de los objetos recibidos mediante la función ROR1_ARB (Ver Unity Pro 4.0, obsoleta, Librería de bloques, Descripción) (desplazamiento de un byte en un tabla).

256 33002530 07 07/2008

Page 257: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Transacciones simultáneas

En la tabla siguiente se detallan las capacidades de cada canal de comunicación para procesar transacciones de forma simultánea, de acuerdo con las distintas configuraciones de los PLC Micro y Premium. (SEND_REQ no está disponible en PLC Modicon M340.)

Configuración Micro TSX 57 10 TSX 57 20 TSX 57 23/30/40/45/55, PCX 57, PMX 57

TSX 57 46/56

Puerto de terminal maestro Uni-Telway 4 4 4 4 8

Conexión PCMCIA o SCY maestro Uni-Telway

1 8 8 8 8

Puerto de terminal esclavo cliente Uni-Telway

4 1 1 1 8

Conexión PCMCIA o SCY esclava cliente Uni-Telway

1 1 1 1 1

Puerto de terminal esclavo servidor Uni-Telway

4 4 4 4 4

Conexión PCMCIA o SCY esclava servidor Uni-Telway

4 6 6 6 6

Puerto de terminal Modbus 4 - - - -

Conexión PCMCIA o SCY Modbus 4 8 8 8 8

Modalidad de caracteres, bloque de terminales

1 1 1 1 1

Modalidad de caracteres, conexión PCMCIA o SCY

4 8 8 8 8

PCMCIA CANopen - 10 10 10 10

Conexión PCMCIA o SCY Fipway 4 8 8 8 8

Modbus Plus 4 4 4 4 4

Ethernet - 16 16 16 16

Ethernet incorporado - - - - 64

33002530 07 07/2008 257

Page 258: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Lista de peticiones UNI-TE

Presentación Se utiliza el protocolo UNI-TE para:

identificar y diagnosticar todos los dispositivos que tienen un servidor UNI-TE;ofrecer un conjunto de servicios que concedan acceso de lectura y escritura para introducir datos;descargar datos de dispositivo a dispositivo;proteger un servidor frente a conexiones concurrentes durante un periodo crítico.

Estos servicios diferentes pueden obtenerse mediante la función SEND_REQ, con la codificación de la petición UNI-TE que se desea enviar.

Las tablas siguientes ofrecen una lista no exhaustiva de peticiones reconocidas por los dispositivos Premium.

Peticiones de uso general

Estas peticiones se utilizan para identificar y diagnosticar todos los dispositivos que tienen un servidor UNI-TE.

Nota: Para obtener información detallada y la lista de peticiones reconocidas por cada dispositivo, consulte el manual de referencia de TSX DR NET.

Nombre de petición Código de petición

Código de informe

Comentario

IDENTIFICATION 16#0F 16#3F Ofrece la información siguiente: rango de producto,tipo de aplicación específica,tipo de producto,referencia de catálogo.

READ_CPU 16#4F 16#7F Lleva a cabo el diagnóstico de sistema en cualquier dispositivo.

PROTOCOL_VERSION

16#30 16#60 Se utiliza para adaptar la versión del protocolo entre dos entidades comunicantes.

MIRROR 16#FA 16#FB Comprueba el acceso correcto de los datos entre dos dispositivos comunicantes.

258 33002530 07 07/2008

Page 259: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Modificación dinámica de parámetros IP

Modificación de parámetros IP

Para asegurarse de que el módulo ETY está listo para funcionar, permita que el PLC se ejecute (en modalidad de ejecución) durante 15 segundos después de la última modalidad de detención antes de enviar la función SEND_REQ. Después de que el usuario envíe el comando CHANGE IP PARAMETERS y de que el módulo ETY acepte los nuevos parámetros, el módulo ETY restablece y comienza las operaciones con los nuevos parámetros.

Uso de parámetros para el cambio de dirección IP

Esta tabla se basa en una dirección IP de muestra de 139.158.10.7, una máscara de subred 255.255.248.0 y una dirección de pasarela de 139.158.8.1.

Nombre de petición Código de petición

Comentario

REQUEST CODE 16#37 Solicita el código de petición.

CHANGE IP PARAMETERS 16#13 Cambia la subfunción de parámetro IP.

Nota: Los clientes FDR que utilizan el módulo ETY para un servidor deben reiniciarse después de que se haya terminado de llevar a cabo el cambio de la dirección IP del ETY. De lo contrario, estos clientes FDR no pueden actualizar sus archivos de parámetros en el servidor FDR (el módulo ETY).

Nota: Las palabras constantes contienen los parámetros de configuración originales, no aquellos que se actualizaron después del cambio de dirección IP.

Nota: Puede ver la nueva configuración (parámetros IP, máscara de subred y dirección de pasarela) en la pantalla de depuración de ETY de Unity Pro (Ver Premium y Atrium mediante Unity Pro, Módulos de red Ethernet, Manual del usuario, Pantalla de depuración del módulo). También se puede ver la nueva dirección IP asignada en la página Web de estadística del módulo Ethernet (Ver Premium y Atrium mediante Unity Pro, Módulos de red Ethernet, Manual de usuario, Páginas de diagnóstico del módulo Ethernet), no obstante, debe tener en cuenta de que la dirección IP, la máscara de subred y los datos de pasarela de esta página reflejan la configuración antigua.

Parámetro Tipo Valor Comentario

ADDRESS matriz [0...5] de INT

ADDR (‘rack.slot.channel.SYS’)

Ejemplo: ADDR (0.x.0.SYS’) x = slot en el que se instala el módulo ETY

REQUEST_CODE INT 16#37

33002530 07 07/2008 259

Page 260: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Consulte el ejemplo para cambiar los parámetros IP mediante SEND_REQ (véase Modificación de parámetros IP con SEND_REQ (ejemplo), p. 267).

Data_to_Send matriz [0...8] de INT

byte 1: subfunción (13h) byte de mayor valor

byte 2: subfunción (96h) byte de menor valor

byte 3: 0 se hace caso omiso del valor

byte 4: 0 se hace caso omiso del valor

byte 5: dirección IP 2 (158)

1-239 (byte de mayor valor)

byte 6: dirección IP 1 (139)

0-255 (byte de menor valor)

byte 7: dirección IP 4 (7) 0-255 (byte de mayor valor)

byte 8: dirección IP 3 (10) 0-255 (byte de menor valor)

byte 9: máscara de subred 2 (255)

255

byte 10: máscara de subred 1 (255)

0-255

byte 11: máscara de subred 4 (0)

0-255

byte 12: máscara de subred 3 (248)

0-255

byte 13: pasarela 2 (158) 1-239 (la dirección de la pasarela debe encontrarse en la misma subred que la dirección IP.)

byte 14: pasarela 1 (139) 0-255

byte 15: pasarela 4 (1) 0-255

byte 16: pasarela 3 (8) 0-255

Manage_Param número de palabra

byte de mayor valor byte de menor valor

1 informe de actividad 00

2 informe de operación (consulte la nota 1)

informe de comunicación (consulte la nota 1)

3 timeout (ms)

4 18 (INT)

Nota 1: La tabla siguiente ofrece información detallada para los códigos de dirección IP (correctos e incorrectos).

Parámetro Tipo Valor Comentario

260 33002530 07 07/2008

Page 261: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Cambio de códigos de dirección IP

Acceso a objetos Estas peticiones ofrecen un conjunto de servicios que proporciona acceso de lectura y escritura a los datos de bit interno y de tipo de palabra, a los datos de bit del sistema y de tipo de palabra, a los datos de punto flotante, a los datos de constante y a los datos de SFC.

Informe de operación

Informe de comunicación

Significado

código correcto

FE (hex) 00 (hex) La petición de envío (SEND_REQ) cambió correctamente la dirección IP.

Códigos de error

01 (hex) FF (hex) Valor de código de petición no válido (por ejemplo, 16#37 no).

00 (hex) 03 (hex) Enviar petición a dirección IP de ETY en lugar de por la placa de conexiones.

00 (hex) 07 (hex) Direccionamiento incorrecto a ETY.

16 (hex) FF (hex) Dirección IP no válida.

17 (hex) FF (hex) Subred no válida.

18 (hex) FF (hex) Dirección de pasarela no válida.

19 (hex) FF (hex) Dirección de red no válida.

1A (hex) FF (hex) La dirección IP ya se ha definido para enviar una petición (SEND_REQ).

FD (hex) 00 (hex) La petición de envío (SEND_REQ) no cambió correctamente la dirección IP.

Nombre de petición Código de petición

Código de informe

Comentario

READ_OBJECT 16#36 16#66 Se utiliza para leer uno o más objetos consecutivos del mismo tipo.

WRITE_OBJECT 16#37 16#FE Se utiliza para escribir uno o más objetos consecutivos del mismo tipo.

READ_INTERNAL_BIT 16#00 16#30 Se utiliza para leer el valor de un bit interno.

WRITE_INTERNAL_BIT 16#10 16#FE Se utiliza para escribir el valor de un bit interno.

READ_INTERNAL_WORD 16#04 16#34 Se utiliza para leer el valor de una palabra interna.

WRITE_INTERNAL_WORD 16#14 16#FE Se utiliza para escribir el valor de una palabra interna.

33002530 07 07/2008 261

Page 262: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Gestión de modos de funcionamiento

Estas peticiones ofrecen un conjunto de servicios que puede utilizarse para gestionar los modos de funcionamiento de un procesador.

Gestión de reservas

Estas peticiones ofrecen un mecanismo de reserva que se utiliza para proteger el servidor frente a conexiones concurrentes durante un periodo crítico.

Nombre de petición

Código de petición

Código de informe

Comentario

RUN 16#24 16#FE Se utiliza para iniciar la ejecución de las tareas de un procesador.

STOP 16#25 16#FE Se utiliza para detener la ejecución de las tareas de un procesador.

INIT 16#33 16#63 Se utiliza para disparar un inicio en frío o en caliente.

Nombre de petición Código de petición

Código de informe

Comentario

RESERVE 16#1D 16#FE Habilita un cliente para que reserve general o parcialmente las funciones de un servidor.

RELEASE 16#1E 16#FE Habilita un cliente para que libere el servidor reservado.

I_AM_ALIVE 16#2D 16#FE Se utiliza para mantener la reserva.

262 33002530 07 07/2008

Page 263: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Pantalla de entrada asistida

Presentación Para esta función de comunicación, puede solicitar la pantalla de entrada asistida. Tenga en cuenta que la pantalla de entrada asistida no está disponible para Modicon M340.

Ilustración La pantalla siguiente muestra un ejemplo de la pantalla de entrada asistida de la función:

Dirección Para PLC Premium, el tipo de objeto posible es el siguiente:

ADDR(STRING).ARRAY [0..5] OF INT.

Nota: Los símbolos de variable se aceptan en los diferentes campos de la pantalla.

SEND_REQ

Dirección: ? Parámetros

Código de petición:

Datos para enviar:

Área de recepción:

Tipos posibles: Matriz de enteros constantes, matriz de enteros (n>=6)Dirección ADDR(‘..’)

Aceptar Cancelar

Informe:

......

...

...

...

Nota: Si introduce un valor directamente en un campo, el botón de entrada de dirección asistida se vuelve gris.

33002530 07 07/2008 263

Page 264: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Código de petición

Los objetos posibles son del tipo INT:

variables,constantes,valor inmediato.

Datos para enviar

Estos datos que se van a enviar se almacenan en forma de matriz de enteros. La matriz puede localizarse o no.

Área de recepción

El área de recepción es una matriz de enteros. La matriz puede localizarse o no, y su tamaño depende del código de petición utilizado.

Informe El informe es una matriz de 4 enteros.

Nota: Si introduce una constante, aparecerá un campo de entrada para ello. Si introduce una variable, puede localizarse o no.

Nota: Tenga cuidado de no utilizar varias áreas de memoria idénticas para las tablas de informes; de lo contrario, la función de lectura de variables podría no funcionar.

264 33002530 07 07/2008

Page 265: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Ejemplo de cómo enviar una petición UNI-TE

Presentación La estación 2 de la red 20 debe enviar una petición de identificación al dispositivo con dirección Ad0=3 del bus Uni-Telway de la estación 1 de la misma red. La petición de identificación tiene el código decimal 15 (o 16#0F).

La tabla de gestión se encuentra en %MW10:4.

Ilustración Las dos estaciones se conectan mediante una red Fipway:

Uni-Telway

Premium TSX 87

Ad0 = 3

Ad0 = 1

Fipway {20.1}{20.2}

33002530 07 07/2008 265

Page 266: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Programación Programación en ST:

SI RE(%I0.3.2) Y NO %MW10.0 ENTONCES SEND_REQ(ADDR(’{20.1}0.5.1.3’),15,%MW0:1, %MW10:4,%MW100:24);END_IF;

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.1}0.5.1.3’) {20.1}: red 20, estación 10: bastidor5: módulo1: canal 13: dirección de destino

15 Petición 15 (o 16#0F si la codificación es hexadecimal)

%MW0:1 Datos enviados (por ejemplo: no hay datos para enviar)

%MW10:4 Tabla de gestión

%MW100:24 Contenido de la respuesta (recepción de 24 palabras)

Nota: Cada vez que la función se inicia, inicialice el parámetro de longitud (en el ejemplo: %MW13 = 0).

266 33002530 07 07/2008

Page 267: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Modificación de parámetros IP con SEND_REQ (ejemplo)

Ilustración El gráfico muestra cómo definir los parámetros IP del módulo ETY del slot 2 con el bloque SEND_REQ:

Nota:ADR: refleja la posición del ETY en el slot 2.CODE: refleja el valor de REQUEST_CODE.EMIS: contiene los parámetros IP de Data_to_Send:

dirección (139.158.10.7)máscara de subred (255.255.248.0)pasarela (139.158.8.1)

GEST: refleja Management_Param (parámetros de gestión).Tiene que asignar un tiempo a la tercera palabra de Management_Param. La cuarta palabra debería tener el valor INT 18.RECP: Este parámetro requiere un valor mínimo INT de 1, incluso cuando no se devuelva ningún mensaje de respuesta, como en el caso de una petición de cambio de IP.

33002530 07 07/2008 267

Page 268: 95230619 Bloques Comunicaciones Modicon

SEND_REQ

Utilización de la función SEND_REQ

Presentación La función SEND_REQ se utiliza para codificar y enviar todas las peticiones UNI-TE y Modbus/Jbus, así como recibir las respuestas asociadas.

En algunos casos (por ejemplo, la lectura de tablas de palabras) es necesario volver a definir la secuencia de los objetos recibidos mediante la función ROR1_ARB (desplazamiento de un byte en un tabla). .

Ejemplo Objetos para leer:

16#0201

16#0403

16#0605

16#0807

16#0A09

Tabla de recepción tras la ejecución de SEND_REQ (objeto de lectura):

%MW100=16#0107

%MW101=16#0302

%MW102=16#0504

%MW103=16#0706

%MW104=16#0908

%MW105=16#000A

Tabla de recepción tras ROR1_ARB(%MW100:6):

%MW100=16#0201

%MW101=16#0403

%MW102=16#0605

%MW103=16#0807

%MW104=16#0A09

%MW105=16#0700

268 33002530 07 07/2008

Page 269: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

24

SEND_TLG: envío de telegramas

Presentación

Objetivo En este capítulo se describe la función SEND_TLG.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 270

Ejemplo de cómo enviar un telegrama 273

269

Page 270: 95230619 Bloques Comunicaciones Modicon

SEND_TLG

Descripción

Descripción de la función

La función SEND_TLG se utiliza para enviar datos de tipo telegrama a una aplicación remota.

Los datos que se van a enviar deben tener una longitud máxima de 16 bytes. Al contrario que las otras funciones de comunicación, esta función se procesa inmediatamente (función sincronizada). Por tanto, en este caso no existen el bit de actividad ni los parámetros de timeout.

La tabla de enteros asignada a los parámetros de gestión solo utiliza dos palabras en lugar de cuatro (los números de intercambio y timeout no son necesarios en este caso).

Pueden configurarse los parámetros adicionales EN y ENO.

Representación FBD

Representación:

Posición de la tarjetaLa función SEND_TLG se puede utilizar en Fipway solo si cuenta con tarjeta TSX FPP 20 y solo para las estaciones 0 a 15.

Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daños en el equipo.

ADVERTENCIA

GESTGEST

ADREMIS

Management_ParamManagement_ParamData_to_Send

SEND_TLG

Address

270 33002530 07 07/2008

Page 271: 95230619 Bloques Comunicaciones Modicon

SEND_TLG

Representación LD

Representación:

Representación IL

Representación:

Dirección LDSEND_TLG Data_to_Send, Management_Param

Representación ST

Representación:

SEND_TLG(Address, Data_to_Send, Management_Param);

Descripción de los parámetros

La tabla siguiente describe los parámetros de entrada:

GESTGEST

ADR

EMIS

Management_ParamManagement_Param

Data_to_Send

SEND_TLG

Address

ENOEN

Parámetro Tipo Comentario

Address MATRIZ [0.. 5] DE INT

Dirección de la entidad de destino del intercambio. Solo están autorizadas las direcciones{Red.Estación}APP o {Red.Estación}APP.núm.

Data_to_Send MATRIZ [n... m] DE INT

Tabla de enteros que se desea enviar al dispositivo de destino de la petición.Debe tener una longitud máxima de ocho enteros (16 bytes).

Nota: Es fundamental que el número de bytes que se van a enviar se coloque en la segunda palabra de la tabla de gestión antes de realizar el intercambio.

33002530 07 07/2008 271

Page 272: 95230619 Bloques Comunicaciones Modicon

SEND_TLG

En la tabla siguiente se describen los parámetros de entrada/salida:

Parámetro Tipo Comentario

Management_Param MATRIZ [0.. 1] DE INT

Tabla de palabras utilizada para gestionar el intercambio. Esta tabla está compuesta por dos palabras: la palabra de informe y la palabra de longitud de los datos que se van a enviar. El informe contiene:

el informe de funcionamiento (byte de mayor valor de la primera palabra),el informe de comunicación (byte de menor valor de la primera palabra).

El informe de funcionamiento toma uno de los valores siguientes:

16#00: intercambio correcto,16#03: formato de dirección incorrecto,16#04: dirección de destino incorrecta,16#05: parámetros de gestión incorrectos (por ejemplo, la longitud),16#06: parámetros específicos incorrectos,16#07: módulo defectuoso,16#0A: tamaño del búfer de envío insuficiente,16#0B: sin recursos de sistema,16#0F: servicio de telegramas sin configurar.

272 33002530 07 07/2008

Page 273: 95230619 Bloques Comunicaciones Modicon

SEND_TLG

Ejemplo de cómo enviar un telegrama

Presentación Supongamos que desea enviar un telegrama de ocho palabras desde la estación 1 a la estación remota 3 de la red Fipway 20.

La tabla %MW190:8 recogerá las palabras que se van a enviar, y la tabla %MW200:2 la tabla de gestión de intercambio.

Ilustración Las dos estaciones están conectadas a través de una red Fipway.

Programación Programación en ST:

IF RE(%I0.3.10) THEN SEND_TLG(ADDR(’{20.3}APP’), %MW190:8, %MW200:2);END_IF;

Parámetros de petición:

TSX Premium

Red Fipway 20

{20.1} {20.3}

TSX Micro

Parámetros Descripción

ADDR(’{20.3}APP’) {20.2}: red 20, estación 3APP: aplicación

%MW190:8 Contenido del telegrama que se va a enviar

%MW200:2 Tabla de gestión

Nota: La palabra %MW 201 debe inicializarse en 16 (ocho palabras) antes del envío de la petición.Para ejecutar esta función de forma sincronizada, es necesario comprobar el informe de funcionamiento inmediatamente después de la línea del programa que activa la ejecución de esta función.

33002530 07 07/2008 273

Page 274: 95230619 Bloques Comunicaciones Modicon

SEND_TLG

274 33002530 07 07/2008

Page 275: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

25

SYMAX_IP_ADDR: dirección SY/MAX IP

Descripción general

Introducción En este capítulo se describe el bloque SYMAX_IP_ADDR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 276

Descripción detallada 278

275

Page 276: 95230619 Bloques Comunicaciones Modicon

SYMAX_IP_ADDR

Descripción

Descripción de funciones

Este bloque de función permite indicar la dirección IP SY/MAX para los bloques de función REAG_REG, CREAD_REG, WRITE_REG y CWRITE_REG. La dirección se transmite en forma de una estructura de datos.

Como parámetros adicionales se pueden configurar EN y ENO.

Representación en FBD

Representación:

Representación en LD

Representación:

Nota: Debe conocer la red empleada cuando programe el módulo de función SYMAX_IP_ADDR.

DataStructureSYMAX_IP

SYMAX_IP_ADDR

MappingIndexNOEModuleSlot

DestinationDropNumberTerminator

SYMAX_IP_ADDR_Instance

ADDRFLD

DROP_NOSLOT_ID

DESTDROPTERMINAT

DataStructureSYMAX_IP

DestinationDropNumber

Terminator

ENOEN

SYMAX_IP_ADDR

ADDRFLD

DROP_NO

SLOT_ID

DESTDROP

TERMINAT

SYMAX_IP_ADDR_Instance

MappingIndex

NOEModuleSlot

276 33002530 07 07/2008

Page 277: 95230619 Bloques Comunicaciones Modicon

SYMAX_IP_ADDR

Representación en IL

Representación:

CAL SYMAX_IP_ADDR_Instance (DROP_NO:=MappingIndex, SLOT_ID:=NOEModuleSlot, DESTDROP:=DestinationDropNumber, TERMINAT:=Terminator, ADDRFLD=>DataStructureSYMAX_IP)

Representación en ST

Representación:

SYMAX_IP_ADDR_Instance (DROP_NO:=MappingIndex, SLOT_ID:=NOEModuleSlot, DESTDROP:=DestinationDropNumber, TERMINAT:=Terminator, ADDRFLD=>DataStructureSYMAX_IP) ;

Descripción de parámetros

Descripción de los parámetros de entrada:

Descripción de los parámetros de salida:

Parámetro Tipo de datos Significado

DROP_NR BYTE Índice de copiado de un Transporter MBP a Ethernet (MET)

SLOT_ID BYTE Slot del módulo NOE

DESTDROP WORD Número de estación de destino (o ajustar a FF hex)

TERMINAT WORD Terminador (ajustar a FF hex)

Parámetro Tipo de datos Significado

ADDRFLD WordArr5 Estructura de datos para la transmisión de la dirección SY/MAX

33002530 07 07/2008 277

Page 278: 95230619 Bloques Comunicaciones Modicon

SYMAX_IP_ADDR

Descripción detallada

Descripción de elementos de WordArr5

Descripción de elementos para WordArr5:

DROP_NR En la entrada DROP_NR se indica el índice de copiado del Transporter MBP a Ethernet (MET), es decir, cuando el MET es 6, el valor tiene el siguiente aspecto:

SLOT_ID Cuando se accede a un NOE en el bastidor de un controlador Quantum como participante de destino, el valor de la entrada SLOT_ID representará el slot físico del NOE, es decir, cuando el NOE está insertado en el slot 7 del bastidor, el valor tiene el siguiente aspecto:

ADDRFLD Cuando un NOE del bastidor accede a un controlador Quantum como participante de destino, el valor del byte de mayor valor representa el slot físico del NOE, y el byte de menor valor, el índice de copiado del Transporter MBP a Ethernet (MET); es decir, cuando el NOE está insertado en el slot 7 del bastidor y el índice de copiado MET es 6, el primer elemento de la estructura de datos tiene el siguiente aspecto:

Byte de mayor valor Slot 1 a 16Byte de menor valor Índice de copiado de un Transporter MBP a Ethernet (MET)

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de mayor valor: Dirección de slot del módulo NOEByte de menor valor:Índice de copiado de un Transporter MBP a Ethernet (MET)

WordArr5[2] WORD Número de estación de destino (o ajustar a FF hex)

WordArr5[3] WORD Terminador (ajustar a FF hex)

WordArr5[4] WORD Sin significado

WordArr5[5] WORD Sin significado

0 0 0 0 0 1 1 0

0 0 0 0 0 1 1 1

0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0

Byte de mayor valor Byte de menor valor

278 33002530 07 07/2008

Page 279: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

26

TCP_IP_ADDR: dirección TCP/IP

Descripción general

Introducción En este capítulo se describe el bloque TCP_IP_ADDR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 280

Descripción detallada 283

279

Page 280: 95230619 Bloques Comunicaciones Modicon

TCP_IP_ADDR

Descripción

Descripción de las funciones

Este bloque de funciones permite la entrada de direcciones TCP/ IP para los bloques de funciones READ_REG, CREAD_REG, WRITE_REG y CWRITE_REG. La dirección se transfiere como estructura de datos.

EN y ENO pueden configurarse como parámetros adicionales.

Representación en FBD

Representación:

Nota: Debe estar familiarizado con su red cuando programe el bloque d funciones TCP_IP_ADDR. La "Guía de usuario del módulo TCP/IP de Quantum" ofrece una descripción completa de las rutas de acceso TCP/IP.

DataStructureTCP_IPAddress

TCP_IP_ADDR

MapIndexNOEModuleSlot

Byte4OfIPAddressByte3OfIPAddressByte2OfIPAddressByte1OfIPAddress

TCP_IP_ADDR_Instance

ADDRFLD

MAP_IDXSLOT_ID

IP_B4IP_B3IP_B2IP_B1

280 33002530 07 07/2008

Page 281: 95230619 Bloques Comunicaciones Modicon

TCP_IP_ADDR

Representación en LD

Representación:

Representación en IL

Representación:

CAL TCP_IP_ADDR_Instance (MAP_IDX:=MapIndex, SLOT_ID:=NOEModuleSlot, IP_B4:=Byte4OfIPAddress, IP_B3:=Byte3OfIPAddress, IP_B2:=Byte2OfIPAddress, IP_B1:=Byte1OfIPAddress, ADDRFLD=>DataStructureTCP_IPAddress)

Representación en ST

Representación:

TCP_IP_ADDR_Instance (MAP_IDX:=MapIndex, SLOT_ID:=NOEModuleSlot, IP_B4:=Byte4OfIPAddress, IP_B3:=Byte3OfIPAddress, IP_B2:=Byte2OfIPAddress, IP_B1:=Byte1OfIPAddress, ADDRFLD=>DataStructureTCP_IPAddress) ;

DataStructureTCP_IPAddress

Byte4OfIPAddress

Byte3OfIPAddress

Byte1OfIPAddress

ENOEN

TCP_IP_ADDR

ADDRFLD

MAP_IDX

SLOT_ID

IP_B4

IP_B3

IP_B2

IP_B1

TCP_IP_ADDR_Instance

MapIndex

Byte2OfIPAddress

NOEModuleSlot

33002530 07 07/2008 281

Page 282: 95230619 Bloques Comunicaciones Modicon

TCP_IP_ADDR

Descripción de parámetros

Descripción de los parámetros de entrada:

Descripción de los parámetros de salida:

Parámetros Tipo de datos Descripción

MAP_IDX BYTE Índice de asignaciónMBP en el índice de asignación Ethernet Transporter (MET)

Slot_ID BYTE ID de slotSlot del módulo NOE

IP_B4 BYTE Byte 4 (MSB) de la dirección IP de 32 bits de destino

IP_B3 BYTE Byte 3 (MSB) de la dirección IP de 32 bits de destino

IP_B2 BYTE Byte 2 (MSB) de la dirección IP de 32 bits de destino

IP_B1 BYTE Byte 1 (LSB) de la dirección IP de 32 bits de destino

Nota: Para el parámetro Slot_ID: Si utiliza un módulo de Ethernet integrado en la CPU como 140 CPU 651 x0, la ID de slot debe ser 254 (FE hex) independientemente del slot de la CPU.

Parámetros Tipo de datos Descripción

ADDRFLD WordArr5 Estructura de datos utilizada para transferir la dirección TCP/IP

282 33002530 07 07/2008

Page 283: 95230619 Bloques Comunicaciones Modicon

TCP_IP_ADDR

Descripción detallada

Descripción de elementos de WordArr5

Descripción de elementos de WordArr5:

MAP_IDX El MBP para índice de asignación Ethernet Transporter (MET) viene dado por la salida Map_Idx+, es decir, si MET es 6, el valor aparece como se muestra a continuación:

Slot_ID Si un NOE del bastidor de un controlador Quantum, se direcciona como asiento de destino; el valor en la entradaSLOT_ID representa el spot NOE físico. Ejemplo: si el NOE se conecta en el spot 7 del bastidor, el valor aparece como se muestra a continuación:

Elemento Tipo de datos Descripción

WordArr5[1] WORD Byte de mayor valor:Slot del módulo NOEByte de menor valor: MBP en el índice de asignación Ethernet Transporter (MET)

WordArr5[2] WORD Byte 4 de la dirección IP de 32 bits de destino

WordArr5[3] WORD Byte 3 de la dirección IP de 32 bits de destino

WordArr5[4] WORD Byte 2 de la dirección IP de 32 bits de destino

WordArr5[5] WORD Byte 1 de la dirección IP de 32 bits de destino

0 0 0 0 0 1 1 0

Nota: Si utiliza un módulo de Ethernet integrado en la CPU como 140 CPU 651 x0, la ID de slot debe ser 254 (FE hex) independientemente del slot de la CPU.

0 0 0 0 0 1 1 1

33002530 07 07/2008 283

Page 284: 95230619 Bloques Comunicaciones Modicon

TCP_IP_ADDR

ADDRFLD Si un NOE del bastidor de un controlador Quantum se direcciona como asiento de destino, el valor del byte de mayor valor representa el spot físico del NOE y el del byte de menor valor representa el MBP en el índice de asignación Ethernet Transporter (MET); es decir, si el NOE se introduce en el spot 7 del bastidor y el índice de asignación de MET es 6, el primer elemento de la estructura de datos presenta el siguiente aspecto:

Byte de mayor valor Slots del 1 al 16Byte de menor valor MBP en el índice de asignación Ethernet Transporter (MET)

0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0

Byte de mayor valor Byte de menor valor

284 33002530 07 07/2008

Page 285: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

27

UNITE_SERVER: servidor inmediato

Presentación

Objetivo En este capítulo se describe la función de comunicación UNITE_SERVER.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 286

Ejemplo de servidor inmediato 290

285

Page 286: 95230619 Bloques Comunicaciones Modicon

UNITE_SERVER

Descripción

Descripción de las funciones

La función UNITE_SERVER se utiliza para procesar peticiones UNI-TE inmediatamente desde el programa de la aplicación.

Esta función puede activarse en la tarea MAST o en la tarea FAST.

Los parámetros adicionales EN y ENO se pueden configurar.

Nota: En cualquier momento, la aplicación solo puede activar una función UNITE_SERVER.

Nota: La función UNITE_SERVER se utiliza para procesar peticiones desde una conexión Modbus (tarjeta TSX SCP 114 PCMCIA en un módulo TSX SCY 21601 module configurado como esclavo Modbus con servidor inmediato (Ver Premium y Atrium en Unity Pro, Conexión serie asíncrona, Manual de instalación, Parámetros de Modbus relacionados con la aplicación)).

286 33002530 07 07/2008

Page 287: 95230619 Bloques Comunicaciones Modicon

UNITE_SERVER

Principio de intercambio

El diagrama siguiente muestra los intercambios realizados durante la utilización de la función de comunicación UNITE_SERVER.

Representación FBD

Representación:

Entradas

Salidas

Aplicación

Primera petición: READ_VAR1

Respuesta a la primera petición READ_VAR1

Segunda petición:READ_VAR2

Respuesta a la segundapetición READ_VAR2

FunciónUNITE_SERVERactivada

FunciónUNITE_SERVERactivada

GESTGEST Management_ParamManagement_ParamReceived_Codes

UNITE_SERVER

ADR

RqRpAddress

33002530 07 07/2008 287

Page 288: 95230619 Bloques Comunicaciones Modicon

UNITE_SERVER

Representación LD

Representación:

Representación IL

Representación:

LD Management_ParamUNITE_SERVER Address, Received_Codes

Representación ST

Representación:

UNITE_SERVER(Management_Param, Address, Received_Codes);

GESTGEST Management_ParamManagement_Param

UNITE_SERVER

ENOEN

Received_CodesRqRp

AddressADR

288 33002530 07 07/2008

Page 289: 95230619 Bloques Comunicaciones Modicon

UNITE_SERVER

Descripción de parámetros

En la tabla siguiente se describen los parámetros de entrada/salida:

En la tabla siguiente, se describen los parámetros de salida:

Parámetro Tipo Comentario

Management_Param

ARRAY [0.. 1] OF INT

Tabla de palabras utilizadas para gestionar el intercambio. Esta tabla está compuesta de 2 palabras: la primera palabra contiene el número de intercambio y el bit de actividad; la segunda palabra contiene el informe. El informe incluye:

el informe de funcionamiento (byte de mayor valor),el informe de comunicación (byte de menor valor).

El informe de comunicación utiliza uno de los valores siguientes:

16#00: intercambio correcto,16#01: detención en timeout, no se pudo enviar la respuesta en 2 segundos,16#02: detención a petición del usuario (STOP, %S0, INIT, reinicio en frío o en caliente),16#03: formato de dirección desconocido,16#05: parámetros de gestión incorrectos,16#07: problema en el envío al destino,16#11: no se ha recibido ninguna petición,16#12: otra tarea ha solicitado ya la función UNITE_SERVER,16#FF: mensaje rechazado.

Nota: Cuando se rechaza un mensaje (código 16#FF), el informe de funcionamiento puede tomar el valor 16#14 (servidor detenido).

Parámetro Tipo Comentario

Dirección ARRAY [0.. 2] OF INT

Dirección de la entidad de destino del intercambio. Esta dirección corresponde al canal al que está conectado el remitente de la petición.

Received_Codes INT Al final del intercambio, esta palabra contiene: el código de petición recibido (byte de menor valor),el código de respuesta devuelto (byte de mayor valor).

33002530 07 07/2008 289

Page 290: 95230619 Bloques Comunicaciones Modicon

UNITE_SERVER

Ejemplo de servidor inmediato

Presentación Este ejemplo muestra la implementación de una función UNITE_SERVER como servidor inmediato para una función de comunicación READ_VAR. La conexión Modbus correspondiente se conecta a la tarjeta PCMCIA de un módulo TSX SCY 21601 ubicado en el slot 2 del bastidor de base.

Programación Programación en ST:

IF NOT %MW100:X0 THEN UNITE_SERVER(%MW100:2, %MW110:3, %MW10);END_IF;

Parámetros de petición:

Parámetros Descripción

%MW100:2 Tabla de gestión

%MW110:3 Ejemplo: el servidor inmediato es SCP114, configurado como esclavo 49 en SCY21601 (slot 4, bastidor 0).

Palabra 1: 16#FE00 corresponde al bastidor.Palabra 2: 16#0405 corresponde al slot.Palabra 3: 16#0095 corresponde al canal.

Para obtener más detalles, consulte modalidades de direccionamiento X-WAY (Ver modalidades de direccionamiento, Controladores de comunicación, Manual de instalación, X-Way) .

%MW10 Respuesta:Byte de menor valor: 16#03, código de recepción de la función de palabras n de lectura UNITE.Byte de mayor valor: 16#03, código de respuesta de la función de palabras n de lectura UNITE.

290 33002530 07 07/2008

Page 291: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

28

WRITE_ASYN: escritura asíncrona de datos

Descripción

Descripción de la función

La función WRITE_ASYN permite escribir 1 Kbyte de datos por el canal de mensajería asincrónica de los acopladores TSX ETY en modo TCP/IP.

Los datos a los que se puede acceder en escritura son los siguientes:

Bits internos ypalabras internas.

La escritura asincrónica sólo se puede llevar a cabo entre dos estaciones de un mismo segmento de red Ethernet TCP/IP.

La función WRITE_ASYN se emite al final de la tarea MAST sólo si ésta se encuentra configurada en modo periódico. Es posible activar ocho funciones al mismo tiempo.

El tamaño de los búferes de emisión y de recepción se expresa en palabras. Es de 512 palabras, es decir, 1024 bytes.

Los parámetros adicionales EN y ENO se pueden configurar.

Nota: la función de servidor asincrónico es compatible con los protocolos UNI-TE V2.0 o V1. La función WRITE_ASYN utiliza el protocolo UNI-TE V2.0.

291

Page 292: 95230619 Bloques Comunicaciones Modicon

WRITE_ASYN

Principio de los intercambios

En la siguiente figura se muestran los intercambios entre dos estaciones para una función WRITE_ASYN :

E

P

S

E

P

S

E

P

S

E

P

S

E

P

S

Desconexión de la funciónWRITE_ASYN

Envío de la función

Recepción de la funciónTratamiento de las peticiones

Envío inmediato de la respuesta

Recepción de los mensajesEncaminamiento de las respuestas alas funciones WRITE_ASYN

Recepción de la respuesta en la

función WRITE_ASYN

Disminución del bit de actividad

292 33002530 07 07/2008

Page 293: 95230619 Bloques Comunicaciones Modicon

WRITE_ASYN

Representación en FBD

Representación:

Representación en LD

Representación:

Representación en IL

Representación:

LD AddressWRITE_ASYN Object_Type, First_Object, Object_Number, Data_to_Write, Management_Param

Representación en ST

Representación:

WRITE_ASYN(Address, Object_Type, First_Object, Object_Number, Data_to_Write, Management_Param);

ADR

GESTGEST

OBJNUMNB

Management_ParamManagement_Param

WRITE_ASYN

AddressObject_TypeFirst_Object

Object_NumberData_to_Write EMIS

ADR

GESTGEST

OBJ

NUM

NB

Management_ParamManagement_Param

WRITE_ASYN

Address

Object_Type

First_Object

Object_Number

Data_to_Write

ENOEN

EMIS

33002530 07 07/2008 293

Page 294: 95230619 Bloques Comunicaciones Modicon

WRITE_ASYN

Descripción de los parámetros

En la siguiente tabla se describen los parámetros de entrada:

En la siguiente tabla se describen los parámetros de entrada/salida:

Parámetro Tipo Comentario

Address ARRAY [0.. 5] OF INT

Dirección de la entidad de destino del intercambio. Las direcciones son de tipo: ADDR(’{Red.Estación}SYS.

Object_Type CADENA DE CARACTERES

Tipo de objetos que se van a escribir: ’%M’: bits internos,’%MW’: palabras internas,’%S’: bits de sistema y’%SW’: palabras de sistema.

First_Object DINT Índice del primer objeto que se va a escribir en el equipo de destino.

Object_Number INT Número de objetos que se van a escribir.

Data_to_Write ARRAY [n... m] OF INT

Tabla de palabras que contiene el valor de los objetos que se van a escribir.

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión del intercambio (véase Estructura de los parámetros de gestión, p. 35). La confirmación de operación toma uno de los siguientes valores:

16#00: intercambio correcto,16#01: parada por timeout, la respuesta no se ha podido emitir en menos de dos segundos,16#02: parada por solicitud del usuario (STOP, S0, INIT, rearranque en frío o en caliente),16#03: formato de dirección incorrecta,16#05: parámetros de gestión incorrectos,16#07: destinatario ausente,16#09: tamaño del búfer de recepción insuficiente,16#10: tamaño del búfer de emisión insuficiente,16#11: ausencia de recursos del sistema (ya hay ocho funciones activas),16#19: número de intercambio incorrecto y16#FF: mensaje rechazado.

Nota: se debe programar un valor de timeout para detener un intercambio en curso cuando al emisor no le llega la respuesta.

294 33002530 07 07/2008

Page 295: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

29

WRITE_GDATA: escritura de datos globales Modbus Plus

Descripción

Descripción de la función

La función WRITE_GDATA permite escribir los datos compartidos, conocidos también como datos globales, en una red Modbus Plus.

Los datos globales se comparten entre un máximo de 64 estaciones de una misma red Modbus Plus. Cada estación puede escribir hasta 32 enteros que pueden utilizar todas las estaciones de la red. A su vez, cada estación puede leer los 32 enteros (como máximo) de cada estación de la red.

Los parámetros adicionales EN y ENO se pueden configurar.

Representación en FBD

Representación:

GESTGEST Management_ParamManagement_Param

WRITE_GDATA

AddressData_to_Write

ADROUT

295

Page 296: 95230619 Bloques Comunicaciones Modicon

WRITE_GDATA

Representación en LD

Representación:

Representación en IL

Representación:

LD AddressWRITE_GDATA Data_to_Write, Management_Param

Representación en ST

Representación:

WRITE_GDATA(Address, Data_to_Write, Management_Param);

Descripción de los parámetros

En la siguiente tabla se describen los parámetros de entrada:

En la siguiente tabla se describen los parámetros de entrada/salida:

GESTGEST

ADR

OUT

Management_ParamManagement_Param

WRITE_GDATA

Address

ENOEN

Data_to_Write

Parámetro Tipo Comentario

Address ARRAY [0.. 5] OF INT

Dirección de la tarjeta PCMCIA que conecta el Premium a la red Modbus Plus. Esta dirección equivale a: ADDR(’0.0.1.SYS’).

Nota: la escritura de los datos se efectúa en la tarjeta PCMCIA que, a continuación, se encarga de compartir los datos.

Data_to_Write ARRAY [n... m] OF INT

Tabla de palabras que contiene el valor de los objetos que se van a escribir. El tamaño de esta tabla debe ser siempre de 32 enteros de 16 bits, que es el tamaño máximo de los datos globales en una red Modbus Plus.

Parámetro Tipo Comentario

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión del intercambio (véase Estructura de los parámetros de gestión, p. 35). No es necesario inicializar el parámetro de longitud antes del inicio del intercambio.

296 33002530 07 07/2008

Page 297: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

30

WRITE_REG: escritura del registro

Descripción general

Introducción En este capítulo se describe el bloque WRITE_REG.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 298

Tipos de datos derivados 301

Modo de funcionamiento 303

Descripción de los parámetros 304

297

Page 298: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

Descripción

Descripción de funciones

Con cada flanco ascendente en la entrada REQ, este bloque de función escribe un área de registro del PLC a través de Modbus Plus, Ethernet TCP/IP o Ethernet SY/MAX en un slave direccionado.

Como parámetros adicionales se pueden configurar EN y ENO.

Representación en FBD

Representación:

Nota: Para programar la función WRITE_REG debe conocer los procedimientos de acceso utilizados en la red. La descripción detallada de las estructuras de ruta de acceso Modbus Plus se encuentra en "Modbus Plus Network Planning and Installation Guide". En el caso de que se implemente la ruta de acceso de Ethernet TCP/IP o SY/MAX, se deberán utilizar los productos estándar de ruta de acceso de Ethernet-IP. La descripción detallada de las rutas de acceso TCP/IP figura en el manual "Manual de usuario sobre la configuración de Quantum con Unity ProTCP/IP".

Nota: En el programa puede utilizar diversos ejemplares de este bloque de función. No obstante, no es posible instanciar estos ejemplares de forma múltiple.

SetAfterWritingData

WRITE_REG

StartWriteOnceSetInCaseOfError

WRITE_REG_Instance

DONEREQOffsetAddress

NumberOfRegistersSourceDataArea

DataStructureForTransfer

SLAVEREGNO_REGREG_WRITADDRFLD ErrorCode

ERROR

STATUS

298 33002530 07 07/2008

Page 299: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

Representación en LD

Representación:

Representación en IL

Representación:

CAL WRITE_REG_Instance (REQ:=StartWriteOnce, SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, REG_WRIT:=SourceDataArea, ADDRFLD:=DataStructureForTransfer, DONE=>SetAfterWritingData, ERROR=>SetInCaseOfError, STATUS=>ErrorCode)

Representación en ST

Representación:

WRITE_REG_Instance (REQ:=StartWriteOnce, SLAVEREG:=OffsetAddress, NO_REG:=NumberOfRegisters, REG_WRIT:=SourceDataArea, ADDRFLD:=DataStructureForTransfer, DONE=>SetAfterWritingData, ERROR=>SetInCaseOfError, STATUS=>ErrorCode) ;

ENOEN

WRITE_REGWRITE_REG_Instance

SourceDataArea

DataStructureForTransfer

SLAVEREG

NO_REG

REG_WRIT

ADDRFLD

OffsetAddress

NumberOfRegisters

StartWriteOnceREQ

ErrorCodeSTATUS

SetAfterWritingData

SetInCaseOfErrorDONE

ERROR

33002530 07 07/2008 299

Page 300: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

Descripción de los parámetros

Descripción de los parámetros de entrada

Descripción de los parámetros de salida

Error de ejecución

Para obtener una lista de todos los códigos y los valores de error del módulo, consulte Extendido, p. 406.

Parámetro Tipo de datos Significado

REQ BOOL Con cada flanco ascendente en la entrada REQ, este bloque de función escribe un área de registro del PLC a través de Modbus Plus, Ethernet TCP/IP o Ethernet SY/MAX en un slave direccionado.

SLAVEREG DINT Dirección de la primera dirección %MW del slave en el que se debe escribir.

NO_REG INT Número de direcciones que se deben escribir desde el slave.

REG_WRIT ANY Área de datos de origen(Se debe declarar una estructura de datos como Located Variable para los datos de origen).

ADDRFLD WordArr5 Estructura de datos para la transmisión de la dirección Modbus Plus, TCP/IP o SY/MAX-IP.

Parámetro Tipo de datos Significado

DONE BOOL Ajustado a "1" durante un ciclo si se han escrito datos.

ERROR BOOL Ajustado a "1" durante un ciclo cuando se produce un error.

STATUS WORD En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.Para código de error, consulte:

Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

300 33002530 07 07/2008

Page 301: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

Tipos de datos derivados

Descripción de elementos para WordArr5 en Modbus Plus

Descripción de elementos para WordArr5 en Modbus Plus:

Descripción de elementos para WordArr5 en Ethernet TCP/IP

Descripción de elementos para WordArr5 en Ethernet TCP/IP:

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de menor valor:El registro de ruta de acceso 1 se utiliza para determinar la dirección (dirección de ruta de acceso una de cinco) del participante de destino en una transmisión de red.El último byte en la ruta de acceso que no se corresponda con cero es el participante de destino.Byte de mayor valor:Slot del modulo adaptador de red (NOM), si existe.

WordArr5[2] WORD Registro de ruta de acceso 2

WordArr5[3] WORD Registro de ruta de acceso 3

WordArr5[4] WORD Registro de ruta de acceso 4

WordArr5[5] WORD Registro de ruta de acceso 5

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de mayor valor:Slot del módulo NOEByte de menor valor:Índice de copiado de un Transporter MBP a Ethernet (MET)

WordArr5[2] WORD Byte 4 (MSB) de la dirección IP de destino de 32 bits

WordArr5[3] WORD Byte 3 de la dirección IP de destino de 32 bits

WordArr5[4] WORD Byte 2 de la dirección IP de destino de 32 bits

WordArr5[5] WORD Byte 1 (LSB) de la dirección IP de destino de 32 bits

33002530 07 07/2008 301

Page 302: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

Descripción de elementos para WordArr5 en Ethernet SY/MAX

Descripción de elementos para WordArr5 en Ethernet SY/MAX:

Elemento Tipo de datos Significado

WordArr5[1] WORD Byte de mayor valor:Slot del módulo NOEByte de menor valor:Índice de copiado de un Transporter MBP a Ethernet (MET)

WordArr5[2] WORD Número de estación de destino (o ajustar a FF hex)

WordArr5[3] WORD Terminador (ajustar a FF hex)

WordArr5[4] WORD Sin significado

WordArr5[5] WORD Sin significado

302 33002530 07 07/2008

Page 303: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

Modo de funcionamiento

Modo de funcionamiento del bloque WRITE_REG

Se puede programar un gran número de bloques de función WRITE_REG, pero sólo pueden estar activas cuatro operaciones de escritura al mismo tiempo. En este caso, no tiene importancia si dichas operaciones se realizan por medio de este bloque de función u otros (p. ej. MBP_MSTR o CWRITE_REG). Todos los bloques de función emplean una ruta de transacción de datos y necesitan varios ciclos para completar una orden.

Si se utilizan varios bloques de función WRITE_REG en una aplicación, hay que diferenciarlos al menos en los valores de los parámetros NO_REG o REG_WRIT.

Las señales de estado DONE y ERROR indican al programa de aplicación el estado del bloque de función.

La información de acceso completa está incluida en la estructura de datos WordArr5 de la entrada ADDRFLD. El tipo del bloque de función conectado a esta entrada se orienta de acuerdo con la red utilizada.

Utilice:El bloque de función ModbusP_ADDR (véase ModbusP_ADDR: dirección de Modbus Plus, p. 151) para Modbus Plus.El bloque de función TCP_IP_ADDR (véase TCP_IP_ADDR: dirección TCP/IP, p. 279) para Ethernet TCP/IP.El bloque de función SYMAX_IP_ADDR (véase SYMAX_IP_ADDR: dirección SY/MAX IP, p. 275) para Ethernet SY/MAX.

Nota: La comunicación TCP/IP entre un autómata Quantum (NOE 211 00) y un autómata Momentum (todas las CPU TCP/IP y todos los módulos de E/S TCP/IP) sólo es posible cuando en cada ciclo del autómata únicamente se lleva a cabo una orden de escritura o de lectura. Si se envían varias órdenes por cada ciclo del autómata, la comunicación permanece estancada, sin generar ningún mensaje de error en el registro de estado del bloque de función.

Nota: La estructura de datos WordArr5 también se puede utilizar con constantes.

33002530 07 07/2008 303

Page 304: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

Descripción de los parámetros

REQ Un flanco ascendente inicia la transacción de escritura.

El parámetro se puede indicar como dirección, Located Variable, Unlocated Variable o literal.

SLAVEREG Comienzo del área en el slave direccionado donde se van a escribir los datos de origen. El área de destino se encuentra siempre dentro del área del rango de direcciones %MW.

NO_REG Número de direcciones que deben escribirse en el procesador slave (1 a 100).

El parámetro se puede indicar como dirección, Located Variable, Unlocated Variable o literal.

REG_WRIT Para este parámetro se debe definir una matriz (ARRAY) del tamaño del envío que se va a realizar (≥ NO_REG), que se utilizará como área de datos de origen. El nombre de esta matriz se transferirá como parámetro. Si se define una matriz demasiado pequeña, sólo se transferirá la cantidad de datos que tenga cabida en la matriz.

El parámetro se debe indicar como Located Variable.

DONE La transición a estado ON durante un ciclo de programa implica que se han transmitido los datos.

El parámetro se puede indicar como dirección, Located variable o Unlocated variable.

Nota: Para slaves de un PLC que no sea Unity Pro:Esta área de destino siempre se encuentra dentro del área de registro 4x. SLAVEREG espera la dirección de destino como offset dentro del área 4x. El "4" de la izquierda no se tiene en cuenta (p. ej. 59 (contenido de las variables o valor del literal) = 40059).El parámetro se puede indicar como dirección, Located Variable, Unlocated Variable o literal.

304 33002530 07 07/2008

Page 305: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

ERROR La transición a estado ON durante un ciclo de programa implica que se ha descubierto un nuevo error.

El parámetro se puede indicar como dirección, Located variable o Unlocated variable.

STATUS En caso de que se produzca un error al ejecutar la función, el código de error permanecerá en esta salida durante un ciclo.

Para código de error, consulte:Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139Códigos de error específicos de SY/MAX, p. 143Códigos de error de TPC/IP Ethernet, p. 145

El parámetro se puede indicar como dirección, Located variable o Unlocated variable.

33002530 07 07/2008 305

Page 306: 95230619 Bloques Comunicaciones Modicon

WRITE_REG

306 33002530 07 07/2008

Page 307: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

31

WRITE_VAR: variables de escritura

Presentación

Objetivo En este capítulo se describe la función de comunicación WRITE_VAR.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Descripción 308

Pantalla de entrada asistida 313

Ejemplo de cómo escribir palabras en una red 315

Ejemplo de escritura de palabras mediante la conexión serie de PLC Modicon M340

317

Ejemplo de comprobación de ejecución 319

307

Page 308: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Descripción

Descripción de las funciones

La función WRITE_VAR se utiliza para escribir uno o más objetos de lenguaje del mismo tipo:

bits internos,palabras internas.

Los objetos que se van a escribir deben ser siempre consecutivos. Pueden estar ubicados en una CPU remota o en un dispositivo conectado a un canal de comunicación.

Pueden configurarse los parámetros EN y ENO adicionales.

Representación en FBD

Representación:

Compatibilidad de datos intercambiadosLas alineaciones de la estructura de datos no son las mismas para Premium/Quantum y M340, así que compruebe que los datos intercambiados son compatibles. Consulte DDT: Normas de asignación (Ver Unity Pro, Lenguajes y estructura del programa, Manual de referencia, DDT: Normas de asignación) para las normas de alineación.

Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daños en el equipo.

ADVERTENCIA

ADR

GESTGEST

OBJNUMNBEMIS

Management_ParamManagement_Param

WRITE_VAR

AddressObject_TypeFirst_Object

Object_NumberData_to_Write

308 33002530 07 07/2008

Page 309: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Representación LD

Representación:

Representación en IL

Representación:

Dirección LDWRITE_VAR Object_Type, First_Object, Object_Number, Data_to_Write, Management_Param

Representación ST

Representación:

WRITE_VAR(Address, Object_Type, First_Object, Object_Number, Data_to_Write, Management_Param);

ADR

GESTGEST

OBJ

NUM

NB

EMIS

Management_ParamManagement_Param

WRITE_VAR

Address

Object_Type

First_Object

Object_Number

Data_to_Write

ENOEN

33002530 07 07/2008 309

Page 310: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Descripción de parámetros

En la tabla siguiente se describen los parámetros de entrada:

Parámetros Tipo Observación

Address ARRAY [0.. 5] OF INT para PremiumARRAY [0.. 7] OF INT para Modicon M340

Las instrucciones siguientes sólo son válidas para PLC Premium:

La función ADDR proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.Dirección de la entidad de destino del intercambio. Las direcciones siguientes están prohibidas:

{Red.Estación}APP,{Red.Estación}APP.núm ydirecciones de difusión (TODAS, 0 para el módulo TSX SCY 11601).

Las instrucciones siguientes sólo son válidas para PLC Modicon M340:

La función ADDM proporciona la dirección del canal de recepción del mensaje en modalidad de caracteres.La sintaxis de la dirección es del tipo ADDM (‘r.m.c.node’).

Object_Type STRING Tipo de objetos que deben escribirse para PLC Premium:

’%M’: bits internos,’%MW’: palabras internas,’%S’: bits de sistema,’%SW’: palabras de sistema.

Tipo de objetos que deben escribirse para PLC Modicon M340:

’%M’: bits internos,’%MW’: palabras internas.

First_Object DINT Índice del primer objeto que va a escribirse en el dispositivo de destino.

Object_Number INT Número de objetos que se van a escribir

Data_to_Write ARRAY [n... m] OF INT

Tabla de palabras que contienen el valor de los objetos que van a escribirse.

310 33002530 07 07/2008

Page 311: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

En la tabla siguiente se describen los parámetros de entrada/salida:

Parámetros Tipo Observación

Management_Param ARRAY [0.. 3] OF INT

Tabla de gestión de intercambio (véase Estructura de los parámetros de gestión, p. 35)En PLC Modicon M340, existe un nuevo bit de cancelación disponible en la palabra 1 de rango de la tabla de gestión de intercambio.Este bit de cancelación se encuentra ubicado en la palabra de rango 1, que consta de dos bytes:

Byte de mayor valor: número de intercambioByte de menor valor: bit de actividad (rango 0) y bit de cancelación (rango 1).

La EF WRITE_VAR puede anularse mediante la EF CANCEL, o estableciendo en 1 el bit de cancelación de la tabla de gestión (Ver Modicon M340 con Unity Pro, Conexión serie, Manual del usuario, Servicios admitidos por un procesador maestro de conexión Modbus).

Nota: El parámetro de longitud no debe inicializarse antes de iniciar la función.

33002530 07 07/2008 311

Page 312: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Transacciones simultáneas

En la tabla siguiente se detallan las capacidades de cada canal de comunicación para procesar transacciones de forma simultánea, de acuerdo con las distintas configuraciones de los PLC Micro y Premium.

En la tabla siguiente se detallan las capacidades de cada canal de comunicación para procesar transacciones de forma simultánea, de acuerdo con las distintas configuraciones de los PLC Modicon M340.

Configuración Micro TSX 57 10 TSX 57 20 TSX 57 23/30/40/45/55, PCX 57, PMX 57

TSX 57 46/56

Puerto de terminal maestro Uni-Telway 4 4 4 4 8

Conexión PCMCIA o SCY maestro Uni-Telway

1 8 8 8 8

Puerto de terminal esclavo cliente Uni-Telway

4 1 1 1 8

Conexión PCMCIA o SCY esclavo cliente Uni-Telway

1 1 1 1 1

Puerto de terminal esclavo servidor Uni-Telway

4 4 4 4 4

Conexión PCMCIA o SCY esclavo servidor Uni-Telway

4 6 6 6 6

Puerto de terminal Modbus 4 - - - -

Conexión PCMCIA o SCY Modbus 4 8 8 8 8

Modalidad de caracteres, bloque de terminales

1 1 1 1 1

Conexión PCMCIA o SCY de modalidad de caracteres

4 8 8 8 8

PCMCIA CANopen - 10 10 10 10

Conexión PCMCIA o SCY Fipway 4 8 8 8 8

Modbus Plus 4 4 4 4 4

Ethernet - 16 16 16 16

Ethernet incorporado - - - - 64

Configuración BMX P34 1000. BMX P34 2000. BMX P34 2010. BMX P34 2020. BMX P34 2030.

CANopen incorporado - - 16 - 16

Ethernet incorporado - - - 16 16

Puerto serie maestro Modbus

8 16 16 16 -

312 33002530 07 07/2008

Page 313: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Pantalla de entrada asistida

Presentación Para esta función de comunicación, puede solicitar la pantalla de entrada asistida. Tenga en cuenta que la pantalla de entrada asistida no está disponible para Modicon M340.

Ilustración La pantalla siguiente muestra un ejemplo de la pantalla de entrada asistida de la función:

Dirección Para PLC Premium, los tipos de objetos posibles son los siguientes:

ADDR(STRING),ARRAY [0..5] OF INT.

Nota: Los símbolos de variable se aceptan en los diferentes campos de la pantalla.

WRITE_VAR

Dirección: ? Parámetros

Tipo de objeto para escribir:

Dirección del primer objeto para escribir:

Número de objetos consecutivos para escribir:

Datos para escribir:

Tipos posibles: Matriz de enteros constantes, matriz de enteros (n>=6)Dirección ADDR(‘..’)

Aceptar Cancelar

Informe:

...

...

...

...

...

Nota: Si introduce un valor directamente en un campo, el botón de entrada de dirección asistida se vuelve gris.

33002530 07 07/2008 313

Page 314: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Tipo de objeto para escribir

Para PLC Premium, las opciones posibles son las siguientes:

‘%M’ para la escritura de bits internos.‘%MW’ para la escritura de palabras internas.‘%S’ para la escritura de bits de sistema.‘%SW’ para la escritura de palabras de sistema.

Para PLC Modicon M340, las opciones posibles son las siguientes:

‘%M’ para la escritura de bits internos.‘%MW’ para la escritura de palabras internas.

Dirección del primer objeto para escribir

Los objetos posibles son de tipo DINT:

variables,constantes,valor inmediato.

Número de objetos consecutivos para escribir

Los objetos posibles son del tipo INT:

variables,constantes,valor inmediato.

Datos para escribir

Los datos del área de escritura son una matriz de enteros. El tamaño de la matriz depende del número de objetos que deben escribirse. Esta matriz de enteros puede o no localizarse.

Informe El informe es una matriz de 4 enteros.

Nota: Basta con seleccionar la solución que desee en el menú desplegable.

Nota: Si introduce una constante, aparecerá un campo de entrada para ello. Si introduce una variable, ésta puede o no localizarse (véase , p. 437). Por otro lado, los objetos que deben escribirse son variables ubicadas obligatorias.

Nota: Si introduce una constante, aparecerá un campo de entrada para ello. Si introduce una variable, ésta puede o no localizarse.

Nota: Tenga cuidado de no utilizar varias áreas de memoria idénticas para las tablas de informes; de lo contrario, la función de lectura de variables podría no funcionar.

314 33002530 07 07/2008

Page 315: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Ejemplo de cómo escribir palabras en una red

Presentación Hasta ahora, los ejemplos se han escrito utilizando el direccionamiento directo (uso de %MWi), pero también es posible crear estos mismos ejemplos mediante variables no ubicadas.

El ejemplo siguiente utiliza variables no ubicadas e incluye la escritura de una tabla de 50 palabras no ubicadas llamada Tab_1 (declarada como una MATRIZ [0..49] DE INT) en el esclavo Uni-Telway, con la dirección:

Red 20Estación 1Módulo SCM2116 en TSX 87 en slot 5 del bastidor baseCanal 1Dirección del servidor del esclavo Ad0 = 3.

Los valores que deben escribirse se encuentran en la variable Tab_1 del emisor.

Los parámetros de gestión están ubicados en una tabla de cuatro enteros denominada Management_Parameter (declarada como MATRIZ [0..3] DE INT).

Ilustración Las dos estaciones se conectan a través de una red Fipway.

Uni-Telway

TSX PremiumTSX 87

Ad0 = 3

Ad0 = 1

Red Fipway 20

{20.1}{20.2}

33002530 07 07/2008 315

Page 316: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Programación Programación en ST:

SI RE(%I0.3.1) Y NO Management_Parameter[0].0 ENTONCES WRITE_VAR(ADDR(’{20.1}0.5.1.3’),’%MW’,0,50,Tab_1,Management_Parameter);

END_IF;

Parámetros de petición:

Parámetros Descripción

ADDR(‘{20.1}5.1.3’) {20.1}: red 20, estación 10: bastidor5: módulo1: canal 13: dirección de destino

’%MW’ Tipo de objeto (palabra interna)

0 Dirección del primer objeto para escribir

50 Número de objetos consecutivos para escribir

Tab_1 Datos para escribir

Management_Parameter Tabla de gestión

316 33002530 07 07/2008

Page 317: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Ejemplo de escritura de palabras mediante la conexión serie de PLC Modicon M340

Presentación El ejemplo utiliza dos procesadores Modicon M340 que se comunican a través de la conexión serie Modbus.

Descripción del ejemplo

El ejemplo siguiente utiliza variables no ubicadas e incluye la escritura de una tabla de 50 palabras no ubicadas llamada Tab_1 (declarada como MATRIZ [0..49] DE INT) en el esclavo Modbus. Los parámetros de gestión están ubicados en una tabla de cuatro enteros llamados Management_Parameter (declarados como MATRIZ [0..3] DE INT).

En dicho ejemplo, el número de esclavos Modbus es 7, así que el parámetro ADDM de entrada es ‘0.0.0.7’:

0: número de bastidor del procesador igual a 0,0: número de slot del procesador dentro del bastidor, igual a 0 ya que el número de slot de un procesador Modicon M340 es siempre 0,0: número de canal, igual a 0, ya que la conexión serie de un procesador Modicon M340 es siempre el canal 0,7: el número de esclavo configurado es 7.

Los valores que deben escribirse se encuentran en la variable Tab_1 del emisor.

Ilustración Los dos procesadores Modicon 340 están conectados a través de una conexión Modbus:

Maestro Modbus

Cable VW3 A8 306 R30

Procesador BMX P34 2010

Esclavo ModbusProcesador BMX P34 2010

33002530 07 07/2008 317

Page 318: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Programación Programación en ST:

SI RE(%I0.3.1) Y NO Management_Parameter[0].0 ENTONCES WRITE_VAR(ADDM(’0.0.0.7’),’%MW’,0,50,Tab_1,Management_Parameter);

END_IF;

Los parámetros de solicitud son los siguientes:

Parámetros Descripción

ADDM(’0.0.0.7’) 0: número de bastidor del procesador esclavo0: número de slot del procesador esclavo0: número de canal (número del puerto serie)7: número de esclavo configurado

’%MW’ Tipo de objeto (palabra interna)

0 Dirección del primer objeto para escribir

50 Número de objetos consecutivos para escribir

Tab_1 Datos para escribir

Management_Parameter Tabla de gestión

318 33002530 07 07/2008

Page 319: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Ejemplo de comprobación de ejecución

Presentación El ejemplo siguiente ilustra la función WRITE_VAR con una comprobación del parámetro de gestión.

Programación de la función

Programación en ST:

SI NO %M20 Y %I0.1.2 ENTONCES %MW200:4:= 0; INC %MW1700 %MW202:= 50; WRITE_VAR(ADDR(’0.3.1.7’),’%MW’,20,1,%MW1700:1,%MW200:4); SET %M20;END_IF;

El bit de entrada %I0.1.2 controla la función.El bit de Internet %M20 se utiliza para comprobar la actividad de la función.%MW200:4:= 0; establece la tabla de gestión en 0.INC %MW1700; incrementa la palabra %MW1700.MW202:= 50; inicializa el valor de timeout en 5 segundos.

Nota: WRITE_VAR(ADDM(‘0.3.1.7’),’%MW’,20,1,%MW1700:4,%MW200:4); La sintaxis debe utilizarse para PLC Modicon M340, ya que la función ADDR no puede ser utilizada por un PLC Modicon M340.

33002530 07 07/2008 319

Page 320: 95230619 Bloques Comunicaciones Modicon

WRITE_VAR

Programación de la comprobación de intercambio

Programación en ST:

SI %M20 Y %M200.0 ENTONCES INC %MW204; IF %MW201 = 0 THEN INC %MW205; ELSE SET %Q0.2.2; INC %MW206; %MW207 := %MW201; END_IF;END_IF;

%MW204 contabiliza el número de intercambios.%MW205 contabiliza el número de intercambios correctos.%MW206 contabiliza el número de intercambios que generan errores.%MW207 almacena el mensaje de error.%Q0.2.2 indica un fallo de intercambio.

320 33002530 07 07/2008

Page 321: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

32

XXMIT: transmisión

Descripción general

Introducción En este capítulo se describe el bloque XXMIT.

Contenido: Este capítulo contiene las siguientes secciones:

Sección Apartado Página

32.1 Introducción a XXMIT 323

32.2 XXMIT: funciones 324

32.3 XXMIT: normas de programación 370

32.4 Referencias técnicas para XXMIT 372

32.5 Información de cableado 384

321

Page 322: 95230619 Bloques Comunicaciones Modicon

XXMIT

322 33002530 07 07/2008

Page 323: 95230619 Bloques Comunicaciones Modicon

XXMIT

32.1 Introducción a XXMIT

Funciones de XXMIT

Vista general de la función

XXMIT permite la utilización del puerto serie de los PLC para realizar una comunicación bajo el control del programa de aplicación.

Se permiten los siguientes tipos de comunicación:Modbus como maestroEntrada/Salida ASCII simple Entrada ASCII con uno o dos caracteres de finalizaciónComunicación con módem

Descripción de las funciones

XXMIT envía mensajes Modbus desde un PLC "maestro" a varios PLC esclavos o envía cadenas de caracteres desde el puerto esclavo Modbus número 1 de los PLC a impresoras y terminales ASCII. XXMIT envía estos mensajes por medio de módems de marcación telefónica, radio módems o simplemente mediante conexiones directas. El bloque XXMIT realiza funciones de entrada ASCII generales en la modalidad de comunicación, incluidas las ASCII sencillas y las ASCII finalizadas. Podrá importar y exportar datos binarios o ASCII en su PLC. XXMIT posee un sistema de diagnóstico integrado que realiza las comprobaciones necesarias para asegurarse de que no hay ningún otro XXMIT activo en el mismo puerto del PLC. Dentro del XXMIT, las entradas de control permiten al usuario controlar los enlaces de comunicación entre el PLC y los dispositivos DCE (Data Communication Equipment o equipo de comunicación de datos) conectados al puerto Modbus número 1 del PLC. XXMIT activa el LED del puerto cuando se transmiten datos.

DATOS NO VÁLIDOSEn el caso de mensajes ASCII, no hay control (similar a un CRC o a una suma de chequeado) que garantice la validez de los datos recibidos.Para evitar la recepción de una dato no válido debido a perturbaciones eléctricas, es recomendable utilizar mensajes Modbus que incluyan una verificación por redundancia cíclica (Cyclical Redundancy Checking, o CRC).

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

AVISO

33002530 07 07/2008 323

Page 324: 95230619 Bloques Comunicaciones Modicon

XXMIT

32.2 XXMIT: funciones

Presentación

Descripción general

En esta sección se describe XXMIT.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Breve descripción 325

Representación 326

Descripción detallada de parámetros 330

Funciones de comunicación de XXMIT 341

Funciones ASCII de XXMIT 342

Funciones de módem de XXMIT 347

Funciones Modbus de XXMIT 348

FIFO y control de flujo 354

Ejemplos de aplicación 359

324 33002530 07 07/2008

Page 325: 95230619 Bloques Comunicaciones Modicon

XXMIT

Breve descripción

Descripción de las funciones

Los bloques de funciones XXMIT envían mensajes Modbus desde un PLC “maestro” a varios PLC esclavos o envían cadenas de caracteres ASCII desde el puerto esclavo Modbus número 1 a impresoras y terminales ASCII. XXMIT envía estos mensajes por medio de módems de marcación telefónica, radio módems o simplemente mediante conexiones directas.

Requisitos de software y hardware

Software

XXMIT requiere el siguiente software:Software Unity Pro 2.3 o superior,PLC Quantum con la versión 2.3 del sistema operativo o superior.

Hardware

XXMIT no admite el siguiente hardware:PLC Quantum que no admiten lenguajes Unity Pro IECPLC de seguridad QuantumPLC PremiumPLC Modicon M340Simulador del PLC

Nota: Los bloques de funciones XXMIT sólo se pueden utilizar en la tarea MAST. Se muestra un código de error inmediato (127) si se inicia en las tareas FAST/AUX o EVENT (Unity Pro no lleva a cabo ningún control en el momento de la generación).

Nota: EN y ENO NO deben utilizarse con XXMIT; de lo contrario, los parámetros de salida podrían inmovilizarse.

Nota: Para importar en Unity Pro una sección de programa que contenga unos bloques de funciones XXMIT, es necesario configurar un PLC Quantum con una versión igual a 2.30 o superior.

33002530 07 07/2008 325

Page 326: 95230619 Bloques Comunicaciones Modicon

XXMIT

Representación

Representación FBD

Representación:

Active

MsgOut

Port

Databits

Parity

XXMIT

MsgOut_param

Port_param

Databits_param

Parity_param

StartStart_param

CommandCommand_param

MsgLenMsgLen_param

BaudrateBaudrate_param

StopbitsStopbits_param

RespToutRespTout_param

StartDlyStartDly_param

EndDlyEndDly_param

RetryLmtRetryLmt_param

Done Done_param

Error Error_param

MsgIn MsgIn_param

RecCount RecCount_param

Status Status_param

Retry Retry_param

Active_param

XXMIT_instance

326 33002530 07 07/2008

Page 327: 95230619 Bloques Comunicaciones Modicon

XXMIT

Representación LD

Representación:

Representación IL

Representación:

CAL XXMIT_instance(Start:=Start_param, Command:=Command_param, MsgOut:=MsgOut_param, MsgLen:=Msglen_param, Port:=Port_param, Baudrate:=Baudrate_param, Databits:=Databits_param, Stopbits:=Stopbits_param, Parity:=Parity_param, RespTout:=RespTout_param, RetryLmt:=RetryLmt_param, StartDly:=StartDly_param, EndDly:=EndDly_param, Error=>Error_param, MsgIn=>MsgIn_param, RecCount=>RecCount_param, Status=>Status_param, Retry=>Retry_param)

Active

MsgOut

Port

Databits

Parity

XXMIT

MsgOut_param

Port_param

Databits_param

Parity_param

ENOEN

StartStart_param

CommandCommand_param

MsgLenMsgLen_param

BaudrateBaudrate_param

StopbitsStopbits_param

RespToutRespTout_param

StartDlyStartDly_param

EndDlyEndDly_param

RetryLmtRetryLmt_param

Done Done_param

Error Error_param

MsgIn MsgIn_param

RecCount RecCount_param

Status Status_param

Retry Retry_param

Active_param

XXMIT_instance

33002530 07 07/2008 327

Page 328: 95230619 Bloques Comunicaciones Modicon

XXMIT

Representación ST

Representación:

XXMIT_instance (Start:=Start_param, Command:=Command_param, MsgOut:=MsgOut_param, MsgLen:=Msglen_param, Port:=Port_param, Baudrate:=Baudrate_param, Databits:=Databits_param, Stopbits:=Stopbits_param, Parity:=Parity_param, RespTout:=RespTout_param, RetryLmt:=RetryLmt_param, StartDly:=StartDly_param, EndDly:=EndDly_param, Error=>Error_param, MsgIn=>MsgIn_param, RecCount=>RecCount_param, Status=>Status_param, Retry=>Retry_param);

Descripción de parámetros

Descripción del parámetro del bloque:

Parámetros Tipo de datos Significado

Start (véase Inicio, p. 330)

BOOL El valor 1 inicia la operación de XXMIT (véase Inicio, p. 330)

Command (véase Comando, p. 330)

WORD Especifica el comando que se va a ejecutar (véase Comando, p. 330)

MsgOut (véase MsgOut, p. 333)

ANY Mensaje que se va a enviar (véase MsgOut, p. 333)

MsgLen (véase MsgLen, p. 334)

INT Longitud del mensaje de salida (véase MsgLen, p. 334)

Port (véase Port, p. 334)

BYTE Selección de la interfase de comunicación (sólo puerto 1) (véase Port, p. 334)

Baudrate (véase Baudrate, p. 334)

INT Tasa de baudios (véase Baudrate, p. 334)

Databits (véase Databits, p. 334)

BYTE Bits de datos (véase Databits, p. 334)

Stopbits (véase Stopbits, p. 335)

BYTE Bits de parada (véase Stopbits, p. 335)

Parity (véase Paridad, p. 335)

BYTE Paridad (véase Paridad, p. 335)

RespTout (véase RespTout, p. 335)

INT Tiempo de espera para una respuesta válida (véase RespTout, p. 335)

RetryLmt (véase RetryLmt, p. 335)

INT Número de reintentos hasta recibir una respuesta válida (véase RetryLmt, p. 335)

StartDly (véase StartDly, p. 335)

INT Tiempo de espera antes de la transmisión del mensaje (véase StartDly, p. 335)

EndDly (véase EndDly, p. 335)

INT Tiempo de espera después de la transmisión del mensaje (véase EndDly, p. 335)

328 33002530 07 07/2008

Page 329: 95230619 Bloques Comunicaciones Modicon

XXMIT

Active (véase Activo, p. 336)

BOOL El valor 1 indica que se está realizando una operación de XXMIT (véase Activo, p. 336)

Done (véase Done, p. 336)

BOOL El valor 1 indica que la operación de XXMIT se ha completado satisfactoriamente. (véase Done, p. 336)

Error (véase Error, p. 336)

BOOL El valor 1 indica que ha surgido un error o que la operación de XXMIT ha terminado. (véase Error, p. 336)

Msgln (véase MsgIn, p. 336)

ANY Mensaje entrante (véase MsgIn, p. 336)

RecCount (véase RecCount, p. 336)

INT Muestra el número de caracteres recibidos (véase RecCount, p. 336)

Status (véase Status, p. 337)

INT Muestra un código de fallo generado por XXMIT (véase Status, p. 337)

Retry (véase Retry, p. 340)

INT Indica el número actual de reintentos realizados por XXMIT (véase Retry, p. 340)

Parámetros Tipo de datos Significado

33002530 07 07/2008 329

Page 330: 95230619 Bloques Comunicaciones Modicon

XXMIT

Descripción detallada de parámetros

Inicio Un valor de 1 en la señal de inicio activa la operación de XXMIT. El valor 1 deberá aplicarse hasta que la operación se haya completado o hasta que se produzca un error.

Comando XXMIT interpreta cada bit de la palabra de comando como una función que debe realizarse. Si los bits 9 y 8 están activados simultáneamente, si dos o más de los bits 3, 2, 1 ó 0 están activados simultáneamente o si el bit 9 no está activado cuando los bits 3, 2, 1 ó 0 están activados, se genera un error 129. Para obtener más detalles, consulte Funciones de comunicación de XXMIT, p. 341. A continuación, se muestra una tabla con las definiciones de cada bit.

Estructura de las palabras de comando

Definiciones de los bits de las palabras de comando del bloque de funciones XXMIT

Nota: Los parámetros de entrada de XXMIT se deben inicializar antes de ajustar la entrada START. No se deben cambiar mientras el bloque de funciones está activo.

Bit Definición

Bit 15 (msb) Reservado

Bit 14 Habilitar control de módem RTS/CTS

Se establece en 1 cuando un DCE que está conectado al PLC requiere un protocolo de hardware que utilice el control RTS/CTS. Este bit se puede utilizar junto con los valores incluidos en StartDly y EndDly. El retardo de inicio de transmisión mantiene RTS asegurado durante el tiempo establecido en StartDly (ms) antes de que XXMIT envíe un mensaje desde el puerto del PLC. Asimismo, el retardo de fin de transmisión mantiene RTS asegurado durante el tiempo establecido en EndDly (ms) después de que XXMIT haya terminado de enviar un mensaje desde el puerto del PLC. Una vez finalizado el tiempo establecido como retardo de fin de transmisión, XXMIT anula RTS.

15

Bit

MSB

9 8 7 0

LSB

330 33002530 07 07/2008

Page 331: 95230619 Bloques Comunicaciones Modicon

XXMIT

Bit 13 Habilitar modalidad RS485

Se establece en 1 cuando el puerto seleccionado debe funcionar en la modalidad RS485. En cualquier otro caso, su valor predeterminado será 0, que es la modalidad RS232.Al utilizar el puerto Modbus en modalidad RS485 con mensajes Modbus, no olvide utilizar exactamente los mismos parámetros (baudrate, databits, stopbits, parity) para el bloque XXMIT que los que están configurados para ese puerto.

Bit 12 Reservado

Bit 11 Entrada ASCII finalizada

Se establece en 1 para eliminar y rechazar todos los caracteres de FIFO hasta coincidir con la cadena inicial; a continuación, estos caracteres iniciales y los siguientes se escriben en MsgIn hasta coincidir con la secuencia final. La cadena final también se escribe en MsgIn. Consulte el capítulo Función de entradas ASCII finalizadas, p. 342 para obtener más información.

Bit 10 Entrada ASCII simple

Se establece en 1 para eliminar los caracteres ASCII de FIFO y escribirlos en la matriz MsgIn. Consulte el capítulo Función de entradas ASCII simples, p. 344 para obtener más información.

Bit 9 Habilitar mensajes de cadena ASCII

Se establece en 1 cuando desea enviar mensajes ASCII fuera del PLC. XXMIT envía cadenas ASCII de hasta 1.024 caracteres de longitud. Puede programar el mensaje ASCII en MsgOut. Utilice sólo el bit 9 o el bit 8; no intente usar los dos.

Bit 8 Habilitar mensajes Modbus

Se establece en 1 cuando desea enviar mensajes Modbus fuera del PLC. Los mensajes Modbus pueden estar en formato RTU o ASCII. Cuando el número de bits de datos es igual a 8, XXMIT utiliza el formato Modbus RTU. Cuando el número de bits de datos es igual a 7, XXMIT utiliza el formato Modbus ASCII. Utilice sólo el bit 9 o el bit 8; no intente usar los dos.

Bit 7 Habilitar FIFO de recepción ASCII

Se establece en 1 para que el bloque XXMIT pueda controlar el puerto seleccionado (1) desde el PLC. El bloque comienza a recibir los caracteres ASCII en FIFO circular vacío de 512 bytes. Consulte el capítulo FIFO de recepción ASCII, p. 354 para obtener más información.

Bit 6 Habilitar retroceso

Se establece en 1 para poder realizar una gestión especial del carácter de retroceso ASCII (BS, 8 Hex) si se utiliza una entrada ASCII simple (bit 10) o una entrada ASCII finalizada (bit 11). Si se establece el bit 6, todos los caracteres de retroceso NO se almacenarán en MsgIn. Consulte el capítulo Habilitación de retroceso, p. 354 para obtener más información.

Bit 5 Habilitar control de flujo RTS/CTS

Se establece en 1 para permitir el control de flujo de hardware de dúplex completo con las señales de establecimiento de enlace RTS y CTS para los mensajes ASCII. RTS/CTS funciona tanto en modalidad de entrada como de salida. Consulte el capítulo Habilitación del Control de flujo RTS/CTS, p. 355 para obtener más información.

Bit Definición

33002530 07 07/2008 331

Page 332: 95230619 Bloques Comunicaciones Modicon

XXMIT

Bit 4 Habilitar control de flujo Xon/Xoff

Se establece en 1 para permitir el control de flujo de software de dúplex completo con el carácter Xon ASCII (DC1, 11 Hex) y el carácter Xoff ASCII (DC3, 13 Hex). Xon/Xoff funciona tanto en la modalidad de entrada como de salida. Consulte el capítulo Habilitación del Control de flujo Xon/Xoff, p. 357 para obtener más información.

Bit 3 Marcar en módem por pulsos

Se establece en 1 cuando se utiliza un módem de marcación compatible con Hayes y desea una marcación por pulsos de un número de teléfono. El número de teléfono se programa en MsgOut. La longitud del mensaje debe estar comprendida en MsgLen. Los números marcados por pulsos se envían al módem de forma automática precedidos por ATDT y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. Como el mensaje marcado es una cadena ASCII, el bit 9 debe estar CON antes de enviar el número que se va a marcar.

Bit 2 Colgar módem

Se establece en 1 cuando se utiliza un módem de marcación compatible con Hayes y desea colgar el módem. Debe usar la lógica de usuario para poner en CON este bit. Como el mensaje de interrupción de la conexión es una cadena ASCII, el bit 9 debe estar CON antes de enviar el mensaje. Los mensajes de interrupción de la conexión se envían al módem de forma automática precedidos por +++AT y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. XXMIT busca una respuesta de desconexión correcta del módem antes de poner en CON la señal de salida Ejecutado y señalar una finalización satisfactoria.

Bit 1 Marcar en módem por tonos

Se establece en 1 cuando se utiliza un módem de marcación compatible con Hayes y desea una marcación por tonos de un número de teléfono. El número de teléfono se programa en MsgOut. La longitud del mensaje debe estar comprendida en MsgLen. Los números de marcación por tonos se envían al módem automáticamente precedidos por ATDT y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. Como el mensaje marcado es una cadena ASCII, el bit 9 debe estar CON antes de enviar el número que se va a marcar.

Bit 0 Inicializar módem

Se establece en 1 cuando se utiliza un módem de marcación compatible con Hayes y desea inicializar el módem. Puede programar el mensaje de inicialización en MsgOut y la longitud del mensaje en MsgLen. Todos los mensajes se envían al módem automáticamente precedidos por AT y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. Como el mensaje de inicialización es una cadena ASCII, el bit 9 debe estar CON antes de enviar el mensaje.

Nota: En comparación con la palabra de comando XXMIT Concept, ha cambiado la numeración de bits de la palabra de comando Unity:

Bit Definición

332 33002530 07 07/2008

Page 333: 95230619 Bloques Comunicaciones Modicon

XXMIT

Conversión de la palabra de comando

En caso de aplicar la conversión de Concept a Unity, se debe tener en cuenta la nueva numeración de bits cuando los bits acceden a la palabra de comando. Esto NO se aplica cuando las palabras acceden a la palabra de comunicación.

MsgOut MsgOut contiene los datos del mensaje que se van a transferir; por ejemplo, caracteres ASCII para una transferencia ASCII, la definición de los caracteres de terminación para una entrada ASCII finalizada o las plantillas Modbus para los mensajes del maestro Modbus.

El tipo de datos que se asigne al parámetro debe cumplir los requisitos de la función que se va a efectuar. En caso de la operación Modbus, el tipo de datos de MsgOut y MsgIn debe ser igual.

Nota: Para todos los tipos de comunicación (maestro Modbus, entrada/salida ASCII), los parámetros MsgOut y MsgIn se deben asignar a una variable. Las dos variables deben ser Data Type Byte Array o Word Array. Otros tipos pueden producir resultados impredecibles.

Nota: Para los mensajes Modbus, MsgOut debe ser un campo de palabras. El tamaño mínimo de la matriz es WordArr9.

33002530 07 07/2008 333

Page 334: 95230619 Bloques Comunicaciones Modicon

XXMIT

MsgLen Debe introducir la longitud del mensaje actual según la función XXMIT seleccionada.

La tabla siguiente ofrece una visión general de las funciones Modbus y ASCII:

Port El término Port especifica la interfaz de comunicación. 1 es el único valor autorizado.

Baudrate XXMIT admite las velocidades de transmisión de datos siguientes: 50, 75, 110, 134, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600, 19200. Para configurar la velocidad de transmisión de datos, introduzca el número decimal correspondiente. Si se introduce una velocidad de datos no válida, el bloque muestra un error de configuración no válido (código de error 127) en el elemento de estado de XXMIT.

Databits XXMIT admite los bits de datos siguientes: 7 y 8. Para configurar un tamaño de bits de datos, introduzca el número decimal correspondiente en este elemento. Se pueden enviar los mensajes Modbus en modalidad ASCII o RTU. La modalidad ASCII requiere 7 bits de datos, mientras que la modalidad RTU requiere 8 bits de datos. Cuando se envía un mensaje con caracteres ASCII, puede utilizar 7 u 8 bits de datos. Si se introduce un número de bits de datos no válido, el bloque muestra un error de configuración no válida (código de error 127) en el elemento de estado de XXMIT. Para obtener más información sobre los formatos de mensajes Modbus, consulte la Guía de referencia de protocolos Modbus de Modicon (www.modbus.org).

Función XXMIT Subfunción Longitud de mensaje

Mensajería Modbus 01, 02, 03, 04, 05, 06, 08, 15, 16

5

Entrada ASCII finalizada 5

Entrada ASCII simple 1...1024.

Mensajes de cadena ASCII

1...1024. La longitud seleccionada debe coincidir con el tamaño de la matriz asignada a MsgOut. De lo contrario, obtendrá el error 129.

Nota: Para los códigos de función Modbus, el valor de MsgLen puede ser superior a cinco palabras, pero sólo las primeras cinco palabras de la tabla de definición Modbus se tienen en cuenta en tiempo de ejecución.

334 33002530 07 07/2008

Page 335: 95230619 Bloques Comunicaciones Modicon

XXMIT

Stopbits XXMIT admite uno o dos bits de parada. Escriba un decimal: 1 = un bit de parada o 2 = dos bits de parada. Si se introduce un número de bits de parada no válido, el bloque muestra un error de configuración no válida (código de error 127) en el elemento de estado de XXMIT.

Paridad XXMIT admite las paridades siguientes: ninguna, impar o par. Escriba un decimal: 0 = sin paridad, 1 = paridad impar o 2 = paridad par. Si se introduce una paridad no válida, el bloque muestra un error de configuración no válida (código de error 127) en el elemento de estado de XXMIT.

RespTout Se debe introducir el valor del tiempo en milisegundos (ms) para determinar cuánto tiempo va a esperar XXMIT un mensaje de respuesta válido del equipo esclavo (PLC, módem, etc.). Además, el tiempo hace referencia a transmisiones ASCII y a operaciones de control de flujo. Cuando el mensaje de respuesta no surge durante el transcurso del tiempo especificado, XXMIT señala un fallo. El rango válido es de 0 a 32.767 ms. El timeout se iniciará después de que se haya enviado el último carácter del mensaje.

RetryLmt Es necesario introducir el número de reintentos para determinar cuántas veces XXMIT debe enviar un mensaje para obtener una respuesta válida del equipo esclavo (PLC, módem, etc.). Cuando el mensaje de respuesta no surge dentro del tiempo especificado, XXMIT indica un fallo y muestra un código de error. El rango válido es de 0 a 32.767. Número de reintentos. Este campo se utiliza junto con RespTout.

StartDly Es necesario introducir el tiempo en milisegundos (ms) cuando el control RTS/CTS está activado para determinar cuánto debe esperar XXMIT tras recibir CTS para transmitir un mensaje al puerto del PLC. Además, puede utilizar este registro aunque RTS/CTS NO esté controlado. En esta situación, el valor de tiempo introducido determina cuánto tiene que esperar XXMIT antes de enviar un mensaje desde el puerto del PLC. Se puede utilizar como temporizador de retardo de premensaje. El rango válido es de 0 a 32.767 ms.

EndDly Es necesario introducir el tiempo en milisegundos (ms) cuando el control RTS/CTS está activado para determinar cuánto debe XXMIT mantener RTS una vez se envía el mensaje desde el puerto del PLC. Cuando el tiempo ha transcurrido, XXMIT anula el RTS. Además, puede utilizar este registro aunque RTS/CTS NO esté controlado. En esta situación, el valor de tiempo introducido determina cuánto tiene que esperar XXMIT después de enviar un mensaje desde el puerto del PLC. Se puede utilizar como temporizador de retardo de postmensaje. El rango válido es de 0 a 32.767 ms.

33002530 07 07/2008 335

Page 336: 95230619 Bloques Comunicaciones Modicon

XXMIT

Activo Un valor 1 indica que XXMIT está realizando una operación.

Done Un valor 1 indica que la operación de XXMIT se ha completado satisfactoriamente.

Error Un valor 1 indica que ha surgido un error o que XXMIT ha terminado la operación que estaba llevando a cabo.

MsgIn MsgIn contiene los datos del mensaje entrante, para entradas ASCII finalizadas o ASCII simples.

En el caso de la operación Modbus, el tipo de datos debe ser igual al tipo del campo MsgOut.

RecCount Este elemento muestra el número de caracteres recibidos.

Nota: En la comunicación de RS 485, la señal de transmisión se mantiene en ‘1’ durante el tiempo EndDly. En las conexiones de dos conductores, se perderá cualquier carácter entrante procedente del otro participante en la comunicación. Por tanto, establezca EndDly en 0 ms si no es necesaria la función.

PLC

RTS

CTS

TXD

StartDly EndDly

Modem

Nota: Cuando se reciben demasiados caracteres sin que se detecte ningún carácter de terminal, aparece un error en el parámetro Estado (131) y el parámetro RecCount se establece en MsgLen-1.

336 33002530 07 07/2008

Page 337: 95230619 Bloques Comunicaciones Modicon

XXMIT

Status Este elemento muestra un código de error generado por XXMIT.

A continuación, se muestra una tabla con la lista completa de errores.

Estado de error

Código de error

Descripción del error

1 Excepción Modbus: función no válida.

2 Excepción Modbus: dirección de datos no válida.

3 Excepción Modbus: valor de datos no válido.

4 Excepción Modbus: error en equipo participante esclavo.

5 Excepción Modbus: confirmación.

6 Excepción Modbus: participante esclavo ocupado.

7 Excepción Modbus: confirmación negativa.

8 Excepción Modbus: error de paridad de memoria.

9... 99 Reservado

100 El área de datos del PLC esclavo no puede ser 0.

101 El área de datos del PLC maestro no puede ser cero.

102 Bit (%M) no configurado.

103 Palabra de memoria del PLC maestro (%MW) no configurada.

104 La longitud de datos no puede ser igual a cero.

105, 106 Reservado

107 Timeout de la transferencia de mensajes (este error aparece cuando el UART no puede completar una transmisión en diez segundos o menos. Este error pasa por alto el contador de reintentos y activa la salida de error en el primer error, consulte Información adicional para el error 107).

108 Error no definido.

109 El módem ha devuelto ERROR.

110 El módem ha devuelto SIN PORTADORA.

111 El módem ha devuelto SIN TONO DE MARCACIÓN.

112 El módem ha devuelto OCUPADO.

113 Suma de control LRC no válida desde el PLC esclavo, consulte 1) más abajo.

114 Suma de control CRC no válida desde el PLC esclavo, consulte 1) más abajo.

115 Código de función Modbus no válido.

116 Timeout de mensaje de respuesta Modbus, consulte 2) más abajo.

117 Timeout de respuesta del módem.

33002530 07 07/2008 337

Page 338: 95230619 Bloques Comunicaciones Modicon

XXMIT

118 XXMIT no recibió acceso al puerto de comunicaciones número 1 del PLC.

119 XXMIT no puede activar el receptor del puerto PLC.

120 XXMIT no puede definir UART del PLC.

121 Reservado

122 Puerto no válido.

123 Reservado

124 Estado interno sin definir.

125 No se permite la modalidad Broadcast con este código de función Modbus.

126 DCE no ha validado CTS.

127 Configuración no válida (velocidad de datos, bits de datos, paridad o bits de parada).

Ejecución en una tarea diferente a MAST.

Código de función Modbus no válido.

Dirección de esclavo superior a 247.

El parámetro de longitud de datos es superior a los límites que se describen en este documento.

El número de puerto no es 1.

Los valores RespTout, StartDly, EndDly, RecCount, MsgLen, RetryLmt son inferiores a 0.

128 Respuesta inesperada recibida desde el esclavo de Modbus, consulte 1) más abajo.

129 Ajustes de palabra de comando no válidos.

130 Palabra de comando modificada mientras se encontraba activa.

131 Conteo de caracteres no válido.

132 Reservado

133 Error de desborde FIFO en entrada ASCII.

134 Cantidad no válida de caracteres de inicio o de caracteres de finalización.

135...149 Reservado

150 El puerto configurado ya está ocupado por otra instancia del bloque de funciones XXMIT o este PLC no lo admite.

151 MsgOut es menor de 12 bytes cuando está seleccionada la función de mensajes del maestro de Modbus. También incluye el valor del parámetro MsgLen inferior a 5.

152 La variable conectada a MsgOut es menor que el valor del parámetro MsgLen cuando está seleccionada la función de mensajes de cadena ASCII.

Código de error

Descripción del error

338 33002530 07 07/2008

Page 339: 95230619 Bloques Comunicaciones Modicon

XXMIT

153 La variable conectada a MsgIn es menor que el valor del parámetro MsgLen cuando está seleccionada la función Entrada ASCII finalizada o Entrada ASCII simple.

154 Bit de inicio XXMIT definido en 1 en un PLC Hot Standby Quantum que no se encuentra en modalidad primaria.

Nota: 1) Este código de error aparece si el esclavo de Modbus responde demasiado rápido.En caso de que el esclavo de Modbus utilizado sea un PLC Modicon, compruebe la Configuración del puerto Modbus de la configuración del PLC.

2) Para el bloque XXMIT en la modalidad master Modbus, si el error 116 persiste después de realizar una configuración correcta con el teclado o modificaciones online, regenere y transfiera la aplicación al PLC.

Código de error

Descripción del error

33002530 07 07/2008 339

Page 340: 95230619 Bloques Comunicaciones Modicon

XXMIT

Información adicional para el error 107

El error 107 aparece cuando se detecta una discrepancia en la configuración de XXMIT. Si la configuración del puerto interno XXMIT está en la modalidad RS232 y la palabra de comando está en la modalidad RS485 (#2100). Es necesario cambiar la modalidad de comunicación.

La tabla siguiente muestra cómo cambiar la modalidad de comunicación si se produce el error 107:

Retry El valor visualizado muestra el número de reintentos realizados por XXMIT. Este elemento es de sólo lectura.

Paso Acción

1 Conecte el PC a Unity

2 Ponga el PLC en STOP

3 Cambie la configuración del puerto Modbus (RS232 o RS 485)

4 Cambie la palabra de comando de acuerdo con la modalidad solicitada

5 Regenere la aplicación

6 Descargue la aplicación

7 Ponga el PLC en RUN

Nota: Tenga en cuenta que:El cambio de la modalidad RS232 a RS485 tarda 3 segundos cuando la configuración de los puertos internos y las palabras de comando coinciden. Durante estos 3 segundos aparece el código de error 126 (DCE no asegurado, sólo para la modalidad RS232).

El cambio de la modalidad RS485 a RS232 es inmediato, ya que coincide con la configuración predeterminada.

340 33002530 07 07/2008

Page 341: 95230619 Bloques Comunicaciones Modicon

XXMIT

Funciones de comunicación de XXMIT

Palabra de comando de XXMIT

El bloque XXMIT realiza seis funciones que se muestran a continuación. Se deben establecer determinados bits de la palabra de comando para cada función.

Bits de la palabra de comando

La palabra de comando funciona en relación con bits

Función Bits de la palabra de comando que se pueden establecer en 1

Bits que se deben establecer en = 0

Entrada ASCII finalizada (bit 11=1) (consulte la nota que aparece a continuación)

14,7,6,5,4 10,9,8,3,2,1,0

Entrada ASCII simple (bit 10=1) (consulte la nota que aparece a continuación)

14,7,6,5,4 11,9,8,3,2,1,0

Salida ASCII simple (bit 9=1) 14,7,6,5,4 11,10,8,3,2,1,0

Salida de módem (bit 9=1) 14,3,2,1,0 11,10,8,7,6,5,4 (más uno, pero SÓLO uno, de los siguientes bits se establece en 1: 3,2,1 ó 0, mientras que los otros tres bits se deben establecer en 0)

Salida de los mensajes Modbus maestro (bit 8=1)

14, 11,10,9,7,6,5,4,3,2,1,0

Nota: Cuando se utilice una de estas funciones, DEBE establecer Habilitar FIFO de recepción ASCII (bit 7) en 1. Se reservan el bit 15 (MSB) y los bits 13 y 12. (Consulte la tabla de Comando, p. 330)

33002530 07 07/2008 341

Page 342: 95230619 Bloques Comunicaciones Modicon

XXMIT

Funciones ASCII de XXMIT

De un vistazo XXMIT admite las funciones de comunicación ASCII siguientes:

Entrada ASCII finalizadaEntrada ASCII simpleMensajes de cadena ASCII

Función de entradas ASCII finalizadas

Cuando está activado el bit 11 de la palabra de comando para los mensajes de entradas ASCII finalizadas, la matriz MsgOut deberá contener la tabla de definición de entradas ASCII. Dependiendo del tipo de datos que haya seleccionado para MsgOut, la tabla de definición de ASCII finalizada consta de tres palabras o 6 bytes. A continuación, se muestra la tabla de definición de entradas ASCII finalizadas.

Tabla de definición de entradas ASCII finalizadas (tipo de datos WordArray)

Tabla de definición de entradas ASCII finalizadas (tipo de datos ByteArray)

Durante el proceso, RecCount contiene un conteo permanente de los caracteres escritos en la matriz MsgIn. Una vez recibida la cadena finalizada, la salida Ejecutado del módulo XXMIT pasa a CON y RecCount contiene la longitud total de la cadena recibida, incluidas las cadenas de inicio y de terminación. En este punto, XXMIT sigue disponiendo del puerto y continúa guardando los caracteres más nuevos recibidos en el FIFO de recepción ASCII, ya que el bit 7 de la palabra de comando Habilitar FIFO de recepción ASCII está CON.

Palabra Byte de mayor valor Byte de menor valor

MsgOut[1] Número de caracteres de inicio (contenido permitido = 0, 1, 2)

Número de caracteres de finalización (contenido permitido = 1, 2)

MsgOut[2] Primer carácter de inicio Segundo carácter de inicio

MsgOut[3] Primer carácter de finalización Segundo carácter de finalización

Byte Función

MsgOut[1] Longitud de la cadena de inicio (0, 1 ó 2)

MsgOut[2] Longitud de la cadena de finalización (1 ó 2)

MsgOut[3] Primer carácter de inicio

MsgOut[4] Segundo carácter de inicio

MsgOut[5] Primer carácter de finalización

MsgOut[6] Segundo carácter de finalización

342 33002530 07 07/2008

Page 343: 95230619 Bloques Comunicaciones Modicon

XXMIT

Por medio de la lógica del programa, podrá borrar los bits de entrada ASCII simples antes del ciclo siguiente, mientras mantiene en ON el bit Habilitar FIFO de recepción ASCII. De este modo, MsgIn no se sobrescribirá con nuevos datos FIFO, que se siguen recogiendo en FIFO. Mediante la lógica del programa, podrá borrar los dos bits para habilitar FIFO de recepción ASCII (Bit 7) y la entrada ASCII finalizada (Bit 11) con el fin de devolver el control del puerto al PLC.

Si se han introducido demasiados caracteres en la matriz MsgIn sin haber detectado un terminador, o la matriz MsgIn está fuera del rango permitido para el PLC configurado, se informará de un error en Estado y el parámetro RecCount no tendrá ningún significado. El límite de caracteres es la opción más pequeña de 1.024 o dos veces el tamaño de la matriz MsgIn.

Ejemplo de ASCII finalizada

Considere que el XXMIT se activa con la palabra de comando bit 7 y bit 11 activada. Habilite ASCII FIFO y ASCII finalizada. El puerto recibe la cadena ASCII siguiente: 'AMScrlf$weight = 1245 GRAMScrlf$wei'. Consulte la tabla de definición de entradas ASCII que muestra los contenidos marcados con ( ) utilizados en este ejemplo.

Tabla de definición de entradas ASCII finalizadas (contenido para el tipo de datos Byte Array)

Ejemplo de tabla de definición de entradas ASCII finalizadas (contenido para el tipo de datos Word Array)

Byte Contenido

MsgOut[1] Número de caracteres de inicio (0x01)

MsgOut[2] Número de caracteres de finalización (0x02)

MsgOut[3] Primer carácter de inicio ('$')

MsgOut[4] Segundo carácter de inicio (no utilizado)

MsgOut[5] Primer carácter de finalización ('cr')

MsgOut[6] Segundo carácter de finalización ('lf')

Palabra Byte de mayor valor Byte de menor valor

MsgOut[1] Número de caracteres de inicio (0x01) Número de caracteres de finalización (0x02)

MsgOut[2] Primer carácter de inicio ('$') Segundo carácter de inicio (no utilizado)

MsgOut[3] Primer carácter de finalización ('cr') Segundo carácter de finalización ('lf')

33002530 07 07/2008 343

Page 344: 95230619 Bloques Comunicaciones Modicon

XXMIT

XXMIT pasa a activo y rechaza los cinco caracteres iniciales de la entrada FIFO, 'AMScrlf', puesto que no coinciden con el primer carácter de inicio establecido en '$'. En el ciclo lógico después de que se haya recibido '$', XXMIT continúa activo y copia el carácter '$' y los siguientes en la matriz MsgIn, actualizando RecCount con el conteo realizado hasta el momento a medida que entran los caracteres.

Tras recibir el último carácter de finalización, se activará la salida Ejecutado y MsgLen contendrá la longitud total igual a 22 caracteres (0x0016). La matriz MsgIn contiene: '$weight = 1245 GRAMScrlf' como matriz de bytes (o: '$w', 'ei', 'gh', 't ', '= ', '12', '45', ' G', 'RA', 'MS', 'crlf' si utiliza el Word Array).

En el ciclo en que se activa la salida Ejecutado, los caracteres ya recibidos del mensaje siguiente ('$wei'), que llegaron después de la cadena de finalización, permanecen en el FIFO de entrada ASCII. Esto da a la lógica del programa la oportunidad de desactivar la entrada ASCII finalizada antes del próximo ciclo del XXMIT para este puerto, manteniendo esos caracteres en FIFO hasta que el PLC termine de procesar el mensaje actual, lo que puede durar varios ciclos.

Función de entradas ASCII simples

Todos los caracteres entrantes se ubican en la matriz MsgIn. Si define la matriz MsgIn como Byte Array (como se recomienda), los caracteres entrantes se irán guardando de manera simple: el primer carácter en el primer elemento de la matriz, el segundo carácter en el segundo elemento y así sucesivamente. Si define MsgIn como Word Array, se guardarán dos caracteres en cada elemento. El primer carácter se guarda en el byte de mayor valor del primer elemento. El segundo carácter se guarda en el byte de menor valor del primer elemento. El tercer carácter se almacena en el byte de mayor valor del segundo elemento, etc. La variable de longitud de mensaje (MsgLen) contiene la longitud del mensaje (1 - 1.024 caracteres).

Mensajes de cadena ASCII

Cuando está activado el bit 9 de la palabra de comando para los mensajes de cadena, la matriz MsgOut deberá contener la información ASCII que debe transmitirse. La longitud del mensaje MsgLen debe establecerse en la longitud del mensaje que se va a transmitir.

Como se indica en Descripción detallada de parámetros, p. 330, MsgOut puede ser de cualquier tipo de datos. Para los mensajes de cadena ASCII, el tipo Byte Array refleja mejor la naturaleza de las cadenas: El primer byte contiene el primer carácter, y así sucesivamente. (Consulte Envío ASCII simple, p. 362).

Nota: Cuando se definen la entrada ASCII simple (bit 10) y FIFO de recepción ASCII (bit 7), los nuevos caracteres se transfieren constantemente de FIFO a la misma matriz MsgIn, sobrescribiendo de manera constante los caracteres anteriormente almacenados en la misma.

344 33002530 07 07/2008

Page 345: 95230619 Bloques Comunicaciones Modicon

XXMIT

Transmitir – Recibir transición

Si la aplicación requiere la recepción de una respuesta por parte de otro equipo participante tras la transmisión de un mensaje (petición - respuesta), es necesario XXMIT para cambiar de la modalidad de transmisión a la modalidad de recepción con el fin de leer la respuesta del participante en la comunicación. El primer punto en el tiempo para cambiar la modalidad de XXMIT de transmisión a recepción es el ciclo que sigue a la operación de transmisión. El usuario tiene la responsabilidad de garantizar que la respuesta se retrase al menos un tiempo de ciclo del PLC de petición para evitar un fallo de comunicación.

El retardo de transmisión por parte del participante en la comunicación resulta especialmente importante en caso de tiempos de ciclo largo en los participantes de comunicación rápidos y próximos del solicitante.

Consideraciones de temporización del tiempo de retardo del participante:

XX

MIT

XX

MIT

Transmitir

Tiempo de transmisión

Tiempo mínimo de retardo del participante

Tiempo de ciclo del solicitante

Recibir

Tiempo de ciclo del participante

33002530 07 07/2008 345

Page 346: 95230619 Bloques Comunicaciones Modicon

XXMIT

En la figura anterior (no a escala) puede estimar la influencia de los tres tiempos distintos (tiempo de ciclo del solicitante, tiempo de transmisión y tiempo de ciclo del participante) en el tiempo de retardo del participante requerido. Los ciclos de programa del solicitante y del participante son asíncronos, de manera que el tiempo de ciclo del participante no debe tenerse en cuenta. El tiempo de transmisión depende de la longitud del telegrama y de la velocidad de transmisión. Un mensaje que se compone de 18 caracteres a 9.600 baudios tarda 14 ms. Obviamente, la contribución principal proviene del tiempo de ciclo del solicitante. Incluso si el tiempo de retardo mínimo del participante es inferior al tiempo de ciclo del solicitante, se recomienda utilizar el tiempo de ciclo del solicitante como tiempo de retardo mínimo del participante para garantizar una comunicación de sonido.

346 33002530 07 07/2008

Page 347: 95230619 Bloques Comunicaciones Modicon

XXMIT

Funciones de módem de XXMIT

Presentación XXMIT permite al usuario comunicarse con un módem compatible con Hayes utilizando las

funciones incluidas en la siguiente tabla:

Funciones de módem

Marcar en módem por pulsos

Establezca el bit 3 de la palabra de comando en 1 cuando utilice un módem de marcación compatible con Hayes y desee una marcación por pulsos de un número de teléfono. Puede programar el número de teléfono en la matriz MsgOut. La longitud del mensaje debe estar comprendida en MsgLen. Los números marcados por pulsos se envían al módem automáticamente precedidos por ATDP y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. Como el mensaje marcado es una cadena ASCII, el bit 9 debe estar CON antes de enviar el número que se va a marcar.

Colgar módem Establezca el bit 2 de la palabra de comando en 1 cuando se utiliza un módem de marcación compatible con Hayes si desea colgar el módem. Debe usar la lógica del programa para poner este bit en CON. Como el mensaje de interrupción de la conexión es una cadena ASCII, el bit 9 debe estar CON antes de enviar el mensaje. Los mensajes de interrupción de la conexión se envían al módem de forma automática precedidos por +++AT y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. XXMIT busca una respuesta de desconexión correcta del módem antes de poner en CON la señal de salida Ejecutado y señalar una finalización satisfactoria.

Marcar en módem por tonos

Establezca el bit 1 de la palabra de comando en 1 cuando se utiliza un módem de marcación compatible con Hayes y desea una marcación por tonos de un número de teléfono. Puede programar el número de teléfono en la matriz MsgOut. La longitud del mensaje debe estar comprendida en MsgLen. Los números marcados por tonos se envían al módem automáti-camente precedidos por ATDT y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. Como el mensaje marcado es una cadena ASCII, el bit 9 debe estar CON antes de enviar el número que se va a marcar.

Inicializar módem

Establezca el bit 0 de la palabra de comando en 1 cuando se utiliza un módem de marcación compatible con Hayes y desea inicializar el módem. Puede programar el mensaje de iniciali-zación en la matriz MsgOut y la longitud del mensaje en MsgLen. Todos los mensajes se envían al módem automáticamente precedidos por AT y con el retorno de carro <CR> y el avance de línea <LF> adjuntos. Como el mensaje de inicialización es una cadena ASCII, el bit 9 debe estar CON antes de enviar el mensaje.

Bit en palabra de comando Función

Bit 3 Marcar en módem por pulsos

Bit 2 Colgar módem

Bit 1 Marcar en módem por tonos

Bit 0 Inicializar módem

33002530 07 07/2008 347

Page 348: 95230619 Bloques Comunicaciones Modicon

XXMIT

Funciones Modbus de XXMIT

Presentación XXMIT admite los códigos de función Modbus siguientes:

01 ...06 y 15...1608

Transmitir – Recibir transición

A excepción de los mensajes de difusión, todas las funciones Modbus requieren el bloque de función XXMIT para pasar de la modalidad de transmisión a la modalidad de recepción para leer la respuesta del esclavo. XXMIT cambia de la modalidad de transmisión a la modalidad de recepción en el ciclo que sigue a la operación de transmisión. El usuario tiene la responsabilidad de garantizar que la respuesta del esclavo se retrase al menos un tiempo de ciclo del maestro para evitar un fallo de comunicación.

El retardo de transmisión por parte del esclavo es esencial en los casos de tiempos de ciclo largo de maestro y esclavos rápidos.

Consideraciones de temporización del tiempo de retardo del esclavo:

XX

MIT

XX

MIT

Transmitir

Tiempo de transmisión

Tiempo mínimo de retardo del esclavo

Tiempo de ciclo del master

Recibir

Tiempo de ciclo del esclavo

348 33002530 07 07/2008

Page 349: 95230619 Bloques Comunicaciones Modicon

XXMIT

En la figura anterior (no para poner a escala) puede estimar la influencia de los tres tiempos distintos (tiempo de ciclo del maestro, tiempo de transmisión y tiempo de ciclo del esclavo) en el tiempo de retardo del esclavo requerido. Los ciclos de programa del maestro y del esclavo son asíncronos, de manera que el tiempo de ciclo del esclavo no debe tenerse en cuenta. El tiempo de transmisión depende del tipo de telegrama, de la velocidad de transmisión y del protocolo. Un petición de lectura estándar a una velocidad de 9.600 baudios utilizando un protocolo ASCII tarda, por ejemplo, 14 ms. La principal contribución proviene obviamente del tiempo de ciclo del master Incluso si el tiempo de retardo mínimo del esclavo es inferior al tiempo de ciclo del maestro, se recomienda utilizar el tiempo de ciclo del maestro como tiempo de retardo mínimo del esclavo para garantizar una comunicación de sonido.

Nota: Puede especificar el tiempo de retardo en el cuadro de diálogo Ajustes en puerto Modbus para los PLC Quantum. El tiempo de retardo puede especificarse entre 10 y 1.000 ms, que puede redondearse automáticamente para poder dividirse por 10. Debe introducir el tiempo de retardo requerido más 10 ms. Por ejemplo para tener un retardo de 110 ms, debe introducir 120 en este campo.

33002530 07 07/2008 349

Page 350: 95230619 Bloques Comunicaciones Modicon

XXMIT

Códigos de función Modbus (0106, 15 y 16)

Para los mensajes Modbus, la matriz MsgOut debe contener la tabla de definición Modbus. Debe definirse como un campo de palabras. La tabla de definición Modbus para el código de función Modbus: 01, 02, 03, 04, 05, 06, 15 y 16 tiene una longitud de cinco palabras. Asimismo, se deberá establecer MsgLen en 5 para un funciona-miento satisfactorio de XXMIT. A continuación se muestra la tabla de definición Modbus.

Códigos de función de la tabla de definición Modbus (0106, 15 y 16)

Contenido Descripción

Código de función Modbus (MsgOut[1])

XXMIT admite los códigos de función siguientes:01 = Leer varios bits (%Q)02 = Leer varios bits binarios (%I)03 = Leer varias palabras (%MW)04 = Leer varias palabras de entrada (%IW)05 = Escribir un bit (%Q)06 = Escribir una palabra (%MW)15 = Escribir varios bits (%Q)16 = Escribir varias palabras (%MW)

Cantidad (MsgOut[2])

Introduzca el número de datos que desee escribir en el PLC esclavo o leer desde él. Por ejemplo, introduzca 100 para leer 100 palabras del PLC esclavo o introduzca 32 para escribir 32 bits en un PLC esclavo. Existe un límite de tamaño en cuanto a la cantidad que depende del modelo de PLC. Consulte el apéndice A para obtener información completa sobre los límites.

Dirección del PLC esclavo (MsgOut[3])

Introduzca la dirección del PLC Modbus esclavo. Normalmente, el rango de dirección Modbus oscila entre 1 y 247. Para enviar un mensaje Modbus a varios PLC, escriba 0 para la dirección del PLC esclavo. Esto se denomina modalidad Broadcast. Esta modalidad sólo admite códigos de función Modbus que escriban datos del PLC maestro a los PLC esclavos. La modalidad Broadcast NO admite los códigos de función Modbus que lean datos de los PLC esclavos.

Área de datos del PLC esclavo (MsgOut[4])

Para un comando de lectura, el área de datos del PLC esclavo es la fuente de los datos. Para un comando de escritura, el área de datos del PLC esclavo es el destino de los datos. Por ejemplo, si desea leer bits (%I300 - %I500) desde un PLC esclavo, introduzca 300 en este campo. Si desea escribir datos desde un PLC maestro e introducirlos en palabras (%MW100) de un PLC esclavo, escriba 100 en este campo. Según el tipo de comando Modbus (escritura o lectura), los campos de datos fuente y de destino se deberán definir como se indica en la tabla de áreas de datos fuente y de destino siguiente.

350 33002530 07 07/2008

Page 351: 95230619 Bloques Comunicaciones Modicon

XXMIT

Áreas de datos fuente y de destino de los códigos de función (0106, 15 y 16)

Si desea enviar 20 mensajes Modbus desde el PLC, deberá transferir una a una 20 tablas de definición Modbus a MsgOut después de cada operación correcta de XXMIT, o programar 20 XXMIT por separado y activarlos uno a uno mediante la lógica de usuario.

Área de datos del PLC maestro (MsgOut[5])

Para un comando de lectura, el área de datos del PLC maestro es el destino de los datos que devuelve el esclavo. Para un comando de escritura, el área de datos del PLC maestro es la fuente de los datos. Por ejemplo, si desea escribir bits (%M16%M32) ubicados en el PLC maestro en un PLC esclavo, introduzca 16 en este campo. Si desea leer palabras (%IW1 - %IW100) desde un PLC esclavo y colocar los datos en el área de datos del PLC maestro (%MW100%MW199), introduzca 100 en este campo. Según el tipo de comando Modbus (escritura o lectura), los campos de datos fuente y de destino se deberán definir como se indica en la tabla de áreas de datos fuente y de destino siguiente.

Código de función Área de datos del PLC maestro

Área de datos del PLC esclavo

03 (leer varios 4x) %MW (destino) %MW (fuente)

04 (leer varios 3x) %MW (destino) %IW (fuente)

01 (leer varios 0x) %M (destino) %Q (fuente)

02 (leer varios 1x) %M (destino) %I (fuente)

16 (escribir varios 4x) %MW (fuente) %MW (destino)

15 (escribir varios 0x) %M (fuente) %Q (destino)

05 (escribir un 0x) %M (fuente) %Q (destino)

06 (escribir un 4x) %MW (fuente) %MW (destino)

Contenido Descripción

33002530 07 07/2008 351

Page 352: 95230619 Bloques Comunicaciones Modicon

XXMIT

Código de función Modbus (08)

Para los mensajes Modbus, la matriz MsgOut debe contener la tabla de definición Modbus. Debe definirse como un campo de palabras. La tabla de definición Modbus para los códigos de función Modbus: 08 tiene una longitud de cinco palabras. Asimismo, se debe establecer en 5 la matriz MsgLen para un funcionamiento satisfactorio de XXMIT. A continuación se muestra la tabla de definición Modbus.

Códigos de función de la tabla de definición Modbus (08)

Contenido Descripción

Código de función Modbus (MsgOut[1])

XXMIT admite el código de función siguiente:08 = Diagnóstico

Diagnóstico (MsgOut[2])

En este campo, introduzca el valor decimal del código de la subfunción de diagnóstico para poder realizar la función específica de diagnóstico deseada. Se admiten las siguientes subfunciones de diagnóstico:

Código de subfunción

Descripción

00 Devolver datos de interrogación

01 Reiniciar opción de comunicación

02 Devolver palabra de diagnóstico

03 Cambiar delimitador de entrada ASCII

04 Forzar el modo de sólo escucha

05 ... 09 Reservado

10 Borrar contadores

11 (& palabras de diagnóstico en 384, 484)

12 Devolver conteo de mensajes de bus

13 Devolver conteo de errores de com. de bus

14 ... 15 Devolver conteo de excepciones de bus

16 No admitido

17 Devolver conteo de esclavos NAK

18 Devolver conteo de esclavos ocupados

19 ... 21 Devolver conteo de desborde de caract. de bus

Dirección del PLC esclavo (MsgOut[3])

Introduzca la dirección del PLC Modbus esclavo. Normalmente, el rango de dirección Modbus oscila entre 1 y 247. El código de función 8 NO admite la modalidad Broadcast (dirección 0).

352 33002530 07 07/2008

Page 353: 95230619 Bloques Comunicaciones Modicon

XXMIT

Contenido del campo de datos Función de diagnóstico (MsgOut[4])

Deberá introducir el valor decimal necesario para el área de datos de la subfunción de diagnóstico específica:

Código de subfunción

Descripción

02, 04, 10, 11, 12, 13, 16, 17 y 18

Este valor queda definido automáticamente como cero en el mensaje Modbus enviado al esclavo (este valor no se ve reflejado en el búfer de MsgOut).

00, 01 y 03 Es necesario introducir el valor deseado del campo de datos. Para más información, consulte la Guía de referencia de protocolos Modbus de Modicon (www.modbus.org).

Área de datos del PLC maestro (MsgOut[5])

Para todas las subfunciones, el área de datos del PLC maestro es el destino de los datos que devuelve el esclavo.Deberá especificar una palabra de memoria % que indique el comienzo del área de datos en la que se sitúan los datos devueltos. Por ejemplo, para colocar los datos en el área de datos del PLC maestro comenzando por (%MW100), introduzca 100 en este campo. La subfunción 04 NO devolverá ninguna respuesta. Para más información, consulte la Guía de referencia de protocolos Modbus de Modicon (www.modbus.org).

Contenido Descripción

33002530 07 07/2008 353

Page 354: 95230619 Bloques Comunicaciones Modicon

XXMIT

FIFO y control de flujo

Presentación XXMIT permite que el usuario defina el uso de un búfer FIFO de recepción, el control de flujo y la función de los retrocesos recibidos.

FIFO de recepción ASCII

La configuración en 0 del bit 7 de la palabra de comando finaliza esta función. Cuando el dispositivo FIFO recibe 512 caracteres, se establece un desbordamiento interno. En este caso, se omiten todos los caracteres posteriores, finalizan todas las operaciones de entrada ASCII (simples y finalizadas) y el bloque indica un error hasta que se modifique (bit 7). Cuando (bit 7) se modifica, se omiten todos los datos del dispositivo FIFO y los dos bits de control de entrada ASCII (ASCII simple [bit 10], ASCII finalizada [bit 11]), y cuando no hay controles de salida ASCII seleccionados, se devuelve el control del puerto serie (1) al PLC.

Debe configurar la ASCII finalizada (bit 11) o la ASCII simple (bit 10) para eliminar los caracteres ASCII del dispositivo FIFO para el procesamiento. No se puede establecer más de uno de los tres bits siguientes de forma simultánea: ASCII finalizada (bit 11), ASCII simple (bit 10) o Mensajes de cadena ASCII (bit 9).

La operación dúplex completo puede conseguirse si se configuran el dispositivo FIFO de recepción ASCII (bit 7) y los Mensajes de cadena ASCII (bit 9). De esta forma, se permite la transmisión de ASCII simple al exterior del PLC mientras se reciben caracteres ASCII en el dispositivo FIFO. Esto resulta útil cuando se trabaja con terminales simples. Cuando se configura un dispositivo FIFO de recepción ASCII (bit 7), no se permite ninguno de los controles de salida ASCII siguientes: Mensajes Modbus Master (bit 8), marcar en módem por pulsos (bit 3), colgar módem (bit 2), marcar en módem por tonos (bit 1) e inicializar módem (bit 0).

Habilitación de retroceso

Cuando se detecta un retroceso (BS), NO se almacena en la matriz MsgIn. De hecho, elimina el carácter anterior y, por lo tanto, reduce el valor del contador de caracteres RecCount. Por el contrario, cuando se detecta un carácter ASCII normal, se almacena en la matriz MsgIn y el valor del contador de caracteres RecCount aumenta.

Esta función de retroceso junto con el eco interno habilitado en el terminal resultan muy útiles cuando se trabaja con terminales simples. Se activa una XXMIT de entrada ASCII finalizada que busca "cr" con un dispositivo FIFO de recepción ASCII (bit 7) y un retroceso (bit 6) configurados. No se necesita ninguna lógica de programa adicional mientras se introducen y modifican caracteres sobre la marcha mediante el retroceso. Cuando se introduce "cr", XXMIT activa la salida Ejecutado y los datos corregidos se alinean de forma adecuada en la matriz MsgIn.

Nota: Los retrocesos NO PUEDEN eliminar caracteres de una matriz MsgIn, por lo que el valor del contador de caracteres RecCount nunca es inferior a 0.

354 33002530 07 07/2008

Page 355: 95230619 Bloques Comunicaciones Modicon

XXMIT

Habilitación del Control de flujo RTS/CTS

Lo siguiente se aplica a la modalidad de salida. El estado de XXMIT pasa a recepción BLOQUEADA cuando el dispositivo de recepción indica que no puede procesar caracteres adicionales mediante la configuración de CTS como DES. De igual modo, el estado de XXMIT pasa a DESBLOQUEADO cuando CTS está CON y los dispositivos de recepción indican que PUEDE procesar caracteres adicionales.

Cuando la transmisión está DESBLOQUEADA y la Salida ASCII simple (bit 9) y el Control de flujo RTS/CTS (bit 5) están configurados, los datos de salida de transmisión se envían en paquetes de 16 bytes. Después de enviar todos los paquetes de salida, la salida Ejecutado en XXMIT pasa a ON para indicar que la operación se ha realizado de forma satisfactoria.

Si, durante la transmisión, pasa súbitamente a BLOQUEADO, sólo se enviarán los caracteres restantes en el paquete de salida actual, sin superar en ningún caso los 16 caracteres, y XXMIT permanece ACTIVO de forma indefinida. La salida ASCII sólo reanudará el envío de los paquetes de salida restantes cuando CTS esté en ON.

Lo siguiente se aplica a la modalidad de entrada. Como RTS es una señal de salida, se puede utilizar independientemente del proceso de transmisión de salida ASCII para BLOQUEAR o DESBLOQUEAR dispositivos de envío. Cuando se configura un dispositivo FIFO de recepción ASCII (bit 7), el Control de flujo RTS/CTS funciona en la modalidad de entrada. Cuando se configura un dispositivo FIFO de recepción ASCII (bit 7) y no se configura ninguna de las dos entradas ASCII, la Entrada ASCII simple (bit 10) o la Entrada ASCII finalizada (bit 11), los caracteres recibidos completarán el dispositivo FIFO en el que se insertan. Mientras tanto, el Control de flujo RTS (bit 5) está en ON, lo que permite que el dispositivo de envío pueda continuar.

Cuando el dispositivo FIFO (512 caracteres) contenga caracteres en más de tres cuartos de su capacidad, el Control de flujo RTS (bit 5 se liberará para BLOQUEAR el dispositivo de envío) El control de flujo RTS (bit 5) permanece libre hasta que la Entrada ASCII simple (bit 10) o la Entrada ASCII finalizada (bit 11) hayan eliminado suficientes caracteres del dispositivo FIFO, con lo que éstos ocuparán menos de un cuarto. Llegados a este punto, el Control de flujo RTS (bit 5) pasa a ON.

33002530 07 07/2008 355

Page 356: 95230619 Bloques Comunicaciones Modicon

XXMIT

BLOQUEO DE LA TRANSMISIÓNSi se fuerza la señal CTS de forma indefinida a OFF por parte del dispositivo de recepción (o si existe un problema con el cable que fuerza la señal CTS a OFF), el bloque XXMIT no completará nunca la transmisión y el dispositivo de recepción no recibirá nunca el comando. Para evitar este tipo de bloqueo, se aconseja iniciar un temporizador cuando se inicie el bloque XXMIT y advierta al programa de la aplicación cuando se alcance el tiempo interno del temporizador. También es aconsejable restablecer el bit de inicio de XXMIT.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

Nota: El algoritmo de Control de flujo RTS/CTS es diferente del de Control de módem RTS/CTS. El primero está relacionado con la recepción en dúplex completo de un desbordamiento de búfer. El segundo lo está con el proceso de transmisión que obtiene acceso a un medio de transmisión compartido. Por lo tanto, no se pueden solicitar ambos algoritmos RTS/CTS de forma simultánea.

Nota: NO PUEDE seleccionar cualquier tipo de señal de establecimiento de enlace de control de flujo RTS/CTS (bit 5) cuando el puerto está en modalidad RS 485 (bit 13), ya que estas señales NO existen en la modalidad RS 485.

AVISO

356 33002530 07 07/2008

Page 357: 95230619 Bloques Comunicaciones Modicon

XXMIT

Habilitación del Control de flujo Xon/Xoff

Lo siguiente se aplica a la modalidad de salida. El estado de XXMIT pasa a BLOQUEADO cuando se recibe un carácter Xoff. De igual modo, el estado de XXMIT pasa a DESBLOQUEADO cuando se recibe un carácter Xon. En ningún caso se insertarán Xon o Xoff en el dispositivo FIFO.

Cuando la transmisión está DESBLOQUEADA, y la Salida ASCII simple (bit 9) y el Control de flujo Xon/Xoff (bit 4) están configurados, los datos de salida de transmisión se envían en paquetes de 16 bytes. Después de enviar todos los paquetes de salida, la salida Ejecutado en el bloque XXMIT pasa a ON.

Si, durante la transmisión, pasa súbitamente a BLOQUEADO, sólo se enviarán los caracteres restantes en el paquete de salida actual, sin superar en ningún caso los 16 caracteres, y el bloque XXMIT permanece ACTIVO de forma indefinida. La salida ASCII sólo reanudará el envío de los paquetes de salida restantes cuando se reciba el carácter Xon siguiente.

Lo siguiente se aplica a la modalidad de entrada. Xon/Xoff puede utilizarse para BLOQUEAR o DESBLOQUEAR dispositivos de envío. Cuando se configura un dispositivo FIFO de recepción ASCII (bit 7) el Control de flujo Xon/Xoff (bit 4) funciona en la modalidad de entrada. Cuando se configura un dispositivo FIFO de recepción ASCII (bit 7) y no se configura ninguna de las dos entradas ASCII, la Entrada ASCII simple (bit 10) o la Entrada ASCII finalizada (bit 11), los caracteres recibidos completarán el dispositivo FIFO en el que se insertan.

Cuando se han completado más de tres cuartos del dispositivo FIFO con caracteres y se reciben más caracteres, la variable de estado de FIFO se configura para enviar caracteres XOFF fuera del puerto serie tras un retardo correspondiente al tiempo de envío de hasta 16 caracteres, lo que BLOQUEA al emisor y libera la variable de estado de FIFO.

Cuando todas las funciones de salida ASCII (bits 8, 3, 2, 1 y 0) están DES y el Control de flujo Xon/Xoff (bit 4) está CON, el tiempo de retardo es, de forma predeterminada, el tiempo correspondiente al envío de un carácter. Por el contrario, cuando todas las funciones de salida ASCII (bits 8, 3, 2, 1 y 0) están CON y el Control de flujo Xon/Xoff (bit 4) está CON, la salida ASCII se divide en paquetes de 16 bytes. De este modo, los caracteres Xoff pendientes NO tienen que esperar más que el tiempo correspondiente al tiempo de envío de 16 caracteres antes de BLOQUEAR al emisor.

Una vez que el emisor ha detenido la transmisión, el PLC elimina los caracteres de FIFO mediante la Entrada ASCII simple (bit 10) o la Entrada ASCII finalizada (bit 11).

Cuando menos de un cuarto del dispositivo FIFO se ha completado con caracteres, la variable de estado de FIFO se configura para enviar XON, con lo que se envía un carácter Xon fuera del puerto serie para DESBLOQUEAR al emisor.

33002530 07 07/2008 357

Page 358: 95230619 Bloques Comunicaciones Modicon

XXMIT

Nota: Para evitar el bloqueo debido a un cable desconectado u otros errores de comunicación intermitente, cuando el emisor está BLOQUEADO y NO ha recibido el carácter Xon de forma correcta, se utiliza el algoritmo siguiente. Cuando el dispositivo FIFO se vacía y no se reciben caracteres posteriormente, se transmite un flujo regular de caracteres Xon con una periodicidad de uno cada cinco segundos.

Nota: El Control de flujo Xon/Xoff (bit 4) es diferente del Control de flujo RTS/CTS (bit 5). El primero utiliza caracteres Xon y Xoff para evitar recibir desbordamientos de búfer en la modalidad dúplex completo. El segundo utiliza señales de establecimiento de comunicación de hardware para conseguir el mismo objetivo. Por lo tanto, no está permitido solicitar ambos algoritmos de control de flujo de forma simultánea, porque el Control de módem de control de flujo RTS/CTS (bit 5) conlleva una red de semidúplex, mientras que el Control de flujo Xon/Xoff (bit 4) conlleva una red de dúplex completo.

358 33002530 07 07/2008

Page 359: 95230619 Bloques Comunicaciones Modicon

XXMIT

Ejemplos de aplicación

Descripción El programa siguiente es una pequeña aplicación de muestra con cuatro instancias de XXMIT que muestra las cuatro funciones principales:

Maestro ModbusEntrada ASCII simple Salida mensajes ASCIIEntrada ASCII finalizada

Maestro Modbus La siguiente operación del maestro Modbus es una petición de lectura para un dispositivo esclavo (por ejemplo, dirección 4) conectado al puerto 1 del maestro:

Leer de %MW1 a %MW10 del esclavo en %MW11 a %MW20 local.

El esclavo (dirección 4) debe configurarse con los parámetros de puerto siguientes:9.600 baudios,8 bits de datos,1 bit de parada,paridad par (2).

El maestro utiliza los ajustes de XXMIT.

Declaración de variables para maestro Modbus

La siguiente tabla contiene las variables utilizadas en el ejemplo del maestro Modbus:

Nombre de variable Tipo de datos

Valor inicial

Comentario

StartModbusMstr BOOL

ModbusMstrActive BOOL

ModbusMstrCommand WORD 16#0100 Bit 8 configurado

ModbusMstrDone BOOL

ModbusMstrError BOOL

ModbusMstrSettings ModbusMstrSettings[1] ModbusMstrSettings[2] ModbusMstrSettings[3] ModbusMstrSettings[4] ModbusMstrSettings[5] ModbusMstrSettings[6] ...

WordArr9

- 310-111

- Código Modbus: lectura de varias palabras.Número de palabras que se van a leer.Dirección de Modbus esclavo.Palabra fuente.Palabra destino.No utilizado.

ModbusMstrStatus INT

ModbusMstrNode WORD 4 Introducir dirección de esclavo.

33002530 07 07/2008 359

Page 360: 95230619 Bloques Comunicaciones Modicon

XXMIT

Sección IEC para maestro Modbus

Programe lo siguiente en una sección FBD:

Asignación de direcciones de asientos esclavos:

Asignaciones al bloque de funciones XXMIT:

ModbusMstrErrorCounter INT

ModbusMstrDoneCounter INT

Nombre de variable Tipo de datos

Valor inicial

Comentario

MOVE

ModbusMstrNode ModbusMstrSettings[3]

XXMIT

ModbusMstrActiveActiveModbusMstrDoneDoneModbusMstrErrorError

MsgInRecCount

ModbusMstrStatusStatusModbusMstrRetryCounterRetry

StartStartModbusMstrCommandModbusMstrCommandMsgOutModbusMstrSettingsMsgLen5Port1Bauderate9.600Databits8Stopbits1Parity2RespTout100RetryLmt20StartDly100EndDly100

360 33002530 07 07/2008

Page 361: 95230619 Bloques Comunicaciones Modicon

XXMIT

Errores y acciones realizadas correctamente del conteo:

Recepción ASCII simple

Recibe cualquier elemento que llegue al puerto 1. La longitud del búfer de recepción se asigna como 'SimpleReceiveLength', que tiene un valor inicial de 10.

Los caracteres recibidos se encuentran en la matriz MsgIn, el número de caracteres recibidos se muestra en RecCount.

Declaración de variables para Recepción ASCII simple

La siguiente tabla contiene las variables utilizadas en el ejemplo de Recepción ASCII simple:

CTU

QCUModbusMstrError

PV0R

PV ModbubsMstrErrorCounter

CTU

QCUModbusMstrDone

PV0R

PV ModbubsMstrDoneCounter

Nombre de variable Tipo de datos

Valor inicial

Comentario

StartSimpleReceive BOOL

SimpleReceiveActive BOOL

SimpleReceiveCharCounter INT

SimpleReceiveCommand WORD 16#0480 Bits 7 y 10 configurados. FIFO habilitado.

SimpleReceiveDone BOOL

SimpleReceiveError BOOL

SimpleReceiveLength INT 10

SimpleReceiveRetryCounter INT

SimpleReceiveStatus INT

SimpleRecMessage ByteArr12

SimpleReceiveDoneCounter INT

SimpleReceiveErrorCounter INT

33002530 07 07/2008 361

Page 362: 95230619 Bloques Comunicaciones Modicon

XXMIT

Sección IEC para Recepción ASCII simple

Programe lo siguiente en una sección FBD:

Errores y acciones realizas correctamente del conteo:

Envío ASCII simple

Envía un mensaje ASCII simple fuera del puerto 1. El mensaje es 'Hello World!!' (¡Hola mundo!)

XXMIT

SimpleReceiveActiveActiveSimpleReceiveDoneDoneSimpleReceiveErrorErrorSimpleRecMessageMsgInSimpleReceiveCharCountRecCountSimpleReceiverStatusStatusSimpleReceiveRetryCounterRetry

StartStartSimpleReceiveCommandSimpleReceiveCommandMsgOutSimpleReceiveLengthMsgLenPort1Bauderate9.600Databits8Stopbits1Parity2RespTout100RetryLmt20StartDly100EndDly100

CTU

QCUSimpleReceiveError

PV0R

PV SimpleReceiveErrorCounter

CTU

QCUSimpleReceiveDone

PV0R

PV SimpleReceiveDoneCounter

362 33002530 07 07/2008

Page 363: 95230619 Bloques Comunicaciones Modicon

XXMIT

Declaración de variables para Envío ASCII simple

La siguiente tabla contiene las variables utilizadas en el ejemplo de Envío ASCII simple:

Nombre de variable Tipo de datos

Valor inicial

Comentario

StartSimpleSend BOOL

SimpleSendActive BOOL

SimpleSendCommand WORD 16#0200 Bit 9 configurado.

SimpleSendDone BOOL

SimpleSendError BOOL

SimpleSendLength INT 14 Número de caracteres que se van a enviar.

SimpleSendMessage SimpleSendMessage[1] SimpleSendMessage[2] SimpleSendMessage[3] SimpleSendMessage[4] SimpleSendMessage[5] SimpleSendMessage[6] SimpleSendMessage[7] SimpleSendMessage[8] SimpleSendMessage[9] SimpleSendMessage[10] SimpleSendMessage[11] SimpleSendMessage[12] SimpleSendMessage[13] SimpleSendMessage[14]

ByteArr3616#4816#6516#6C16#6C16#6F16#2016#5716#6F16#7216#6C16#6416#2016#2116#21

'Hello World !!' (¡Hola mundo!)

SimpleSendRetryCounter INT

SimpleSendStatus INT

SimpleSendDoneCounter INT

SimpleSendErrorCounter INT

33002530 07 07/2008 363

Page 364: 95230619 Bloques Comunicaciones Modicon

XXMIT

Sección IEC para Envío ASCII simple

Programe lo siguiente en una sección FBD:

Errores y acciones realizadas correctamente del conteo:

Recepción ASCII finalizada

Tras recibir los caracteres de inicio "AB", el bloque de funciones coloca todos los caracteres recibidos en el búfer de recepción MsgIn. El receptor se detendrá cuando se reciban los caracteres de finalización "CD", donde se configurará la salida "Ejecutado", para indicar que se ha realizado de forma correcta. La longitud máxima del búfer de recepción se asigna como "TermReceiveLength", que se configura con un valor inicial de 20 en este ejemplo.

XXMIT

SimpleSendActiveActiveSimpleSendDoneDoneSimpleSendErrorError

MsgInRecCount

SimpleSendStatusStatusSimpleSendRetryCounterRetry

StartStartSimpleSendCommandSimpleSendCommandMsgOutSimpleSendMessageMsgLenSimpleSendLengthPort1Bauderate9.600Databits8Stopbits1Parity2RespTout100RetryLmt20StartDly100EndDly100

CTU

QCUSimpleSendError

PV0R

PV SimpleSendErrorCounter

CTU

QCUSimpleSendDone

PV0R

PV SimpleSendDoneCounter

364 33002530 07 07/2008

Page 365: 95230619 Bloques Comunicaciones Modicon

XXMIT

Declaración de variables para Recepción ASCII finalizada

La siguiente tabla contiene las variables utilizadas en el ejemplo de Recepción ASCII finalizada:

Nombre de variable Tipo de datos

Valor inicial

Comentario

StartTermReceive BOOL

TermReceiveActive BOOL

TermReceiveCharCounter INT

TermReceiveCommand WORD 16#0880 Bits 11 y 7 configurados. FIFO habilitado.

TermReceiveDone BOOL

TermReceiveError BOOL

TermReceiveLength INT 20

TermReceiveMessage ByteArr36 Caracteres recibidos.

TermReceiveRetryCounter INT

TermReceiveSettings TermReceiveSettings[1] TermReceiveSettings[2] TermReceiveSettings[3] TermReceiveSettings[4] TermReceiveSettings[5] TermReceiveSettings[6]

ByteArr3616#0216#0216#4116#4216#4316#44

Longitud de la cadena de finalización (1 ó 2).Longitud de la cadena de inicio (0, 1 ó 2)Segundo carácter de inicio.Primer carácter de inicio.Segundo carácter de finalización.Primer carácter de finalización.

TermReceiveStatus INT

TermReceiveDoneCounter INT

TermReceiveErrorCounter INT

33002530 07 07/2008 365

Page 366: 95230619 Bloques Comunicaciones Modicon

XXMIT

Sección IEC para Recepción ASCII finalizada

Programe lo siguiente en una sección FBD:

Errores y acciones realizadas correctamente del conteo:

XXMIT

TermReceiveActiveActiveTermReceiveDoneDoneTermReceiveErrorErrorTermReceiveMessageMsgInTermReceiveCharCounterRecCountTermReceiveStatusStatusTermReceiveRetryCounterRetry

StartStartTermReceiveCommandTermReceiveCommandMsgOutTermReceiveSettingsMsgLenTermReceiveLengthPort1Bauderate9.600Databits8Stopbits1Parity2RespTout100RetryLmt20StartDly100EndDly100

CTU

QCUTermReceiveError

PV0R

PV TermReceiveErrorCounter

CTU

QCUTermReceiveDone

PV0R

PV TermReceiveDoneCounter

366 33002530 07 07/2008

Page 367: 95230619 Bloques Comunicaciones Modicon

XXMIT

Introducción de cadenas como valores iniciales

El editor de datos de Unity Pro permite introducir cadenas fácilmente como valores iniciales en matrices de bytes.

La sección siguiente presenta una corta descripción de cómo definir una variable 'DemoString' como 'ByteArr36' e introducir una cadena 'My Text !' (¡Mi texto!) como valor inicial.

Apertura del editor de datos

En el menú principal seleccione:

Herramientas -> Editor de datos.

Editor de datos

Declaración de un nombre de cadena nuevo

Declare el nombre de cadena para la matriz haciendo clic en junto al tipo (en este caso, bool). Esto abrirá una ventana de selección de tipo de variable.

Editor de datos

Nombre

Variables Tipos de DDT Bloques de funciones Tipos de DFB

Nombre *

DemoString

0 01

FiltroEDT DDT IODDT

Tipo

SFCSTEP_STATESFCSTEP_STATESFCSTEP_STATESFCSTEP_STATESFCSTEP_STATESFCSTEP_STATESFCSTEP_STATESFCSTEP_STATE

Dirección Valor Comentario...

BoolByteFechaDintDtDWordEBootInt

Bool

33002530 07 07/2008 367

Page 368: 95230619 Bloques Comunicaciones Modicon

XXMIT

Definición del tipo de elemento 1

Definición del tipo de elemento

Seleccione la casilla Matriz y defina el tipo de elemento de matriz y el número de elementos. Ahora es posible visualizar y modificar los valores para byteArr36 expandido.

Definición del tipo de elemento 2

Editor de datos: Selección de tipos de variables

Nombre ComentarioNombre

Nombre * DDT

Tipo

<EDT?><Conjunto de bibliotecas>

<Aplicación>

CancelarAceptar

Tipos de variables

IODDT

Matriz

<Catálogo>

Editor de datos: Selección de tipos de variables

Nombre ComentarioNombre

Nombre * DDT

Tipo

<EDT?><Conjunto de bibliotecas>

<Aplicación>

Array (0..36) of BYTE

CancelarAceptar

Tipos de variables

IODDT

Array ( 0..1 ) OF

<Catálogo>

368 33002530 07 07/2008

Page 369: 95230619 Bloques Comunicaciones Modicon

XXMIT

Definición de ByteArr36

Editor de datos

Nombre Tipo ComentarioDirección

Variables Tipos de DDT Bloques de funciones Tipos de DFB

Nombre *

0 01

FiltroEDT

Valor

DDT

DemoString(0)DemoString Array [0..36] of Byte

ByteByteByteByteByteByteByte

DemoString(1)DemoString(2)DemoString(3)DemoString(4)DemoString(5)DemoString(6)DemoString(7)

Byte

IODDT

33002530 07 07/2008 369

Page 370: 95230619 Bloques Comunicaciones Modicon

XXMIT

32.3 XXMIT: normas de programación

Normas de programación de XXMIT

Descripción de las normas de programación

Se puede tardar varios ciclos de PLC en enviar una petición Modbus o una cadena de caracteres. Los bits de inicio, activación, ejecución y error funcionan de la siguiente manera:

La aplicación escribe la señal de inicio. La aplicación lee las señales de activación, ejecución y error.

Si se mantiene en 1 la señal de inicio tras la finalización, se reiniciará el XXMIT

TRANSMISIÓN MULTIPLESi se mantiene en 1 la señal de inicio tras la finalización, se reiniciará el bloque XXMIT Esto generará una transmisión múltiple del mismo mensaje Modbus o ASCII al dispositivo de recepción. Para evitar esta transmisión múltiple, es recomendable restablecer el bit de inicio tan pronto como se vea el bit de finalización en 1.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

AVISO

370 33002530 07 07/2008

Page 371: 95230619 Bloques Comunicaciones Modicon

XXMIT

No se pueden activar varios XXMIT al mismo tiempo. Si se activa más de un XXMIT, el primer bloque explorado se pondrá en funcionamiento y evitará que el resto de los XXMIT entren en funcionamiento hasta que haya finalizado. El siguiente bloque del ciclo que se llama generará un código de fallo 150 inmediato.

El bloque de función XXMIT sólo se puede usar en la tarea MAST. Se produce un código de error inmediato (127) si se inicia en las tareas FAST/AUX o EVENT (no hay ningún control por parte de Unity Pro en el momento de la creación).

Nota: El parámetro de entrada de XXMIT debe inicializarse antes de ajustar la entrada INICIO. No se deben cambiar mientras el bloque de función está activo. Si el bit INICIO se restablece en 0 antes de la finalización, el bloque de función se detiene (bit de activación en 0). Para que se complete la ejecución del bloque, el valor 1 deberá aplicarse en el bit INICIO hasta que la operación se haya completado o hasta que se haya producido un error.

33002530 07 07/2008 371

Page 372: 95230619 Bloques Comunicaciones Modicon

XXMIT

32.4 Referencias técnicas para XXMIT

Presentación

Descripción general

En esta sección se describen las referencias técnicas para XXMIT.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Consulta Modbus/Límites de los parámetros de respuesta 373

Configuración del bloque de funciones XXMIT mediante módems de marcación compatible con Hayes (sólo)

374

Ejemplo de aplicación Hayes 379

372 33002530 07 07/2008

Page 373: 95230619 Bloques Comunicaciones Modicon

XXMIT

Consulta Modbus/Límites de los parámetros de respuesta

Límites de parámetros basados en el código de función

Los parámetros de consulta/respuesta se limitan en función del tipo de código de función que utilice. Consulte la tabla que aparece a continuación.

Tabla de parámetros máximos de PLC Quantum:

Código de función

Descripción Consulta Respuesta

1 Lectura de varios bits 2.000 bits 2.000 bits

2 Lectura de varios bits 2.000 bits 2.000 bits

3 Lectura de varias palabras

125 palabras 125 palabras

4 Lectura de varias palabras

125 palabras 125 palabras

5 Escritura de un único bit 1 bit 1 bit

6 Escritura de una única palabra

1 palabra 1 palabra

15 Escritura de varios bits 800 bits 800 bits

16 Escritura de varias palabras

100 palabras 100 palabras

33002530 07 07/2008 373

Page 374: 95230619 Bloques Comunicaciones Modicon

XXMIT

Configuración del bloque de funciones XXMIT mediante módems de marcación compatible con Hayes (sólo)

Descripción Existen tres comandos con los que debe familiarizarse a la hora de interconectar módems de marcación al bloque de funciones XXMIT.

Estos comandos son:Inicializar módemMarcar módemColgar módem

Antes de que un mensaje ASCII o un mensaje Modbus pase por el módem, debe enviar al módem en primer lugar una cadena de inicialización y después una cadena de marcación. Una vez que el módem haya marcado el número de teléfono y se haya conectado al módem remoto, puede enviar un número ilimitado de mensajes ASCII o Modbus mediante el módem. Para enviar varios mensajes, deberá aumentar el pointer de mensajes al mensaje siguiente después de cada operación correcta del XXMITT. Cuando se envíen todos los mensajes, podrá enviar la cadena de interrupción de la conexión al módem.

374 33002530 07 07/2008

Page 375: 95230619 Bloques Comunicaciones Modicon

XXMIT

Mensaje de inicialización

El mensaje de inicialización es como cualquier otro mensaje ASCII y puede tener una longitud máxima de 512 caracteres, si bien 50 caracteres son normalmente más que suficientes para inicializar un módem. Puede ejecutar cualquier comando AT de Hayes como parte de la cadena de inicialización. Se recomiendan los comandos siguientes al inicializar un módem para utilizarlo con XXMIT.

Mensaje de inicialización para módem de marcación

Mensaje de inicialización =

AT&F&K0&Q0&D0V1Q0X0E1

AT= Autocalibrar módem 1

&F= Restablecer la configuración de fábrica como la configuración

activa 1

&K0= Deshabilitar el control de flujo local 2

&Q0= Comunicar en modalidad asíncrona 2

&D0= Ignorar estado de la señal DTR 1

V1= Mostrar códigos de resultado como palabras 1

Si no se utiliza V1 o si el módem no puede devolver respuestas detalladas, XXMIT devuelve el error 117 (timeout de respuesta del módem).

Q0= Devolver códigos de resultado 1

X0= Proporcionar códigos de resultado del progreso de llamada

básicos: conectar, sin portadora y anillo 1

E1= Envía caracteres desde el teclado a la pantalla en estado de

comando 1

1 Estos parámetros siempre deben formar parte de la cadena de inicialización para que XXMIT funcione correctamente.

2 Estos parámetros deben formar parte de la cadena de inicialización para que XXMIT transmita un mensaje a un módem remoto correctamente. Sólo un usuario de módem experimentado debería cambiar o no utilizar dichos parámetros.

Nota: Aunque algunos fabricantes de módems aseguren la plena compatibilidad con Hayes, puede que aún sean ligeramente distintos. Por tanto, se recomienda utilizar solamente aquellos comandos que presenten la misma definición que los mencionados anteriormente.

33002530 07 07/2008 375

Page 376: 95230619 Bloques Comunicaciones Modicon

XXMIT

El mensaje de inicialización debe comenzar siempre con el comando AT estándar de Hayes. XXMIT antepone de forma automática los mensajes de comando de módem con AT y agrega el mensaje con retorno de carro (0x0D) y caracteres de avance de línea (0x0A), puesto que todos los mensajes de control de módem los necesitan. Otros mensajes ASCII (no controladores) no deben terminar con un retorno de carro y un avance de línea.

Por ejemplo, un mensaje de inicialización típico que XXMIT envía al módem.

Por ejemplo, también puede utilizarse el mensaje de inicialización para establecer los registros S del módem.

Para que XXMIT envíe una mensaje de inicialización al módem, los bits 9 y 0 de la palabra de comando deben estar CON. Cuando el bit 0 está CON, los bits 1 y 2 no deben estarlo o XXMIT no completará la operación correctamente. Para enviar realmente el mensaje, la entrada Inicio de XXMIT debe estar CON y permanecer CON hasta que se complete la operación u ocurra un error. Cuando XXMIT determina que el mensaje se envió correctamente al módem, pasa a CON la salida Ejecutado. Cuando se produce un error, la salida Error pasa a CON. La salida Activo está CON mientras se envía el mensaje al módem.

Mensaje Longitud

(AT)&F&K0&Q0&D0V1X0Q0 (<CR><LF>) 1 17 caracteres

1 Los caracteres entre paréntesis se envían de forma automática.

Mensaje Longitud

(AT)S0=1 (<CR><LF>) 1 4 caracteres

1 Los caracteres entre paréntesis se envían de forma automática.

Nota: Para eliminar la programación de lógica de aplicación, puede inicializar el módem con parámetros por medio de un programa terminal y no utilizar XXMIT. Una vez que los parámetros se encuentren en la memoria del módem pueden guardarse como memoria no volátil con un comando AT, normalmente &W.

376 33002530 07 07/2008

Page 377: 95230619 Bloques Comunicaciones Modicon

XXMIT

Mensaje de marcación

Se utiliza el mensaje de marcación para enviar un número de teléfono al módem. Sólo los comandos AT relativos al marcaje de un número deben incluirse en este mensaje. A continuación, se muestran ejemplos de mensajes de marcación típicos utilizados con XXMIT.

Por ejemplo, marcar número de teléfono mediante marcación por tonos.

Por ejemplo, marcar número de teléfono mediante marcación por pulsos.

Por ejemplo, marcar número de teléfono mediante marcación por tonos, esperar a escuchar el tono de marcación antes de marcar el número, y hacer una pausa antes de marcar el resto del número.

Para que XXMIT envíe una mensaje de marcación por tonos al módem, los bits 9 y 1 de la palabra de comando deben estar CON. Cuando el bit 1 está CON, los bits 0 y 2 no deben estarlo o XXMIT no completará la operación correctamente. Para enviar realmente el mensaje, la entrada Inicio de XXMIT debe estar CON y permanecer CON hasta que se complete la operación u ocurra un error. Cuando XXMIT determina que el mensaje se envió correctamente al módem, pasa a CON la salida Ejecutado. Cuando se produce un error, la salida Error pasa a CON. La salida Activo está CON mientras se envía el mensaje al módem.

Mensaje Longitud

(AT)DT)6800326 (<CR><LF>)1 7 caracteres

1 Los caracteres entre paréntesis se envían de forma automática.

Mensaje Longitud

(AT)DP)6800326 (<CR><LF>)1 7 caracteres

1 Los caracteres entre paréntesis se envían de forma automática.

Mensaje Longitud

(AT)DT)W,6800326 (<CR><LF>)1 9 caracteres

1 Los caracteres entre paréntesis se envían de forma automática.

Nota: Debido a que un módem local tarda mucho en conectarse a un módem remoto, el valor de timeout, en RespTout debe ser bastante largo al enviar un mensaje de marcación a un módem. Por ejemplo, establezca el timeout para 30.000 ms al enviar un mensaje de marcación. Cuando el valor de timeout sea demasiado corto, XXMIT emitirá un mensaje de timeout. Puede que tenga que probar varios ajustes antes de encontrar el tiempo óptimo.

33002530 07 07/2008 377

Page 378: 95230619 Bloques Comunicaciones Modicon

XXMIT

Mensaje de interrupción de la conexión

Se utiliza el mensaje de interrupción de la conexión para colgar el módem. Sólo los comandos AT relativos a la interrupción de la conexión del módem deberían utilizarse en este mensaje. A continuación, se muestra un ejemplo de un mensaje de interrupción de la conexión del módem típico.

Por ejemplo, mensaje de colgar módem.

Cuando se envía el mensaje de interrupción de la conexión a un módem que ya está conectado a un módem remoto, XXMIT debe establecer en primer lugar el módem local en modalidad de comando. Esto lo realiza XXMIT mediante el envío de una secuencia de escape +++ al módem. XXMIT asume que +++ establece el módem en modalidad de comando. Algunos fabricantes de módems permiten al usuario cambiar esta secuencia de escape predeterminada. Para que XXMIT funcione correctamente, se debe establecer el módem para que acepte la secuencia de escape +++.

Para que XXMIT envíe una mensaje de interrupción de la conexión al módem, los bits 9 y 2 de la palabra de comando deben estar CON. Cuando el bit 2 está CON, los bits 0 y 1 no deben estarlo o XXMIT no completará la operación correctamente. Para enviar realmente el mensaje, la entrada Inicio de XXMIT debe estar CON y permanecer CON hasta que se complete la operación u ocurra un error. Cuando XXMIT determina que el mensaje se envió correctamente al módem, pasa la salida Ejecutado a CON. Cuando se produce un error, la salida Error pasa a CON. La salida Ejecutado está CON mientras se envía el mensaje al módem.

Mensaje Longitud

(+++AT)H0 (<CR><LF>)1 2 caracteres

1 Los caracteres entre paréntesis se envían de forma automática.

Nota: Experto: Debido a que un módem local tarda mucho en colgarse una vez que recibe el comando colgar, el valor de timeout en RespTout debería ser bastante largo al enviar un mensaje de marcación a un módem. Por ejemplo, establezca el timeout para 30.000 ms al enviar un mensaje de marcación. Cuando el valor de timeout sea demasiado corto, XXMIT emitirá un mensaje de timeout. Puede que tenga que probar varios ajustes antes de encontrar el tiempo óptimo.

378 33002530 07 07/2008

Page 379: 95230619 Bloques Comunicaciones Modicon

XXMIT

Ejemplo de aplicación Hayes

Descripción El siguiente programa es una breve aplicación de demostración para enviar el mensaje "Hola mundo" a través de un módem compatible con Hayes (Com One, Deskline 56K).

Para iniciar la aplicación, la variable "stage" se debe definir en 1 en una tabla de animación de Unity Pro.

Tipos de datos de variables

start_xxmit_block BOOL

command WORD

msgout ARRAY[0.40] OF BYTE

Msg_Size INT

xmit_DONE BOOL

xmit_ERROR BOOL

xmit_ACTIVE BOOL

xxmit_RESPTOUT INT

xxmit_STARTDLY INT

xxmit_ENDDLY INT

xmit_STATUS_mem INT

counter INT

stage WORD

33002530 07 07/2008 379

Page 380: 95230619 Bloques Comunicaciones Modicon

XXMIT

Sección IEC para XXMIT

Programe lo siguiente en una sección FBD:

XXMIT

xmit_ACTIVEActivexmit_DONEDonexmit_ERRORErrormsginMsgIn

RecCountxxmit_STATUSStatus

Retry

Startstart_xxmit_blockCommandcommandMsgOutmsgoutMsgLenMsg_SizePort1Bauderate9600Databits8Stopbits1Parity0RespToutxxmit_RESPTOUTRetryLmt2StartDlyxxmit_STARTDLYEndDlyxxmit_ENDDLY

1FBI 1

380 33002530 07 07/2008

Page 381: 95230619 Bloques Comunicaciones Modicon

XXMIT

Sección IEC para comandos de módem

Programe lo siguiente en una sección ST:

(* %S6 is used to generate a 2 second delay *)%m6 := %s6;if xxmit_STATUS_Mem = 0 then

if not(xxmit_STATUS = 0) thenxxmit _STATUS_Mem := xxmit_STATUS;

end_if;end_if;(* If XXMIT error, the function block is stopped *)if xmit_ERROR=1 then

stage := 0;counter := 0;start_xxmit_block:=0;

end_if;if stage = 1 then

(* Initialization message*) xxmit_STATUS_Mem := 0;counter := 0;xxmit_ENDDLY := 700;xxmit_STARTDLY := 600;xxmit_RESPTOUT := 700;(* Command word init *) command:=2#0000001000000001;msgout[0] := 16#26;(*&->26*)msgout[1] := 16#46;(*F->46*)msgout[2] := 16#26;(*&->26*)msgout[3] := 16#4B;(*K->46*)msgout[4] := 16#30;(*0->30*)msgout[5] := 16#26;(*&->26*)msgout[6] := 16#44;(*D->44*)msgout[7] := 16#30;(*0->30*)msgout[8] := 16#56;(*V->56*)msgout[9] := 16#31;(*1->31*)msgout[10] := 16#51;(*Q->51*)msgout[11] := 16#30;(*0->30*)msgout[12] := 16#58;(*X->58*)msgout[13] := 16#30;(*0->30*)msgout[14] := 16#45;(*E->45*)msgout[15] := 16#31;(*1->31*)Msg_Size := 16;start_xxmit_block:=1;stage := 2;

end_if;

33002530 07 07/2008 381

Page 382: 95230619 Bloques Comunicaciones Modicon

XXMIT

if stage = 3 then(* Dial message *)xxmit_STARTDLY := 100;xxmit_ENDDLY := 100;xxmit_RESPTOUT := 32000;(* Command word init *)command:=2#0000001000000010;(* Extension number *)msgout[0] := 16#32;(*2*)msgout[1] := 16#35;(*5*)msgout[2] := 16#37;(*7*)msgout[3] := 16#34;(*4*)start_xxmit_block:=1;Msg_Size := 4;stage := 4;

end_if;if (stage = 5)then

if RE(%m6) thencounter := counter + 1;

end_if;(* Two seconds delay *)if stage = 5 and counter = 2 then

counter := 0;stage := 7;

end_if;end_if;if stage = 7 then

(* ASCII message to be send *)xxmit_STARTDLY := 300;xxmit_ENDDLY := 400;xxmit_RESPTOUT := 32000;(* Command word init *)command:2=#0100001000000000;msgout[0] := 16#48; (*H*)msgout[1] := 16#65; (*e*)msgout[2] := 16#6C; (*l*)msgout[3] := 16#6C; (*l*)msgout[4] := 16#6F; (*o*)msgout[5] := 16#20; (* *)msgout[6] := 16#57; (*W*)msgout[7] := 16#6F; (*o*)msgout[8] := 16#72; (*r*)

382 33002530 07 07/2008

Page 383: 95230619 Bloques Comunicaciones Modicon

XXMIT

msgout[9] := 16#6C; (*l*)msgout[10] := 16#64; (*d*)msgout[11] := 16#20; (* *)msgout[12] := 16#21; (*!*)msgout[13] := 16#21; (*!*)Msg_Size := 14;start_xxmit_block:=1;stage := 8;

end_if;if stage = 100 then

(* Hangup message *)command:=2#0000001000000100;xxmit_STARTDLY := 300;xxmit_ENDDLY := 400;xxmit_RESPTOUT := 500;msgout[0] := 16#48;(* *)msgout[1] := 16#30;(*CR*)Msg_Size := 2;start_xxmit_block:=1;

end_if;(* Change of state after each XXMIT operation *)if xmit_DONE = 1 then

start_xxmit_block:=0;if stage = 2 then

stage := 3;end_if;if stage = 4 then

counter := 0;stage := 5;

end_if;if stage = 8 then

stage := 99;end_if;if stage = 99 then

stage :=100;end_if;

end_if;

33002530 07 07/2008 383

Page 384: 95230619 Bloques Comunicaciones Modicon

XXMIT

32.5 Información de cableado

Presentación

Descripción general

En esta sección se describen los cables y la asignación de pins de los componentes de hardware que se utilizan con XXMIT.

Contenido Esta sección contiene los siguientes apartados:

Apartado Página

Asignación de pins de cable 385

Kits de adaptador de cable 398

384 33002530 07 07/2008

Page 385: 95230619 Bloques Comunicaciones Modicon

XXMIT

Asignación de pins de cable

Asignación de pins del cable de la interfase

Necesita generar un cable de interfase entre el PLC y el módem o la impresora. El cable real está conectado al puerto que admite el PLC y al puerto RS232 del módem o impresora, o directamente a otro puerto Modbus del PLC. Debido a que XXMIT admite muchos módems e impresoras, la asignación de pins variará. A continuación se proporcionan algunas asignaciones de pins.

9 pins (RS-232) a 25 pins (módem) sin control RTS/CTS

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector de 9 pins D-shell de 25 pins

Nombre de la señal Asignación de pins

Asignación de pins conectada a

Asignación de pins Nombre de la señal

RXD 2 Sí 3 RXD

TXD 3 Sí 2 TXD

RTS 7 puenteados8 puenteados

4 puenteados5 puenteados

RTS

CTS CTS

DSR 4 puenteados6 puenteados

6 puenteados20 puenteados

DSR

DTR DTR

GND 5 Sí 7 GND

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

13

12

11

10

9

25

24

23

22

Adaptador macho de 25 pins

Vista frontal

8

7

6

5

20

19

18

17

21

4

3

2

1

16

15

14

Pin 1

Pin 1

Pin 9

Pin 25

33002530 07 07/2008 385

Page 386: 95230619 Bloques Comunicaciones Modicon

XXMIT

9 pins (RS-232) a 25 pins (módem) con control RTS/CTS

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector de 9 pins D-shell de 25 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins Nombre de la señal

RXD 2 Sí 3 RXD

TXD 3 Sí 2 TXD

RTS 7 Sí 4 RTS

CTS 8 Sí 5 CTS

DSR 4 puenteados6 puenteados

6 puenteados20 puenteados

DSR

DTR DTR

GND 5 Sí 7 GND

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

13

12

11

10

9

25

24

23

22

Adaptador macho de 25 pins

Vista frontal

8

7

6

5

20

19

18

17

21

4

3

2

1

16

15

14

Pin 1

Pin 1

Pin 9

Pin 25

386 33002530 07 07/2008

Page 387: 95230619 Bloques Comunicaciones Modicon

XXMIT

9 pins a 9 pins (sin módem)

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector de 9 pins Conector de 9 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins Nombre de la señal

RXD 2 Sí 3 TXD

TXD 3 Sí 2 RXD

RTS 7 puenteados8 puenteados

7 puenteados8 puenteados

RTS

CTS CTS

DSR 4 puenteados6 puenteados

4 puenteados6 puenteados

DSR

DTR DTR

GND 5 Sí 5 GND

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

Pin 1

Pin 9

33002530 07 07/2008 387

Page 388: 95230619 Bloques Comunicaciones Modicon

XXMIT

9 pins a 9 pins (módem)

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector de 9 pins Conector de 9 pins

Nombre de la señal Asignación de pins

Asignación de pins conectada a

Asignación de pins

Nombre de la señal

TXD 2 Sí 2 TXD

RXD 3 Sí 3 RXD

RTS 7 Sí 7 RTS

CTS 8 Sí 8 CTS

DSR 4 puenteados6 puenteados

4 puenteados6 puenteados

DSR

DTR DTR

GND 5 Sí 5 GND

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

Pin 1

Pin 9

388 33002530 07 07/2008

Page 389: 95230619 Bloques Comunicaciones Modicon

XXMIT

9 pins a 25 pins (sin módem)

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector de 9 pins D-shell de 25 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins

Nombre de la señal

RXD 2 Sí 2 TXD

TXD 3 Sí 3 RXD

RTS 7 puenteados8 puenteados

4 puenteados5 puenteados

RTS

CTS CTS

DSR 4 puenteados6 puenteados

6 puenteados20 puenteados

DSR

DTR DTR

GND 5 Sí 7 GND

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

13

12

11

10

9

25

24

23

22

Adaptador macho de 25 pins

Vista frontal

8

7

6

5

20

19

18

17

21

4

3

2

1

16

15

14

Pin 1

Pin 1

Pin 9

Pin 25

33002530 07 07/2008 389

Page 390: 95230619 Bloques Comunicaciones Modicon

XXMIT

RJ45-(8x8) a 25 pins (sin módem) 110XCA20401

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector RJ45 D-shell de 25 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins

Nombre de la señal

RXD 4 Sí 2 TXD

TXD 3 Sí 3 RXD

RTS 6 puenteados7 puenteados

4 puenteados5 puenteados

RTS

CTS CTS

GND 5 Sí 7 GND

DSR 2 Sí 620

DSR

DTR

Puesta a tierra del chasis

8 Sí 1 Puesta a tierra del chasis

Peligro de cortocircuito de 5 V.El pin 1 del RJ45 recibe 5 V desde el PLC.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

13

12

11

10

9

25

24

23

22

Adaptador macho de 25 pins

Vista frontal

8

7

6

5

20

19

18

17

21

4

3

2

1

16

15

14Pin 1

Pin 25

Pin 1

Conector RJ45(8x8)

AVISO

390 33002530 07 07/2008

Page 391: 95230619 Bloques Comunicaciones Modicon

XXMIT

RJ45-(8x8) a 9 pins (sin módem) 110XCA20301

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector RJ45 D-shell de 9 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins

Nombre de la señal

RXD 4 Sí 3 TXD

TXD 3 Sí 2 RXD

RTS 6 puenteados7 puenteados

7 puenteados8 puenteados

RTS

CTS CTS

GND 5 Sí 5 GND

DSR 2 Sí 46

DTR

DSR

Puesta a tierra del chasis

8 Sí Caja del conector

Peligro de cortocircuito de 5 V.El pin 1 del RJ45 recibe 5 V desde el PLC.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

Pin 1

Conector RJ45(8x8)

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

Pin 1

Pin 9

AVISO

33002530 07 07/2008 391

Page 392: 95230619 Bloques Comunicaciones Modicon

XXMIT

RJ45-(8x8) a 25 pins (módem) 110XCA20401

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector RJ45 D-shell de 25 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins

Nombre de la señal

RXD 4 Sí 3 RXD

TXD 3 Sí 2 TXD

RTS 6 puenteados7 puenteados

4 puenteados5 puenteados

RTS

CTS CTS

GND 5 Sí 7 GND

DSR 2 Sí 620

DSR

DTR

Puesta a tierra del chasis

8 Sí 1 Puesta a tierra del chasis

Peligro de cortocircuito de 5 V.El pin 1 del RJ45 recibe 5 V desde el PLC.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

13

12

11

10

9

25

24

23

22

Adaptador macho de 25 pins

Vista frontal

8

7

6

5

20

19

18

17

21

4

3

2

1

16

15

14Pin 1

Pin 25

Pin 1

Conector RJ45(8x8)

AVISO

392 33002530 07 07/2008

Page 393: 95230619 Bloques Comunicaciones Modicon

XXMIT

RJ45-(8x8) a 25 pins (módem) 110XCA20401

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector RJ45 D-shell de 25 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins Nombre de la señal

RXD 4 Sí 3 RXD

TXD 3 Sí 2 TXD

RTS 6 Sí 4 RTS

CTS 7 Sí 5 CTS

GND 5 Sí 7 GND

6 puenteados20 puenteados

DSR

DTR

Puesta a tierra del chasis

8 Sí 1 Puesta a tierra del chasis

Peligro de cortocircuito de 5 V.El pin 1 del RJ45 recibe 5 V desde el PLC.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

13

12

11

10

9

25

24

23

22

Adaptador macho de 25 pins

Vista frontal

8

7

6

5

20

19

18

17

21

4

3

2

1

16

15

14Pin 1

Pin 25

Pin 1

Conector RJ45(8x8)

AVISO

33002530 07 07/2008 393

Page 394: 95230619 Bloques Comunicaciones Modicon

XXMIT

RJ45-(8x8) a RJ45-(8x8) (módem)

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector RJ45 Conector RJ45

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins

Nombre de la señal

RXD 4 Sí 4 RXD

TXD 3 Sí 3 TXD

RTS 6 Sí 6 RTS

CTS 7 Sí 7 CTS

GND 5 Sí 5 GND

DSR 2 Sí 2 DSR

Puesta a tierra del chasis

8 Sí 8 Puesta a tierra del chasis

Peligro de cortocircuito de 5 V.El pin 1 del RJ45 recibe 5 V desde el PLC.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

AVISO

394 33002530 07 07/2008

Page 395: 95230619 Bloques Comunicaciones Modicon

XXMIT

9 pins a RJ45-(8x8) (módem) 110XCA20301

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector RJ45 Conector de 9 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins

Nombre de la señal

RXD 4 Sí 2 RXD

TXD 3 Sí 3 TXD

RTS 6 puenteados7 puenteados

7 puenteados 8 puenteados

RTS

CTS CTS

GND 5 Sí 5 GND

DSR 2 Sí 64

DSR

DTR

Puesta a tierra del chasis

8 Sí Caja del conector

Peligro de cortocircuito de 5 V.El pin 1 del RJ45 recibe 5 V desde el PLC.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

Pin 1

Conector RJ45(8x8)

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

Pin 1

Pin 9

AVISO

33002530 07 07/2008 395

Page 396: 95230619 Bloques Comunicaciones Modicon

XXMIT

9 pins a RJ45-(8x8) (módem) 110XCA20301

Consulte la ilustración para obtener vistas frontales de los conectores.

Consulte la tabla de asignación de pins del conector.

Asignación de pins del conector

Conector RJ45 Conector de 9 pins

Nombre de la señal

Asignación de pins

Asignación de pins conectada a

Asignación de pins Nombre de la señal

RXD 4 Sí 2 RXD

TXD 3 Sí 3 TXD

RTS 6 Sí 7 RTS

CTS 7 Sí 8 CTS

GND 5 Sí 5 GND

6 puenteados4 puenteados

DSR

DTR

Puesta a tierra del chasis

8 Sí Caja del conector

Peligro de cortocircuito de 5 V.El pin 1 del RJ45 recibe 5 V desde el PLC.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

Pin 1

Conector RJ45(8x8)

5

4

3

2

1

9

8

7

6

Macho de 9 pins

Vista frontal

Pin 1

Pin 9

AVISO

396 33002530 07 07/2008

Page 397: 95230619 Bloques Comunicaciones Modicon

XXMIT

RJ 45 High end CPU RS 422/RS 485

Consulte la ilustración para obtener una vista frontal del conector de la CPU.

Tabla de asignación de pins para el conector RJ 45 High end Quantum RS 422/RS 485.

Pin Señal RS-422 Señal RS-485

1 RX - D -

2 RX + D +

3 TX +

4 Nc Nc

5 GND GND

6 TX -

7 Nc Nc

8 PE opcional PE opcional

Nota: En el caso del RS-485, los pins de protocolo 1, 2, 3 y 6 deben estar cortocircuitados.

Pin 1

Conector RJ45(8x8)

33002530 07 07/2008 397

Page 398: 95230619 Bloques Comunicaciones Modicon

XXMIT

Kits de adaptador de cable

Kits de adaptador de cable para el conector RJ45

Es posible que necesite comprar kits de adaptador de cable para los requisitos del conector RJ45 (8x8) en lugar de hacerlos. La tabla que aparece a continuación proporciona una lista de los kits disponibles.

Kits de adaptador de cable disponibles

Descripción Número de serie

RJ45-(8x8) a 25 pins (macho) 110XCA20401

RJ45-(8x8) a 9 pins (macho) 110XCA20301

RJ45-(8x8) a 9 pins (hembra) 110XCA20302

RJ45-(8x8) a 25 pins (hembra) 110XCA20402

398 33002530 07 07/2008

Page 399: 95230619 Bloques Comunicaciones Modicon

XXMIT

Kits de adaptador de DB a RJ45

33002530 07 07/2008 399

Page 400: 95230619 Bloques Comunicaciones Modicon

XXMIT

Ejemplo 1 de conexión del cable

Se puede utilizar una conexión de 3 pins para una terminal estándar que funcione a baja velocidad o que utilice control de flujo de software.

RJ45 a DB9

PLC Quantum Conector de módem

RJ 45 DB9

RJ45-3 TXD RXD DB25-2

RJ45-4 RXD TXD DB-25-3

RJ45-5 GND GND DB25-5

400 33002530 07 07/2008

Page 401: 95230619 Bloques Comunicaciones Modicon

XXMIT

Ejemplo 2 de conexión

RJ45 a DB25

PLC Quantum Conector de módem

RJ 45 DB25

RJ45-3 TXD RXD DB25-3

RJ45-4 RXD TXD DB-25-2

RJ45-5 GND GND DB25-7

33002530 07 07/2008 401

Page 402: 95230619 Bloques Comunicaciones Modicon

XXMIT

402 33002530 07 07/2008

Page 403: 95230619 Bloques Comunicaciones Modicon

Apéndices

Introducción

Visión general Esta sección contiene los anexos.

Contenido Este anexo contiene los siguientes capítulos:

Capítulo Nombre del capítulo Página

A Códigos de error y valores EFB 405

B Objetos de sistema 411

33002530 07 07/2008 403

Page 404: 95230619 Bloques Comunicaciones Modicon

Apéndices

404 33002530 07 07/2008

Page 405: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

A

Códigos de error y valores EFB

Descripción general

Introducción En las tablas siguientes se muestran los códigos y valores de error creados para los EFB de la librería de comunicación.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Tablas de códigos de error de la librería de comunicación 406

Errores comunes de coma flotante 410

405

Page 406: 95230619 Bloques Comunicaciones Modicon

Códigos de error y valores EFB

Tablas de códigos de error de la librería de comunicación

Introducción En las tablas siguientes se muestran los códigos y valores de error creados para los EFB de la librería de comunicación.

Extendido Tabla de códigos y valores de error creados para los EFB de la familia Extendido.

Nombre de EFB Código de error Estado de ENO en caso de error

Valor de error en dec.

Valor de error en hex.

Descripción del error

CREAD_REG E_EFB_MSTR_ERROR

F -30.191 16#8A11

Error de comunicación MSTR.

CREAD_REG E_EFB_NOT_STATE_RAM_4X

F -30.531 16#88BD

Variable no asignada al campo % MW (4x).

CREAD_REG - F 8.195 16#2003

Valor mostrado en la palabra de estado.(Aparece con E_EFB_MSTR_ERROR.)

CREAD_REG - F 8.206 16#200E

Valor mostrado en la palabra de estado.Aparece con E_EFB_NOT_STATE_RAM_4X.

CREAD_REG - F - - Consulte las tablas de:Códigos de error de Modbus Plus y SY/MAX EtherNet (véase Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139)Códigos de error específicos de SY/MAX (véase Códigos de error específicos de SY/MAX, p. 143)Códigos de error TCP/IP EtherNet (véase Códigos de error de TPC/IP Ethernet, p. 145)

CWRITE_REG E_EFB_MSTR_ERROR

F -30.191 16#8A11

Error de comunicación MSTR.

CWRITE_REG - F 8.195 16#2003

Valor mostrado en la palabra de estado.Aparece con E_EFB_MSTR_ERROR.

406 33002530 07 07/2008

Page 407: 95230619 Bloques Comunicaciones Modicon

Códigos de error y valores EFB

CWRITE_REG - F 8.206 16#200E

Valor mostrado en la palabra de estado.Aparece con E_EFB_NOT_STATE_RAM_4X.

CWRITE_REG - F - - Consulte las tablas de:Códigos de error de Modbus Plus y SY/MAX EtherNet (véase Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139)Códigos de error específicos de SY/MAX (véase Códigos de error específicos de SY/MAX, p. 143)Códigos de error TCP/IP EtherNet (véase Códigos de error de TPC/IP Ethernet, p. 145)

MBP_MSTR E_EFB_OUT_OF_RANGE

F -30.192 16#8A10

Error interno: EFB ha detectado una violación (por ejemplo, que la escritura sobrepasa los límites de %MW [4x])

MBP_MSTR E_EFB_NOT_STATE_RAM_4X

F -30.531 16#88BD

Variable no asignada al campo % MW (4x).

MBP_MSTR - F 8.195 16#2003

Valor mostrado en la palabra de estado.Aparece con E_EFB_MSTR_ERROR en el estado del bloque de control.

MBP_MSTR - F 8.206 16#200E

Valor mostrado en la palabra de estado.Aparece con E_EFB_NOT_STATE_RAM_4X en el estado del bloque de control.

Nombre de EFB Código de error Estado de ENO en caso de error

Valor de error en dec.

Valor de error en hex.

Descripción del error

33002530 07 07/2008 407

Page 408: 95230619 Bloques Comunicaciones Modicon

Códigos de error y valores EFB

MBP_MSTR - F - - Consulte las tablas de:Códigos de error de Modbus Plus y SY/MAX EtherNet (véase Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139)Códigos de error específicos de SY/MAX (véase Códigos de error específicos de SY/MAX, p. 143)Códigos de error TCP/IP EtherNet (véase Códigos de error de TPC/IP Ethernet, p. 145)

READ_REG W_WARN_OUT_OF_RANGE

F 30.110 16#759E

Parámetro fuera de rango.

READ_REG E_EFB_NOT_STATE_RAM_4X

F -30.531 16#88BD

Variable no asignada al campo % MW (4x).

READ_REG E_EFB_MSTR_ERROR

F -30.191 16#8A11

Error de comunicación MSTR.

READ_REG - F 8.195 16#2003

Valor mostrado en la palabra de estado.Aparece con W_WARN_OUT_OF_RANGE.

READ_REG MBPUNLOC F 8.206 16#200E

Valor mostrado en la palabra de estado.Aparece con E_EFB_NOT_STATE_RAM_4X.

READ_REG - F - - Consulte las tablas de:Códigos de error de Modbus Plus y SY/MAX EtherNet (véase Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139)Códigos de error específicos de SY/MAX (véase Códigos de error específicos de SY/MAX, p. 143)Códigos de error TCP/IP EtherNet (véase Códigos de error de TPC/IP Ethernet, p. 145)

Nombre de EFB Código de error Estado de ENO en caso de error

Valor de error en dec.

Valor de error en hex.

Descripción del error

408 33002530 07 07/2008

Page 409: 95230619 Bloques Comunicaciones Modicon

Códigos de error y valores EFB

WRITE_REG W_WARN_OUT_OF_RANGE

F 30.110 16#759E

Parámetro fuera de rango.

WRITE_REG E_EFB_NOT_STATE_RAM_4X

F -30.531 16#88BD

Variable no asignada al campo % MW (4x).

WRITE_REG E_EFB_MSTR_ERROR

F -30.191 16#8A11

Error de comunicación MSTR.

WRITE_REG - F 8.195 16#2003

Valor mostrado en la palabra de estado.Aparece con W_WARN_OUT_OF_RANGE.

WRITE_REG - F 8.206 16#200E

Valor mostrado en la palabra de estado.Aparece con E_EFB_NOT_STATE_RAM_4X.

WRITE_REG - F - - Consulte las tablas de:Códigos de error de Modbus Plus y SY/MAX EtherNet (véase Códigos de error de Modbus Plus, SY/MAX y Ethernet TCP/IP, p. 139)Códigos de error específicos de SY/MAX (véase Códigos de error específicos de SY/MAX, p. 143)Códigos de error TCP/IP EtherNet (véase Códigos de error de TPC/IP Ethernet, p. 145)

Nombre de EFB Código de error Estado de ENO en caso de error

Valor de error en dec.

Valor de error en hex.

Descripción del error

33002530 07 07/2008 409

Page 410: 95230619 Bloques Comunicaciones Modicon

Códigos de error y valores EFB

Errores comunes de coma flotante

Introducción En la tabla siguiente se muestran los códigos y valores de error comunes creados para los errores de coma flotante.

Errores comunes de coma flotante

Tabla de errores comunes de coma flotante

Códigos de error Valor de error en Dec

Valor de error en Hex

Descripción del error

FP_ERROR -30150 16#8A3A Valor de base (no aparece como valor de error)

E_FP_STATUS_FAILED_IE -30151 16#8A39 Operación de coma flotante ilegal

E_FP_STATUS_FAILED_IE -30152 16#8A38 El operando no está normalizado, no es un número REAL válido

E_FP_STATUS_FAILED_ZE -30154 16#8A36 División por cero ilegal

E_FP_STATUS_FAILED_ZE_IE -30155 16#8A35 Operación de coma flotante ilegal / División por cero

E_FP_STATUS_FAILED_OE -30158 16#8A32 Rebasamiento de coma flotante

E_FP_STATUS_FAILED_OE_IE -30159 16#8A31 Operación de coma flotante ilegal / Rebasamiento

E_FP_STATUS_FAILED_OE_ZE -30162 16#8A2E Rebasamiento de coma flotante / División por cero

E_FP_STATUS_FAILED_OE_ZE_IE

-30163 16#8A2D Operación de coma flotante ilegal / Rebasamiento / División por cero

E_FP_NOT_COMPARABLE -30166 16#8A2A Error interno

410 33002530 07 07/2008

Page 411: 95230619 Bloques Comunicaciones Modicon

33002530 07 07/2008

B

Objetos de sistema

Presentación

Objeto Este capítulo describe los bits y las palabras de sistema del lenguaje Unity Pro.

Nota: los símbolos asociados a cada objeto de bit o de palabra del sistema a los que se hace referencia en las tablas descriptivas de dichos objetos no están incluidos de serie en el programa, se pueden introducir a través del editor de datos.

Se proponen para homogeneizar su denominación en las diferentes aplicaciones.

Contenido: Este capítulo contiene los siguiente apartados:

Apartado Página

Introducción de bits de sistema 412

Descripción de los bits de sistema de %S15 a %S21 413

Descripción de las palabras de sistema %SW12 a %SW29 416

411

Page 412: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

Introducción de bits de sistema

General Los autómatas Modicon M340, Premium, Atrium y Quantum utilizan bits de sistema %Si que indican los estados del autómata o que permiten controlar el funciona-miento de éste.

Dichos bits pueden probarse en el programa del usuario con el fin de detectar cualquier evolución de funcionamiento que conlleve un procedimiento de procesamiento establecido.

Algunos de estos bits deben volver a su estado inicial o normal por programa. No obstante, los bits de sistema que vuelven a su estado inicial o normal a través del sistema, no deben hacerlo a través del programa ni del terminal

412 33002530 07 07/2008

Page 413: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

Descripción de los bits de sistema de %S15 a %S21

Descripción detallada

Descripción de los bits de sistema de %S15 a %S21:

BitSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

%S15STRINGERROR

Fallo de cadena de caracteres

Normalmente en estado 0, este bit pasa al estado 1 cuando el área de destino de una transferencia de cadena de caracteres no tiene el tamaño suficiente (incluido el número de caracteres y el carácter de fin de cadena de caracteres) para recibirla.La aplicación se detiene debido a un error si el bit %S78 se ha establecido en 1.La aplicación debe volver a poner el bit en 0.Este bit no está disponible en PLC de seguridad Quantum.

0 SÍ SÍ SÍ(excepto para PLC

de seguridad)

%S16IOERRTSK

Fallo de salidas/entradas de tarea

Normalmente en estado 1, el sistema vuelve a establecer este bit en 0 cuando falla un módulo de E/S en bastidor o en un dispositivo Fipio configurado en la tarea.El usuario debe volver a establecer el bit en 1.

1 SÍ SÍ SÍ

%S16 para PLC QuantumEn Quantum, los errores de comunicación de los módulos (NOM, NOE, NWM, CRA, CRP) y de los módulos MMS no se comunican en los bits %S10 y %S16.Es responsabilidad del usuario utilizar estos bits de sistema de forma correcta.

Si no se siguen estas instrucciones pueden producirse lesiones personales o daños en el equipo.

AVISO

33002530 07 07/2008 413

Page 414: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

BitSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

%S17CARRY

Salida de desplazamiento circular

Normalmente está en estado 0.Durante una operación de desplazamiento circular, este bit adopta el estado del bit saliente.

0 SÍ SÍ SÍ

%S18OVERFLOW

Desborde o error aritmético

Normalmente en estado 0, este bit pasa a 1 en caso de desborde de la capacidad si:

el resultado es superior a +32.767 o inferior a -32.768, en longitud simple;el resultado es superior a +65.535, en un número entero sin signo;el resultado es superior a +2.147.483.647 o inferior a -2.147.483.648, en longitud doble;el resultado es superior a +4.294.967.296, en un número entero en longitud doble sin signo;los valores reales sobrepasan los límites;hay una división entre 0;hay una raíz de un número negativo;se fuerza un paso inexistente en un programador cíclico;hay un apilamiento de un registro completo, vaciado de un registro vacío.

Sólo hay un caso en el que los PLC Modicon M340 no aumentan el bit %S18 cuando los valores reales superan los límites. Esto sólo sucede si se utilizan operandos no normalizados o algunas operaciones que generan resultados no normalizados (transgresión por debajo de rango gradual).Debe comprobarse mediante el programa del usuario después de cada operación en la que exista riesgo de desborde; si es el caso, el usuario debe volver a ponerlo a 0.Cuando el bit %S18 pasa a 1, la aplicación se detiene debido a un error si el bit %S78 se ha establecido en 1.

0 SÍ SÍ SÍ

414 33002530 07 07/2008

Page 415: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

%S19OVERRUN

Desborde del período de tarea (exploración periódica)

Normalmente en estado 0, el sistema pone este bit en estado 1 en caso de desborde del período de ejecución (tiempo de ejecución de tarea superior al período definido por el usuario en la configuración o programado en la palabra %SW asociada a la tarea). El usuario debe volver a establecer el bit en 0. Cada tarea gestiona su propio bit %S19.

0 SÍ SÍ SÍ

%S20INDEXOVF

Desborde del índice

Normalmente en estado 0, este bit pasa a estado 1 cuando la dirección del objeto de índice sea menor que 0 o supere el número de objetos declarados en la configuración.En este caso, ocurre lo mismo que si el índice fuera igual a 0.Debe comprobarse mediante el programa del usuario después de cada operación en la que exista riesgo de desborde; si es el caso, vuelve a 0. Cuando el bit %S20 pasa a 1, la aplicación se detiene debido a un error si el bit %S78 se ha establecido en 1.Este bit no está disponible en PLC de seguridad Quantum.

0 SÍ SÍ SÍ(excepto para PLC

de seguridad)

%S211RSTTASKRUN

Primer ciclo de tarea

El bit %S21, que se comprueba en una tarea (Mast, Fast, Aux0, Aux1, Aux2 o Aux3), indica el primer ciclo de dicha tarea, incluso después de un arranque en frío con arranque automático en ejecución y un arranque en caliente. %S21 se pone a 1 al comienzo del ciclo y a 0 al final del ciclo.Nota: Es importante saber que el bit %S21 no tiene el mismo significado en PL7 y en Unity Pro.

0 SÍ SÍ SÍ

BitSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

33002530 07 07/2008 415

Page 416: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

Descripción de las palabras de sistema %SW12 a %SW29

Descripción detallada

Descripción de las palabras de sistema %SW12 a %SW29:

PalabraSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

%SW12UTWPORTADDR

Dirección del puerto serie del procesador

Para Premium: dirección Uni-Telway del puerto de terminal (en modalidad de esclavo) definida en la configuración y cargada en esta palabra en un arranque en frío. El sistema no tiene en cuenta la modificación del valor de esta palabra.Para Modicon M340: proporciona la dirección del esclavo de Modbus del puerto serie de la CPU. No se tiene en cuenta la modificación. Es 0, si la CPU no dispone de una conexión de puerto serie.

- SÍ SÍ NO(consulte %SW12 a

continuación)

%SW12APMODE

Modalidad del procesador de la aplicación

Únicamente para PLC de seguridad Quantum, esta palabra indica la modalidad de servicio del procesador de la aplicación del módulo CPU.

16#A501 = modalidad de mantenimiento16#5AFE = modalidad segura

Cualquier otro valor se interpreta como un error.Nota: En un sistema de seguridad Hot Standby, esta palabra se intercambia desde el PLC primario hasta el PLC Standby para informar al PLC Standby de la modalidad segura o de mantenimiento.

16#A501

NO NO SÍSólo en PLC de

seguridad

416 33002530 07 07/2008

Page 417: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

%SW13XWAYNETWADDR

Dirección principal de la estación

Para la red principal (Fipway o Ethway), indica:

el número de la estación (byte de menor valor) de 0 a 127,el número de la red (byte de mayor valor) de 0 a 63

Valor de los microinterruptores de la tarjeta PCMCIA).

254(16#00F

E)

NO SÍ NO(consulte %SW13 a

continuación)

%SW13INTELMODE

Modalidad del procesador Intel

Únicamente para PLC de seguridad Quantum, esta palabra indica la modalidad de servicio del procesador Intel del módulo CPU.

16#501A = modalidad de mantenimiento16#5AFE = modalidad segura

Cualquier otro valor se interpreta como un error.Nota: En un sistema de seguridad Hot Standby, esta palabra se intercambia desde el PLC primario hasta el PLC Standby para informar al PLC Standby de la modalidad segura o de mantenimiento.

- NO NO SÍSólo en PLC de

seguridad

%SW14OSCOMMVERS

Versión comercial del procesador del PLC

Esta palabra contiene la versión comercial del procesador del PLC.Ejemplo: 16#0135Versión: 01Número de emisión: 35

- SÍ SÍ SÍ

%SW15OSCOMMPATCH

Versión del parche del procesador del PLC

Esta palabra contiene la versión comercial del parche del procesador del PLC.La codificación se lleva a cabo en el byte de menor valor de la palabra.Codificación: 0 = sin parche, 1 = A, 2 = B...Ejemplo: 16#0003 corresponde al parche C.

- SÍ SÍ SÍ

PalabraSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

33002530 07 07/2008 417

Page 418: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

%SW16OSINTVERS

Número de versión del firmware

Esta palabra contiene el número de versión del firmware en formato hexadecimal del firmware del procesador del PLC.Ejemplo: 16#0011Versión: 2.1N.º de versión: 17

- SÍ SÍ SÍ

%SW17FLOATSTAT

Estado de fallo en operación flotante

Cuando se detecta un fallo en una operación aritmética flotante, el bit %S18 pasa a 1 y el estado de error de %SW17 se actualiza según la codificación siguiente:

%SW17.0 = operación no válida; el resultado no es un número.%SW17.1 = operando no normalizado; resultado aceptable (Modicon M340 no gestiona el flag).%SW17.2 = división entre 0; el resultado es infinito.%SW17.3 = desborde; el resultado es infinito.%SW17.4 = transgresión por debajo de rango; el resultado es 0.%SW17.5 a 15 = no utilizado.

El sistema vuelve a poner esta palabra a 0 en el arranque en frío, o bien el programa para utilizarla de nuevo.Esta palabra no está disponible en PLC de seguridad Quantum.

0 SÍ SÍ SÍ(excepto para PLC

de seguridad)

%SD18:%SW18 y%SW19100MSCOUNTER

Contador de tiempo absoluto

%SW18 representa los bytes de menor valor y %SW19, los bytes de mayor valor de la palabra doble %SD18, que el sistema aumenta cada 1/10 décimas de segundo. La aplicación puede leer o escribir estas palabras para realizar cálculos de duración.%SD18 aumenta sistemáticamente, incluso en la modalidad STOP y estados equivalentes. Sin embargo, no se tienen en cuenta las veces que el PLC está apagado, puesto que la función no está vinculada al administrador de tiempo real, sino sólo al reloj en tiempo real.Para PLC de seguridad Quantum, sabiendo que los dos procesadores deben procesar exactamente los mismos datos, el valor de %SD18 se actualiza al comienzo de la tarea MAST y, a continuación, se congela durante la ejecución de la aplicación.

0 SÍ SÍ SÍ

PalabraSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

418 33002530 07 07/2008

Page 419: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

%SD20:%SW20 y%SW21MSCOUNTER

Contador de tiempo absoluto

Para PLC Quantum y M340, el sistema aumenta %SD20 cada 1/1000 décimas de segundo (incluso cuando el PLC está en STOP, %SD20 deja de incrementarse si el PLC está apagado). %SD20 puede leerse mediante el programa de usuario o el terminal.%SD20 se restablece en arranque en frío.%SD20 no se restablece en arranque en caliente.Para los PLC Premium TSX P57 1•4M/2•4M/3•4M/C024M/024M y TSX PCI57 204M/354M, el sistema aumenta %SD20 5 veces cada 5/1000 décimas de segundo. Para el resto de PLC Premium, %SD20 se establece según el contador de tiempo a 1 ms, como los PLC Quantum y M340. Para PLC de seguridad Quantum, sabiendo que los dos procesadores deben procesar exactamente los mismos datos, el valor de %SD18 se actualiza al comienzo de la tarea MAST y, a continuación, se congela durante la ejecución de la aplicación.

0 SÍ SÍ SÍ

%SW23 Valor del conmutador rotativo

El byte de menor valor contiene el conmutador rotativo del procesador Ethernet.Puede leerse mediante el programa de usuario o el terminal.

- Sí NO NO

%SW26 Número de solicitudes procesadas

Esta palabra de sistema permite verificar en el lado del servidor el número de solicitudes procesadas por PLC por ciclo.

- SÍ SÍ SÍ

PalabraSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

33002530 07 07/2008 419

Page 420: 95230619 Bloques Comunicaciones Modicon

Objetos de sistema

%SW27%SW28%SW29

Duración de la administración del sistema

%SW27 es la última duración de la administración del sistema.%SW28 contiene la duración máxima de la administración del sistema.%SW29 contiene la duración mínima de la administración del sistema.

La duración de la administración del sistema depende de la configuración (número de E/S) y de las peticiones de ciclo actuales (comunicación, diagnósticos).Duración de la administración del sistema = duración del ciclo Mast – duración de ejecución del código de usuario.Pueden leerse y escribirse mediante el programa de usuario o el terminal.

- SÍ NO NO

PalabraSímbolo

Función Descripción Estado inicial

Modicon M340

Premium Atrium

Quantum

420 33002530 07 07/2008

Page 421: 95230619 Bloques Comunicaciones Modicon

Glosario

%I Según la norma IEC, %I indica un objeto de lenguaje de entrada binaria.

%IW Según la norma IEC, %IW indica un objeto de lenguaje de entrada analógica.

%KW Según la norma IEC, %KW indica un objeto de lenguaje de palabra constante.

%M Según la norma IEC, %M indica un objeto de lenguaje de bit de memoria.

%MW Según la norma IEC, %MW indica un objeto de lenguaje de palabra de memoria.

%Q Según la norma IEC, %Q indica un objeto de lenguaje de salida binaria.

%QW Según la norma IEC, %QW indica un objeto de lenguaje de salida analógica.

ADDM_TYPE Este tipo predefinido se utiliza como salida de la función ADDM. Se trata de ARRAY[0..8] OF Int. Lo encontrará en la biblioteca, en la misma familia que las EF que lo utilizan.

ADDR_TYPE Este tipo predefinido se utiliza como salida de la función ADDR. Se trata de ARRAY[0..5] OF Int. Lo encontrará en la biblioteca, en la misma familia que las EF que lo utilizan.

!

A

33002530 07 07/2008 421

Page 422: 95230619 Bloques Comunicaciones Modicon

Glosario

ANL_IN ANL_IN es la forma abreviada del tipo de datos de entrada analógica. Se utiliza cuando se procesan valores analógicos. Las direcciones %IW del módulo de entrada analógica configurado, que se especifican en la lista de componentes de E/S, se asignan automáticamente a los tipos de datos y, como consecuencia, deben estar ocupadas únicamente por variables que no se hayan asignado.

ANL_OUT ANL_OUT es la forma abreviada del tipo de datos de salida analógica. Se utiliza cuando se procesan valores analógicos. Las direcciones %MW del módulo de entrada analógica configurado, que se especifican en la lista de componentes de E/S, se asignan automáticamente a los tipos de datos y, como consecuencia, deben estar ocupadas únicamente por variables que no se hayan asignado.

ANY Existe una jerarquía entre los distintos tipos de datos. En los DFB, a veces es posible declarar las variables que puedan contener varios tipos de valores. Se utilizan los tipos ANY_xxx.

422 33002530 07 07/2008

Page 423: 95230619 Bloques Comunicaciones Modicon

Glosario

En la siguiente figura se describe esta estructura jerarquizada:

ARRAY Una ARRAY es una tabla que contiene elementos del mismo tipo.La sintaxis es la siguiente: ARRAY [<límites>] OF <Tipo>Ejemplo:ARRAY [1..2] OF BOOL es una tabla de una dimensión compuesta por dos elementos de tipo BOOL.

ANY ANY_ELEMENTARY ANY_MAGNITUDE_OR_BIT ANY_MAGNITUDE ANY_NUM ANY_REAL REAL ANY_INT DINT, INT, UDINT, UINT TIME ANY_BIT DWORD, WORD, BYTE, BOOL ANY_STRING STRING ANY_DATE DATE_AND_TIME, DATE, TIME_OF_DAY EBOOL ANY_DERIVED ANY_ARRAY ANY_ARRAY_ANY_EDT ANY_ARRAY_ANY_MAGNITUDE ANY_ARRAY_ANY_NUM ANY_ARRAY_ANY_REAL ANY_ARRAY_REAL ANY_ARRAY_ANY_INT ANY_ARRAY_DINT ANY_ARRAY_INT ANY_ARRAY_UDINT ANNY_ARRAY_UINT ANY_ARRAY_TIME ANY_ARRAY_ANY_BIT ANY_ARRAY_DWORD ANY_ARRAY_WORD ANY_ARRAY_BYTE ANY_ARRAY_BOOL ANY_ARRAY_ANY_STRING ANY_ARRAY_STRING ANY_ARRAY_ANY_DATE ANY_ARRAY_DATE_AND_TIME ANY_ARRAY_DATE ANY_ARRAY_TIME_OF_DAY ANY_ARRAY_EBOOL ANY_ARRAY_ANY_DDT ANY_STRUCTURE ANY_DDT ANY_IODDT ANY_FFB ANY_EFB ANY_DFB

33002530 07 07/2008 423

Page 424: 95230619 Bloques Comunicaciones Modicon

Glosario

ARRAY [1..10, 1..20] OF INT es una tabla de dos dimensiones compuesta por 10 x 20 elementos de tipo INT.

BCD BCD es la forma abreviada del formato «Binary Coded Decimal» (decimal codificado en binario). BCD permite representar los números decimales comprendidos entre 0 y 9 mediante un grupo de cuatro bits (medio byte).En este formato, los cuatro bits utilizados para codificar los números decimales disponen de un rango de combinaciones que no se utilizan.Ejemplo de la codificación BCD:

El número 2.450 se codifica así: 0010 0100 0101 0000

BOOL BOOL es la forma abreviada del tipo booleano. Se trata del tipo de datos básico en informática. Una variable de tipo BOOL posee uno de estos valores: 0 (FALSE) o 1 (TRUE).Un bit extraído de la palabra es de tipo BOOL, por ejemplo: %MW10.4.

BYTE Cuando se reagrupan ocho bits, se habla de BYTE (byte). La entrada de un BYTE se realiza en modalidad binaria o en base 8.El tipo BYTE está codificado en un formato de 8 bits que, en el formato hexadecimal, va de 16#00 a 16#FF.

Cadena Etapa activa de un SFC.

Cadena única Modalidad de servicio de un diagrama SFC en la que sólo puede haber un paso activo en un momento determinado.

B

C

424 33002530 07 07/2008

Page 425: 95230619 Bloques Comunicaciones Modicon

Glosario

Convenciones de designación (identificador)

Un identificador es un conjunto de letras, cifras y signos de subrayado que comienza por una letra o un signo de subrayado (por ejemplo, el nombre de un tipo de bloque de funciones, de una instancia, de una variable o de una sección). Pueden utilizarse letras acentuadas de grupos de caracteres nacionales (como ö, ü, é y õ), excepto en los nombres de proyectos y DFB. Los signos de subrayado son significativos en los identificadores. Por ejemplo, A_BCD y AB_CD se interpretan como distintos identificadores. El uso de varios signos de subrayado consecutivos o al principio de un identificador es incorrecto.Los identificadores no pueden contener espacios. No se distingue entre mayúsculas y minúsculas. Por ejemplo, ABCD y abcd se interpretan como el mismo identificador. Según la norma IEC 61131-3, no se permite utilizar cifras antepuestas en los identificadores. Sin embargo, puede utilizarlos si, en el cuadro de diálogo Herramientas → Ajustes del proyecto, ficha Extensiones de lenguaje, activa la casilla de verificación Permitir cifras antepuestas.Los identificadores no pueden ser palabras clave.

DATE El tipo DATE codificado en BCD en un formato de 32 bits contiene la información siguiente:

el año codificado en un campo de 16 bits,el mes codificado en un campo de 8 bits,el día codificado en un campo de 8 bits.

El tipo DATE debe introducirse de la manera siguiente: D#<Año>-<Mes>-<Día> Esta tabla muestra los límites inferior y superior de cada campo:

DATE_AND_TIME

Véase DT.

D

Campo Límites Comentario

Año [1990,2099] Año

Mes [01,12] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

Día [01,31] Para los meses 01/03/05/07/08/10/12

[01,30] Para los meses 04/06/09/11

[01,29] Para el mes 02 (años bisiestos)

[01,28] Para el mes 02 (años no bisiestos)

33002530 07 07/2008 425

Page 426: 95230619 Bloques Comunicaciones Modicon

Glosario

Datos globales Los datos globales permiten el intercambio automático de variables de datos para la coordinación de las aplicaciones del PLC.

DBCD Representación de un entero doble con formato doble BCD.El formato BCD (“Binary Coded Decimal”) se utiliza para representar los números decimales comprendidos entre 0 y 9 mediante un grupo de cuatro bits.En este formato, los cuatro bits utilizados para codificar los números decimales disponen de un rango de combinaciones que no se utilizan.Ejemplo de la codificación DBCD:

El número 78.993.016se codifica así: 0111 1000 1001 1001 0011 0000 0001 0110

DDT DDT es la forma abreviada de «Derived Data Type» (tipo de datos derivados).Un tipo de datos derivados es un conjunto de elementos del mismo tipo (ARRAY) o de distintos tipos (estructura).

DFB DFB es la forma abreviada de «Derived Function Block» (bloque de funciones derivado).Los tipos DFB son bloques de funciones programables por el usuario en lenguaje ST, IL, LD o FBD.El uso de estos tipos DFB en una aplicación permite:

simplificar la concepción y la entrada del programa;aumentar la legibilidad del programa;facilitar su depuración yreducir el volumen de código generado.

Diagrama de bloques de funciones

Véase FBD.

DINT DINT es la forma abreviada de «Double INTeger» (entero doble) (codificado en 32 bits). Los límites inferior y superior figuran a continuación: de -(2 elevado a 31) a (2 elevado a 31) - 1.Ejemplo:-2.147.483.648, 2.147.483.647, 16#FFFFFFFF.

DT DT es la forma abreviada de «Date and Time» (fecha y hora).El tipo DT, codificado en BCD en un formato de 64 bits, contiene esta información:

el año codificado en un campo de 16 bits,el mes codificado en un campo de 8 bits,el día codificado en un campo de 8 bits,la hora codificada en un campo de 8 bits,los minutos codificados en un campo de 8 bits,los segundos codificados en un campo de 8 bits.

426 33002530 07 07/2008

Page 427: 95230619 Bloques Comunicaciones Modicon

Glosario

El tipo DT debe introducirse así:DT#<Año>-<Mes>-<Día>-<Hora>:<Minutos>:<Segundos>Esta tabla muestra los límites inferior y superior de cada campo:

DWORD DWORD es la forma abreviada de «Double Word» (palabra doble).El tipo DWORD se codifica en un formato de 32 bits.Esta tabla establece los límites inferior y superior de las bases que pueden utilizarse:

Ejemplos de representación:

Nota: No se utilizan los 8 bits menos significativos.

Campo Límites Comentario

Año [1990,2099] Año

Mes [01,12] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

Día [01,31] Para los meses 01/03/05/07/08/10/12

[01,30] Para los meses 04/06/09/11

[01,29] Para el mes 02 (años bisiestos)

[01,28] Para el mes 02 (años no bisiestos)

Hora [00,23] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

Minuto [00,59] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

Segundo [00,59] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

Base Límite inferior Límite superior

Hexadecimal 16#0 16#FFFFFFFF

Octal 8#0 8#37777777777

Binario 2#0 2#11111111111111111111111111111111

33002530 07 07/2008 427

Page 428: 95230619 Bloques Comunicaciones Modicon

Glosario

EBOOL EBOOL es la versión abreviada de «Extended BOOLean» (booleano extendido). Una variable de tipo EBOOL posee el valor 0 (FALSE) o 1 (TRUE), pero igualmente los flancos ascendentes o descendentes y las funciones de forzado.Una variable de tipo EBOOL ocupa un byte de memoria.El byte se compone de los siguientes elementos:

un bit del valor,un bit del historial (cada vez que cambia el objeto de estado, el valor se copia en el bit del historial),un bit del forzado (igual a 0 si el objeto no se fuerza, igual a 1 si el bit se fuerza).

El valor predeterminado de cada bit es 0 (FALSE).

EF EF es la forma abreviada de «Elementary Function» (función elemental).Se trata de un bloque, utilizado en un programa, que realiza una función de software predefinida.Una función no dispone de información sobre el estado interno. Varias llamadas de la misma función con los mismos parámetros de entrada muestran siempre los mismos valores de salida. Encontrará información sobre la forma gráfica de la llamada de la función en el «[bloque funcional (instancia)]». Al contrario que las llamadas de bloques de funciones, las llamadas de función constan únicamente de una salida a la que no se ha asignado un nombre y cuyo nombre coincide con el de la función. En FBD, cada llamada se indica mediante un [número] único a través del bloque gráfico. Este número se genera automáticamente y no puede modificarse.Coloque y configure estas funciones en el programa para ejecutar su aplicación. También puede desarrollar otras funciones mediante el kit de desarrollo de SDKC.

EFB EFB es la forma abreviada de «Elementary Function Block» (bloque de funciones elementales).Se trata de un bloque, utilizado en un programa, que realiza una función de software predefinida.

Datos Representación en una de las bases

00000000000010101101110011011110 16#ADCDE

00000000000000010000000000000000 8#200000

00000000000010101011110011011110 2#10101011110011011110

E

428 33002530 07 07/2008

Page 429: 95230619 Bloques Comunicaciones Modicon

Glosario

Los EFB cuentan con estados y parámetros internos. Aunque las entradas sean idénticas, los valores de las salidas pueden ser diferentes. Por ejemplo, un contador dispone de una salida que indica que se ha alcanzado el valor de preselección. Esta salida se establece en 1 cuando el valor actual coincide con el valor de preselección.

EN EN significa «ENable» (activar); se trata de una entrada de bloque facultativa. Cuando la entrada EN está activada, se establece una salida ENO automáticamente. Si EN = 0, el bloque no está activado, su programa interno no se ejecuta y ENO se establece en 0.Si EN = 1, se ejecuta el programa interno del bloque y ENO se establece en 1. Si se produce un error, ENO se establece en 0.Si la entrada EN no está conectada, se establece automáticamente en 1.

ENO ENO significa «Error NOtification» (notificación de error); se trata de la salida asociada a la entrada facultativa EN. Si ENO se establece en 0 (porque EN = 0 o en caso de que se produzca un error de ejecución):

el estado de las salidas de bloques de funciones permanece idéntico a aquél en el que estaban durante el último ciclo de exploración ejecutado correctamente;la(s) salida(s) de funciones, así como los procedimientos, se establecen en 0.

Exploración de E/S

La exploración de E/S realiza un sondeo continuo de los módulos de E/S para recopilar información de diagnóstico, bits de datos, estados y errores. En este proceso se supervisan las entradas y salidas de control.

FBD FBD es la forma abreviada de «Function Block Diagram» (lenguaje en bloques funcionales). FBD es un lenguaje de programación gráfica que funciona como un diagrama. Mediante la adición de bloques lógicos simples (Y, O, etc.), cada función o bloque de funciones del programa se representa mediante esta forma gráfica. En cada bloque, las entradas se sitúan a la izquierda y las salidas, a la derecha. Las salidas de los bloques pueden estar vinculadas a las entradas de otros bloques para formar expresiones complejas.

FFB Término colectivo para EF (función elemental), EFB (bloque de funciones elemental) y DFB (bloque de funciones derivado).

FTP «File Transfer Protocol» (protocolo de transferencia de archivos).

F

33002530 07 07/2008 429

Page 430: 95230619 Bloques Comunicaciones Modicon

Glosario

Función Véase EF.

Función elemental

Véase EF.

GRAY El código Gray o «binario reflejado» permite codificar un valor numérico desarrollado en una cadena de configuraciones binarias que puede diferenciarse mediante el cambio de estado de un solo bit. Este código puede utilizarse, por ejemplo, para evitar este suceso aleatorio: en binario puro, el cambio del valor 0111 en 1000 puede producir un rango de números comprendido entre 0 y 1.000, puesto que todos los bits no cambian de valor simultáneamente.Equivalencia entre decimal, BCD y Gray:

HTTP «Hypertext Transfer Protocol» (protocolo de transferencia de hipertexto)

IEC 61131-3 Norma internacional: comandos de lógica programables Parte 3: lenguajes de programación

IL IL es la forma abreviada de «Instruction List» (lista de instrucciones).Este lenguaje es un conjunto de instrucciones básicas. Se acerca mucho al lenguaje de ensamblaje utilizado para programar los procesadores.

G

Decimal 0 1 2 3 4 5 6 7 8 9

BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101

H

I

430 33002530 07 07/2008

Page 431: 95230619 Bloques Comunicaciones Modicon

Glosario

Cada instrucción consta de un código de instrucción y un operando.

INF Se utiliza para indicar que un número sobrepasa los límites permitidos. En el caso de un número entero, los rangos de valores (indicados en color gris) son los siguientes:

Cuando un resultado: es inferior a -3,402824e+38, aparece el símbolo -INF (de -infinito);es superior a +3,402824e+38, aparece el símbolo INF (de +infinito);

INT INT es la forma abreviada de «single INTeger» (entero simple) (codificado en 16 bits). Los límites inferior y superior figuran a continuación: de -(2 elevado a 15) a (2 elevado a 15) - 1.Ejemplo:-32.768, 32.767, 2#1111110001001001, 16#9FA4.

IODDT IODDT es la forma abreviada de «Input/Output Derived Data Type» (tipo de datos derivados de E/S). El término IODDT designa un tipo de datos estructurado que representa un módulo o un canal de un módulo del PLC. Cada módulo experto posee sus propios IODDT.

LD LD es la forma abreviada de «Ladder Diagram» (diagrama de contactos). LD es un lenguaje de programación que representa las instrucciones que deben ejecutarse en forma de esquemas gráficos muy parecidos a un esquema eléctrico (contactos, bobinas, etc.).

Multicadena Modalidad de servicio de un SFC. En modalidad multicadena, el SFC puede contar con varias etapas activas simultáneamente.

-3.402824e+38 3.402824e+38-1.1754944e-38 1.1754944e-380.0

INF-INF

L

M

33002530 07 07/2008 431

Page 432: 95230619 Bloques Comunicaciones Modicon

Glosario

NAN Se utiliza para indicar que el resultado de una operación no es numérico (NAN = «Not A Number», no numérico).Ejemplo: el cálculo de la raíz cuadrada de un número negativo.

Palabra clave Una palabra clave es una combinación única de caracteres que se utiliza como elemento de sintaxis en un lenguaje de programación (véase la definición que aparece en el apéndice B de la norma IEC 61131-3. Todas las palabras clave utilizadas en Unity Pro e incluidas en la norma IEC 61131-3 aparecen en el apéndice C de dicha norma. Las palabras clave no pueden servir de identificadores [nombres de variables, secciones, tipos de DFB, etc.] en el programa).

Procedimiento Desde un punto de vista técnico, los procedimientos son vistas funcionales. La única diferencia con las funciones elementales es que los procedimientos pueden tener más de una salida y admiten variables del tipo de datos VAR_IN_OUT. Los procedimientos no se diferencian visualmente de las funciones elementales. Los procedimientos son una extensión de la norma IEC 61131-3.

REAL El tipo REAL (real) se codifica en formato de 32 bits.

N

Nota: La norma IEC 559 define dos clases de NAN: NAN silencioso (QNAN) y NAN de señalización (SNAN). QNAN es un NAN con el bit de fracción más significativo, mientras que SNAN es un NAN sin el bit de fracción más significativo (número de bit 22). Los QNAN pueden propagarse por la mayoría de las operaciones aritméticas sin que se indique ninguna excepción. En cambio, los SNAN generalmente señalan una operación no válida cuando se utilizan como operandos en operaciones aritméticas (véanse %SW17 y %S18).

P

R

432 33002530 07 07/2008

Page 433: 95230619 Bloques Comunicaciones Modicon

Glosario

Los rangos de valores posibles se muestran en la figura siguiente:

Cuando un resultado: está comprendido entre -1,175494e-38 y 1,175494e-38, se le considera como DEN;es inferior a -3,402824e+38, aparece el símbolo -INF (de -infinito);es superior a +3,402824e+38, aparece el símbolo INF (de +infinito);es indefinido (raíz cuadrada de un número negativo), aparece el símbolo NAN.

Red Hay dos significados del término «red».En LD: una red es un conjunto de elementos gráficos interconectados. El campo de aplicación de una red es local, en relación con la unidad (sección) de organización del programa en el que se encuentra la red.Con módulos de comunicación expertos: una red es un grupo de estaciones que se intercomunican. El término «red» se utiliza también para definir un grupo de elementos gráficos interconectados. Dicho grupo constituye una parte de un programa que puede componerse de un grupo de redes.

SFC SFC es la forma abreviada de «Sequential Function Chart» (gráfica de función secuencial).

Nota: La norma IEC 559 define dos clases de NAN: NAN silencioso (QNAN) y NAN de señalización (SNAN). QNAN es un NAN con el bit de fracción más significativo, mientras que SNAN es un NAN sin el bit de fracción más significativo (número de bit 22). Los QNAN pueden propagarse por la mayoría de las operaciones aritméticas sin que se indique ninguna excepción. En cambio, los SNAN generalmente señalan una operación no válida al utilizarse como operandos en operaciones aritméticas (véanse %SW17 y %S18).

Nota: Cuando DEN (número no normalizado) se utiliza como operando, el resultado no es significativo.

-3.402824e+38 3.402824e+38-1.1754944e-38 1.1754944e-380.0

INF-INF

S

33002530 07 07/2008 433

Page 434: 95230619 Bloques Comunicaciones Modicon

Glosario

El SFC permite representar gráficamente y de forma estructurada el funcionamiento de un PLC secuencial. Esta descripción gráfica del comportamiento secuencial del PLC y de las distintas situaciones en desarrollo se realiza mediante símbolos gráficos simples.

SIL Nivel de integridad de seguridad («Safety Integrity Level»)Las funciones de seguridad se ejecutan para obtener y mantener el estado de seguridad de un sistema. El estándar IEC 61508 especifica cuatro niveles de rendimiento de seguridad para una función de seguridad. Éstos se denominan niveles de integridad de seguridad (SIL), y van desde 1 (el más bajo) hasta 4 (el más alto). El PLC de seguridad Quantum está certificado para su uso en aplicaciones SIL2, en las que el estado sin energía es el estado seguro, por ejemplo, en un sistema de parada de emergencia (ESD).Puede utilizar los productos de seguridad de Schneider para la creación de una solución Hot Standby (HSBY) si necesita una gran disponibilidad para un sistema de seguridad.

SNMP «Simple Network Management Protocol» (protocolo de gestión de red simple).

ST ST es la forma abreviada de «Structured Text» (texto estructurado).El lenguaje literal estructurado es un lenguaje elaborado similar a los lenguajes informáticos de programación. Permite estructurar series de instrucciones.

STRING Una variable de tipo STRING es una cadena de caracteres ASCII. La longitud máxima de una cadena de caracteres es de 65.534 caracteres.

TIME El tipo TIME expresa la duración en milisegundos. Codificado en 32 bits, este tipo

permite obtener duraciones de 0 a 2 32-1 milisegundos.Las unidades de tipo TIME son las siguientes: días (d), horas (h), minutos (m), segundos (s) y milisegundos (ms). Un valor literal de tipo TIME se representa mediante una combinación de tipos anteriores que preceden a T#, t#, TIME# o time#.Ejemplos: T#25h15m, t#14,7S, TIME#5d10h23m45s3ms

TIME_OF_DAY Véase TOD.

TOD TOD es la forma abreviada de «Time Of Day» (hora del día).El tipo TOD, codificado en BCD en un formato de 32 bits, contiene esta información:

la hora codificada en un campo de 8 bits,los minutos codificados en un campo de 8 bits,

T

434 33002530 07 07/2008

Page 435: 95230619 Bloques Comunicaciones Modicon

Glosario

los segundos codificados en un campo de 8 bits.

El tipo TOD debe introducirse de la manera siguiente: TOD#<Hora>:<Minutos>:<Segundos>Esta tabla muestra los límites inferior y superior de cada campo:

Ejemplo: TOD#23:59:45.

TOPO_ADDR_TYPE

Este tipo predefinido se utiliza como salida de la función READ_TOPO_ADDR. Se trata de ARRAY[0..4] OF Int. Lo encontrará en la biblioteca, en la misma familia que las EF que lo utilizan.

UDINT UDINT es la forma abreviada de «Unsigned Double INTeger» (entero doble sin signo) (codificado en 32 bits). Los límites inferior y superior figuran a continuación: de 0 a (2 elevado a 32) - 1.Ejemplo:0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.

UDP «User Datagram Protocol» (protocolo de datagramas de usuario). UDP es un protocolo de comunicaciones de Internet sin conexión definido por la norma IETF RFC 768. Este protocolo facilita la transmisión directa de datagramas en redes IP. Los mensajes UDP/IP no necesitan una respuesta y, por lo tanto, son perfectos para aplicaciones en las que los paquetes cerrados no requieren retransmisión (como redes y vídeos que necesitan rendimiento en tiempo real).

Nota: No se utilizan los 8 bits menos significativos.

Campo Límites Comentario

Hora [00,23] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

Minuto [00,59] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

Segundo [00,59] El cero a la izquierda aparece siempre; puede omitirse en la entrada de datos.

U

33002530 07 07/2008 435

Page 436: 95230619 Bloques Comunicaciones Modicon

Glosario

UINT UINT es la forma abreviada del formato «Unsigned INTeger» (entero sin dígito) (codificado en 16 bits). Los límites inferior y superior figuran a continuación: de 0 a (2 elevado a 16) - 1.Ejemplo:0, 65.535, 2#1111111111111111, 8#177777, 16#FFFF.

Valor literal de base 10

Un valor literal de base 10 se utiliza para representar un valor entero decimal. Dicho valor puede ir precedido de los signos «+» y «-». Si el carácter «_» se utiliza en el valor literal, no es significativo.Ejemplo:-12, 0, 123_456, +986

Valor literal de base 16

Un valor literal de base 16 se utiliza para representar un entero hexadecimal. La base está determinada por el número «16» y el signo «#». Los signos «+» y «-» están prohibidos. Para facilitar la lectura, puede utilizar el signo «_» entre los bits.Ejemplo:16#F_F o 16#FF (en decimal 255)16#F_F o 16#FF (en decimal 224)

Valor literal de base 2

Un valor literal de base 2 se utiliza para representar un entero binario. La base está determinada por el número «2» y el signo «#». Los signos «+» y «-» están prohibidos. Para facilitar la lectura, puede utilizar el signo «_» entre los bits.Ejemplo:2#1111_1111 ó 2#11111111 (en decimal 255)2#1110_0000 ó 2#11100000 (en decimal 224)

Valor literal de base 8

Un valor literal de base 8 se utiliza para representar un entero octal. La base está determinada por el número «8» y el signo «#». Los signos «+» y «-» están prohibidos. Para facilitar la lectura, puede utilizar el signo «_» entre los bits.Ejemplo:8#3_77 ó 8#377 (en decimal 255)8#34_0 ó 8#340 (en decimal 224)

Valor literal de entero

Un valor literal de entero se utiliza para introducir valores enteros en el sistema decimal. Les valores pueden ir precedidos de los signos + y -. Los signos de subrayado (_) separan números no significativos.Ejemplo:-12, 0, 123_456, +986

V

436 33002530 07 07/2008

Page 437: 95230619 Bloques Comunicaciones Modicon

Glosario

Valor literal de tiempo

Las unidades de tipo TIME son las siguientes: días (d), horas (h), minutos (m), segundos (s) y milisegundos (ms). Un valor literal de tipo TIME se representa mediante una combinación de tipos anteriores que preceden a T#, t#, TIME# o time#.Ejemplos: T#25h15m, t#14,7S, TIME#5d10h23m45s3ms

Valor literal real Un valor literal real es un número expresado con uno o varios decimales.Ejemplo:-12,0, 0,0, +0,456, 3,14159_26

Valor literal real con exponente

Número que puede expresarse mediante una notación científica estándar. La representación es como se indica a continuación: mantisa + exponente.Ejemplo:-1,34E-12 ó -1,34e-121,0E+6 ó 1,0e+61,234E6 ó 1,234e6

Variable Entidad de memoria del tipo BOOL, WORD, DWORD, etc., cuyo contenido puede modificarse mediante el programa que está ejecutándose.

Variables asignadas

Variable cuya posición en la memoria del PLC puede conocerse. Por ejemplo, la variable Water_pressure se asocia a %MW102. Water_pressure está asignada.

Variables no asignadas

Variable cuya posición en la memoria del PLC no puede conocerse. Una variable a la que no está asociada ninguna dirección se denomina no asignada.

WORD El tipo WORD se codifica en un formato de 16 bits y se utiliza para realizar tratamientos en las cadenas de bits.Esta tabla establece los límites inferior y superior de las bases que pueden utilizarse:

Ejemplos de representación

W

Base Límite inferior Límite superior

Hexadecimal 16#0 16#FFFF

Octal 8#0 8#177777

Binario 2#0 2#1111111111111111

33002530 07 07/2008 437

Page 438: 95230619 Bloques Comunicaciones Modicon

Glosario

Datos Representación en una de las bases

0000000011010011 16#D3

1010101010101010 8#125252

0000000011010011 2#11010011

438 33002530 07 07/2008

Page 439: 95230619 Bloques Comunicaciones Modicon

CBAÍndice

AADDM, 45ADDM_TYPE, 45ADDR, 49ADDR_TYPE, 49

Ccadena, gestión - instrucciones

INPUT_CHAR, 87OUT_IN_CHAR, 157PRINT_CHAR, 203

CANCEL, 51comunicación - instrucciones

ADDM, 45ADDR, 49CANCEL, 51CREAD_REG, 55CWRITE_REG, 63DATA_EXCH, 71información general de Premium y

33002530 07/2008

Atrium, 29INPUT_BYTE, 83INPUT_CHAR, 87MBP_MSTR, 99ModbusP_ADDR, 151OUT_IN_CHAR, 157OUT_IN_MBUS, 165PRINT_CHAR, 203RCV_TLG, 213READ_ASYN, 217READ_GDATA, 221READ_REG, 223READ_VAR, 231SEND_REQ, 253SEND_TLG, 269SYMAX_IP_ADDR, 275TCP_IP_ADDR, 279UNITE_SERVER, 285WRITE_ASYN, 291WRITE_GDATA, 295WRITE_REG, 297WRITE_VAR, 307XXMIT, 321

CREAD_REG, 55CWRITE_REG, 63

DDATA_EXCH, 71disponibilidad de las instrucciones, 25

439

Page 440: 95230619 Bloques Comunicaciones Modicon

Index

Eerror, códigos, 405

IINPUT_BYTE, 83INPUT_CHAR, 87instrucciones

disponibilidad, 25

MMBP_MSTR, 99ModbusP_ADDR, 151

OOUT_IN_CHAR, 157OUT_IN_MBUS, 165

PPRINT_CHAR, 203

RRCV_TLG, 213READ_ASYN, 217READ_GDATA, 221READ_REG, 223READ_VAR, 231

SSEND_REQ, 253SEND_TLG, 269SYMAX_IP_ADDR, 275

TTCP_IP_ADDR, 279

UUNITE_SERVER, 285

440

WWRITE_ASYN, 291WRITE_GDATA, 295WRITE_REG, 297WRITE_VAR, 307

XXXMIT, 321

33002530 07/2008