View
115
Download
8
Category
Preview:
Citation preview
3300
2530
.07
www.schneider-electric.com
Unity Pro 4.0ComunicaciónLibrería de bloques07/2008 spa
2 33002530 07 07/2008
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
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
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
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
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
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
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
10 33002530 07 07/2008
§
Información de seguridadInformació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
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
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
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 techpub@schneider-electric.com
Título Reference Number
Bloque de función XXMIT para Quantum mediante Unity Pro, manual de usuario
-
14 33002530 07 07/2008
33002530 07 07/2008
I
GeneralidadesIntroducció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
Generalidades
16 33002530 07 07/2008
33002530 07 07/2008
1
Tipos de bloques y utilizaciónIntroducció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
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
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
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
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
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
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
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
33002530 07 07/2008
2
Disponibilidad de los módulos en las diferentes plataformas de hardwareDisponibilidad 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
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
33002530 07 07/2008
3
Operación de la comunicación EFPresentació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
Operación de la comunicación EF
28 33002530 07 07/2008
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
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
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
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
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
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
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
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
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
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
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
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
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
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
33002530 07 07/2008
II
ExtensionesIntroducció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
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
33002530 07 07/2008
4
ADDM: Conversión de direccionesDescripció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
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
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
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
33002530 07 07/2008
5
ADDR: conversión de direccionesDescripció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
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
33002530 07 07/2008
6
CANCEL: detención de un intercambio en cursoPresentació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
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
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
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
33002530 07 07/2008
7
CREAD_REG: lectura continua de registroDescripció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
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
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
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
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
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
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
CREAD_REG
62 33002530 07 07/2008
33002530 07 07/2008
8
CWRITE_REG: escritura continua de registroDescripció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
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
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
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
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
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
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
CWRITE_REG
70 33002530 07 07/2008
33002530 07 07/2008
9
DATA_EXCH: intercambio de datos entre aplicacionesPresentació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
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
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
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
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
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
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
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
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
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
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
DATA_EXCH
82 33002530 07 07/2008
33002530 07 07/2008
10
INPUT_BYTE: recepción de cadenas de caracteresDescripció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
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
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
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
33002530 07 07/2008
11
INPUT_CHAR: recepción de cadenas de caracteresPresentació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
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
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
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
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
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
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
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
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
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
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
INPUT_CHAR
98 33002530 07 07/2008
33002530 07 07/2008
12
MBP_MSTR: Maestro Modbus PlusDescripció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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
MBP_MSTR
150 33002530 07 07/2008
33002530 07 07/2008
13
ModbusP_ADDR: dirección de Modbus PlusDescripció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
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
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
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
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
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
33002530 07 07/2008
14
OUT_IN_CHAR: envío/recepción de cadenas de caracteresPresentació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
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
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
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
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
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
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
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
33002530 07 07/2008
15
OUT_IN_MBUS: función de comunicación ModbusPresentació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
OUT_IN_MBUS
166 33002530 07 07/2008
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
OUT_IN_MBUS
202 33002530 07 07/2008
33002530 07 07/2008
16
PRINT_CHAR: envío de cadenas de caracteresPresentació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
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
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
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
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
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
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
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
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
PRINT_CHAR
212 33002530 07 07/2008
33002530 07 07/2008
17
RCV_TLG: recepción de telegramasPresentació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
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
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
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
33002530 07 07/2008
18
READ_ASYN: lectura asíncrona de datosDescripció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
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
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
READ_ASYN
220 33002530 07 07/2008
33002530 07 07/2008
19
READ_GDATA: lectura de datos globales Modbus PlusDescripció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
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
33002530 07 07/2008
20
READ_REG: lectura de registroDescripció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
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
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
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
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
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
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
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
33002530 07 07/2008
21
READ_VAR: lectura de variablesPresentació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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
33002530 07 07/2008
22
SEND_EMAIL: Envío de un correo electrónicoSend_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
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
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
Send_Email
252 33002530 07 07/2008
33002530 07 07/2008
23
SEND_REQ: peticiones de envíoPresentació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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
33002530 07 07/2008
24
SEND_TLG: envío de telegramasPresentació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
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
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
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
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
SEND_TLG
274 33002530 07 07/2008
33002530 07 07/2008
25
SYMAX_IP_ADDR: dirección SY/MAX IPDescripció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
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
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
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
33002530 07 07/2008
26
TCP_IP_ADDR: dirección TCP/IPDescripció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
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
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
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
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
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
33002530 07 07/2008
27
UNITE_SERVER: servidor inmediatoPresentació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
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
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
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
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
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
33002530 07 07/2008
28
WRITE_ASYN: escritura asíncrona de datosDescripció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
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
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
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
33002530 07 07/2008
29
WRITE_GDATA: escritura de datos globales Modbus PlusDescripció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
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
33002530 07 07/2008
30
WRITE_REG: escritura del registroDescripció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
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
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
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
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
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
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
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
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
WRITE_REG
306 33002530 07 07/2008
33002530 07 07/2008
31
WRITE_VAR: variables de escrituraPresentació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
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
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
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
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
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
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
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
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
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
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
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
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
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
33002530 07 07/2008
32
XXMIT: transmisiónDescripció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
XXMIT
322 33002530 07 07/2008
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
XXMIT
Kits de adaptador de DB a RJ45
33002530 07 07/2008 399
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
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
XXMIT
402 33002530 07 07/2008
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
Apéndices
404 33002530 07 07/2008
33002530 07 07/2008
A
Códigos de error y valores EFBDescripció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
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
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
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
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
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
33002530 07 07/2008
B
Objetos de sistemaPresentació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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Glosario
Datos Representación en una de las bases
0000000011010011 16#D3
1010101010101010 8#125252
0000000011010011 2#11010011
438 33002530 07 07/2008
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
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
Recommended