Documentos de Académico
Documentos de Profesional
Documentos de Cultura
X(X)MIT-IEC
Módulo de función Transmit
840 USE 489 03 spa
33001913.00
2
Tabla de materias
Acerca de este . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Capítulo 1 Introducción a XMIT y XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Funciones de X(X)MIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Diferencias entre XMIT y XXMIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3
Capítulo 4 Referencias técnicas para los módulos
de función XMIT y XXMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Solicitud Modbus/Límites de parámetros de respuesta . . . . . . . . . . . . . . . . . . . . 86
Pines de salida de cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Kits de adaptadores de cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Configuración de XXMIT mediante módems de marcación
compatibles con Hayes (sólo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4
Acerca de este
Presentación
Objeto Este manual presenta toda la información necesaria para configurar los módulos de
función XMIT y XXMIT en todas las plataformas de PLCs compatibles con lenguajes
IEC.
Campo de aplica- La información que contiene este manual es válida para Concept version 2.2 Servi-
ción ce release 2 y posteriores.
Vista general Esta capítulo ofrece una vista general de los módulos de función XMIT y XXMIT.
Funciones de X(X)MIT
Vista general de Los módulos de función X(X)MIT (Transmit) permiten la utilización de conectores
la función serie del PLC para realizar una comunicación bajo control del programa de aplica-
ción.
Descripción de Los módulos Transmit envían mensajes Modbus de un PLC "master" a varios PLC
las funciones esclavos o envían cadenas de caracteres ASCII del puerto esclavo Modbus 1 (en
los PLC Momentum, también desde el puerto 2) a impresoras y terminales ASCII.
El XMIT envía estos mensajes a través de módems de conexión telefónica, móde-
ms de radio o simplemente por medio de una conexión directa. Los módulos Trans-
mit realizan funciones de entradas ASCII generales en la modalidad de
comunicación, incluidas las ASCII sencillas y las ASCII terminadas. Podrá importar
y exportar datos binarios o ASCII en su PLC. El módulo posee un sistema de diag-
nóstico interno y realiza las comprobaciones necesarias para asegurarse de que no
hay ningún otro módulo Transmit activo en el mismo puerto del PLC. Dentro de los
módulos Transmit, una serie de entradas de control permite al usuario manejar los
enlaces de comunicación entre el PLC y los dispositivos DCE (Data Communication
Equipment) conectados a los puertos Modbus 1 ó 2 del PLC. Los módulos Transmit
NO activan el puerto LED cuando se transmiten datos.
Plataforma de El módulo de función XMIT sólo se encuentra disponible para el PLC Momentum
hardware con ejecutable desnudo (stripped).
Implementación El módulo de función XMIT forma parte del firmware Momentum, mientras que el
módulo XXMIT forma parte del programa Concept.
Recomendación Para todos los proyectos nuevos, se debe utilizar el módulo de función XXMIT.
para nuevos Pro-
yectos
Breve descripción
Descripción de El módulo de función XMIT (Transmit) envía mensajes Modbus de un PLC "master"
las funciones a varios PLC esclavos o envía cadenas de caracteres ASCII de los puertos esclavos
Modbus 1 o 2 del PLC a impresoras y terminales ASCII. El XMIT envía estos men-
sajes a través de módems de conexión telefónica, módems de radio o simplemente
por medio de una conexión directa. El XMIT se presenta en tres modalidades: co-
municación, estado de puerto y conversión. El XMIT realiza funciones de entradas
ASCII generales en la modalidad de comunicación, incluidas las ASCII simples y las
ASCII finalizadas. Podrá importar y exportar datos binarios o ASCII en su PLC y
convertirlos en distintos tipos de datos binarios o ASCII para enviarlos a dispositivos
DCE según las necesidades de su aplicación. El módulo posee un sistema de diag-
nóstico interno y realiza las comprobaciones necesarias para asegurarse de que no
hay ningún otro módulo XMIT activo en el mismo puerto del PLC. Dentro del módulo
XMIT, una tabla de control permite al usuario manejar los enlaces entre el PLC y los
dispositivos DCE (Data Communication Equipment) conectados a los puertos 1 o 2
del PLC. El módulo XMIT NO activa el LED del puerto cuando está transmitiendo
datos. Recuerde, el protocolo Modbus es un protocolo "master/esclavo". Modbus ha
sido diseñado para tener un solo master sondeando varios esclavos. Por lo tanto,
cuando utilice un módulo XMIT en una red con varios masters, corresponde al usua-
rio resolver conflictos y evitar colisiones, lo cual podrá hacerse fácilmente a través
de una programación Ladder Logic.
Restricciones Este módulo de función controla los puertos 1 y 2 Modbus de las CPU Momentum.
Sólo puede utilizarse con el ejecutable desnudo (stripped). El módulo de función
XMIT funciona igual que su homólogo LL984, pero sin la conversión de cadenas
ASCII, sin las funciones de comparación y copia y sin las funciones Estado de puer-
to.
Representación
Descripción de parámetros
MSG_OUT MSG_OUT contiene los datos de los mensajes que se van a transferir, por ejemplo,
caracteres ASCII para una transferencia ASCII, la definición de los caracteres de
finalización para una Entrada ASCII finalizada o las plantillas Modbus para los men-
sajes master de Modbus.
El tipo de datos que se asigne al parámetro debe ser una matriz de tipo de datos
WORD. Ésta deberá asignarse a un rango de registro 4x. La longitud de campo de-
berá ser igual a la del campo MSG_IN. Si se ha asignado el campo al rango de Un-
located variables, se generará un mensaje de error.
SET SET contiene la configuración del módulo de función XMIT en forma de la estructura
de datos XMIT_SET. Este parámetro se puede asignar a una Unlocated variable.
Los componentes de la estructura de datos tienen la misma función que los compo-
nentes de la configuración de SMIT LL984. Sólo existe una diferencia, el sistema
establecerá automáticamente las variables y las variables que no se utilicen no apa-
recerán en esta estructura de datos. Esto significa que para completar la configura-
ción será necesario que se hayan definido todos los componentes de esa estructura
de datos.
PORT PORT especifica la interfase de comunicación. Los únicos valores autorizados se-
rán "1" y "2".
START Una señal 1 en START iniciará el funcionamiento de XMIT. La señal 1 deberá apli-
carse hasta que la operación finalice o hasta que surja un error.
ABORT Una señal 1 terminará la operación XMIT actual e insertará el código de interrupción
"121" en el componente "FaultStatus" de la estructura de datos XMIT_CFG en la sa-
lida CFG.
MSG_IN MSG_IN contiene los datos del mensaje entrante, Entrada ASCII finalizada o res-
puestas de un comando master de Modbus que envió anteriormente el módulo de
función XMIT. El tipo de datos que se asigne al parámetro debe ser una matriz de
tipo de datos WORD. Ésta deberá asignarse a un rango de registro 4x. La longitud
de campo deberá ser igual a la del campo MSG_OUT. Si se ha asignado el campo
al rango de Unlocated variables, se generará un mensaje de error.
CFG CFG contiene una copia de módulo de función XMIT de la configuración definida en
SET que tiene la forma de la estructura de datos XMIT_CFG, incluye las variables
establecidas automáticamente y no utilizadas. Los componentes de la estructura de
datos tienen las misma función que los componentes de la configuración XMIT
LL984. Esta estructura de datos debe asignarse a un rango de registro 4x. Si se ha
asignado la estructura de datos al rango de Unlocated variables, se generará un
mensaje de error. CFG se utiliza para comprobar la configuración que se está apli-
cando.
OP_ACT Una señal 1 indica que XMIT está realizando una operación.
NO_SUC Una señal 1 indica que ha surgido un error o que la operación que estaba realizando
el módulo XMIT ha terminado.
Presentación Esta estructura de datos contiene los datos de la configuración real que utiliza el
módulo XMIT. No escriba directamente en esta matriz ya que los contenidos se ge-
neran automáticamente o se copian desde XMIT_SET. A continuación se muestra
una descripción detallada de cada uno de los (16) registros de la tabla de control de
comunicaciones del módulo XMIT.
XMIT_CFG.Revi- Muestra el número de revisión actual del módulo XMIT. El módulo de función carga
sion Sólo lectura automáticamente este número, que sobrescribe cualquier otro número ingresado
en este registro.
XMIT_CFG.Faul- Este campo muestra un código de fallo generado por el módulo XMIT. A continua-
tStatus Sólo lec- ción se muestra una tabla con la lista completa:
tura
Código del Descripción del fallo
fallo
1 Excepción Modbus - Función inválida
2 Excepción Modbus - Dirección de datos inválida
3 Excepción Modbus - Valor de datos inválido
4 Excepción Modbus - Error en participante Slave
5 Excepción Modbus - Confirmación
6 Excepción Modbus - Participante Slave ocupado
7 Excepción Modbus - Confirmación negativa
8 Excepción Modbus - Error de paridad de memoria
9 ... 99 Reservado
100 Campo de datos de PLC Slave no puede ser cero
101 Campo de datos de PLC Master no puede ser cero
102 Bit de salida (0x) sin configurar
103 Palabra de salida (4x) sin configurar
104 Longitud de datos no puede ser igual a cero
105 Pointer a la Tabla de mensajes no puede ser igual a cero
106 El pointer a la Tabla de mensajes fuera del rango de los registros de salida
(4x)
107 Timeout de la transferencia de mensajes (Este error aparece cuando el
UART no puede completar una transmisión en 10 segundos o menos. Este
error evita el contador de repeticiones y activa la salida de error en el primer
error).
108 Error no definido
109 El módem anuncia ERROR
110 El módem anuncia SIN PORTADORA
111 El módem anuncia SIN TONO DE DISCADO
112 El módem anuncia OCUPADO
113 Suma de chequeado LRC del Slave inválida
114 Suma de chequeado CRC del Slave inválida
115 Código de función Modbus inválido
XMIT_CFG.User El bloque XMIT no utiliza este registro. No obstante, se puede utilizar en la lógica
Avail_1 de aplicación como pointer.
XMIT_CFG.Data- XMIT permite trabajar con los siguientes bits de datos: 7 y 8. Para configurar un ta-
Bits maño de bits de datos, ingrese el número decimal en este elemento. Se pueden en-
viar los mensajes Modbus en modo ASCII o modo RTU. El modo ASCII requiere 7
bits de datos, mientras que el modo RTU necesita 8 bits de datos. Al enviar el men-
saje en caracteres ASCII, puede utilizar 7 u 8 bits de datos. Si se ha ingresado un
bit de entrada inválido, el módulo mostrará un error de configuración inválida (nú-
mero de error 127) en el elemento XMIT_CFG.FaultStatus. Para ver más detalles
sobre los formatos de mensajes Modbus, consulte la Guía de referencia de proto-
colos Modicon Modbus (PI MBUS 300).
XMIT_CFG.Parity XMIT permite trabajar con la paridad siguiente: ninguna, impar y par. Ingrese un de-
cimal de los siguientes: 0 = sin paridad, 1 = paridad impar, o 2 = paridad par. Si se
ha ingresado una paridad inválida, el módulo mostrará un error de configuración in-
válida (número de error 127) en el elemento XMIT_CFG.FaultStatus.
XMIT_CFG.Stop- XMIT permite trabajar con uno o dos bits de parada. Ingrese un decimal de los si-
Bits guientes: 1 = un bit de parada, o 2 = dos bits de parada. Si se ha ingresado un bit
de parada inválido, el módulo mostrará un error de configuración inválida (número
de error 127) en el elemento XMIT_CFG.FaultStatus.
XMIT_CFG.User El módulo XMIT no utiliza este elemento. No obstante, se puede utilizar en la lógica
Avail_2 de aplicación como pointer.
XMIT_CFG.Com- XMIT interpreta cada bit de la palabra de comando como una función que debe rea-
mandWord lizar. Si los bits 7 y 8 están activados simultáneamente o si dos o más de los bits 13,
14, 15 ó 16 están activados simultáneamente o si el bit 7 no está activado cuando
los bits 13, 14, 15 ó 16 están activados, se genera un error 129. Se aplican otras
restricciones. Para más detalles, consulte Bits de la palabra de comando, p. 26. A
continuación se muestra una tabla con las definiciones de cada bit.
Bit Definición
Bit 1 (msb) Reservado
Bit 2 Habilitar control de Módem RTS/ Establecido en 1 cuando un DCE que está conecta-
CTS do al PLC requiere un protocolo de hardware que
utilice el control RTS/CTS. Este bit puede utilizarse
con los valores que contienen XMIT_CFG.XmStart-
Delay y XMIT_CFG.XmEndDelay. El retardo de ini-
cio de transmisión mantiene RTS asegurado
durante (X ms) antes de que XMIT envíe el mensaje
desde el puerto del PLC. Del mismo modo, el retar-
do de fin de transmisión mantiene RTS asegurado
durante (X ms) después de que XMIT haya termina-
do de enviar un mensaje desde el puerto del PLC.
Una vez terminado el tiempo establecido como re-
tardo de fin de transmisión, XMIT anula RTS.
Bit 3 Habilitar modalidad RS485 Establecido en 1 cuando el puerto seleccionado
debe funcionar en modalidad RS485. En cualquier
otro caso, su valor predeterminados será 0, que es
la modalidad RS232.
Bit 4 Reservado
Bit Definición
Bit 5 Entrada ASCII finalizada Establecido en 1 para eliminar y rechazar todos los
caracteres de FIFO hasta que coincidir con la cade-
na inicial; a continuación, estos caracteres iniciales
y los siguientes se escriben en la matriz MSG_IN
hasta coincidir con la secuencia del terminador. La
cadena de caracteres del terminador también se es-
cribe en la matriz MSG_IN. Consulte el capítulo
"Función de entradas ASCII finalizadas (Véase Fun-
ción de entrada ASCII finalizada, p. 23)" para obten-
er más información.
Bit 6 Entrada ASCII simple Establecido en 1 para eliminar los caracteres ASCII
de FIFO y escribirlos en la matriz MSG_IN. El point-
er de mensajes (XMIT_CFG.MessagePtr) pasa au-
tomáticamente a la dirección de registro
especificada para la matriz MSG_IN. Consulte el
capítulo "Función de entradas ASCII simples
(Véase Función de entrada ASCII simple, p. 25)"
para obtener más información.
Bit 7 Habilitar mensajes de secuencia Establecido en 1 cuando desea enviar mensajes
de caracteres ASCII ASCII fuera del PLC. XMIT envía cadenas ASCII de
hasta 1024 caracteres de longitud. Puede progra-
mar el mensaje ASCII en la matriz MSG_OUT. Se
permiten dos caracteres por registro. Utilice sólo el
bit 7 o el bit 8; no intente usar los dos. Consulte el
capítulo "Mensajes de secuencia de caracteres
ASCII (Véase Mensajes de secuencia de caracteres
ASCII, p. 25)" para obtener más información.
Bit 8 Habilitar mensajes Modbus Establecido en 1 cuando desea enviar mensajes
Modbus fuera del PLC. Los mensajes Modbus
pueden estar en formato RTU o ASCII. Cuando los
bits de datos=8, XMIT utiliza el formato Modbus
RTU. Cuando los bits de datos=7, XMIT utiliza el for-
mato Modbus ASCII. Utilice sólo el bit 7 o el bit 8; no
intente usar los dos.
Bit 9 Habilitar FIFO de recepción Establecido en 1 para que el módulo XMIT pueda
ASCII tomar el control del puerto seleccionado (1 ó 2) des-
de el PLC. El módulo comienza a recibir los carac-
teres ASCII en FIFO circular vacío de 512 bytes.
Consulte el capítulo "FIFO de recepción ASCII
(Véase FIFO de recepción ASCII, p. 34)" para ob-
tener más información.
Bit Definición
Bit 10 Habilitar retroceso Establecido en 1 para poder realizar una gestión es-
pecial del carácter de retroceso ASCII (BS, 8Hex).
Si se utiliza una entrada ASCII simple (Bit 6) o una
entrada ASCII finalizada (Bit 5), cada carácter de
retroceso se elimina de FIFO y es posible que SE
PUEDA O NO SE PUEDA almacenar en la matriz
MSG_IN. Consulte el capítulo "Habilitar retroceso
(Véase Habilitar retroceso, p. 34)" para obtener más
información.
Bit 11 Habilitar protocolo RTS/CTS Establecido en 1 para permitir el protocolo de hard-
ware de dúplex completo con las señales de es-
tablecimiento de enlace RTS y CTS para los
mensajes ASCII. RTS/CTS funciona tanto en mo-
dalidad de entrada como de salida. Consulte el
capítulo "Habilitar protocolo RTS/CTS (Véase Habil-
itar protocolo RTS/CTS, p. 35)" para obtener más in-
formación.
Bit 12 Habilitar protocolo Xon/Xoff Establecido en 1 para permitir el protocolo de soft-
ware 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 "Habil-
itar protocolo Xon/Xoff (Véase Habilitar protocolo
Xon/Xoff, p. 36)" para obtener más información.
Bit 13 Módem de discado a pulsos Establezca este bit en 1 cuando utilice un módem de
marcación compatible con Hayes y desea una mar-
cación por pulsos de un número de teléfono. Puede
programar el mensaje ASCII en la matriz MSG_IN.
La longitud del mensaje debe estar comprendida en
XMIT_SET.MessageLen. 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 7
debe estar CONECTADO antes de enviar el número
que se va a marcar.
Bit Definición
Bit 14 Módem Hang-up Establezca en 1 cuando utilice un módem de mar-
cación compatible con Hayes y desea colgar el mó-
dem. Debe usar Ladder Logic para ACTIVAR este
bit. Como el mensaje de hang-up es una cadena
ASCII, el bit 7 debe estar CONECTADO antes de
enviar el mensaje. Los mensajes de hang-up se en-
vían al módem automáticamente precedidos por
+++AT y con el retorno de carro <CR> y el avance
de línea <LF> adjuntos. XMIT busca una respuesta
de desconexión correcta del módem antes de ACTI-
VAR la señal de salida OP_SUC y señalar una final-
ización satisfactoria.
Bit 15 Módem de discado por tonos Establezca este bit en 1 cuando se utilice un módem
de marcación compatible con Hayes y desea una
marcación por tonos de un número de teléfono. El
mensaje de marcación debe ubicarse en la matriz
MSG_OUT y la longitud del mensaje en
XMIT_SET.MessageLen. Los números de mar-
cación por tonos se envían al módem automática-
mente 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 7 debe estar CONECTADO antes de enviar el
número que se va a marcar.
Bit 16 Inicializar módem Establezca este bit en 1 cuando utilice un módem de
marcación compatible con Hayes y desea inicializar
el módem. Puede programar el mensaje de inicial-
ización en la matriz MSG_OUT y la longitud del
mensaje en XMIT_SET.MessageLen. 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 7 debe
estar CONECTADO antes de enviar el mensaje.
XMIT_CFG.Mes- El módulo XMIT utiliza automáticamente este pointer. Apunta al comienzo de la ta-
sagePtr bla de mensajes que será la matriz MSG_IN (Véase MSG_IN, p. 14) o MSG_OUT
(Véase MSG_OUT, p. 14) según la función XMIT que se haya seleccionado. Cada
elemento de matriz (registro 4x) puede constar de hasta dos caracteres ASCII.
Cada cadena ASCII puede tener hasta 1024 caracteres de longitud. Por ejemplo, si
desea enviar 10 mensajes ASCII fuera del PLC, deberá transferir las 10 cadenas de
caracteres ASCII a la matriz MSG_OUT una detrás de otra después de cada ope-
ración satisfactoria de XMIT.
XMIT_CFG.Mes- Aquí se ingresa la longitud del mensaje actual. Cuando XMIT envía mensajes Mo-
sageLen dbus para códigos de función 01, 02, 03, 04, 05, 06, 08, 15 y 16, la longitud del men-
saje se configura automáticamente en cinco. Cuando XMIT recibe entradas de
ASCII finalizadas, la longitud del mensaje debe configurarse en cinco, ya que, en
caso contrario, se produce un error. Cuando XMIT envía mensajes Modbus para los
códigos de función 20 y 21, la longitud del mensaje se configura automáticamente
en seis. Cuando XMIT envía mensajes ASCII, la longitud puede ser 1... 1024 carac-
teres ASCII por mensaje.
XMIT_CFG.Resp- Se debe ingresar el valor del tiempo en milisegundos (ms) para determinar cuánto
TimeOut tiempo va a esperar XMIT un mensaje de respuesta válido del participante Slave
(PLC, módem, etc.). Además, el tiempo se aplica a las transmisiones ASCII y a las
operaciones de protocolo. Cuando el mensaje de respuesta no surge en el tiempo
especificado, XMIT señala un fallo. El rango válido va de 0 a 65535 ms. El timeout
se iniciará después de que se haya enviado el último carácter del mensaje.
XMIT_CFG.Re- Se debe ingresar la cantidad de reintentos para determinar la cantidad de veces que
tryLimit XMIT debe enviar un mensaje para obtener una respuesta válida del participante
Slave (PLC, módem, etc.). Cuando el mensaje de respuesta no surge en el tiempo
especificado, XMIT señala un fallo y muestra un código de fallo. El rango válido va
de 0 a a 65535 intentos. Este campo se emplea junto con el timeout de respuesta
(4x+11).
XMIT_CFG.Star- Se debe ingresar el valor del tiempo en milisegundos (ms) cuando el control RTS/
tDelay CTS está activado, para determinar cuánto debe esperar XMIT tras recibir el CTS
para transmitir un mensaje desde el puerto 1 del PLC. Este registro también se pue-
de utilizar aunque el RTS/CTS NO lleva el control. En esta situación, el valor de
tiempo ingresado determina cuánto tiene que esperar XMIT antes de enviar un
mensaje desde el puerto 1 del PLC. Se puede utilizar como temporizador de pre-
mensaje. El rango válido va de 0 a 65535 ms.
XMIT_CFG.XmEn Se debe ingresar el valor de tiempo en milisegundos (ms) cuando el control RTS/
dDelay CTS está activado, para determinar cuánto tiempo debe mantener XMIT el RTS una
vez que el mensaje se ha enviado desde el puerto 1 del PLC. Cuando el tiempo ha
transcurrido, XMIT anula RTS. Este registro también se puede utilizar cuando RTS/
CTS NO lleva el control. En esta situación, el valor de tiempo ingresado determina
cuánto tiene que esperar XMIT tras enviar un mensaje del puerto #1 del PLC. Se
puede utilizar como temporizador de post- mensaje. El rango válido va de 0 a 65535
ms.
Presentación El módulo de función XMIT permite trabajar con las siguientes funciones de comu-
nicación ASCII
l Entrada ASCII simple
l Entrada ASCII finalizada
l Mensajes de secuencia de caracteres ASCII
Función de en- Cuando está activado el bit 5 de XMIT_CFG.CommandWord para los mensajes de
trada ASCII finali- entrada ASCII finalizada, la matriz MSG_OUT deberá contener la tabla de definición
zada de entradas ASCII. La tabla de definición de ASCII finalizadas tiene una longitud de
cinco registros. La longitud del mensaje XMIT_CFG.MessageLen se define automá-
ticamente. La tabla de definición de entradas ASCII finalizadas aparece a continua-
ción.
Tabla de definición de entradas ASCII finalizadas
Palabra Byte de mayor valor Byte de menor valor
MSG_OUT[1] Cantidad de caracteres de inicio (con- Cantidad de caracteres del termi-
tenido permitido = 0, 1, 2) nador (contenido permitido = 1, 2)
MSG_OUT[2] Primer carácter de inicio Segundo carácter de inicio
MSG_OUT[3] Primer carácter de terminador Segundo carácter de terminador
MSG_OUT[4] No utilizado. El registro de destino se define automáticamente en MSG_IN
Ejemplo de ASCII Asumiendo que XMIT está activado con las palabras de comando bit 9 y bit 5 defi-
terminado nidas. Habilite ASCII FIFO y ASCII finalizada. El puerto recibe la siguiente cadena
ASCII: "AMScrlf$weight= 1245 GRAMScrlf$wei". Consulte la tabla de definición de
entradas ASCII que muestra los contenidos marcados con ( ) utilizados en este
ejemplo.
Ejemplo de tabla de definición de entradas ASCII terminadas (contenidos)
Palabra Byte de mayor valor Byte de menor valor
MSG_OUT[1] Número de los caracteres de inicio Cantidad de caracteres del terminador
(0x01) (0x02)
MSG_OUT[2] Primer carácter de inicio ('$') Segundo carácter de inicio (no utiliza-
do)
MSG_OUT[3] Primer carácter de terminador ('cr') Segundo carácter de terminador ('if')
MSG_OUT[4] n.a. n.a.
MSG_OUT[5] Contador: cuenta la cantidad de caracteres recibidos escritos en los regis-
tros de destino de almacenamiento 4x.
Función de en- Todos los caracteres entrantes están ubicados en la matriz MSG_IN. Se almacenan
trada ASCII sim- dos caracteres en cada elemento. El primer carácter transferido desde FIFO se
ple guarda en el byte de mayor valor del primer elemento. El segundo carácter transfe-
rido desde FIFO 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 va-
riable de longitud de mensajes (XMIT_CFG.MessageLen) contiene la longitud del
mensaje (1 a 1024). Así, la variable Longitud de mensajes (XMIT_CFG.Message-
Len) decrece a medida que los caracteres se transfieren desde FIFO a la matriz
MSG_IN. Una vez transferido todo el mensaje, la variable Longitud de mensaje res-
taura su valor inicial (XMIT_CFG.MessageLen) y se activa la salida de Operación
satisfactoria OP_SUC del módulo XMIT. Para ingresar la longitud de mensaje de-
seada utilice el elemento XMIT_SET.MessageLen.
Mensajes de se- Cuando el bit 7 de XMIT_CFG.CommandWord está activado para los mensajes de
cuencia de ca- cadenas de caracteres, la matriz MSG_OUT debe contener la información ASCII
racteres ASCII que se va a transmitir. En cada elemento de la matriz MSG_OUT se almacenan dos
caracteres. La longitud del mensaje XMIT_SET.MessageLen debe establecerse en
la longitud del mensaje que se va a transmitir.
Palabra de co- El módulo de comunicación XMIT realiza seis funciones que se presentan a conti-
mando XMIT nuación. Para cada función se deberán establecer ciertos bits de la palabra de co-
mando (XMIT_CFG.CommandWord).
Presentación El módulo de función XMIT le permite comunicarse con un módem compatible Ha-
yes por medio de las funciones que se enumeran en la siguiente tabla:
Funciones del módem
Bit en la palabra de co- Función
mando
Bit 13 Módem de discado a pulsos
Bit 14 Módem Hang-up
Bit 15 Módem de discado por tonos
Bit 16 Inicializar módem
Inicializar mó- Establezca este bit en 1 cuando utilice un módem de marcación compatible con Ha-
dem yes y desea inicializar el módem. Puede programar el mensaje de inicialización en
la matriz MSG_OUT y la longitud del mensaje en XMIT_SET.MessageLen. Todos
los mensajes se envían al módem automáticamente precedidos por AT y con el re-
torno de carro <CR> y el avance de línea <LF> adjuntos. Como el mensaje de ini-
cialización es una cadena ASCII, el bit 7 debe estar CONECTADO antes de enviar
el mensaje.
Módem de disca- Establezca este bit en 1 cuando utilice un módem de marcación compatible con Ha-
do a pulsos yes y desea una marcación por pulsos de un número de teléfono. Puede programar
el mensaje ASCII en la matriz MSG_IN. La longitud del mensaje debe estar com-
prendida en XMIT_SET.MessageLen. 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 7 debe estar CONECTADO antes de enviar el número que se va a marcar.
Módem de disca- Establezca este bit en 1 cuando se utilice un módem de marcación compatible con
do por tonos Hayes y desea una marcación por tonos de un número de teléfono. El mensaje de
marcación debe ubicarse en la matriz MSG_OUT y la longitud del mensaje en
XMIT_SET.MessageLen. 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 7
debe estar CONECTADO antes de enviar el número que se va a marcar.
Módem Hang-up Establezca en 1 cuando utilice un módem de marcación compatible con Hayes y de-
sea colgar el módem. Debe usar la lógica del programa para CONECTAR este bit.
Como el mensaje de hang-up es una cadena ASCII, el bit 7 debe estar CONECTA-
DO antes de enviar el mensaje. Los mensajes de hang-up se envían al módem au-
tomáticamente precedidos por +++AT y con el retorno de carro <CR> y el avance
de línea <LF> adjuntos. XMIT busca una respuesta de desconexión correcta del
módem antes de ACTIVAR la señal de salida OP_SUC y señalar una finalización
satisfactoria.
Presentación El módulo de función XMIT apoya los siguientes códigos de función Modbus:
l 01 ... 06
l 08
l 15 y 16
l 20 y 21
Para los mensajes Modbus, la matriz MSG_OUT debe contener la tabla de defini-
ción Modbus. La tabla de definición Modbus para los códigos de función Modbus:
01, 02, 03, 04, 05, 06, 15 y 16 tiene una longitud de cinco registros. Asimismo, se
deberá establecer XMIT_SET.MessageLen en 5 para un funcionamiento satisfacto-
rio del módulo XMIT. La tabla de definición de entradas Modbus aparece en la tabla
siguiente.
Códigos de fun- Para los mensajes Modbus, la matriz MSG_OUT debe contener la tabla de defini-
ción Modbus 01 a ción Modbus. La tabla de definición Modbus para los códigos de función Modbus:
06 01, 02, 03, 04, 05, 06, 15 y 16 tiene una longitud de cinco registros. Asimismo, se
deberá establecer XMIT_SET.MessageLen en 5 para un funcionamiento satisfacto-
rio del módulo XMIT. La tabla de definición Modbus aparece en la tabla siguiente.
Campos de datos de origen y destino de los códigos de función (01 a 06, 15 y 16)
Código de función Campo de datos del PLC Zona de datos del PLC Slave
Master
03 (Leer varios 4x) 4x (destino) 4x (origen)
04 (Leer varios 3x) 4x (destino) 3x (origen)
01 (Leer varios 0x) 0x (destino) 0x (origen)
02 (Leer varios 1x) 0x (destino) 1x (origen)
16 (Escribir varios 4x) 4x (origen) 4x (destino)
15 (Escribir varios 0x) 0x (origen) 0x (destino)
05 (Escribir un 0x) 0x (origen) 0x (destino)
06 (Escribir un 4x) 4x (origen) 4x (destino)
Si desea enviar 20 mensajes Modbus desde el PLC, deberá transferir una a una 20
tablas de definición Modbus a MSG_OUT después de cada operación satisfactoria
de XMIT, o programar 20 módulos XMIT por separado y activarlos uno a uno me-
diante la lógica de aplicación.
Código de fun- La tabla de definición Modbus para el código de función Modbus: 08 tiene una lon-
ción Modbus (08) gitud de cinco registros. Asimismo, se deberá establecer XMIT_SET.MessageLen
en 5 para los mensajes Modbus; la matriz MSG_OUT deberá contener la definición
Modbus Operación XMIT satisfactoria. La tabla de definición Modbus aparece en la
tabla siguiente.
Contenido Descripción
Dirección del PLC Slave Ingrese la dirección Modbus del PLC Slave. Normalmente, el
(MSG_OUT[3]) rango de dirección Modbus es 1 a 247. El código de función 8
NO apoya la modalidad Broadcast (Dirección 0)
Contenido del campo de Deberá ingresar el valor decimal necesario para el campo de da-
datos Función de diag- tos de la subfunción de diagnóstico específica. Para las subfun-
nósticos (MSG_OUT[4]) ciones 02, 04, 10, 11, 12, 13, 16, 17 y 18, este valor se establece
automáticamente en cero. Para las subfunciones 00, 01 y 03, se
debe ingresar el valor deseado del campo de datos. Para más
información, consulte la Guía de referencia de protocolos Modi-
con Modbus (PI-MBUS-300).
Campo de datos del PLC Para todas las subfunciones, el campo de datos del PLC Master
Master (MSG_OUT[5]) es el destino de los datos que devuelve el Slave. Deberá espe-
cificar un registro 4x que indique el comienzo del campo de da-
tos en el que se sitúan los datos devueltos. Por ejemplo, para
ingresar los datos en el campo de datos del PLC Master comen-
zando por (40100), ingrese 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 Modicon Modbus
(PI-MBUS-300).
Códigos de fun- Para los mensajes Modbus, la matriz MSG_OUT debe contener la tabla de defini-
ción Modbus (20, ción Modbus. La tabla de definición Modbus para los códigos de función Modbus:
21) 20 y 21 tiene una longitud de seis registros. Asimismo, se deberá establecer
XMIT_SET.MessageLen en 6 para la operación satisfactoria del módulo XMIT. La
tabla de definición de Modbus aparece en la tabla siguiente.
Códigos de función de la tabla de definición Modbus (20, 21):
Contenido Descripción
Código de función Modbus El módulo XMIT apoya los siguientes códigos de fun-
(MSG_OUT[1]) ción: 20 = Leer referencia general (6x) 21 = Escribir ref-
erencia general (6x)
Cantidad (MSG_OUT[2]) Ingrese la cantidad de datos que se quieren escribir en
el PLC Slave o leer desde él. Por ejemplo, ingrese 100
para leer 100 registros de salida desde el PLC Slave o
bien ingrese 32 para escribir 32 bobinas en el PLC
Slave. Hay 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 Slave Ingrese la dirección Modbus del PLC Slave. Normal-
(MSG_OUT[3]) mente, el rango de dirección Modbus es 1 a 247. Los
códigos de función 20 y 21 NO apoyan la modalidad
Broadcast (Dirección 0)
Contenido Descripción
Zona de datos del Slave Para un comando de lectura, la zona de datos del Slave
(MSG_OUT[4]) es el origen de los datos. Para un comando de escritu-
ra, la zona de datos del Slave es el destino de los datos.
Por ejemplo, si desea leer registros (600300 a 600399)
de un PLC Slave, ingrese 300 en este campo. Si desea
escribir datos desde un PLC Master e ingresarlos en el
registro (600100) de un PLC Slave, ingrese 100 en este
campo. Según el tipo de comando Modbus (escritura o
lectura), los campos de datos de origen y destino se de-
berán definir como se indica en la siguiente tabla de zo-
nas de origen y destino. El registro de menor extensión
se denomina registro "cero" (600000). El registro de
salida de menor valor se denomina registro "uno"
(400001).
Campo de datos del PLC Master Para un comando de lectura, el campo de datos del
(MSG_OUT[5]) PLC Master es el destino de los datos que devuelve el
Slave. Para un comando de escritura, el campo de da-
tos del PLC Master es el origen de los datos. Por ejem-
plo, si desea escribir registros (40016 a 40032)
situados en el PLC Master en registros 6x de un PLC
Slave, ingrese 16 en el campo. Si desea leer registros
6x (600001 a 600100) de un PLC Slave y ubicar los da-
tos en el campo de datos del PLC Master (40100 a
40199), ingrese 100 en este campo. Según el tipo de
comando Modbus (escritura o lectura), los campos de
datos de origen y destino se deberán definir como se in-
dica en la siguiente tabla de zonas de origen y destino.
El registro de menor extensión se denomina registro
"cero" (600000). El registro de salida de menor valor se
denomina registro "uno" (400001).
Número de fichero (MSG_OUT[6]) Se debe ingresar el número de fichero para los regis-
tros 6x desde los que se va a leer o escribir. (1 ... 10)
según el tamaño del campo de datos del registro exten-
dido. 600001 es 60001 fichero 1 y 690001 es 60001
fichero 10, como se puede observar en el Editor de da-
tos de referencia en Modsoft.
Si desea enviar 20 mensajes Modbus desde el PLC deberá transferir una a una 20
tablas de definición Modbus a MSG_OUT después de cada operación satisfactoria
del módulo XMIT, o programar 20 módulos XMIT por separado y activarlos uno a
uno mediante la lógica de aplicación.
FIFO y protocolo
Presentación El módulo de función XMIT permite al usuario definir la utilización de un búfer FIFO
de recepción, el protocolo y la función de retrocesos recibidos.
FIFO de recep- Si se establece este bit en cero, finaliza esta función. Cuando FIFO recibe 512 ca-
ción ASCII racteres, se produce un desborde interno. Cuando esto ocurre, se desechan todos
los caracteres posteriores, se finalizan todas las operaciones de entrada ASCII
(simples y finalizadas)y el módulo devuelve un error hasta que se cambia el bit (bit
9). Al cambiarlo (bit 9), se desechan todos los datos de FIFO, se ignoran ambos bits
de control de entrada ASCII (ASCII simple (bit 6), ASCII finalizada (bit 5)), y si no
hay controles de salida ASCII seleccionados, el control del puerto (1 ó 2) se devuel-
ve al PLC. Es necesario definir ASCII finalizada (bit 5) o ASCII simple (bit 6) para
eliminar los caracteres ASCII de FIFO para procesar. No se pueden definir simultá-
neamente más de uno de los tres bits siguientes: ASCII finalizada (bit 5), ASCII sim-
ple (bit 6) o salida ASCII (bit 7). Se puede conseguir el funcionamiento dúplex
completo ajustando los bits FIFO de recepción ASCII (bit 9) y salida ASCII (bit 7).
Esto permite la transmisión ASCII simple fuera del PLC mientras se siguen recibien-
do caracteres ASCII en FIFO. Es útil cuando se trabaja con terminales no inteligen-
tes. Cuando el bit FIFO de recepción ASCII (bit 9) está definido, no se permite
ninguno de los siguientes controles de salida ASCII: Salida de mensajes master Mo-
dbus (bit 8), módem de discado a pulsos (bit 13), módem hang-up (bit 14), módem
de discado por tonos (bit 15) e inicializar módem (bit 16).
Esta función especial de retroceso junto con el eco interno habilitado en el terminal
son muy útiles para la gestión de los terminales no inteligentes. Un módulo XMIT de
entradas ASCII finalizadas que busca "cr" se activa cuando se establecen FIFO de
recepción ASCII (bit 9) y el retroceso (bit 10). No se requiere Ladder Logic adicional
mientras se escriben y editan caracteres utilizando el retroceso sobre la marcha. Al
escribir "cr", el módulo XMIT activa la salida inferior "Operación satisfactoria" y los
datos corregidos se alinean correctamente en la matriz MSG_IN.
Habilitar proto- La siguiente información hace referencia a la modalidad de salida. El estado del mó-
colo RTS/CTS dulo XMIT pasa a recepción BLOQUEADA cuando el dispositivo de recepción indi-
ca, al establecer la señal CTS en DES (desconectada), que no puede procesar
caracteres adicionales. Del mismo modo, el estado del módulo pasa a DESBLO-
QUEADO cuando la señal CTS está CON (conectada) y el dispositivo de recepción
indica que PUEDE procesar caracteres adicionales. Cuando la transmisión está
DESBLOQUEADA y tanto la salida ASCII simple (bit 7) como el protocolo RTS/CTS
(bit 11) están definidos, se envían los datos de salida de transmisión en paquetes
de 16 bytes. Una vez que se han enviado todos los paquetes de salida, la salida
OP_SUC del módulo XMIT pasa a CONECTAR "Operación satisfactoria". Si una
transmisión es BLOQUEADA inesperadamente, sólo se enviarán los caracteres
que quedan en el paquete de salida actual, nunca excediendo de 16 caracteres, y
el módulo XMIT permanecerá ACTIVO de forma indefinida. Sólo cuando la señal
CTS esté CONECTADA, la salida ASCII reanudará el envío de los restantes paque-
tes de salida. La siguiente información hace referencia a la modalidad de entrada.
Como RTS es una señal de salida, se puede utilizar independientemente del proce-
so de transmisión de salida ASCII para BLOQUEAR o DESBLOQUEAR los dispo-
sitivos de envío. Cuando el bit FIFO de recepción ASCII (bit 9) está definido, el
protocolo RTS/CTS funciona en la modalidad de entrada. Asimismo, cuando el bit
está definido y no lo están ninguna de las dos entradas ASCII, es decir, la entrada
ASCII simple (bit 6) o ASCII finalizada (bit 5), los caracteres recibidos completarán
el FIFO en el que están insertados. Mientras tanto, el protocolo RTS (bit 11) está
CONECTADO, lo cual permite que el dispositivo de envío continúe. Cuando FIFO
está lleno de caracteres en más de sus tres cuartas partes, el protocolo RTS (bit 11)
se borra para BLOQUEAR el dispositivo de envío. El protocolo RTS (bit 11) sigue
borrado hasta que la entrada ASCII simple (bit 6) o ASCII finalizada (bit 5) haya su-
primido el número suficiente de caracteres del FIFO, reduciendo la ocupación de los
mismos a menos de un cuarto. En este punto, el protocolo RTS (bit 11) pasa a la
posición CON.
Nota: El algoritmo del protocolo RTS/CTS es distinto del control de módem RTS/
CTS. El primero está relacionado con el desborde del búfer de recepción de dúplex
completo. El último se ocupa del proceso de transmisión que consigue el acceso
a un medio de transmisión compartido. Por lo tanto, no es legal solicitar simul-
táneamente ambos algoritmos RTS/CTS.
Habilitar proto- La siguiente información hace referencia a la modalidad de salida. El estado del mó-
colo Xon/Xoff dulo XMIT pasa a BLOQUEADO cuando se recibe el carácter Xoff. Del mismo mo-
do, ese estado pasa a DESBLOQUEADO cuando se recibe el carácter Xoff. En
ningún caso se insertarán los caracteres Xon o Xoff en FIFO. Cuando la transmisión
se encuentra DESBLOQUEADA y la salida ASCII simple (bit 7) y el protocolo Xon/
Xoff (bit 12) están definidos, los datos de salida de transmisión se envían en paque-
tes de 16 bytes. Una vez que se han enviado todos los paquetes de salida, la salida
inferior del módulo XMIT pasa a CON "Operación satisfactoria". Si una transmisión
es BLOQUEADA inesperadamente, sólo se enviarán los caracteres que quedan en
el paquete de salida actual, nunca excediendo de 16 caracteres, y el módulo XMIT
permanecerá ACTIVO de forma indefinida. Sólo cuando se reciba el siguiente ca-
rácter Xon, la salida ASCII reanudará el envío de todos los paquetes de salida res-
tantes. La siguiente información hace referencia a la modalidad de entrada. Se
puede utilizar Xon/Xoff para BLOQUEAR o DESBLOQUEAR los dispositivos de en-
vío. Cuando el bit FIFO de recepción ASCII (bit 9) está definido, el protocolo Xon/
Xoff (bit 12) funciona en la modalidad de entrada. Asimismo, cuando el bit está de-
finido y no lo están ninguna de las dos entradas ASCII, es decir, entrada ASCII sim-
ple (bit 6) o ASCII finalizada (bit 5), los caracteres recibidos completarán el FIFO en
el que están insertados. Cuando FIFO está lleno de caracteres en más de sus tres
cuartas partes y se reciben caracteres adicionales, la variable de estado de FIFO
se ajusta para enviar el carácter XOFF fuera del puerto serie, después de un perío-
do de espera de hasta 16 tiempos de caracteres. De este modo, se BLOQUEA al
emisor y se borra la variable de estado de FIFO. Cuando todas las funciones de sa-
lida ASCII están (bits 8,13,14,15 y 16) DESACTIVADAS y el protocolo Xon/Xoff (bit
12) está CONECTADO, el tiempo de espera predeterminado es de 1 tiempo de ca-
rácter. Por el contrario, cuando tanto las funciones de salida ASCII (bits 8,13,14,15
y 16) como el protocolo Xon/Xoff (bit 12) están CONECTADOS, la salida ASCII se
divide en paquetes de 16 caracteres (bytes). De este modo, los caracteres Xoff pen-
dientes NO han de esperar más de 16 tiempos de carácter antes de BLOQUEAR al
emisor. Una vez que el emisor haya detenido la transmisión, el PLC elimina final-
mente los caracteres de FIFO utilizando la entrada ASCII simple (bit 6) o la ASCII
finalizada (bit 7). Cuando los caracteres ocupan menos de un cuarto de FIFO, la va-
riable de estado FIFO se ajusta para enviar XON. Por lo tanto, envía un carácter
Xon fuera del puerto serie para DESBLOQUEAR el emisor.
Nota: Para evitar un bloqueo debido a un cable desconectado u otro error de co-
municación intermitente, cuando el emisor está BLOQUEADO y NO recibe el
carácter Xon correctamente, se utiliza el siguiente algoritmo. Cuando FIFO se
vacía y no se reciben caracteres posteriormente, se transmite un flujo constante
de caracteres Xon a la velocidad de uno cada 5 segundos.
Nota: El protocolo Xon/Xoff (bit 12) es distinto del protocolo RTS/CTS (bit 11). El
primero utiliza caracteres Xon y Xoff ya transmitidos para evitar el desborde del
búfer de recepción en modalidad dúplex completo. El último utiliza señales de pro-
tocolo de hardware para conseguir el mismo objetivo. Por lo tanto, no es legal so-
licitar simultáneamente ambos algoritmos de protocolo porque el control de
módem del protocolo RTS/CTS (bit 11) necesita una red semi-dúplex, mientras
que el protocolo Xon/Xoff (bit 12) requiere una red de dúplex completo.
Errores de ejecución
Mensajes de En caso de error, el módulo de función XMIT generará el siguiente error de ejecu-
error ción:
ILLEGAL_CONFIG_DATA
Aparecerá en el cuadro de diálogo Indicación de eventos.
De acuerdo con el valor del primer parámetro del mensaje de error, el mensaje po-
drá tener varios orígenes:
l Una o más variables vinculadas a MSG_OUT, MSG_IN o CFG no están dentro
del rango de registro 4x
l Se ha seleccionado un valor no válido para la interfase de comunicación en la
entrada PORT. Los valores autorizados son "1" y "2"
l La longitud de mensajes seleccionada no es correcta.
La longitud de mensajes definida en el componente "MessageLen" de la estruc-
tura de datos XMIT_SET en la entrada SET es mayor que la longitud de la varia-
ble integrada en la salida MSG_OUT.
Ejemplo de aplicación
.1.14 (2)
MUX_UINT
Mode Selection K
MessageAsciiOut
MessageSimple AsciiIn DirectMessageOut
MessageTermAsciiIn
MessageModbus
.1.15 (3)
MUX_UINT
Mode Selection K
XmitSetForAsciiOut
XmitSetForSimpleAsciiIn DirectXmitSet
XmitSetForTermAsciiIn
XmitSetForModbus
FBI_1_1 (1)
XMIT
DirectMessageOut MSG_OUT MSG_IN DirectMessageIn
DirectXmitSet SET CFG DirectXmitConfig
Port PORT OP_ACT opActive
Start START NO_SUC opError
Abort ABORT OP_SUC opDone
EXT
.1.27 (6)
OR_BOOL
opDone
opError
Declaración de Las siguientes tablas muestran las variables que se utilizan en este ejemplo
variables Tabla de variables
Nombre de la variable Tipo de da- Dirección Descripción
tos
Start BOOL Debe permanecer conectada hasta
que XMIT haya finalizado
Abort BOOL Interrumpe la operación de XMIT
opActive BOOL Indica el estado de XMIT
opError BOOL Indica el estado de XMIT
opDone BOOL Indica el estado de XMIT
Port BYTE Selecciona el puerto 1 o 2
DirectMessageOut WordArr256 400257 Datos de la configuración actual o
datos que se van a transmitir
DirectXmitSet XMIT_SET 400513 Datos de la configuración actual
DirectMessageIn WordArr256 400001 Datos recibidos por las funciones de
entrada ASCII
DirectXmitConfig XMIT_CFG 400523 Datos de la configuración actual
X_Trigger BOOL Activa la función de XMIT
ModeSelection UINT Selecciona la función solicitada 0..3
Message AsciiOut WordArr256 Mensaje que se va a transmitir por
medio de la salida ASCII
MessageSimpleAsciiIn WordArr256 (no es necesario un contenido)
Valores iniciales Las siguientes tablas muestran los valores iniciales de las siguientes matrices utili-
zadas:
Contenido de la estructura de datos XmitSetForAaciiOut
Nombre del elemento Tipo de da- Dirección Comentario
tos
BaudRate WORD 9600
DataBits BYTE 8
Parity BYTE 2
StopBits BYTE 1
CommandWord WORD 512 Bit 7 activado
MessageLen WORD 16 Transmite los primeros 16 caracter-
es desde la matriz MessageAsciiOut
RespTimeOut WORD 100
RetryLimit WORD 100
XmStartDelay WORD 100
XmEndDelay WORD 100
Breve descripción
Descripción de El Módulo de función XXMIT (Transmit) envía mensajes Modbus de un PLC "mas-
las funciones ter" a varios PLC esclavos o envía cadenas de caracteres ASCII del puerto esclavo
Modbus 1 (en los PLC Momentum, también desde el puerto 2) a impresoras y ter-
minales ASCII. El XMIT envía estos mensajes a través de módems telefónicos de
marcación, módems de radio o simplemente por medio de una conexión directa. El
XXMIT realiza funciones de entradas ASCII generales en la modalidad de comuni-
cación, incluidas las ASCII simples y las ASCII finalizadas. Podrá importar y expor-
tar datos binarios o ASCII en su PLC. El módulo posee un sistema de diagnóstico
interno y realiza las comprobaciones necesarias para asegurarse de que no haya
ningún otro módulo XXMIT activo en el mismo puerto del PLC. Dentro del módulo
XXMIT, una serie de entradas de control permite al usuario manejar los enlaces en-
tre el PLC y los dispositivos DCE (Data Communication Equipment) conectados a
los puertos 1 o 2 del PLC. El módulo XXMIT NO activa el LED del puerto cuando
está transmitiendo datos.
Requisitos de Software
software y hard- El módulo de función XXMIT requiere el siguiente software:
ware l Concept 2.2 Service Release 2 o superior
l versión ejecutable de IEC
Hardware
El módulo de función XXMIT no apoya el siguiente hardware:
l Los PLC que no apoyan los lenguajes IEC
l Soft PLC
l PLC Atrium 386 y Atrium-S908
l Simulador IEC
Requisitos de El uso de uno o varios EFB XXMIT en una aplicación IEC consume aproximada-
memoria mente 15,5 Kb de memoria de programa (código). A cada instancia de este EFB in-
cluida en el programa de usuario, se le asigna entre 2,5 y 3 Kb de memoria.
Representación
XXMIT
BOOL Start Active BOOL
WORD Command Done BOOL
ANY MsgOut Error BOOL
INT MsgLen MsgIn ANY
BYTE Port ReoCount INT
INT Bauderate Status INT
BYTE Databits Retry INT
BYTE Stopbits
BYTE Parity
BYTE RespTout
INT RetryLmt
INT StartDly
INT EndDly
Comando El XXMIT interpreta cada bit de la palabra de comando como una función que debe
realizar. Si los bits 7 y 8 están activados simultáneamente o si dos o más de los bits
13, 14, 15 ó 16 están activados simultáneamente o si el bit 7 no está activado cuan-
do los bits 13, 14, 15 ó 16 están activados, se genera un error 129. Para más deta-
lles, consulte Funciones de comunicación del módulo XXMIT, p. 57. A continuación
se muestra una tabla con las definiciones de cada bit.
Estructura de las palabras de comando
Bit
1 7 8 9 16
msb lsb
Bit Definición
Bit 5 Entrada Establecido en 1 para eliminar y rechazar todos los caracteres de FIFO
ASCII finalizada hasta coincidir con la cadena inicial; a continuación, estos caracteres ini-
ciales y los siguientes se escriben en MsgIn hasta coincidir con la
secuencia del terminador. La cadena de caracteres del terminador tam-
bién se escribe en el MsgIn. Consulte el capítulo Función de entrada
ASCII finalizada, p. 58 para obtener más información.
Bit 6 Entrada Establecido en 1 para eliminar los caracteres ASCII de FIFO y escribir-
ASCII simple los en la matriz MsgIn. Consulte el capítulo Función de entrada ASCII
simple, p. 60 para obtener más información.
Bit 7 Habilitar Establecido en 1 cuando desea enviar mensajes ASCII fuera del PLC.
mensajes de XXMIT envía cadenas ASCII de hasta 1024 caracteres de longitud.
secuencia de car- Puede programar el mensaje ASCII en el MsgOut. Utilice sólo el bit 7 o
acteres ASCII el bit 8; no intente usar los dos.
Bit 8 Habilitar Establecido en 1 cuando desea enviar mensajes Modbus fuera del PLC.
mensajes Mod- Los mensajes Modbus pueden estar en formato RTU o ASCII. Cuando
bus 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 7 o el bit 8; no intente usar los
dos.
Bit 9 Habilitar Establecido en 1 para que el módulo XXMIT pueda tomar el control del
FIFO de re- puerto seleccionado (1 ó 2) desde el PLC. El módulo comienza a recibir
cepción ASCII los caracteres ASCII en FIFO circular vacío de 512 bytes. Consulte el
capítulo FIFO de recepción ASCII, p. 68 para obtener más información.
Bit 10 Habilitar Establecido en 1 para poder realizar una gestión especial del carácter
retroceso de retroceso ASCII (BS, 8Hex) si se utiliza una entrada ASCII simple (Bit
6) o una entrada ASCII finalizada (Bit 5). Si se establece el Bit 10, todos
los caracteres de retroceso NO se almacenarán en MsgIn. Consulte el
capítulo Habilitar retroceso, p. 68 para obtener más información.
Bit 11 Habilitar Establecido en 1 para permitir el protocolo de hardware de dúplex com-
protocolo RTS/ pleto con las señales de establecimiento de enlace RTS y CTS para los
CTS mensajes ASCII. RTS/CTS funciona tanto en modalidad de entrada
como de salida. Consulte el capítulo Habilitar protocolo RTS/CTS, p. 70
para obtener más información.
Bit 12 Habilitar Establecido en 1 para permitir el protocolo de software de dúplex com-
protocolo Xon/ pleto con el carácter Xon ASCII (DC1, 11 Hex) y el carácter Xoff ASCII
Xoff (DC3, 13 Hex). Xon/Xoff funciona tanto en la modalidad de entrada
como de salida. Consulte el capítulo Habilitar protocolo Xon/Xoff, p. 71
para obtener más información.
Bit Definición
Bit 13 Módem de Establecido en 1 cuando se utiliza un módem de marcación compatible
discado a pulsos con Hayes y desea una marcación por pulsos de un número de teléfono.
Puede programar el número de teléfono en el 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 7 debe estar AC-
TIVADO antes de enviar el número que se va a marcar.
Bit 14 Módem Establecido en 1 cuando se utiliza un módem de marcación compatible
Hang-up con Hayes y desea colgar el módem. Debe usar la lógica de aplicación
para ACTIVAR este bit. Como el mensaje de hang-up es una cadena
ASCII, el bit 7 debe estar ACTIVADO antes de enviar el mensaje. Los
mensajes de hang-up 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. XXMIT busca una respuesta de desconexión correcta del mó-
dem antes de ACTIVAR la señal de salida Terminado y señalar una fi-
nalización satisfactoria.
Bit 15 Módem de Establecido en 1 cuando se utiliza un módem de marcación compatible
discado por tonos 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 el MsgOut. La longitud del men-
saje 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 7 debe estar AC-
TIVADO antes de enviar el número que se va a marcar.
Bit 16 Inicializar Establecido en 1 cuando se utiliza un módem de marcación compatible
módem 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 7 debe
estar ACTIVADO antes de enviar el mensaje.
MsgOut MsgOut contiene los datos del mensaje que se van a transferir; por ejemplo, carac-
teres ASCII para una transferencia ASCII, la definición de los caracteres de termi-
nación para una entrada ASCII finalizada o las plantillas Modbus para los mensajes
master de Modbus.
El tipo de datos que se asigne al parámetro debe cumplir los requisitos de la función
a realizar. El tipo de datos del parámetro MsgOut debe ser igual al tipo de datos del
campo MsgIn.
Nota: MsgOut y MsgIn son del tipo de datos ANY. Es preferible utilizar una matriz
de bytes. A diferencia de lo que ocurre en el módulo XMIT, los mensajes ASCII se
guardan por orden de byte, permitiendo manejarlos fácilmente, por ejemplo,
asignándoles una cadena como valor inicial.
Nota: Para los mensajes Modbus, MsgOut debe ser un campo de palabras. El
tamaño mínimo de la matriz es WordArr9
MsgLen Debe ingresar la longitud del mensaje actual según la función de XXMIT seleccio-
nada.
La tabla siguiente ofrece una visión general de las funciones Modbus y ASCII:
Función XXMIT Subfunción Longitud del mensaje
Mensaje Modbus 01, 02, 03, 04, 05, 06, 08, 5
15, 16
Mensaje Modbus 20, 21 6
Entrada ASCII finalizada 5
Entrada ASCII simple 1...1024.
Mensajes de secuencia 1...1024. La longitud selecciona-
de caracteres ASCII da debe coincidir con el tamaño
de la matriz asignado a MsgOut.
De lo contrario obtendrá el error
129.
Port PORT especifica la interfase de comunicación. Los únicos valores autorizados son
los valores 1 y2. El puerto 2 sólo podrá utilizarse con los PLC Momentum.
Baudrate XXMIT soporta las siguientes velocidades de transmisión de datos: 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, ingrese su número decimal. Si se
ingresa una velocidad de datos no válida, el módulo muestra un error de configura-
ción inválida (código de error 127) en el elemento de estado del XXMIT.
Databits XXMIT apoya los siguientes bits de datos: 7 y 8. Para configurar un tamaño de bits
de datos, ingrese el número decimal en este elemento. Se pueden enviar los men-
sajes Modbus en modalidad ASCII o RTU. El modo ASCII requiere 7 bits de datos,
mientras que el modo RTU necesita 8 bits de datos. Al enviar el mensaje en carac-
teres ASCII, puede utilizar 7 u 8 bits de datos. Si se ingresa un número de bits de
datos no válido, el módulo muestra un error de configuración inválida (código de
error 127) en el elemento de estado del XXMIT. Para ver más detalles sobre los for-
matos de mensajes Modbus, consulte la Guía de referencia de protocolos Modicon
Modbus (PI MBUS 300).
Stopbits XXMIT permite trabajar con uno o dos bits de parada. Ingrese un decimal de los si-
guientes: 1 = un bit de parada, o 2 = dos bits de parada. Si se ingresa un número
de bits de parada no válido, el módulo muestra un error de configuración inválida
(código de error 127) en el elemento de estado del XXMIT.
Parity XXMIT permite trabajar con las siguientes paridades: ninguna, impar y par. Ingrese
un decimal de los siguientes: 0 = sin paridad, 1 = paridad impar, o 2 = paridad par.
Si se ingresa una paridad no válida, el módulo muestra un error de configuración
inválida (código de error 127) en el elemento de estado del XXMIT.
RespTout Se debe ingresar el tiempo en milisegundos (ms) para determinar cuánto tiempo va
a esperar XXMIT un mensaje de respuesta válido del equipo slave (PLC, módem,
etc.). Además, el tiempo se aplica a las transmisiones ASCII y a las operaciones de
protocolo. Cuando el mensaje de respuesta no surge durante el transcurso del tiem-
po especificado, XXMIT señala un fallo. El rango válido va de 0 a 65535 ms. El ti-
meout se iniciará después de que se haya enviado el último carácter del mensaje.
RetryLmt Se debe ingresar la cantidad de reintentos para determinar la cantidad de veces que
XXMIT debe enviar un mensaje para obtener una respuesta válida del equipo slave
(PLC, módem, etc.). Cuando el mensaje de respuesta no surge dentro del tiempo
especificado, XXMIT señala un fallo y muestra un código de fallo. El rango válido va
de 0 a a 65535 intentos. Este campo se utiliza junto con RespTout.
StartDly Se debe ingresar el tiempo en milisegundos (ms) cuando el control RTS/CTS está
activado, para determinar cuánto debe esperar XXMIT tras recibir CTS para trans-
mitir un mensaje al puerto del PLC. Este registro también se puede utilizar cuando
RTS/CTS NO lleva el control. En esta situación, el valor de tiempo ingresado deter-
mina cuánto tiene que esperar el módulo XXMIT antes de enviar un mensaje desde
el puerto del PLC. Se puede utilizar como temporizador de pre-mensaje. El rango
válido va de 0 a 65535 ms.
EndDly Se debe ingresar el tiempo en milisegundos (ms) cuando el control RTS/CTS está
activado, para determinar cuánto debe XXMIT mantener RTS una vez el mensaje
se envía desde puerto del PLC. Cuando el tiempo ha transcurrido, XXMIT anula el
RTS. Este registro también se puede utilizar cuando RTS/CTS NO lleva el control.
En esta situación, el valor de tiempo ingresado determina cuánto tiene que esperar
el módulo XXMIT después de enviar un mensaje desde el puerto del PLC. Se puede
utilizar como temporizador de post-mensaje. El rango válido va de 0 a 65535 ms.
Retry El valor visualizado muestra el número actual de reintentos realizados por el módulo
XXMIT. Este elemento es de sólo lectura.
Done Una señal 1 indica que la operación del módulo XXMIT se ha completado satisfac-
toriamente.
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.
El tipo de datos que se asigne al parámetro debe cumplir los requisitos de la función
a realizar. El tipo de datos debe ser igual al tipo de datos del campo MsgOut.
Estado Este elemento muestra un código de fallo generado por el módulo XXMIT.
A continuación se muestra una tabla con la lista completa de errores:
Estado del fallo
Código del Descripción del fallo
fallo
1 Excepción Modbus - Función inválida
2 Excepción Modbus - Dirección de datos inválida
3 Excepción Modbus - Valor de datos inválido
4 Excepción Modbus - Error en participante slave
5 Excepción Modbus - Confirmación
6 Excepción Modbus - Participante slave ocupado
7 Excepción Modbus - Confirmación negativa
8 Excepción Modbus - Error de paridad de memoria
9 ... 99 Reservados
100 La zona de datos del slave no puede ser cero
101 El campo de datos del master no puede ser cero
102 Bit de salida (0x) sin configurar
103 El registro de salida 4x del PLC master no está configurado
104 Longitud de datos no puede ser igual a cero
105, 106 Reservados
107 Timeout de la transferencia de mensajes (este error aparece cuando el
UART no puede completar una transmisión en 10 segundos. Este error evita
el contador de repeticiones y activa la salida de error en el primer error).
108 Error no definido
109 El módem anuncia ERROR
110 El módem anuncia SIN PORTADORA
111 El módem anuncia SIN TONO DE DISCADO
112 El módem anuncia OCUPADO
113 Suma de chequeado LRC del slave inválida
114 Suma de chequeado CRC del Slave inválida
115 Código de función Modbus inválido
116 Timeout de respuesta del mensaje Modbus
117 Timeout de respuesta del módem
118 XXMIT no recibió acceso al puerto 1 o puerto 2 de comunicaciones del PLC
119 XXMIT no puede habilitar receptor de puerto PLC
120 XXMIT no reconocer UART de PLC
Palabra de co- El módulo de comunicación XXMIT realiza seis funciones que se presentan a con-
mando del módu- tinuación. Para cada función, se deberán establecer ciertos bits de la palabra de co-
lo XXMIT mando.
Presentación El módulo de función XXMIT permite trabajar con las siguientes funciones de comu-
nicación ASCII
l Entrada ASCII finalizada
l Entrada ASCII simple
l Mensajes de secuencia de caracteres ASCII
Función de en- Cuando está activado el bit 5 de la palabra de comando para los mensajes de en-
trada ASCII finali- tradas ASCII finalizadas, la matriz MsgOut deberá contener la tabla de definición de
zada entradas ASCII. Dependiendo el tipo de datos que haya seleccionado para MsgOut,
la tabla de definición de ASCII finalizadas consta de tres palabras o 6 bytes. La tabla
de definición de entradas ASCII finalizadas aparece a continuación.
Tabla de definición de entradas ASCII finalizadas (tipo de datos WordArray)
Palabra Byte de mayor valor Byte de menor valor
MsgOut[1] Cantidad de caracteres de inicio (con- Cantidad de caracteres de termi-
tenido permitido = 0, 1, 2) nador (contenido permitido = 1, 2)
MsgOut[2] Primer carácter de inicio Segundo carácter de inicio
MsgOut[3] Primer carácter de terminador Segundo carácter de terminador
Por medio de la lógica del programa, podrá borrar los bits de entrada ASCII simples
antes del siguiente ciclo, mientras mantiene ACTIVADO el bit Habilitar FIFO de re-
cepció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 9) y la entrada ASCII finali-
zada (Bit 5) con el fin de devolver el control del puerto al PLC.
Si se han ingresado demasiados caracteres en la matriz MsgIn sin haber detectado
un terminador, o la matriz MsgIn está fuera del rango permitido para el PLC confi-
gurado, se informará de un error en Status. El límite de caracteres es la opción más
pequeña de 1024 o dos veces el tamaño de la matriz MsgIn.
Ejemplo de ASCII Asumiendo que el XXMIT se activa con la palabra de comando bit 9 y bit 5 activa-
terminado dos. Habilite ASCII FIFO y ASCII finalizada. El puerto recibe la siguiente cadena
ASCII: "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)
Byte Contenido
MsgOut[1] Número de los caracteres de inicio (0x01)
MsgOut[2] Cantidad de caracteres de terminador (0x02)
MsgOut[3] Segundo carácter de inicio (no utilizado)
MsgOut[4] Primer carácter de inicio ('$')
MsgOut[5] Segundo carácter de terminador ('lf')
MsgOut[6] Primer carácter de terminador ('cr')
Función de en- Todos los caracteres entrantes se ubican en la matriz MsgIn. Si define la matriz Ms-
trada ASCII sim- gIn como Byte Array (como se recomienda), los caracteres entrantes se irán guar-
ple dando 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, en cada elemento se guardan dos caracteres. 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 alma-
cena en el byte de mayor valor del segundo elemento, etc. La variable de longitud
de mensaje (MsgLen) contiene la longitud del mensaje (1 a 1024 caracteres).
Mensajes de se- Cuando está activado el bit 7 de la palabra de comando para los mensajes de ca-
cuencia de ca- denas, la matriz MsgOut deberá contener la información ASCII que debe transmitir-
racteres ASCII se. 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. 49, MsgOut puede ser
de cualquier tipo de datos. Para los mensajes de secuencia de caracteres ASCII, el
tipo Byte Array refleja mejor la naturaleza de las cadenas: El primer Byte contiene
el primer carácter y así sucesivamente. (Véase Envío de ASCII simple, p. 76)
Presentación El módulo de función XXMIT le permite comunicarse con un módem compatible Ha-
yes por medio de las funciones que se enumeran en la siguiente tabla:
Funciones del módem
Bit en la palabra de co- Función
mando
Bit 13 Módem de discado a pulsos
Bit 14 Módem Hang-up
Bit 15 Módem de discado por tonos
Bit 16 Inicializar módem
Presentación El módulo de función XXMIT apoya los siguientes códigos de función Modbus:
l 01 ... 06 y 15 ... 16
l 08
l 20 y 21
Códigos de fun- Para los mensajes Modbus, la matriz MsgOut debe contener la tabla de definición
ción Modbus (01 Modbus, la cual ha de definirse como un campo de palabras. La tabla de definición
... 06, 15 y 16) Modbus para los códigos de función Modbus: 01, 02, 03, 04, 05, 06, 15 y 16 tiene
una longitud de cinco registros. Asimismo, se debe establecer en 5 la matriz Ms-
gLen para un funcionamiento satisfactorio del módulo XXMIT.
Campos de datos de origen y destino de los códigos de función (01 a 06, 15 y 16)
Código de función Campo de datos del Master Zona de datos del Slave
03 (Leer varios 4x) 4x (destino) 4x (origen)
04 (Leer varios 3x) 4x (destino) 3x (origen)
01 (Leer varios 0x) 0x (destino) 0x (origen)
02 (Leer varios 1x) 0x (destino) 1x (origen)
16 (Escribir varios 4x) 4x (origen) 4x (destino)
15 (Escribir varios 0x) 0x (origen) 0x (destino)
05 (Escribir un 0x) 0x (origen) 0x (destino)
06 (Escribir un 4x) 4x (origen) 4x (destino)
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 satisfactoria del
módulo XXMIT, o programar 20 módulos XXMIT por separado y activarlos uno a
uno mediante la lógica de aplicación.
Código de fun- Para los mensajes Modbus, la matriz MsgOut debe contener la tabla de definición
ción Modbus (08) Modbus, la cual ha de definirse como un campo de palabras. La tabla de definición
Modbus para el código de función Modbus: 08 tiene una longitud de cinco registros.
Asimismo, la matriz MsgLen se debe establecer en 5 para un funcionamiento satis-
factorio del módulo XXMIT. La tabla de definición Modbus aparece en la tabla si-
guiente.
Códigos de función de la tabla de definición Modbus (08)
Contenido Descripción
Código de función Mod- El módulo XXMIT apoya el siguiente código de función:
bus (MSG_OUT[1]) 08 = Diagnósticos
Diagnósticos Ingrese en este campo el valor decimal del código de la subfun-
(MSG_OUT[2]) ción de diagnóstico para poder realizar la función específica de
diagnóstico deseada. Se apoyan las siguientes subfunciones de
diagnóstico:
Código Descripción
00 Datos de interrogación de retorno
01 Reiniciar opción de comunicación
02 Reiniciar opción de comunicación
03 Caracteres de separación de entrada ASCII
04 Solamente Modalidad Escuchar
05 ... 09 Reservado
10 Borrar contadores (& registros de diagnóstico en 384,
484)
11 Entregar contador de mensajes de Bus
12 Entregar contador de errores de com. de Bus
13 Entregar contador de excepciones de Bus
14 ... 15 No apoyado
16 Entregar conteo de Slaves NAK
17 Entregar conteo de Slaves ocupados
18 Entregar cont. de desborde de caract. de Bus
19 ... 21 No apoyado
Contenido Descripción
Dirección del PLC Slave Ingrese la dirección Modbus del PLC Slave. Normalmente, el
(MSG_OUT[3]) rango de dirección Modbus es 1 a 247. El código de función 8
NO apoya la modalidad Broadcast (Dirección 0)
Contenido del campo de Deberá ingresar el valor decimal necesario para el campo de da-
datos Función de diag- tos de la subfunción de diagnóstico específica. Para las subfun-
nósticos (MSG_OUT[4]) ciones 02, 04, 10, 11, 12, 13, 16, 17 y 18, este valor se establece
automáticamente en cero. Para las subfunciones 00, 01 y 03, se
debe ingresar el valor deseado del campo de datos. Para más
información, consulte la Guía de referencia de protocolos Modi-
con Modbus (PI-MBUS-300).
Campo de datos del PLC Para todas las subfunciones, el campo de datos del PLC Master
Master (MSG_OUT[5]) es el destino de los datos que devuelve el Slave. Deberá espe-
cificar un registro 4x que indique el comienzo del campo de da-
tos en el que se sitúan los datos devueltos. Por ejemplo, para
ingresar los datos en el campo de datos del PLC Master comen-
zando por (40100), ingrese 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 Modicon Modbus
(PI-MBUS-300).
Códigos de fun- Para los mensajes Modbus, la matriz MsgOut debe contener la tabla de definición
ción Modbus (20, Modbus, la cual ha de definirse como un campo de palabras. La tabla de definición
21) Modbus para los códigos de función Modbus: 20 y 21 tiene una longitud de seis re-
gistros. Asimismo, se debe establecer en 6 la matriz MsgLen para un funcionamien-
to satisfactorio del módulo XXMIT. La tabla de definición Modbus aparece en la
tabla siguiente.
Códigos de función de la tabla de definición Modbus (20, 21):
Contenido Descripción
Código de función Mod- El módulo XXMIT apoya los siguientes códigos de función:
bus (MsgOut[1]) 20 = Leer referencia general (6x)
21 = Escribir referencia general (6x)
Cantidad (MsgOut[2]) Ingrese la cantidad de datos que desee escribir en el PLC Slave
o leer desde él. Por ejemplo, ingrese 100 para leer 100 registros
de salida desde el PLC Slave o bien ingrese 32 para escribir 32
bobinas en el PLC Slave. Hay un límite de tamaño en cuanto a
la cantidad, que depende del modelo de PLC.
Dirección PLC Slave Ingrese la dirección del PLC Slave Modbus. Normalmente, el
(MsgOut[3]) rango de dirección Modbus es 1 a 247. Los códigos de función
20 y 21 NO apoyan la modalidad Broadcast (Dirección 0)
Contenido Descripción
Zona de datos del Slave Para un comando de lectura, la zona de datos del Slave es el ori-
(MsgOut[4]) gen de los datos. Para un comando de escritura, la zona de da-
tos del Slave es el destino de los datos. Por ejemplo, si desea
leer registros (600300 a 600399) de un PLC Slave, ingrese 300
en este campo. Si desea escribir datos desde un PLC Master e
ingresarlos en el registro (600100) de un PLC Slave, ingrese 100
en este campo. Según el tipo de comando Modbus (escritura o
lectura), los campos de datos de origen y destino se deberán
definir como se indica en la siguiente tabla de campos de datos
de origen y destino. El registro de menor extensión se denomina
registro "cero" (600000). El registro de salida de menor valor se
denomina registro "uno" (400001).
Campo de datos del PLC Para un comando de lectura, el campo de datos del PLC Master
Master (MsgOut[5]) es el destino de los datos que devuelve el Slave. Para un coman-
do de escritura, el campo de datos del PLC Master es el origen
de los datos. Por ejemplo, si desea escribir registros (40016 a
40032) situados en el PLC Master en registros 6x de un PLC
Slave, ingrese 16 en el campo. Si desea leer registros 6x
(600001 a 600100) de un PLC Slave y ubicar los datos en el
campo de datos del PLC Master (40100 a 40199), ingrese 100
en este campo. Según el tipo de comando Modbus (escritura o
lectura), los campos de datos de origen y destino se deberán
definir como se indica en la siguiente tabla de Campos de datos
de origen y destino. El registro de menor extensión se denomina
registro "cero" (600000). El registro de salida de menor valor se
denomina registro "uno" (400001).
Número de fichero (Ms- Se debe ingresar el número de fichero para los registros 6x des-
gOut[6]) de los que se va a leer o escribir. (1 ... 10) según el tamaño del
campo de datos del registro extendido. 600001 es 60001 fichero
1, mientras que 69 0001 es 60001 fichero 10, como se puede ob-
servar en el Editor de datos de referencia en Modsoft.
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 satisfactoria del
módulo XXMIT, o programar 20 módulos XXMIT por separado y activarlos uno a
uno mediante la lógica de aplicación.
FIFO y protocolo
Presentación El módulo de función XXMIT permite al usuario definir la utilización de un búfer FIFO
de recepción, el protocolo y la función de retrocesos recibidos.
FIFO de recep- Si se establece en 0 el bit 9 de la palabra de comando, esta función finaliza. Cuando
ción ASCII FIFO recibe 512 caracteres, se produce un desbordamiento interno. Cuando esto
ocurre, se desechan todos los caracteres posteriores, se finalizan todas las opera-
ciones de entrada ASCII (simples y finalizadas) y el módulo devuelve un error hasta
que se cambia el bit (bit 9). Al cambiarlo (bit 9), se desechan todos los datos de FI-
FO, se ignoran ambos bits de control de entrada ASCII (ASCII simple (bit 6), ASCII
finalizada (bit 5)), y si no hay controles de salida ASCII seleccionados, el control del
puerto serie (1 ó 2) se devuelve al PLC.
Es necesario definir ASCII finalizada (bit 5) o ASCII simple (bit 6) para eliminar los
caracteres ASCII de FIFO para procesar. No se pueden definir simultáneamente
más de uno de los tres bits siguientes: ASCII finalizada (bit 5), ASCII simple (bit 6)
o salida ASCII (bit 7).
Se puede conseguir el funcionamiento dúplex completo ajustando los bits FIFO de
recepción ASCII (bit 9) y salida ASCII (bit 7). Esto permite la transmisión ASCII sim-
ple fuera del PLC mientras se siguen recibiendo caracteres ASCII en FIFO. Es útil
cuando se trabaja con terminales no inteligentes. Cuando el bit FIFO de recepción
ASCII (bit 9) está definido, no se permite ninguno de los siguientes controles de sa-
lida ASCII: Salida de mensajes master Modbus (bit 8), módem de discado a pulsos
(bit 13), módem hang-up (bit 14), módem de discado por tonos (bit 15) e inicializar
módem (bit 16).
Habilitar retroce- Cuando se detecta un retroceso (BS), NO se almacena en la matriz MsgIn. De he-
so cho, elimina el carácter previo y, de este modo, hace que disminuya el Contador de
caracteres RecCount. Por el contrario, cuando se detecta un carácter ASCII normal,
se almacena en la matriz MsgIn, haciendo que aumente el Contador de caracteres
Rec Count.
Nota: Los retrocesos NO PUEDEN eliminar caracteres de una matriz MsgIn vacía;
de este modo, el contador de caracteres RecCount nunca desciende por debajo
de cero.
Esta función especial de retroceso junto con el eco interno habilitado en el terminal
son muy útiles para la gestión de los terminales no inteligentes. Un módulo XXMIT
de entradas ASCII finalizadas que busca "cr" se activa cuando se establecen el
FIFO de recepción ASCII (bit 9) y el retroceso (bit 10). No se requiere lógica del pro-
grama adicional mientras se escriben y editan caracteres utilizando el retroceso so-
bre la marcha. Al escribir "cr", el módulo XXMIT activa la salida finalizada y los datos
corregidos se alinean correctamente en la matriz MsgIn.
Habilitar proto- La siguiente información hace referencia a la modalidad de salida. El estado del mó-
colo RTS/CTS dulo XXMIT pasa a recepción BLOQUEADA cuando el dispositivo de recepción in-
dica, al establecer la señal CTS en DES (desconectada), que no puede procesar
caracteres adicionales. Del mismo modo, el estado del módulo pasa a DESBLO-
QUEADO cuando la señal CTS está CON (conectada) y el dispositivo de recepción
indica que PUEDE procesar caracteres adicionales.
Cuando la transmisión está DESBLOQUEADA y tanto la salida ASCII simple (bit 7)
como el protocolo RTS/CTS (bit 11) están definidos, los datos de salida de transmi-
sión se envían en paquetes de 16 bytes. Tras enviar todos los paquetes de salida,
la salida finalizada del bloque XXMIT se CONECTA para indicar "Operación satis-
factoria".
Si una transmisión es BLOQUEADA inesperadamente, sólo se enviarán los carac-
teres que quedan en el paquete de salida actual, nunca excediendo de 16 caracte-
res, y el módulo XXMIT permanecerá ACTIVO de forma indefinida. Sólo cuando la
señal CTS esté CONECTADA, la salida ASCII reanudará el envío de los restantes
paquetes de salida.
La siguiente información hace referencia a la modalidad de entrada. Como RTS es
una señal de salida, se puede utilizar, independientemente del proceso de transmi-
sión de salida ASCII, para BLOQUEAR o DESBLOQUEAR los dispositivos de en-
vío. Cuando el bit FIFO de recepción ASCII (bit 9) está definido, el protocolo RTS/
CTS funciona en la modalidad de entrada. Asimismo, cuando el bit está definido y
no lo están ninguna de las dos entradas ASCII, es decir, la entrada ASCII simple (bit
6) o ASCII finalizada (bit 5), los caracteres recibidos completarán el FIFO en el que
están insertados. Mientras tanto, el protocolo RTS (bit 11) está CONECTADO, lo
cual permite que el dispositivo de envío continue.
Cuando el FIFO (512 caracteres) está lleno de caracteres en más de sus tres cuar-
tas partes, el protocolo RTS (bit 11) se borra para BLOQUEAR el dispositivo de en-
vío. El protocolo RTS (bit 11) sigue borrado hasta que la entrada ASCII simple (bit
6) o ASCII finalizada (bit 5) haya eliminado el número suficiente de caracteres del
FIFO, reduciendo la ocupación de los mismos a menos de un cuarto. En este punto,
el protocolo RTS (bit 11) pasa a la posición CON.
Nota: El algoritmo del protocolo RTS/CTS es distinto del control de módem RTS/
CTS. El primero está relacionado con el desborde del búfer de recepción de dúplex
completo. El último se ocupa del proceso de transmisión que consigue el acceso
a un medio de transmisión compartido. Por lo tanto, no es legal solicitar simul-
táneamente ambos algoritmos RTS/CTS.
Habilitar proto- La siguiente información hace referencia a la modalidad de salida. El estado del mó-
colo Xon/Xoff dulo XXMIT pasa a BLOQUEADO cuando se recibe el carácter Xoff. Del mismo mo-
do, ese estado pasa a DESBLOQUEADO cuando se recibe un carácter Xoff. En
ningún caso se insertarán Xon ni Xoff en FIFO.
Cuando la transmisión se encuentra DESBLOQUEADA y la salida ASCII simple (bit
7) y el protocolo Xon/Xoff (bit 12) están definidos, los datos de salida de transmisión
se envían en paquetes de 16 bytes. Una vez que se han enviado todos los paquetes
de salida, la salida finalizada del módulo XXMIT pasa a CONECTADA.
Si una transmisión es BLOQUEADA inesperadamente, sólo se enviarán los carac-
teres que quedan en el paquete de salida actual, nunca excediendo de 16 caracte-
res, y el módulo XXMIT permanecerá ACTIVO de forma indefinida. Sólo cuando se
reciba el siguiente carácter Xon, la salida ASCII reanudará el envío de todos los pa-
quetes de salida restantes.
La siguiente información hace referencia a la modalidad de entrada. Se puede utili-
zar Xon/Xoff para BLOQUEAR o DESBLOQUEAR los dispositivos de envío. Cuan-
do el bit FIFO de recepción ASCII (bit 9) está definido, el protocolo Xon/Xoff (bit 12)
funciona en la modalidad de entrada. Asimismo, cuando el bit está definido y no lo
están ninguna de las dos entradas ASCII, es decir, la entrada ASCII simple (bit 6) o
ASCII finalizada (bit 5), los caracteres recibidos completarán el FIFO en el que es-
tán insertados.
Cuando FIFO está lleno de caracteres en más de sus tres cuartas partes y se reci-
ben caracteres adicionales, la variable de estado de FIFO se ajusta para enviar ca-
racteres XOFF fuera del puerto serie, después de un período de espera de hasta
16 tiempos de caracteres. De este modo, se BLOQUEA al emisor y se borra la va-
riable de estado de FIFO.
Cuando todas las funciones de salida ASCII están (bits 8,13,14,15 y 16) DESACTI-
VADAS y el protocolo Xon/Xoff (bit 12) está CONECTADO, el tiempo de espera pre-
determinado es de 1 tiempo de carácter. Por el contrario, cuando tanto las funciones
de salida ASCII (bits 8,13,14,15 y 16) como el protocolo Xon/Xoff (bit 12) están CO-
NECTADOS, la salida ASCII se divide en paquetes de 16 caracteres (bytes). De
este modo, los caracteres Xoff pendientes NO han de esperar más de 16 tiempos
de carácter antes de BLOQUEAR al emisor.
Una vez que el emisor haya detenido la transmisión, el PLC elimina finalmente los
caracteres de FIFO utilizando la entrada ASCII simple (bit 6) o ASCII finalizada (bit
7).
Cuando los caracteres ocupan menos de un cuarto de FIFO, la variable de estado
FIFO se ajusta para enviar XON. Por lo tanto, envía un carácter Xon fuera del puerto
serie para DESBLOQUEAR el emisor.
Nota: Para evitar un bloqueo debido a un cable desconectado u otro error de co-
municación intermitente, cuando el emisor está BLOQUEADO y NO recibe el
carácter Xon correctamente, se utiliza el siguiente algoritmo. Cuando FIFO se
vacía y no se reciben caracteres posteriores, se transmite un flujo constante de
caracteres Xon a la velocidad de uno cada 5 segundos.
Nota: El protocolo Xon/Xoff (bit 12) es distinto del protocolo RTS/CTS (bit 11). El
primero utiliza caracteres Xon y Xoff ya transmitidos para evitar el desborde del
búfer de recepción en modalidad de dúplex completo. El último utiliza señales de
protocolo de hardware para conseguir el mismo objetivo. Por lo tanto, no es legal
solicitar simultáneamente ambos algoritmos de protocolo porque el control de mó-
dem del protocolo RTS/CTS (bit 11) necesita una red semi-dúplex, mientras que
el protocolo Xon/Xoff (bit 12) requiere una red de dúplex completo.
Errores de ejecución
Mensajes de En caso de error, el módulo de función XXMIT generará el siguiente error de ejecu-
error ción:
E_EFB_WORLD_INTERFACE
Aparecerá en el cuadro de diálogo Indicación de eventos.
De acuerdo con el valor del primer parámetro del mensaje de error, el mensaje po-
drá tener varios orígenes:
l Se ha seleccionado una interfase de comunicaciones no válida.
Se ha seleccionado un valor no válido para la interfase de comunicación en la
entrada PORT. Los valores autorizados son "1" y "2" para los PLC Momentum,
para el resto de plataformas es sólo "1".
l El puerto seleccionado ya está acaparado por otra instancia del módulo XXMIT.
l O bien se ha utilizado un valor no válido para la Velocidad de transmisión/Bits de
parada/Bits de datos, o las variables conectadas a MsgIn o MsgOut no propor-
cionan suficiente memoria para la operación del módulo XXMIT configurada.
Ejemplo de aplicación
Descripción El siguiente programa es una pequeña aplicación de demostración con cuatro ins-
tancias del módulo XXMIT que muestra las cuatro funciones principales.
l Master Modbus
l Entrada ASCII simple
l Salida de mensaje ASCII
l Entrada ASCII finalizada
Master Modbus La siguiente operación del Master Modbus es una solicitud de lectura a un partici-
pante slave conectado al puerto 1 del master:
l Leer registros del slave de 4:00001 a 4:00010
l en el local de 4:00011 a 4:00020
Declaración de La siguiente tabla muestra las variables utilizadas en el ejemplo del Master Modbus:
variables del
Nombre de la variable Tipo de Valor ini- Comentario
Master Modbus
datos cial
StartModbusMstr BOOL
ModbusMstrActive BOOL
ModbusMstrCommand WORD 16#0100 Bit 8 activado
ModbusMstrDone BOOL
ModbusMstrError BOOL
ModbusMstrNode WORD
ModbusMstrSettings WordArr
ModbusMstrSettings[1] 9 3 Código Modbus: Leer varios registros.
ModbusMstrSettings[2] 10 Cantidad de registros a leer.
ModbusMstrSettings[3] Dirección Modbus del slave
ModbusMstrSettings[4] 1 Registro de fuente
ModbusMstrSettings[5] 11 Registro de destino
ModbusMstrSettings[6] No utilizado
...
ModbusMstrStatus INT
ModbusMstrNode WORD Ingresar dirección del slave
ModbusMstrErrorCounter INT
ModbusMstrDoneCounter INT
MOVE
ModbusMstrNode ModbubsMstrSettings[3]
XXMIT
StartModbusMstr Start Active ModbusMstrActive
ModbusMstrCommand Command Done ModbusMstrDone
ModbusMstrSettings MsgOut Error ModbusMstrError
5 MsgLen MsgIn
1 Port ReoCount
9600 Bauderate Status ModbusMstrStatus
8 Databits Retry ModbusMstrRetryCounter
1 Stopbits
2 Parity
100 RespTout
20 RetryLmt
100 StartDly
100 EndDly
CTU
ModbusMstrError CU Q
R
0 PV PV ModbubsMstrErrorCounter
CTU
ModbusMstrDone CU Q
R
0 PV PV ModbubsMstrDoneCounter
Recepción de Recibe todo lo que llega al puerto 1. La longitud del búfer de recepción se asigna
ASCII simple como "SimpleReceiveLength" y tiene un valor inicial de 10.
Los caracteres recibidos se encuentran en la matriz MsgIn y la cantidad de carac-
teres recibidos se encuentra en RecCount.
CTU
SimpleReceiveError CU Q
R
0 PV PV SimpleReceiveErrorCounter
CTU
SimpleReceiveDone CU Q
R
0 PV PV SimpleReceiveDoneCounter
Envío de ASCII Envía un mensaje de ASCII simple desde el puerto 1, el mensaje es "Hello World".
simple
Declaración de La siguiente tabla muestra las variables utilizadas en el ejemplo de envío de ASCII
variables para el simple:
envío de ASCII
Nombre de la variable Tipo de da- Valor ini- Comentario
simple
tos cial
StartSimpleSend BOOL
SimpleSendActive BOOL
SimpleSendCommand WORD 16#0200 Bit 7 activado
SimpleSendDone BOOL
SimpleSendError BOOL
SimpleSendLength INT 14 Cantidad de caracteres a enviar.
CTU
SimpleSendError CU Q
R
0 PV PV SimpleSendErrorCounter
CTU
SimpleSendDone CU Q
R
0 PV PV SimpleSendDoneCounter
Recepción de Después de recibir los "caracteres de inicio" "AB", el módulo de función ubica en el
ASCII finalizada búfer de recepción MsgIn todos los caracteres recibidos. El receptor se detendrá
cuando se reciban los "caracteres de finalización" "CD", por lo que se establecerá
la salida "Finalizada" para indicar la finalización satisfactoria. La longitud máxima
del búfer de recepción se asigna como "TermReceiveLength", el cual se establece,
en este ejemplo, con un valor inicial de 20.
CTU
TermReceiveError CU Q
R
0 PV PV TermReceiveErrorCounter
CTU
TermReceiveDone CU Q
R
0 PV PV TermReceiveDoneCounter
Ingresar secuen- El Editor de variables de Concept le permite ingresar fácilmente secuencias de ca-
cias de caracte- racteres como valores iniciales en matrices de bytes.
res como valores En la siguiente parte se describe brevemente cómo definir una variable "DemoS-
iniciales tring" como "ByteArr36" y cómo ingresar una secuencia de caracteres "My Text"
como valor inicial.
Abrir el Editor de variables
En el menú principal, seleccione:
Proyecto -> Editor de variables.
Editor de variables
Editor de variables
Tipo Buscar/Insertar
OK Cancelar Ayuda
CadenaDemo
OK Cancelar Ayuda
Definición ByteArr36
CadenaDemo
- CadenaDemo ByteArr36
CadenaDemo[1] BYTE 16#4D
CadenaDemo[2] BYTE 16#79
CadenaDemo[3] BYTE 16#20
CadenaDemo[4] BYTE 16#54
CadenaDemo[5] BYTE 16#65
CadenaDemo[6] BYTE 16#78
CadenaDemo[7] BYTE 16#74
CadenaDemo[8] BYTE 16#20
CadenaDemo[9] BYTE 16#21
OK Cancelar Ayuda
Vista general En este capítulo se describen las referencias técnicas para los módulos de función
XMIT y XXMIT.
Límites de pará- Los parámetros de consulta/respuesta están limitados basándose en el tipo de PLC
metros basados que se esté utilizando. Consulte la tabla que aparece abajo.
en el tipo de PLC Consulte la tabla de parámetros máximos de PLCs Quantum.
Código de Descripción Consulta Respuesta
función
1 Leer estado de bit de sali- 2000 bits de salida 2000 bits de salida
da
2 Leer estado de entrada 2000 entradas 2000 entradas
3 Leer registros de salida 125 registros 125 registros
4 Leer registros de entrada 125 registros 125 registros
5 Forzar bit de salida único 1 bit de salida 1 bit de salida
6 Forzar registro único 1 registro 1 registro
15 Forzar bit de salida múlti- 800 bits de salida 800 bits de salida
ple
16 Forzar registro múltiple 100 registros 100 registros
20 Leer referencias gen- La longitud máxima del La longitud máxima del
erales mensaje completo NO mensaje completo NO
podrá exceder 256 podrá exceder 256 bytes
bytes
21 Escribir referencias gen- La longitud máxima del La longitud máxima del
erales mensaje completo NO mensaje completo NO
podrá exceder 256 podrá exceder 256 bytes
bytes
Nota: El 140 CPU 113 02 y el 140 CPU 113 03 no apoyan las referencias gen-
erales.
Pines de salida Necesitará construir un cable interfase entre el PLC y el módem o impresora. El ca-
del cable interfa- ble real está conectado al puerto, que está apoyado por el PLC, y al puerto RS232
se del módem o la impresora, o directamente al puerto Modbus de otro PLC. Dado que
el módulo XXMIT apoya diversos módems e impresoras los pines de salida varían.
A continuación se muestran algunos pines de salida.
GND 5 Sí 7 GND
AVISO
Peligro de daño del hardware Atrium.
El pin 1 del RJ45 recibe 5 V del PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
AVISO
Peligro de daño del hardware Atrium.
El pin 1 del RJ45 recibe 5 V del PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
GND 5 Sí 7 GND
DSR 2 Sí 6 DSR
20 DTR
Tierra del 8 Sí 1 Tierra del cha-
chasis sis
AVISO
Peligro de daño del hardware Atrium.
El pin 1 del RJ45 recibe 5 V del PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
AVISO
Peligro de daño del hardware Atrium.
El pin 1 del RJ45 recibe 5 V del PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
AVISO
Peligro de daño del hardware Atrium.
El pin 1 del RJ45 recibe 5 V del PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
AVISO
Peligro de daño del hardware Atrium.
El pin 1 del RJ45 recibe 5 V del PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
AVISO
Peligro de daño del hardware Atrium.
El pin 1 del RJ45 recibe 5 V del PLC.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
cable plano 6
3 4 2
(puerto 1 Atrium) 7
5 6 3
8
7 8 4
9
9 10 5
AVISO
Peligro de daño del hardware Atrium.
Si utiliza un cable plano de 10 filamentos para todos los cables, los
pines 1, 4 y 9 del conector D-Sub estarán conectados a señales de sal-
ida LED. Asegúrese de no conectarlos a ningún otro pin.
Si no se respetan estas precauciones pueden producirse daños
corporales y/o materiales
Kits de adapta- Quizá prefiera comprar los Kits de adaptadores de cable para las necesidades de
dores de cable RJ45 (8x8) a fabricarlos. La siguiente tabla muestra una lista de los kits disponibles.
para RJ45 Kits de adaptadores de cable disponibles
Descripción Número de parte
De RJ45 (8x8) a 25 pines (8x8) (macho) 110XCA20401
De RJ45 (8x8) a 9 pines (8x8) (macho) 110XCA20301
De RJ45 (8x8) a 9 pines (8x8) (hembra) 110XCA20302
De RJ45 (8x8) a 25 pines (8x8) (hembra) 110XCA20402
Descripción Existen tres comandos que tendrá que conocer para comunicar módems de marca-
ción con XXMIT.
Estos comandos son:
l Inicializar módem
l Módem de discado
l Módem Hang-up
Antes de que un mensaje ASCII o Modbus pase por el módem, primero debe enviar
una cadena de inicialización y, a continuación, una cadena de marcación al módem.
Una vez que el módem haya marcado el número de teléfono y haya establecido la
conexión con el módem remoto, podrá enviar un número ilimitado de mensajes AS-
CII o Modbus a través del módem. Para mandar varios mensajes deberá incremen-
tar el pointer de mensajes al siguiente mensaje después de cada operación exitosa
de XXMIT. Cuando haya enviado todos los mensajes podrá enviar al módem la ca-
dena de caracteres para colgar.
Mensaje de ini- El mensaje de inicialización es como cualquier otro mensaje ASCII y puede constar
cialización de un número máximo de 512 caracteres, aunque normalmente 50 caracteres son
suficientes para inicializar el módem. Puede implementar un comando AT de Hayes
como parte de la cadena de caracteres de inicialización. Recomendamos la utiliza-
ción de los siguientes comandos para la inicialización de un módem que se vaya a
utilizar con XXMIT.
Nota: Aunque algunos fabricantes de módems afirman ser compatibles con Hayes
puede haber algunas diferencias. Por ello, recomendamos utilizar sólo los coman-
dos que tengan la misma definición que los que se han indicado anteriormente.
Por ejemplo, el mensaje de inicialización también se puede utilizar para activar re-
gistros S del módem.
Mensaje Longitud
Para hacer que XXMIT envíe un mensaje de inicialización al módem, los bits 7 y 16
de la palabra de comando deberán estar CONECTADOS. Si el bit 16 está conecta-
do, los bits 15 y 14 no deberán estarlo o el XXMIT no completará la operación exi-
tosamente. Para mandar el mensaje, se deberá activar la entrada Inicio de XXMIT
y permanecer conectada hasta que la operación se haya completado o surja un
error. Si XXMIT determina que el mensaje se ha enviado satisfactoriamente al mó-
dem, conectará la salida finalizada. Si surge algún error, la salida de Error se activa.
La salida Activo estará conectada mientras el mensaje se esté enviando al módem.
Mensaje de mar- El mensaje de marcación se utiliza para enviar un número de teléfono al módem.
cación Sólo los comandos AT relacionados con la marcación de números se deberán in-
cluir en los mensajes. A continuación se muestran ejemplos de mensajes de mar-
cación típicos utilizados con XXMIT.
Por ejemplo, marque un número de teléfono mediante discado por tonos.
Mensaje Longitud
Por ejemplo, marque un número de teléfono mediante el discado por tonos, espere
a oír el tono antes de marcar el número y pare antes de marcar el resto del número.
Mensaje Longitud
Para hacer que XXMIT envíe un mensaje de discado por tonos al módem, los bits
7 y 15 de la palabra de comando deberán estar CONECTADOS. Si el bit 15 está
conectado, los bits 16 y 14 no deberán estarlo o el XXMIT no completará la opera-
ción exitosamente. Para mandar el mensaje, se deberá activar la entrada Inicio de
XXMIT y permanecer conectada hasta que la operación se haya completado o surja
un error. Si XXMIT determina que el mensaje se ha enviado satisfactoriamente al
módem, conectará la salida finalizada. Si surge algún error, la salida de Error se ac-
tiva. La salida Activo estará conectada mientras el mensaje se esté enviando al mó-
dem.
Nota: Dado que dura tanto tiempo realizar la conexión de un módem local a un
módem remoto, el valor de timeout en RespTout deberá ser bastante largo cuando
se envíe un mensaje de marcación a un módem. Por ejemplo, ajuste el timeout en
30.000 ms cuando envíe un mensaje por tonos. Si el valor de timeout es demasia-
do corto, el XXMIT enviará un mensaje de timeout. Deberá intentar diversos ajust-
es hasta encontrar el valor de tiempo óptimo.
Mensaje de El mensaje de hang-up se utiliza para colgar el módem. Para este mensaje sólo se
hang-up deben utilizar comandos AT relacionados con la acción de colgar el módem. A con-
tinuación se muestra un mensaje de hang-up típico.
Por ejemplo, un mensaje para colgar el módem.
Mensaje Longitud
Nota: Para expertos: Dado que un módem tarda tanto en colgar una vez ha reci-
bido el comando hang-up, el valor de timeout en RespTout deberá ser bastante lar-
go cuando se envíe un mensaje de marcación a un módem. Por ejemplo, ajuste el
timeout en 30.000 ms cuando envíe un mensaje por tonos. Si el valor de timeout
es demasiado corto, el XXMIT enviará un mensaje de timeout. Deberá realizar
varias pruebas con distintos ajustes antes de encontrar el valor que se adecue a
la perfección.
ANL_IN ANL_IN representa el tipo de datos "entrada analógica" y se utiliza para el procesa-
do de valores analógicos. Las referencias 3x del módulo de entrada analógica con-
figurado definidas en la lista de componentes E/S se asignan automáticamente al
tipo de datos y, por eso, sólo pueden estar ocupadas por Unlocated variables.
ANL_OUT ANL_OUT representa el tipo de datos "salida analógica" y se utiliza para el proce-
sado de valores analógicos. Las referencias 4x del módulo de salida analógica con-
figurado definidas en la lista de componentes E/S se asignan automáticamente al
tipo de datos y, por eso, sólo pueden estar ocupadas por Unlocated variables.
ANY En la presente versión, "ANY" incluye los tipos de datos elementales BOOL, BYTE,
DINT, INT, REAL, UDINT, UINT, TIME y WORD y los tipos de datos derivados de
ellos.
ANY_BIT En la presente versión, "ANY_BIT" incluye los tipos de datos BOOL, BYTE y
WORD.
ANY_ELEM En la presente versión, "ANY_ELEM" incluye los tipos de datos BOOL, BYTE, DINT,
INT, REAL, UDINT, UINT, TIME y WORD.
ANY_INT En la presente versión, "ANY_INT" incluye los tipos de datos DINT, INT, UDINT y
UINT.
ANY_NUM En la presente versión, "ANY_NUM" incluye los tipos de datos DINT, INT, REAL,
UDINT y UINT.
Base de datos Base de datos del equipo de programación que contiene la información de configu-
del proyecto ración para un proyecto.
Bits de entrada El estado 1/0 de los bits de entrada se controla mediante los datos de proceso que
(referencias 1x) llegan a la CPU desde un dispositivo de entrada.
Nota: La x que aparece detrás de la primera cifra del tipo de referencia representa
un lugar de almacenamiento de cinco posiciones en la memoria de datos del
usuario, por ejemplo, la referencia 100201 significa un bit de entrada en la direc-
ción 201 de la memoria de señal.
Bits de estado Existe un bit de estado para cada participante con entrada global o entrada/salida
específica de datos Peer Cop. Si se ha transferido con éxito un grupo definido de
datos dentro del timeout establecido, el bit de estado correspondiente pasará a 1.
En caso contrario, este bit pasará a 0 y se borrarán todos los datos pertenecientes
a este grupo (a 0).
Bits de salida/ Un bit de salida/marca se puede utilizar para controlar los datos de salida reales me-
marca (referen- diante una unidad de salida del sistema de control o para definir una o varias salidas
cias 0x) binarias en la memoria de señal. Nota: La x que aparece detrás de la primera cifra
del tipo de referencia representa un lugar de almacenamiento de cinco posiciones
en la memoria de datos del usuario, por ejemplo, la referencia 000201 significa un
bit de salida o marca en la dirección 201 de la memoria de señal.
Bobina Una bobina es un elemento LD que transmite, sin modificarlo, el estado de la co-
nexión horizontal de su izquierda a la conexión horizontal de su derecha. Al hacerlo,
el estado se guarda en la variable/dirección directa correspondiente.
BOOL BOOL indica el tipo de datos "booleario". La longitud de los elementos de datos es
de 1 bit (en la memoria se guarda en 1 byte). El rango de valores para las variables
de este tipo de datos es 0 (FALSE) y 1 (TRUE).
BYTE BYTE indica el tipo de datos "secuencia de bits 8". La entrada se efectúa en forma
de literal de base 2, literal de base 8 o literal de base 16. La longitud de los elemen-
tos de datos es de 8 bits. A este tipo de datos no se le puede asignar un rango de
valores numérico.
Ciclo del progra- Un ciclo del programa se compone de la carga de las entradas, el procesamiento
ma de la lógica del programa y la entrega de las salidas.
Conexión Conexión de control o de flujo de datos entre objetos gráficos (p. ej., pasos en el
editor de SFC o módulos de función en el editor de FBD) dentro de una sección re-
presentada gráficamente como una línea.
Conexión local La conexión de red local es la red que conecta al participante local con otros parti-
(Local Link) cipantes, ya sea directamente o mediante amplificador de bus.
Conexiones bi- Conexiones entre salidas y entradas de FFB del tipo de datos BOOL.
narias
Conexiones se- En las conexiones serie (COM) se transfiere la información bit a bit.
rie
Constantes Las constantes son unlocated variables a las que se ha asignado un valor que la
lógica del programa no puede modificar (protegido contra escritura).
Contador de fun- El contador de funciones sirve para identificar inequívocamente una función en un
ciones programa o DFB. El contador de funciones no se puede editar y se asigna automá-
ticamente. El contador de funciones tiene siempre la estructura: .n.m
DDE (Dynamic La interfase DDE permite el intercambio de datos dinámico entre dos programas
Data Exchange) que se ejecuten bajo Windows. El usuario puede utilizar la interfase DDE en el mo-
Intercambio de nitor ampliado para ejecutar sus propias aplicaciones de visualización. Con esta in-
datos dinámico terfase, el usuario (es decir, el cliente DDE) no sólo puede leer los datos del monitor
ampliado (el servidor DDE), sino también escribir datos en el PLC a través del ser-
vidor. El usuario puede así modificar datos directamente en PLC, mientras verifica
y analiza los resultados. Utilizando esta interfase, el usuario puede crear su propia
"Graphic-Tool", "Face Plate" o "Tuning Tool" e integrarlas en el sistema. Estas he-
rramientas se pueden escribir en cualquier lenguaje que DDE pueda interpretar, p.
ej., Visual Basic o Visual C++. Las herramientas se ejecutan cuando el usuario pul-
sa uno de los botones del cuadro de diálogo Monitor ampliado. Concept-Graphic-
Tool: Mediante la conexión DDE entre Concept y Concept Graphic Tool se pueden
representar las señales de una configuración como cronograma.
DFB (Derived Un módulo de función derivado representa la llamada de un tipo de módulo de fun-
Function Block) ción derivado. Encontrará más detalles acerca de la forma gráfica de la llamada en
módulo de fun- la definición de "módulo de función (ejemplar)". A diferencia de las llamadas de los
ción derivado tipos EFB, las llamadas de los tipos DFB se identifican mediante líneas verticales
dobles en la parte derecha e izquierda del símbolo de bloque rectangular.
El cuerpo de un tipo de módulo de función derivado se diseña en el lenguaje FBD,
pero sólo en la versión actual del sistema de programación. Actualmente todavía no
se pueden utilizar otros lenguajes IEC para la definición de tipos DFB, y las funcio-
nes derivadas tampoco se pueden definir en la versión actual.
Se distingue entre DFB locales y globales.
DFB globales Los DFB globales están disponibles en todos los proyectos de Concept y se en-
cuentran en el directorio DFB, justo debajo del directorio Concept.
DFB locales Los DFB locales sólo están disponibles en un único proyecto de Concept y se guar-
dan en el directorio DFB bajo el directorio del proyecto.
DINT DINT representa el tipo de datos "número entero de longitud doble (double integer)".
La entrada se efectúa en forma de literal entero, literal de base 2, literal de base 8
o literal de base 16. La longitud de los elementos de datos es de 32 bits. El rango
de valores para las variables de este tipo de datos va desde -2 exp (31) hasta 2 exp
(31) -1.
Dirección de par- La dirección de participante sirve para identificar sin posibilidad de confusión a un
ticipante participante de red en la ruta de acceso. La dirección se configura directamente en
el participante, p. ej., mediante un conmutador rotativo en la parte posterior de los
módulos.
Dummy Fichero vacío compuesto por un encabezado de texto con información general so-
bre el fichero, como p.ej., autor, fecha de creación, denominación de EFB, etc. El
usuario debe completarlo por medio de otras entradas.
Elemento de len- Cualquier elemento básico en uno de los lenguajes de programación IEC, p. ej., un
guaje paso en SFC, un ejemplar de módulo de función en FBD o el valor inicial de una
variable.
EN/ENO (Habili- Si el valor de EN es "0", cuando se ejecute el FFB no se ejecutarán los algoritmos
tación / Indica- definidos mediante el FFB, y todas las salidas conservarán su valor anterior. En
ción de error) este caso, el valor de ENO se ajustará automáticamente a "0". Si el valor de EN es
"1", cuando se ejecute el FFB se ejecutarán los algoritmos definidos mediante el
FFB. Una vez que se hayan ejecutado estos algoritmos sin errores, el valor de ENO
se ajustará automáticamente a "1". Si se produce un error durante la ejecución de
estos algoritmos, ENO pasará a "0" automáticamente. El comportamiento de salida
de los FFB no depende de si los FFB se han ejecutado sin EN/ENO o con EN=1. Si
está activada la visualización de EN/ENO, habrá que conectar obligatoriamente la
entrada EN. De no ser así, no se ejecutará el FFB. La configuración de EN y ENO
se activa y desactiva en el cuadro de diálogo de las propiedades de los módulos.
Este cuadro de diálogo se abre con los comandos de menú Objetos → Propieda-
des... o haciendo doble clic en el FFB.
Equipo de pro- Hardware y software que permiten programar, configurar, probar, poner en marcha
gramación y buscar errores tanto en las aplicaciones de PLC como en las aplicaciones de sis-
tema descentralizadas para hacer posible la documentación y el archivado de la
fuente. En determinadas circunstancias, el equipo de programación se puede utili-
zar también para la visualización de procesos.
Error Si durante el procesamiento de un FFB o de un paso se detecta un error (p. ej., va-
lores de entrada no permitidos o un error de tiempo), se generará un mensaje de
error que se puede ver con el comando de menú Online → Indicación de even-
tos.... En el caso de los FFB, la salida ENO se ajustará a "0".
Error de ejecu- Error que se produce durante el procesamiento del programa en el PLC en objetos
ción SFC (p. ej., pasos) o en FFB. Estos errores pueden ser, por ejemplo, desbordes del
rango de valores en contadores o errores de tiempo en pasos.
Estación DCP Con un procesador de control distribuido (D908) puede instalar una red descentra-
lizada con un PLC de rango superior. Si se utiliza un D908 con un PLC descentra-
lizado, el PLC de rango superior considerará al PLC descentralizado como una
estación de E/S descentralizada. El D908 y el PLC descentralizado se comunican
a través de un bus de sistema, lo que proporciona un alto rendimiento con una mí-
nima repercusión en el tiempo de ciclo. El intercambio de datos entre el D908 y el
PLC de rango superior se efectúa a 1,5 megabits por segundo a través del bus de
E/S descentralizado. Un PLC de rango superior puede trabajar hasta con 32 proce-
sadores D908.
Evaluación Proceso por el cual se averigua el valor de una función o de las salidas de un mó-
dulo de función durante la ejecución del programa.
FFB (funciones/ Término colectivo para EFB (funciones/módulos de función elementales) y DFB
módulos de fun- (módulos de función derivados).
ción)
Fichero de códi- El fichero de código fuente es un fichero de fuente C++ convencional. Después de
go fuente (EFB ejecutar el comando de menú Biblioteca → Generar ficheros, este fichero contie-
Concept) ne un cuadro de códigos de EFB en el que deberá introducir un código específico
para el EFB seleccionado. Para ello, ejecute el comando de menú Objetos →
Fuente.
Fichero de copia El fichero de copia de seguridad es una copia del último fichero de código fuente.
de seguridad El nombre de este fichero de copia de seguridad es "backup??.c" (se supone que
(EFB Concept) no tiene más de 100 copias del fichero de código fuente). El primer fichero de copia
de seguridad se llama "backup00.c". Si ha realizado modificaciones en el fichero de
definición que no provocan ningún cambio en la interfase en caso de EFB, podrá
ahorrarse la creación del fichero de copia de seguridad editando el fichero de código
fuente (Objetos → Fuente). Si crea un fichero de copia de seguridad, puede darle
el nombre del fichero fuente.
Fichero de defini- El fichero de definición contiene información descriptiva general sobre el EFB se-
ción (EFB Con- leccionado y sus parámetros formales.
cept)
Fichero de mode- El fichero de modelo es un archivo ASCII con información de diseño para el editor
lo (EFB Concept) de FBD Concept y los parámetros para la generación de códigos.
Fichero de proto- El fichero de protocolo contiene todos los prototipos de las funciones asignadas. A
colo (EFB Con- continuación, si la hay, una definición de tipo del interno
cept)
Filtro FIR (Finite Impulse Response Filter) Filtro con respuesta de impulsos finita
Filtro IIR (Infinite Impulse Response Filter) Filtro con respuesta de impulsos infinita
Formato com- La primera cifra (la referencia) se separa de la siguiente dirección mediante dos
pacto (4:1) puntos (:) sin poner en la dirección los ceros a la izquierda.
Formato de sepa- La primera cifra (la referencia) se separa mediante dos puntos (:) de las siguientes
rador (delimita- cinco posiciones de la dirección.
dor) (4:00001)
Formato están- Justo detrás de la primera cifra (la referencia) está la dirección de cinco posiciones.
dar (400001)
Formato IEC En la primera posición de la dirección hay un identificador conforme a CEI, seguido
(QW1) de la dirección de cinco posiciones:
l %0x12345 = %Q12345
l %1x12345 = %I12345
l %3x12345 = %IW12345
l %4x12345 = %QW12345
Función (FUNK) Unidad organizativa del programa que proporciona exactamente un elemento de
datos en la ejecución. Una función no tiene información interna de estado. Si se eje-
cuta varias veces la misma función con los mismos valores en los parámetros de
entrada, se obtienen siempre los mismos valores de salida.
Encontrará más detalles acerca de la forma gráfica de las llamadas de funciones en
la definición de "módulo de función (ejemplar)". A diferencia de las llamadas a mó-
dulos de función, las llamadas a funciones sólo tienen una única salida sin nombre,
ya que éste coincide con nombre de la función. En FBD, cada llamada se identifica
mediante un número inequívoco que le asigna el bloque gráfico; este número se ge-
nera de forma automática y no se puede modificar.
Grupos (EFB) Algunas bibliotecas de EFB (p. ej., la biblioteca de CEI) están subdivididas en gru-
pos. Esto facilita la localización de los EFB, sobre todo en las bibliotecas de grandes
dimensiones.
Horizontal Horizontal significa que la página del texto impreso es más ancha que alta.
Instrucción (IL) Las instrucciones son los "comandos" del lenguaje de programación IL. Cada ins-
trucción comienza en una línea nueva y va seguida de un operador o modificador
y, si fuera necesario para la operación en cuestión, de uno o más operandos. Si se
utilizan varios operandos, éstos se separarán con comas. Antes de la instrucción
puede haber una marca, que irá seguida de dos puntos (:). Si hubiera un comenta-
rio, deberá ser el último elemento de la línea.
Instrucción (ST) Las instrucciones son los "comandos" del lenguaje de programación ST. Deben ter-
minar con punto y coma. En una línea puede haber varias instrucciones (separadas
por punto y coma).
INT INT representa el tipo de datos "número entero (integer)". La entrada se efectúa en
forma de literal entero, literal de base 2, literal de base 8 o literal de base 16. La lon-
gitud de los elementos de datos es de 16 bits. El rango de valores para las variables
de este tipo de datos va desde -2 exp (15) hasta 2 exp (15) -1.
INTERBUS (PCP) Para utilizar el canal INTERBUS PCP y el pretratamiento de datos de proceso IN-
TERBUS (PDV) se ha introducido en el configurador de Concept el nuevo tipo de
estación de E/S INTERBUS (PCP). A este tipo de estación de E/S se le ha asignado
de forma fija el módulo de conexión INTERBUS 180-CRP-660-01.
El 180-CRP-660-01 sólo se diferencia del 180-CRP-660-00 en que el rango de E/S
en la memoria de señal del controlador es considerablemente mayor.
Ladder Diagram Ladder Diagram es un lenguaje de programación gráfico que cumple la norma CEI
(LD) 1131 y se orienta ópticamente a los "circuitos de corriente" de un esquema de con-
tactos de relés.
Ladder Logic 984 En los términos Ladder Logic y Ladder Diagram, la palabra Ladder (contacto) se re-
(LL) fiere a la ejecución. A diferencia del esquema de conexiones, en electricidad se uti-
liza el esquema de contactos para dibujar un circuito eléctrico (con símbolos
eléctricos) que representa el desarrollo de los eventos, y no los cables que conectan
los elementos entre sí. Una interfase de usuario convencional para controlar las ac-
ciones de los dispositivos de automatización admite una interfase de esquema de
contactos para que los técnicos electricistas no tengan que aprender ningún len-
guaje de programación con el que no estén familiarizados para implementar un pro-
grama de control.
La estructura del esquema de contactos real permite conectar los elementos eléc-
tricos de tal forma que se genere una salida de control que dependa de un flujo de
corriente lógico a través de los objetos eléctricos utilizados, que representan la con-
dición antes exigida de un dispositivo eléctrico físico.
De forma sencilla, la interfase de usuario es una pantalla de vídeo generada por la
aplicación de programación del PLC que configura un reticulado vertical y horizontal
en el que se organizan los objetos de programación. El esquema recibe corriente
por la parte izquierda del reticulado y, al unirlo con objetos que están activos, la co-
rriente fluye de izquierda a derecha.
Lenguaje de eje- Los elementos de lenguaje SFC permiten subdividir una unidad organizativa de un
cución (SFC) programa de PLC en un número de pasos y transiciones vinculados entre sí me-
diante conexiones direccionales. A cada paso le corresponde un número de accio-
nes, y cada transición está vinculada a una condición de transición.
Lenguaje de mó- Una o varias secciones que contienen representaciones gráficas de redes de fun-
dulo de función ciones, módulos de función y conexiones.
(FBD)
Lista de compo- En la lista de componentes E/S se configuran los módulos de E/S y expertos de las
nentes E/S distintas unidades centrales.
Lista de instruc- IL es un lenguaje de texto conforme a CEI 1131, en el que las operaciones, como,
ciones (IL) por ejemplo, las llamadas condicionales o incondicionales de módulos de función y
funciones, los saltos condicionales o incondicionales, etc., se representan mediante
instrucciones.
Literal entero Los literales enteros sirven para indicar los valores enteros en el sistema decimal.
Los valores pueden ir precedidos por el signo (+/-). Los guiones bajos individuales
( _ ) situados entre los números no son significativos.
Ejemplo
-12, 0, 123_456, +986
Literal real con Los literales reales con exponente sirven para indicar los valores con coma flotante
exponente en el sistema decimal. Los literales reales con exponente se caracterizan por la in-
dicación del punto decimal. El exponente indica la potencia decimal por la que se
debe multiplicar el número de partida para obtener el valor que hay que representar.
Los valores pueden ir precedidos por el signo (+/-). Los guiones bajos individuales
( _ ) situados entre los números no son significativos.
Ejemplo
-1.34E-12 ó -1.34e-12
1.0E+6 ó 1.0e+6
1.234E6 ó 1.234e6
Literal tipificado Si desea establecer usted mismo el tipo de datos de un literal, puede hacerlo con la
siguiente construcción: ‘Nombre del tipo de datos’#‘Valor del literal’.
Ejemplo
INT#15 (tipo de datos: entero, valor: 15),
BYTE#00001111 (tipo de datos: Byte, valor: 00001111)
REAL#23.0 (tipo de datos: Real, valor: 23.0)
Para la asignación del tipo de datos REAL también se puede indicar el valor de la
siguiente forma: 23.0.
Indicando una posición de la coma se asigna automáticamente el tipo de datos
REAL.
Literales Los literales sirven para proporcionar directamente valores a las entradas de FFB,
las condiciones de transición, etc. La lógica del programa no puede sobrescribir es-
tos valores (están protegidos contra escritura). Se distingue entre literales genéri-
cos y tipificados.
Además, los literales sirven para asignar un valor a las constantes o un valor inicial
a una variable.
La entrada se efectúa en forma de literal de base 2, literal de base 8, literal de base
16, literal entero, literal real o literal real con exponente.
Literales de base Los literales de base 16 sirven para indicar valores enteros en el sistema hexadeci-
16 mal. La base debe identificarse mediante el prefijo 16#. Los valores no pueden ir
precedidos por el signo (+/-). Los guiones bajos individuales ( _ ) situados entre los
números no son significativos.
Ejemplo
16#F_F o 16#FF (decimal 255)
16#E_0 ó 16#E0 (decimal 224)
Literales de base Los literales de base 2 sirven para indicar valores enteros en el sistema dual. La
2 base debe identificarse mediante el prefijo 2#. Los valores no pueden ir precedidos
por el signo (+/-). Los guiones bajos individuales ( _ ) situados entre los números no
son significativos.
Ejemplo
2#1111_1111 ó 2#11111111 (decimal 255)
2#1110_0000 ó 2#11100000 (decimal 224)
Literales de base Los literales de base 8 sirven para indicar valores enteros en el sistema octal. La
8 base debe identificarse mediante el prefijo 8#. Los valores no pueden ir precedidos
por el signo (+/-). Los guiones bajos individuales ( _ ) situados entre los números no
son significativos.
Ejemplo
8#3_77 ú 8#377 (decimal 255)
8#34_0 ú 8#340 (decimal 224)
Literales de dura- Las unidades permitidas para la duración (TIME) son días (D), horas (H), minutos
ción (M), segundos (S) y milisegundos (MS) o combinaciones de ellas. La duración se
debe identificar con el prefijo t#, T#, time# o TIME#. El "desborde" de la unidad de
mayor valor está permitido; por ejemplo, la entrada T#25H15M es válida.
Ejemplo
t#14MS, T#14.7S, time#18M, TIME#19.9H, t#20.4D, T#25H15M, ti-
me#5D14H12M18S3.5MS
Literales genéri- Si no considera relevante el tipo de datos de un literal, indique solamente el valor
cos para dicho literal. En este caso, Concept asignará al literal un tipo de datos adecua-
do de forma automática.
Literales reales Los literales reales sirven para indicar los valores con coma flotante en el sistema
decimal. Los literales reales se caracterizan por la indicación del punto decimal. Los
valores pueden ir precedidos por el signo (+/-). Los guiones bajos individuales ( _ )
situados entre los números no son significativos.
Ejemplo
-12.0, 0.0, +0.456, 3.14159_26
Located Variable A las located variables se les asigna una dirección de memoria de señal (direccio-
nes de referencia 0x, 1x, 3x, 4x). El valor de estas variables se almacena en la me-
moria de señal y se puede modificar online con el editor de datos de referencia.
Para acceder a estas variables se puede utilizar su nombre simbólico o su dirección
de referencia.
Todas las entradas y salidas del PLC están conectadas a la memoria de señal. El
acceso del programa a señales periféricas conectadas al PLC se efectúa sólo me-
diante located variables. Los accesos externos a través de las interfases Modbus o
Modbus Plus del PLC, p. ej., por parte de sistemas de visualización, también son
posibles mediante located variables.
Macro Las macros se crean con ayuda del software DFB Concept.
Las macros sirven para duplicar las secciones y redes que se utilizan con frecuencia
(incluyendo su lógica, sus variables y su declaración de variables).
Se distingue entre macros locales y globales.
Macros globales Las macros globales están disponibles en todos los proyectos de Concept y se en-
cuentran en el directorio DFB, justo debajo del directorio Concept.
Macros locales Las macros locales sólo están disponibles en un único proyecto de Concept y se
guardan en el directorio DFB bajo el directorio del proyecto.
Memoria de se- La memoria de señal es el espacio de memoria para todas las magnitudes a las que
ñal se accede a través de referencias (representación directa) en el programa de usua-
rio. Por ejemplo, en la memoria de señal hay bits de entrada, bits de salida/marca,
palabras de entrada y palabras de salida/marca.
Modo ASCII American Standard Code for Information Interchange. El modo ASCII se utiliza para
la comunicación con distintos dispositivos centrales. ASCII funciona con 7 bits de
datos.
Módulo de fun- Un módulo de función es una unidad organizativa del programa que calcula, de
ción (ejemplar) acuerdo con la funcionalidad definida en la descripción del tipo de módulo de fun-
(FB) ción, los valores para sus salidas y variable(s) interna(s) cuando se ejecuta como
ejemplar determinado. Todos los valores de las salidas y variables internas de un
determinado ejemplar de módulo de función se conservan de una llamada del mó-
dulo de función a la siguiente. Aunque se ejecute varias veces un mismo ejemplar
de módulo de función con los mismos argumentos (valores de parámetros de entra-
da), no se obtendrán necesariamente el/los mismos valor(es) de salida.
Módulo SA85 El módulo SA85 es un adaptador Modbus Plus para ordenadores IBM-AT o compa-
tibles.
Nombre del paso El nombre del paso sirve para identificar inequívocamente a un paso dentro de una
unidad organizativa del programa. El nombre del paso se genera automáticamente,
pero se puede modificar. El nombre del paso debe ser único en toda la unidad or-
ganizativa del programa, si no, se generará un mensaje de error.
El nombre de paso generado automáticamente tiene siempre la estructura: S_n_m
S = paso
n = número de la sección (número correlativo)
m = número del paso dentro de la sección (número correlativo)
Nomenclatura Un identificador es una secuencia de letras, números y guiones bajos que debe em-
CEI (identifica- pezar por una letra o un guión bajo (p. ej., el nombre de un tipo de módulo de fun-
dor) ción, un ejemplar, una variable o una sección). Se pueden utilizar las letras propias
de los juegos de caracteres nacionales (p. ej., ö, ü, é, õ), excepto en los nombres
de proyecto y de DFB.
Los guiones bajos son significativos en los identificadores, p. ej., "A_BCD" y
"AB_CD" se interpretan como dos identificadores distintos. No se permiten varios
guiones bajos iniciales ni seguidos.
Los identificadores no pueden contener espacios en blanco. Las mayúsculas o mi-
núsculas no son significativas, p. ej., "ABCD" y "abcd" se interpretan como el mismo
identificador.
Los identificadores no pueden ser palabras clave.
Operador Un operador es un símbolo para una operación boolearia o aritmética que hay que
realizar.
Operando Un operando es un literal, una variable, una llamada de función o una expresión.
Palabras clave Las palabras clave son combinaciones únicas de caracteres que se utilizan como
elementos sintácticos especiales tal como se define en el anexo B de la norma CEI
1131-3. Todas las palabras clave que se utilizan en la norma CEI 1131-3 y, por tan-
to, en Concept, aparecen enumeradas en el anexo C de la norma CEI 1131-3. Las
palabras clave de esta lista no se deberán utilizar para ningún otro fin, p. ej., como
nombres de variables, de secciones, de ejemplares, etc.
Palabras de en- Una palabra de entrada contiene información que procede de una fuente externa y
trada (referen- se representa mediante un número de 16 bits. Un registro 3x también puede conte-
cias 3x) ner 16 bits de entrada consecutivos cargados en el registro en formato binario o
BCD (decimal codificado en binario). Nota: La x que aparece detrás de la primera
cifra del tipo de referencia representa un lugar de almacenamiento de cinco posicio-
nes en la memoria de datos del usuario, por ejemplo, la referencia 300201 significa
una palabra de entrada de 16 bits en la dirección 201 de la memoria de señal.
Palabras de sali- Una palabra de salida/marca puede utilizarse para almacenar datos numéricos (bi-
da/marca (refe- narios o decimales) en la memoria de señal, o también para enviar los datos de la
rencias 4x) CPU a una unidad de salida del sistema de control. Nota: La x que aparece detrás
de la primera cifra del tipo de referencia representa un lugar de almacenamiento de
cinco posiciones en la memoria de datos del usuario, por ejemplo, la referencia
400201 significa una palabra de salida o marca de 16 bits en la dirección 201 de la
memoria de señal.
Parámetro de sa- Parámetro con el que se devuelve el resultado o los resultados de la evaluación de
lida (salida) un FFB.
Participante lo- El participante local es aquél que se está configurando en este momento.
cal de red
Paso inicial Primer paso de una cadena secuencial. En todas las cadenas secuenciales debe
haber definido un paso inicial. La cadena secuencial se inicia con el paso inicial la
primera vez que éste se ejecuta.
Portapapeles El portapapeles es una memoria temporal para objetos cortados o copiados. Estos
objetos se pueden pegar en secciones. Cada vez que se vuelva a cortar o copiar,
se sobrescribirá el contenido anterior del portapapeles.
Procesador Peer El procesador Peer procesa los ciclos de token y el flujo de datos entre la red Mod-
bus-Plus y la lógica de usuario PLC.
Programar siste- Un sistema redundante está compuesto por dos equipos de PLC con idéntica con-
ma redundante figuración que se comunican entre sí mediante procesadores redundantes. En caso
(Hot Standby) de que falle el PLC primario, el PLC secundario asume el control del mando. En con-
diciones normales, el PLC secundario no asume ninguna función de control, sino
que comprueba la información de estado para detectar fallos.
Proyecto Denominación general del nivel superior de una estructura en árbol de un software
que determina el nombre de proyecto de orden superior de una aplicación PLC.
Después de establecer el nombre del proyecto podrá guardar la configuración del
sistema y el programa de control con este nombre. Todos los datos que se originan
durante la creación de la configuración y del programa forman parte de este proyec-
to de nivel superior para la tarea de automatización específica.
Denominación general del conjunto completo de la información de programación y
configuración en la base de datos del proyecto que representa el código fuente que
describe la automatización de una instalación.
REAL REAL representa el tipo de datos "número con coma flotante". La entrada se efec-
túa como literal real o como literal real con exponente. La longitud de los elementos
de datos es de 32 bits. El rango de valores para variables de este tipo de datos va
de 8.43E-37 a 3.36E+38.
Red descentrali- La programación descentralizada en la red Modbus Plus permite alcanzar el máxi-
zada mo rendimiento en la transferencia de datos y unas prestaciones especiales en los
vínculos. La programación de una red descentralizada es muy sencilla. Para instalar
la red no hace falta crear ninguna lógica adicional de esquema de contactos. Me-
diante las entradas correspondientes en el procesador Peer Cop se cumplen todos
los requisitos para la transferencia de datos.
Referencia Cada dirección directa es una referencia que comienza por una clave que indica si
se trata de una entrada o una salida o de un bit o una palabra. Las referencias que
empiezan con la clave 6 representan registros de la memoria extendida de la me-
moria de señal.
Rango 0x = bits de salida/marca
Nota: La x que aparece detrás de la primera cifra de cada tipo de referencia rep-
resenta un lugar de almacenamiento de cinco posiciones en la memoria de datos
del usuario, por ejemplo, la referencia 400201 significa una palabra de salida o
marca de 16 bits en la dirección 201 de la memoria de señal.
Registro en la Las referencias 6x son palabras de marca en la memoria extendida del PLC. Sólo
memoria exten- se pueden utilizar en programas de usuario LL984 y para utilizar una CPU 213 04
dida (referencia o CPU 424 02.
6x)
Representación Método para la representación de variables en el programa PLC del que se puede
directa derivar directamente la asignación del lugar de almacenamiento lógico (e indirecta-
mente el lugar de almacenamiento físico).
RIO (Remote I/O) La E/S remota indica un lugar físico de los dispositivos de control de puntos de E/S
en relación con el procesador que los controla. Las entradas/salidas remotas están
conectadas al dispositivo de control a través de un cable de comunicación.
Salto Elemento del lenguaje SFC. Los saltos se utilizan para saltar áreas de la cadena
secuencial.
Sección Una sección se puede utilizar, por ejemplo, para describir el funcionamiento de una
unidad tecnológica, como un motor.
Un programa o DFB está compuesto de una o más secciones. Las secciones se
pueden programar con los lenguajes de programación IEC FBD y SFC. Dentro de
una sección sólo se puede utilizar uno de los lenguajes de programación mencio-
nados.
Cada sección tiene su propia ventana de documento en Concept. Para tener una
mejor visión de conjunto, es mejor dividir una sección grande en varias más peque-
ñas. Para desplazarse dentro de la sección se utiliza la barra de desplazamiento.
Símbolo (icono) Representación gráfica de distintos objetos en Windows, p. ej., unidades de disco,
programas de aplicación y ventanas de documento.
Texto estructura- ST es un lenguaje de texto conforme a CEI 1131, en el que las operaciones, como,
do (ST) por ejemplo, las llamadas de módulos de función y funciones, la ejecución condicio-
nada de instrucciones, la repetición de instrucciones, etc., se representan mediante
instrucciones.
TIME TIME representa el tipo de datos "duración". La entrada se realiza como literal de
duración. La longitud de los elementos de datos es de 32 bits. El rango de valores
para las variables de este tipo de datos va de 0 a 2exp(32)-1. La unidad para el tipo
de datos TIME es 1 ms.
Tipo de datos de- Los tipos de datos derivados son tipos de datos que se han derivado de los tipos de
rivado datos elementales y/o de otros tipos de datos derivados. La definición de los tipos
de datos derivados se realiza en el editor de tipos de datos de Concept.
Se distingue entre tipos de datos globales y tipos de datos locales.
Tipo de datos ge- Tipo de datos que sustituye otros tipos de datos.
nérico
Tipo de módulo Elemento de lenguaje compuesto por: 1) la definición de una estructura de datos,
de función dividida en variables de entrada, de salida e internas; 2) un conjunto de operaciones
que se realizan con los elementos de la estructura de datos cuando se ejecuta una
instancia del tipo de módulo de función. Este conjunto de operaciones puede estar
formulado en uno de los lenguajes IEC (tipo DFB) o en "C" (tipo EFB). Un tipo de
módulo de función se puede instanciar (ejecutar) varias veces.
Tipos de datos La vista general muestra la jerarquía de los tipos de datos tal como se utilizan en
las entradas y salidas de funciones y módulos de función. Los tipos de datos gené-
ricos se identifican mediante el prefijo "ANY".
l ANY_ELEM
l ANY_NUM
ANY_REAL (REAL)
ANY_INT (DINT, INT, UDINT, UINT)
l ANY_BIT (BOOL, BYTE, WORD)
l TIME
l Tipos de datos de sistema (expansiones IEC)
l Derivado (de los tipos de datos ’ANY’)
Tipos de datos Los tipos de datos derivados globales están disponibles en todos los proyectos de
derivados globa- Concept y se encuentran en el directorio DFB, justo debajo del directorio Concept.
les
Tipos de datos Los tipos de datos derivados locales sólo están disponibles en un único proyecto de
derivados loca- Concept y sus DFB locales, y se guardan en el directorio DFB bajo el directorio del
les proyecto.
Token La red "Token" controla la propiedad temporal del derecho de transferencia por par-
te de un único participante. El Token recorre los participantes en una secuencia de
direcciones circular (ascendente). Todos los participantes siguen el recorrido del
token y pueden recibir todos los datos posibles enviados.
Traffic Cop Traffic Cop es una lista de componentes que se genera a partir de la lista de com-
ponentes del usuario. La lista Traffic Cop se gestiona en el PLC y contiene, además
de la lista de componentes del usuario, información de estado de los módulos y las
estaciones de E/S, por ejemplo.
Transición Condición necesaria para que el control pase de uno o más pasos predecesores a
uno o más pasos sucesores a lo largo de una conexión direccional.
UDINT UDINT representa el tipo de datos "número entero de longitud doble sin signo (un-
signed double integer)". La entrada se efectúa en forma de literal entero, literal de
base 2, literal de base 8 o literal de base 16. La longitud de los elementos de datos
es de 32 bits. El rango de valores para las variables de este tipo de datos va de 0 a
2exp(32)-1.
UINT UINT representa el tipo de datos "número entero sin signo (unsigned integer)". La
entrada se efectúa en forma de literal entero, literal de base 2, literal de base 8 o
literal de base 16. La longitud de los elementos de datos es de 16 bits. El rango de
valores para las variables de este tipo de datos va de 0 a (2exp 16)-1.
Unidad organiza- Función, módulo de función o programa. Este término se puede referir tanto a un
tiva del programa tipo como a un ejemplar.
Unlocated Varia- A las unlocated variables no se les asigna ninguna dirección de memoria de señal.
ble Por lo tanto, tampoco ocupan ninguna dirección de memoria de señal. El sistema
almacena el valor de estas variables, que se puede modificar con el editor de datos
de referencia, de forma interna. A estas variables sólo se accede mediante su nom-
bre simbólico.
Valor inicial Valor asignado a una variable durante el inicio del programa. La asignación del valor
se realiza en forma de literal.
Variables Las variables sirven para el intercambio de datos dentro de una misma sección, en-
tre secciones distintas y entre el programa y el PLC.
Las variables se componen como mínimo de un nombre de variable y un tipo de da-
tos.
Si se asigna una dirección directa (referencia) a una variable, se habla de una loca-
ted variable. Si a una variable no se le asigna ninguna dirección directa, se habla
de una unlocated variable. Si a la variable se le asigna un tipo de datos derivado,
se habla de una variable de elementos múltiples.
Además, también existen constantes y literales.
Variables de Variables a las que se les ha asignado un tipo de datos derivado con ayuda de la
campo palabra clave ARRAY (campo). Un campo es una colección de elementos de datos
con el mismo tipo de datos.
Variables de ele- Variables a las que se ha asignado un tipo de datos derivado definido con STRUCT
mentos múltiples o ARRAY.
Se distingue entre variables de campo y variables estructuradas.
Variables estruc- Variables a las que se ha asignado un tipo de dato derivado definido con STRUCT
turadas (estructura).
Una estructura es una colección de elementos de datos de distintos tipos en general
(tipos de datos elementales y/o tipos de datos derivados).
Ventana activa Ventana seleccionada en este momento. Sólo puede haber una ventana activa en
un momento determinado. Cuando se activa una ventana, cambia el color de su ba-
rra de título para distinguirla de las demás ventanas. Las ventanas no selecciona-
das están inactivas.
Ventana de docu- Ventana dentro de una ventana de aplicación. Dentro de una ventana de aplicación
mento puede haber abiertas varias ventanas de documento al mismo tiempo. No obstante,
sólo puede haber una ventana de documentoactiva. Las ventanas de documento en
Concept son, por ejemplo, las secciones, la ventana de mensajes, el editor de datos
de referencia y la configuración PLC.
Ventana de la Ventana que contiene el espacio de trabajo, la barra de menús y la barra de herra-
aplicación mientas para el programa de la aplicación. El nombre del programa de la aplicación
aparece en la barra de título. Una ventana de aplicación puede contener varias ven-
tanas de documento. En Concept, la ventana de aplicación corresponde a un pro-
yecto.
Vertical Vertical significa que la página del texto impreso es más alta que ancha.
WORD WORD representa el tipo de datos "secuencia de bits 16". La entrada se efectúa en
forma de literal de base 2, literal de base 8 o literal de base 16. La longitud de los
elementos de datos es de 16 bits. A este tipo de datos no se le puede asignar un
rango de valores numérico.
D L
Descripción de parámetros, 14 Límites de parámetros del PLC
Diferencias, 8 184/384, 88
484, 87
584/984, 87
E M84, 88
Entrada ASCII finalizada, 23 Quantum, 86
Estructura de datos
XMIT_CFG, 15
XMIT_SET, 15 M
Mensajes de error, 38
Mensajes de secuencia de caracteres
F ASCII, 25
FIFO, 34 Módulo de función
Función de entrada ASCII simple, 25 XMIT y XXMIT, 85
Funciones ASCII, 23
Funciones de comunicación de XMIT, 26
Funciones del módem, 27
Funciones Modbus, 28
P
Palabra de comando XMIT, 26
Pines de salida de cable
De 9 pines (RS-232) a 25 pines (módem)
con control RTS/CTS, 90
De 9 pines (RS-232) a 25 pines (módem)
sin control RTS/CTS, 89
De 9 pines a 25 pines (Null módem), 93
De 9 pines a 9 pines (módem), 92
De 9 pines a 9 pines (Null módem), 91
De 9 pines a RJ45 (8x8) (módem)
110XCA20301, 99, 100
De 9 pines D-sub a 10 pines de conector
de cable plano (módem), 101
De RJ45 (8x8) a 25 pines (módem)
110XCA20401, 96, 97
De RJ45 (8x8) a 25 pines (Null Módem)
110XCA20401, 94
De RJ45 (8x8) a 9 pines (Null módem)
110XCA20301, 95
De RJ45 (8x8) a RJ45 (8x8) (módem), 98
Protocolo, 34
R
Referencias técnicas
XMIT y XXMIT, 85
RTU
XMIT, 11
XXMIT, 45
T
Transmit, 11, 45
X
XMIT, 11
XMIT_CFG, 15
XMIT_SET, 15
XXMIT, 45