IZI-SPX5.
Manual de Usuario Versión 1.00
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Garantía: Todos los productos por IZI Technologies se encuentran bajo garantía contra
materiales defectuosos por un periodo de un año a partir de la fecha de envío hacia el comprador
original.
Atención: IZI Technologies no se responsabiliza por daños resultantes de la utilización de sus
productos. IZI Technologies se reserva el derecho a cambiar este manual en cualquier momento sin
informar previamente. La información entregada por IZI Technologies se cree que es precisa y
confiable. Sin embargo, ninguna responsabilidad es asumida por IZI Technologies por su utilización
o por cualquier transgresión a patentes o derechos de terceros que resulten de la utilización de los
productos.
Derechos de Autor Todo el material de este manual está protegido por los derechos de autor en 2015
Marcas Registradas Los nombres son utilizados con el fin exclusivo de identificación y las marcas registradas son
propiedad de las respectivas compañías.
Lista de Revisión Fecha |Autor Versión Revisión
2014/12/15 Acevedo 1.00 Inicial
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Contents Garantía: .............................................................................................................................................. 2
Atención: ............................................................................................................................................. 2
Derechos de Autor .............................................................................................................................. 2
Marcas Registradas ............................................................................................................................. 2
Lista de Revisión .................................................................................................................................. 2
Potencialidades del Producto. ............................................................................................................ 6
Instalación del Hardware. ................................................................................................................... 7
Terminales del conector de alimentación. .......................................................................................... 7
Terminales de la interfaz RS422 y RS 485 ........................................................................................... 8
Interruptores para configurar la terminación del Puerto Serial. .................................................... 8
Ethernet............................................................................................................................................... 9
Indicadores Luminosos. ................................................................................................................. 10
Pulsador Reinicio de Configuración................................................................................................... 10
Encendido por primera vez del Equipo. ............................................................................................ 12
Funcionamiento y Configuración del SPX5. ...................................................................................... 14
Base de Datos ................................................................................................................................ 14
Configuración del Módulo. ............................................................................................................ 16
Definición de nombre y descripción del módulo. ..................................................................... 17
Configuración de la seguridad del módulo. .............................................................................. 17
Configuración de las interfaces LAN y WLAN. ............................................................................... 18
Configuración de los protocolos de Red. .......................................................................................... 21
Protocolo Modbus TCP Cliente ..................................................................................................... 22
Protocolo Modbus TCP Server ...................................................................................................... 25
Protocolo Ethernet IP/TAG ............................................................................................................ 26
Protocolo NTP ............................................................................................................................... 28
Configuración Protocolos Seriales................................................................................................. 29
Configuración de Protocolo Modbus RTU Maestro .................................................................. 29
Configuración de Protocolo Modbus RTU Esclavo .................................................................... 32
Ejecución de Scripts........................................................................................................................... 34
Ejemplos de Scripts ....................................................................................................................... 35
Temporización en Segundos ..................................................................................................... 35
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Lectura y Escritura de valores de la base de datos. .................................................................. 36
Operaciónes Matematicas de valores. ...................................................................................... 36
Descripción de Objetos disponibles en SPX5. ............................................................................... 37
Funciones disponibles para la manipulación de la base de datos desde el Script. ................... 37
HMI .................................................................................................................................................... 38
Apéndice 1: ........................................................................................................................................ 42
Objetos de y funciones de LUA disponibles en Lenguaje Script del SPX5 ......................................... 42
Funciones Varias: .......................................................................................................................... 42
Funcion: ..................................................................................................................................... 42
SaveDatabaseData .................................................................................................................... 42
Funcion: ..................................................................................................................................... 43
LoadDatabaseData .................................................................................................................... 43
Objeto de Base de Datos Numérica: ............................................................................................. 43
Funciones: ..................................................................................................................................... 44
Objeto: ....................................................................................................................................... 44
NUMERIC_DATABASE ................................................................................................................ 44
Objeto: ....................................................................................................................................... 44
NUMERIC_DATABASE ................................................................................................................ 44
Objeto: ....................................................................................................................................... 45
NUMERIC_DATABASE ................................................................................................................ 45
Objeto: ....................................................................................................................................... 45
NUMERIC_DATABASE ................................................................................................................ 45
Objeto: ....................................................................................................................................... 46
NUMERIC_DATABASE ................................................................................................................ 46
Objeto: ....................................................................................................................................... 46
NUMERIC_DATABASE ................................................................................................................ 46
Objeto: ....................................................................................................................................... 47
NUMERIC_DATABASE ................................................................................................................ 47
Objeto: ....................................................................................................................................... 47
NUMERIC_DATABASE ................................................................................................................ 47
Objeto: ....................................................................................................................................... 48
NUMERIC_DATABASE ................................................................................................................ 48
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Objeto: ....................................................................................................................................... 48
NUMERIC_DATABASE ................................................................................................................ 48
Objeto: ....................................................................................................................................... 49
NUMERIC_DATABASE ................................................................................................................ 49
Objeto: ....................................................................................................................................... 49
NUMERIC_DATABASE ................................................................................................................ 49
Objeto: ....................................................................................................................................... 50
NUMERIC_DATABASE ................................................................................................................ 50
Elemento ................................................................................................................................... 50
Contenido .................................................................................................................................. 50
Modbus RTU Maestro ................................................................................................................... 51
MODBUS RTU MAESTRO: Elementos de la tabla de diagnóstico .............................................. 51
MODBUS RTU MAESTRO: Significado de errores de comando ................................................. 51
MODBUS RTU Maestro: Ejemplos de Consulta de Status ......................................................... 51
Modbus TCP Cliente ...................................................................................................................... 52
MODBUS TCP Cliente: Elementos de la tabla de diagnóstico ................................................... 52
MODBUS TCP CLIENTE: Significado de errores de comando .................................................... 52
MODBUS TCP Cliente: Ejemplos de Consulta de Status ............................................................ 53
Modbus TCP Servidor .................................................................................................................... 53
MODBUS TCP Servidor: Elementos de la tabla de diagnóstico ................................................. 54
MODBUS TCP Servidor: Ejemplos de Consulta de Status .......................................................... 54
Notes: ................................................................................................................................................ 54
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Potencialidades del Producto. SPX5 es una compuerta industrial inalámbrica que permite la transferencia de registros que están
localizados en su tabla de memoria mediante el uso de los protocolos disponibles. Proporciona
también conectividad inalámbrica mediante el estándar WiFi entre dispositivos de diversas
tecnologías. Al utilizar la herramienta de configuración basada en WEB, el usuario puede ejecutar
los procedimientos de configuración para la lectura y escritura de datos de cualquiera de los
protocolos soportados. La capacidad de ejecución de scripts en LUA, permite entre otras cosas la
conversión del formato de los datos que se encuentran almacenados en la base de datos así como
también la realización de acciones basadas en eventos de comunicación o condiciones específicas
de los valores presentes en los datos. SPX5 cuenta con una interfaz hombre maquina (HMI) que
permite visualizar, no solo en un computador personal sino también en dispositivos móviles como
tabletas o teléfonos inteligentes el valor de las variables que hacen parte del proceso que se está
monitorizando por la compuerta. Para la configuración o utilización del producto no es necesario la
compra de software alguno y las actualizaciones de firmware se liberan sin costo alguno.
Figura 1
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Instalación del Hardware.
Vistas Superior e Inferior Vista lateral derecha Vista Posterior Figura 2. Vistas del SPX5.
Terminales del conector de alimentación. El SPX5 se puede alimentar con tensión DC en un rango comprendido entre los 9 y 48 voltios
y el consumo siempre está por debajo de los 5 vatios. El conector de alimentación se
encuentra en el plano superior del equipo y tiene la distribución de terminales de la figura
3. El terminal FG se debe conectar al nodo de tierra de su sistema para evitar interferencias
electromagnéticas y proveer una mejor protección contra variaciones transitorias en el
sistema de potencia.
Figura 3. Distribución de terminales del conector de alimentación del SXP5.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Terminales de la interfaz RS422 y RS 485
Para la conexión del SPX5 a una red serial utilice el diagrama de la figura 4. En el caso de
una red RS 422 los terminales RD(B)+ de los dispositivos seriales deberán conectarse al
terminal RxD/T+ del SPX5 mientras que los terminales RD(A)- de los dispositivos se
conectarán al CTS/T-. Los terminales GND de los dispositivos deberán conectarse al terminal
SG. Para el caso de una red RS 485 se deberán conectar entre si los terminales RTS/R- y
CTS/T- así como también los terminales TxD/R+ y RxD/T+ del conector serial del SPX5. Los
terminales Data(B)+ de cada dispositivo serial deberá conectarse a los terminales TxD/R+ y
RxD/T+ del SPX5, por otra parte, los terminales Data(A)- de cada dispositivo serial deberá
conectarse a los terminales RTS/R- y CTS/T- del SPX5.
Figura 4. Diagramas de Conexión para las interfaces RS 422 y RS 485
Interruptores para configurar la terminación del Puerto Serial. SPX5 tiene la posibilidad de configurar las resistencias de terminación de la red
RX485/RS422 mediante la operación de los interruptores tipo dip. La configuración
recomendada de los interruptores para la operación normal es off. En el caso de que el
SPX5 este al inicio o final de la red se pueden encender las resistencias de terminación de
acuerdo con la tabla que se muestra en la figura 5.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
COM DIP Function SW Ω
COM1 6 Pull High On 1K
Off 100K
5 Pull Low On 1K
Off 100K
4 Termination On 120
Off ∞
COM2 3 Pull High On 1K
Off 100K
2 Pull Low On 1K
Off 100K
1 Termination On 120
Off ∞
Figura 5. Interruptores de configuración del puerto serial.
Ethernet SPX5 cuenta con un puerto Ethernet 10/100/1000 Mbits/s que le permite comunicarse con
dispositivos que soporten protocolos de red. Al conectar un computador a este puerto se puede
configurar la compuerta utilizando la aplicación embebida basada en web con la que cuenta el
SPX5.
LEDs del Puerto Ethernet LED Estado Descripción
Dato (Verde) Apagado Parpadeando
No existe una conexión física a la compuerta y no es posible que ocurra comunicación. Transmisión de datos vía Ethernet en curso.
Velocidad(Ambar) Apagado No hay actividad en el puerto
Encendido Conectado a 10 Mbps.
Parpadeando Conectado a 100/1000 Mbps
Figura 6. Puerto Ethernet del SPX5
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Indicadores Luminosos. El sistema cuenta con dos conjuntos de indicadores luminosos que se muestran en la figura 7.
El primero, que consiste en una columna de 6 luces que tienen etiquetas entre 20 y 100 con
colores rojo amarillo y verde, e indica el más bajo nivel de potencia de Radio Frecuencia RF de
cualquiera de los nodos entre los que se ha construido el enlace de comunicación sin importar
la topología de comunicación que se esté utilizando. Si la interfaz WLAN esta activada pero no
hay comunicación con ningún nodo, todos los indicadores están apagado.
Figura 7. Indicadores Luminosos del SPX5
El segundo conjunto de indicadores está formado por dos columnas de tres indicadores cada una
donde, por renglón, inicialmente se puede revisar el estado de las dos interfaces seriales COM 1 y
COM 2. Si los dos indicadores están apagados el sistema no se está comunicando por el respectivo
puerto. Si esta encendido el indicador de recepción o transmisión por el respectivo puerto está
ocurriendo el proceso mencionado. El indicador de TX esta encendido durante todo tiempo cuando
la polaridad de par de recepción esta invertida. El indicador de WLAN parpadea cuando la interfaz
WLAN esta activada y transmite datos; permanece en verde solido cuando esta activada y se
encuentra apagado cuando la interfaz WLAN esta deshabilitada. El indicador RUN parpadea en
verde cuando el SPX5 ejecuta el programa ingresado. Si la velocidad de parpadeo es alta, indica que
el firmware esta corrupto y deberá contactarse a soporte técnico de IZI.
Pulsador Reinicio de Configuración. En la Figura 8, dentro del círculo rojo, se muestra el interruptor de reinicio de la unidad. Al presionar
este pulsador es posible reinicializar la seguridad y el archivo de configuración del módulo. Cuando
se mantiene presionado durante 5 segundos, existe una confirmación sonora de un tono y se
elimina la seguridad que será explicada en la sección Configuración de la seguridad del módulo.
Si el pulsador se mantiene presionado de manera continua durante un intervalo de 10 segundos, la
confirmación sonora es de dos tonos y el equipo regresará a la configuración inicial tal como fue
enviado de fábrica.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 8. Ubicación del pulsador de reinicio.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Encendido por primera vez del Equipo.
En primer lugar se debe alimentar el SPX5 con una fuente entre 9 y 48 VDC y conectar el puerto de red de la compuerta con el de un computador personal. Del sitio web de IZI, se debe descargar la aplicación SPX5 Browser e instalarla en el computador. http://www.izitechnology.com/support/spx5/ Una vez se ejecuta la aplicación se puede cambiar la dirección IP del SPX5 de forma tal que haga parte del segmento de red al que pertenece el computador personal.
Figura 9. Conexión Inicial del SPX5
Figura 10. Ventanas del programa SPX5 Browser.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
La utilización del programa SPX5 Browser, que se presenta en la figura 10, es realmente simple. En
primer lugar con este programa se puede actualizar la versión de firmware del sistema o identificar
los SPX5 que estén conectados a la interfaz de red. La dirección IP del puerto de red del computador
se presenta en el numeral 2 de la figura y permite identificar el segmento de red donde deberá
especificarse la dirección IP del SPX5. En el numeral 3 se presenta la dirección MAC de la interfaz
de red por donde se ha establecido la comunicación.
Puede ser la dirección MAC del puerto Ethernet o del puerto WiFi de acuerdo con la interfaz por
donde se haya realizado la comunicación. En el numero 4 está la dirección IP que se le ha asignado
al SPX5 y que en el caso general no hace parte del segmento de red donde se ha conectado el
dispositivo. En el numeral 5 se puede observar la versión de firmware instalada en el equipo. Al
realizar clic derecho sobre el icono del SPX5 y seleccionar “Set Temporary IP” se abre la ventana
que esta designada por 6. En esta se puede especificar una dirección IP que deberá estar en el
mismo segmento de red a la que pertenece el computador que se utiliza para configurar el producto.
Una vez que este paso se ha completado, en la posición que esta apuntada por el numeral 7
aparecerá la dirección IP que antes ha sido especificada.
Una vez se ha cambiado la dirección IP del SPX5 de forma tal que haga parte del segmento de red
del computador donde se realiza la configuración, al realizar doble clic sobre el icono del SPX5 se
abrirá una nueva ventana en el navegador de su computador (Se recomienda utilizar la última
versión de Google Chrome) y se podrá visualizar la página de la Figura 11. A partir de este momento
ya es posible configurar el SPX5.
Al utilizar SPX5 Browser también es posible actualizar el firmware del SPX5. Las actualizaciones de
firmware se distribuyen como archivos de extensión *.dld que se pueden descargar desde el sitio
Web de IZI Technology y se deberán descargar a la unidad utilizando el puerto Ethernet. Al presionar
el botón Firmware Download, se inicia el proceso que requiere seleccionar el dispositivo que se
pretende actualizar, definir la ruta donde se encuentra el archivo de extensión *.dld y realizar un
par de confirmaciones que se muestran en la Figura 10 con los numerales (8) y (9).
Un aspecto muy importante sobre el proceso de actualización de firmware que debe tenerse
presente es que por ningún motivo debe interrumpirse mientras está en ejecución. Si la energía o
la comunicación se interrumpen el SPX5 ingresará a un estado que no permite la reprogramación
de firmware y deberá ser regresado a fábrica para su reparación. Los gastos de logística y transporte
NO serán asumidos por IZI Technology y serán asumidos por el cliente.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 11. Página de Inicio del SPX5.
Funcionamiento y Configuración del SPX5.
La compuerta SPX5 es un sistema de comunicaciones industriales que permite la recepción y
transmisión de valores que están almacenados en una estructura de memoria denominada base de
datos. La información de la comunicación se origina o almacena en la base de datos que se visualiza
como una lista o matriz de acuerdo con el tipo de formato de datos que haya sido seleccionado.
Mediante los protocolos soportados es posible leer y/o escribir valores en la base de datos del SPX5
desde o hacia los dispositivos industriales con los que se requiere establecer la comunicación.
Existen tres tipos de scripts que pueden ejecutarse en el SPX5. Los scripts Startup y Fault; el primero
se ejecuta durante el inicio de la compuerta y el segundo en caso de ocurrencia de falla en las
comunicaciones del sistema. Durante la operación normal es el script Continuous el que se ejecuta
normalmente.
Cuando se habilita, es posible acceder a una interfaz hombre maquina (HMI) que es completamente
configurable desde la herramienta web y que permite visualizar el estado de las variables de la base
de datos o definir su valor.
Base de Datos Para acceder a la base de datos se debe se debe seleccionar la pestaña de Status en la barra de
configuración de la página web. Como se mencionó anteriormente la base de datos se representa
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
como una lista o tabla que puede ser de 5,10 o 16 columnas por un número importante de filas (16
columnas para representación binaria). Existen ocho tipos de representaciones de datos que se
pueden utilizar para visualizar la información presente en la base de datos. De acuerdo con el tipo
de dato que se ha seleccionado es posible filtrar las direcciones entre pares e impares así como
también aplicar el tipo de intercambio o Swap correspondiente.
Una de las características más poderosas de la base de datos es la posibilidad de definir el contenido
de alguno de los registros que la conforman. Es posible, al hacer doble clic, sobre alguno de los
campos definir su valor utilizando la función Database Value Write.
Figura 12. Base de datos del SPX5.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Nombre Rango Descripción
INT16(DEC) (-32,768 hasta +32,767) Entero con signo de 16 bits en presentación decimal
UINT16(DEC) 0 hasta 65,535 Entero de 16 bits sin signo en presentación decimal
UINT16(HEX) 0 hasta 65,535 Entero de 16 bits sin signo en presentación hexadecimal
INT32(DEC) -2,147,483,648 hasta 2,147,483,647 Entero de 32 bits con signo en presentación decimal
UINT32(DEC) 0 to 4,294,967,295 Entero de 32 bits sin signo en presentación decimal
UINT32(HEX) 0 to 4,294,967,295 Entero de 32 bits sin signo en presentación hexadecimal
FLOAT32 2-128 hasta 2127 32 bits donde MSB es signo, 8 bits de exponente y 23 de mantisa.
BIN Utiliza las 16 posiciones de memoria Representación binaria de los datos.
Tabla 1. Representación de valores en la base de datos.
La base de datos puede accederse desde tres instancias; desde la pantalla de configuración haciendo
doble clic sobre el valor de interés, desde los protocolos o desde los scripts. Para el caso de los
protocolos el direccionamiento se hace con palabras de 16 bits mientras que para el caso de los
scripts el direccionamiento se hace con bytes (8 bits). Para el caso de los protocolos, el valor escrito
en el campo SPX5 Database Address corresponde a la dirección de la base de datos del SPX5,
mientras que para el caso de los scripts, que se presentan en el capítulo 5 de este manual, las
direcciones de las funciones de lectura y escritura se ingresan mediante direcciones de 8 bits, lo que
implica que para acceder a una dirección particular de la base de datos del SPX5 el valor escrito, en
el campo de las funciones de los scripts correspondientes a direcciones, deberá multiplicarse por
dos.
Configuración del Módulo.
Para acceder a la configuración del módulo se debe seleccionar la pestaña correspondiente en la
página web del SPX5. En la figura 13 se presenta la pestaña de configuración; en la parte izquierda
existe un menú con todas las opciones de disponibles en el equipo. Con este menú es posible: (1)
Definir el nombre y descripción de la compuerta, (2) Configurar la seguridad del módulo, (3)
Configurar las interfaces LAN y WAN, (4) Configurar los protocolos que utilizan las interfaces de red
Ethernet y/o WiFi, (5) Editar los scripts de Inicio, Continuo y Falla del SPX5 y (6) Editar la interfaz
hombre maquina basada en web.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 13. Pestaña de Configuración del SPX5
Definición de nombre y descripción del módulo.
Con esta opción es posible definir el Nombre del Módulo y la Descripción. Esta información estará
disponible en la pestaña de Status y permite ubicar al usuario en el contexto de aplicación del
equipo.
Configuración de la seguridad del módulo.
En SPX5 existen tres niveles de seguridad, Administrador (Acceso total), Hmiview (Permite
monitorear el HMI), Hmicontrol (Permite escrituras desde el HMI). Todos los passwords deben ser
mayores a ocho caracteres. Los Passwords no se almacenan en el archivo de configuración y no
pueden leerse. Siempre que los passwords sean definidos o modificados es necesario reiniciar la
unidad presionando el botón “Reboot Module” que se encuentra en la pestaña “Status”. Los
Passwords solo pueden ser escritos y es imposible realizar su lectura; si estos se olvidan debe
ejecutarse el procedimiento descrito en la sección donde se describe el funcionamiento de Pulsador
Reinicio de Configuración.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 14. Pestaña de configuración de la seguridad del SPX5.
Configuración de las interfaces LAN y WLAN.
La interfaz LAN siempre está habilitada y su configuración consiste en definir la dirección IP, la
máscara de red y la dirección de la puerta de enlace. Los valores definidos en los campos deben ser
los adecuados para que el SPX5 haga parte del segmento de red donde se requiere que realice su
trabajo. La dirección de Gateway deberá configurarse únicamente si se pretende acceder al SPX5
desde un segmento de red distinto a donde estará instalada la compuerta.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 15. Configuración de la interfaz LAN
La configuración WLAN podrá ser habilitada o deshabilitada de acuerdo con el estado del control
correspondiente. La filosofía para la definición de las direcciones IP, mascara y compuerta es la
misma que para el caso de la configuración LAN.
Figura 16. Configuración de la interfaz WLAN
DHCP Service Settings:
Existe la posibilidad de habilitar y configurar un servidor DHCP. Las direcciones de inicio y
finalización deben seleccionar de forma tal que este intervalo incluya la dirección IP antes
especificada.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Wirelless Settings:
El botón “Scan Network” permite identificar los SSID en el alcance de la interfaz WIFI del SPX5
siempre que la interfaz WLAN se encuentre habilitada.- En caso de habilitarla y pretender usar el
botón “Scan Network” recuerde que es necesario guardar la configuración previamente- La
ventana asociada a este botón proporciona información del MAC Address, la topología, el canal
utilizado, el tipo de autentificación y encriptación así como la calidad del enlace. Con esta
información el usuario puede seleccionar el canal menos utilizado para establecer la comunicación
con otros dispositivos o aceptar los parámetros de configuración del enlace establecido en otro
dispositivo según sea el caso.
Figura 17. Configuración del servicio DHCP
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 18. Configuración de la interfaz Wireless
El botón de Topología permite seleccionar entre Ad-Hoc y AP-Infraestructure. La primera se
recomienda cuando se pretende realizar un enlace donde todos los nodos tienen el mismo estado
dentro de la red y serán libres de asociarse con otros dispositivos que se encuentre en el rango del
enlace.
La topología Punto de Acceso- Infraestructura requiere que exista un dispositivo configurado como
Punto de Acceso que bien puede ser un SPX5, que deberá configurarse en este modo, u otro
dispositivo de red. Los demás dispositivos que se requieran conectar a este tipo de red, que bien
pueden ser otros SPX5, teléfonos inteligentes o tableas, deberán configurarse en modo
infraestructura. Tenga presente que solo la gran mayoría de teléfonos y tabletas por defecto están
configurados en modo infraestructura por defecto. En el campo Passphrase debe incluirse un string,
de al menos nueve caracteres alfanuméricos para establecer la contraseña.
MAC Adress Whitelist:
Es posible habilitar un conjunto de direcciones MAC para que solo estas puedan conectarse al SSID
habilitado en el dispositivo. Existe la posibilidad de definirle un nombre amigable para identificar el
dispositivo de manera rápida.
Configuración de los protocolos de Red.
SPX5 cuenta con un conjunto de protocolos que permite comunicar una amplia variedad de sistemas
industriales. Es importante resaltar que es posible configurar varios de estos protocolos de forma
simultánea y el equipo podrá operar correctamente; es posible por ejemplo configurar
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
simultáneamente tres protocolos Modbus TCP Client para leer datos de tres dispositivos Modbus
de forma eficiente. Desde el punto de vista de servidores, también es posible agregar varios que
podrían configurarse hacer un control de tráfico entre los diversos clientes. Todas las ventanas de
configuración de protocolos cuentan con un área común, llamada “General Settings” donde es
posible donde es posible incluir un nombre y comentarios de la configuración que se ha establecido
en cada comando.
Figura 19. Ventana de Configuración de Protocolos.
Protocolo Modbus TCP Cliente
Para la correcta configuración de este cliente deben especificarse bloques de transferencia de datos
o comandos, que indican que información debe solicitarse de un equipo Modbus TCP/IP y donde
será copiada la información en la base de datos del SPX5. Los comandos se ejecutarán
periódicamente según el tiempo de interrogación especificado.
En la Figura 20, particularmente en la sección de “Protocol Settings” se pueden configurar tres
valores. (1). Time Out, (2). Retry Count y (3). Back Off. Cuando el cliente que se está configurando
se comunica con un servidor Modbus TCP, después de realizar una solicitud, espera el tiempo
establecido en Time Out por la respuesta. Si esta respuesta no llega durante el tiempo establecido,
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
realiza el número de intentos especificado en Retry Count y si aún la comunicación continua siendo
no exitosa, el SPX5 deja de realizar este proceso durante el tiempo establecido en Back Off.
Figura 20. Configuración Protocolo Modbus TCP Cliente
Si por el contrario, la comunicación se realiza de forma exitosa, el tiempo establecido en “(5) Poll
Interval “mostrado ahora en la Figura 21, será el mínimo tiempo establecido para ejecutar cada uno
de los comandos. Cuando se ha seleccionado una habilitación continua, SPX5 tratará de ejecutar
este comando cada vez que el tiempo especificado expire. Por ejemplo, un comando con 100ms de
“Poll Interval” será ejecutado cada 100 ms.
Figura 21. Configuración Protocolo Modbus TCP Cliente
En el campo (4) Enable, cada comando podrá ser deshabilitado, habilitado de forma continua o que
se podrá ejecutar cuando exista cambio en el dato que está siendo direccionado cuando este se va
a escribir únicamente.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
En (6) Device IP Address y Device Node Address, se debe especificar la dirección IP donde está
configurado el servidor Modbus TCP Server y la dirección de nodo respectivamente. El SPX5 detecta
automáticamente si la dirección especificada se encuentra en la subred Ethernet o WIFI y dirige los
mensajes a esa interfaz. De no ser un mensaje para alguna de las subredes configuradas, el mensaje
se envía vía Ethernet al Default Gateway. Generalmente el parámetro Device Node Address es
ignorado por el servidor Modbus TCP/IP, sin embargo algunos dispositivos como enrutadores de
TCP/IP a serial pueden requerir este parámetro para especificar la dirección del esclavo serial.
En el campo (7) Modbus Function, se puede seleccionar entre las ocho funciones disponibles.
En el campo (8) Device Modbus Address se especifica la dirección de la tabla Modbus, del
dispositivo configurado como servidor, donde se encuentra el valor con el que se desea operar. Esta
dirección debe ser el offset del registro en base a cero. Por ejemplo para leer el registro 40001 debe
usarse 0.
En el campo (9) SPX5 Database Addres se especifica la dirección de la base de datos del SPX5 donde
se encuentra la información con la cual se va a trabajar; esta dirección puede apuntar bien a una
fuente o a un destino. Es importante resaltar que esa dirección puede ser una dirección de palabra
cuando en el comando seleccionado intervienen registros o puede ser una dirección de bit cuando
en el comando interviene información referente a bits.
En el campo (10) Register Count se especifica la cantidad de registros hacia adelante desde la
dirección de la fuente que serán modificados por el comando ejecutado. Si por ejemplo, se está
leyendo desde el servidor, la cantidad especificada en 10 será leída desde el nodo y su contenido
será escrito en la base de datos del SXP5 a partir de la dirección escrita en el campo 9.
Las opciones disponibles en el campo (11) Data Swap, permiten que los datos modificados con el
comando en cuestión puedan tener la manipulación de byte, palabra y palabra-byte según sea el
caso. En la Tabla 3 se presenta un ejemplo de la utilización de la característica Data Swap.
Tabla 3. Ejemplo de utilización de Data Swap
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Protocolo Modbus TCP Server
Figura 22. Ventana de configuración del Protocolo Modbus TCP Server
El protocolo Modbus TCP Server por defecto está configurado en el puerto 502. Es posible
seleccionar el número máximo de conexiones en “Concurrent Connections” y el valor de
“Connection Timeout” en su ventana de configuración.
Toda la información que se encuentra en la base de datos del SPX5 está disponible para los clientes
Modbus que interactúen con el servidor configurado. En la figura 23 se encuentra el mapa de
memoria del SPX5 y permite encontrar las equivalencias de direcciones entre un dispositivo Modbus
nativo y las direcciones de la base de datos del SPX5.
Por ejemplo, en la palabra 0 de la base de datos del SPX5, se puede escribir la información
correspondiente al “Holding Register” 40001 o el contenido de “Coils” entre las direcciones 1 a 16.
En la palabra 1 de la base de datos del SPX5, se puede leer la información de los “Input Register”
30002 o de los “Input Status” 101017 al 10032
Figura 23. Mapa de Memoria de SPX5 relacionado con dispositivo Modbus nativo.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Protocolo Ethernet IP/TAG Como en los otros protocolos, es necesario especificar bloques de transferencia de datos o
comandos que indicarán que Tags de un PLC de Allen Bradley deberán transferirse desde o hacia la
base de datos del SPX5.
En el área de “Protocol Settings” los cuatro campos marcados por el número 1 en la figura 24
permiten especificar la dirección del PLC, el slot del chasis donde está conectado el procesador Allen
Bradley y los valores máximos de los tiempos de conexión al PLC y del mensaje que se pretende
enviar.
En el área de Tag Settings, marcado por el número 2, se especifica la información referente al Tag
con el cual se pretende trabajar. En la pestaña Enable es posible habilitar, deshabilitar o actualizar
solo en caso de cambio, durante la escritura, el comando que se está configurando. En la sección
Data Direction se puede configurar el proceso de lectura o escritura de datos. En el campo Tagname
debe especificarse el nombre del Tag que se encuentra definido en la sección de Controller Tags del
PLC de Allen Bradley. El formato para los tags puede ser: tag, tag.elemento, tag[indice],
tag.elemento[indice].elemento. El tipo de dato que con el que se pretende trabajar se debe
seleccionar en el menú Data Type
Figura 24.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
El campo Register Count se utiliza para trabajar con Tags del PLC que son arreglos. Para todos los
datos que no son booléanos se direcciona de la siguiente manera. Si el Tag se especifica sin
paréntesis cuadrados “Tag” el valor especificado en Register Count permitirá la lectura o escritura
de esa cantidad de elementos del arreglo. Si por el contrario, se especifica un Tag con paréntesis
cuadrados y un índice en su interior, “Tag[Index]”, se realizará el proceso de lectura o escritura en
los elementos del arreglo que estén apuntados por la cantidad “Index + Register Count” Por
ejemplo, si se construye en el PLC un arreglo llamado EXA conformado por 100 elementos del tipo
real y se quiere leer el contenido de los últimos 20 elementos desde el SPX5 y almacenarlo en la
posición 1000 de la base de datos del SPX5, repitiendo este proceso al menos cada 100ms es posible
realizarlo como se muestra en la figura 25.
Figura 25. Ejemplo de configuración de la lectura de un TAG desde un PLC de AB
Si el arreglo está formado por datos de tipo booleano, el direccionamiento se realiza en palabras de
32 bits y el valor de Register Count apunta a cantidades de 32 bits. Si por ejemplo en el PLC existe
un Tag llamado EXABOOL de tipo bool array, que cuenta con 128 elementos y se desea leer el
elemento 33 y ubicarlo en la posición del BIT 1153 de la base de datos del SPX5 se debe configurar
el SPX5 como aparece en la figura 26. En la sección referente a la utilización e interpretación de la
información que proporciona la base de datos del SPX5 se aborda el tema de ubicación de la
información en profundidad.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 26. Ejemplo de configuración de la lectura de un TAG de tipo booleano desde un PLC de AB
Protocolo NTP
El SPX5 cuenta con la posibilidad de utilizar un servidor NTP para configurar la fecha y hora de
trabajo. En la figura 27 se presentan los campos que deberán ser especificados para lograr
configurar el protocolo. En los campos NTP Server Address y Backup NTP Server Address se deben
especificar las direcciones IP del servidor y el servidor de respaldo. Si no se cuenta con el servidor
de respaldo se debe usar la misma dirección IP en ambos campos. Se debe especificar los valores
de offset tanto en horas como en minutos respecto al tiempo del meridiano de Greenwich en los
campos Time Zone Hour Offset y Time Zone Minute Offset. Es posible configurar el intervalo de
actualización especificando el valor en minutos en el campo Request Interval.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 27. Ventana de configuración del Protocolo NTP
Configuración Protocolos Seriales
Configuración de Protocolo Modbus RTU Maestro
Para configurar el protocolo es necesario especificar bloques de transferencia de datos o
comandos que indicarán que información debe solicitarse de un equipo Modbus RTU y en que
lugar de la base de datos del SPX5 será copiada la información. La ejecución de los comandos
se realiza periódicamente según el tiempo de interrogación especificado.
En la figura 28, se presenta la ventana de configuración del puerto serial. En la sección de Port
Settings es posible seleccionar el tipo de interfaz entre RS-485 y RS 422, la Rata de Baudios a la
cual se desea realizar la comunicación, la paridad, el número de bit de datos y el número de
bits de parada.
En la sección de Protocol Settings, en el campo Command Delay se especifica el tiempo de
retardo entre comandos, en el campo Intercharacter Timeout el máximo tiempo de espera por
respuesta de un mensaje, en el campo Retray Count el número de reintentos de mensajes
fallidos y en el campo Back Off se especifica el tiempo en que un dispositivo se mantiene fuera
del barrido después de que ha presentado un error de comunicación.
En la configuración del protocolo es posible seleccionar los valores de Command Delay, Mesage
Timeout, Intercharacter Timeout, Rety Count y Back Off que deberán seleccionarse de acuerdo
con el tipo de aplicación que se esté programando en la unidad. En la pestaña de General
Settings, como es normal con los comandos programados en SPX5 es posible definir el nombre
del comando e ingresar comentarios particulares. En la pestaña Command Settings se puede
especificar el comando y conserva una estructura muy similar a la utilizada en el comando
Modbus Cliente que se presenta en la sección 4.3.1.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 28. Configuración de Puerto Serial
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 29. Configuración Comandos Seriales
En el campo General Settings es posible definir un Nombre y especificar Comentarios del comando.
En la pestaña Command Settings es posible Habilitar de forma Continua o Ante Cambios o bien
deshabilitar el comando. Se puede especificar el tiempo de encuesta o Poll Interval, se puede
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
seleccionar entre una de las ocho Funciones Modbus. En el campo Device Modbus Addres se
especifica la dirección del registro Modbus con el que se preténdete trabajar. En el campo SPX5
Database Address se especifica la dirección de la base de datos del SPX5 donde se pretende leer o
escribir la información. El campo Register Count me permite especificar la cantidad de registros
que se involucran en la operación. El campo Data Swap me permite seleccionar el tipo de
ordenamiento (Byte, Word y Byte-Word) que se le desea aplicar al valor que esta siendo operado.
Finalmente en el campo Device Node Address corresponde a la dirección del nodo en la red
Modbus RTU. Debe usarse una dirección de la 0 a la 255, donde 0 representa un comando broadcast
(es recibido por todos los dispositivos conectados en la red). Es posible usar en este campo una
directiva de direccionamiento indirecto. Las directivas de direccionamiento indirecto disponibles
son:
@UINT8(Direccion en Byte)
@UINT16(Direccion en Word[,swap code])
@INT16(Direccion en Word[,swap code])
@UINT32(Direccion en Word[,swap code])
@INT32(Direccion en Word[,swap code])
@REAL32(Direccion en Word[,swap code])
@BIT(Direccion en Bits)
El objetivo de las directivas de direccionamiento indirecto es reemplazar en la configuración un valor
de la base de datos en tiempo real. Esto permite por ejemplo la habilitación o deshabilitación de
comandos basado en valores existentes en la base de datos o cambiar el nodo destino de un
comando.
Por ejemplo, en el caso de colocar en el campo Device Node Address como @INT16(100), el SPX5
procederá a tomar el valor (en formato entero de 16 bits) de la palabra 100 de la base de datos y
usará este valor como dirección del nodo Modbus. Si el valor es invalido, por ejemplo -1, el comando
se deshabilita automáticamente. De esta forma es posible hacer que al modificar la palabra 100 de
la base de datos se interrogue a un equipo con una dirección de esclavo Modbus diferente a la que
esta configurada.
Configuración de Protocolo Modbus RTU Esclavo
El protocolo Modbus RTU Esclavo permite que otro dispositivo Modbus RTU Maestro acceda a la
totalidad de la base de datos del SPX5. En la figura 30, donde se repite el contenido de la Figura 23,
se encuentra el mapa de memoria del SPX5 y permite encontrar las equivalencias de direcciones
entre un dispositivo Modbus nativo y las direcciones de la base de datos del SPX5.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Por ejemplo, en la palabra 0 de la base de datos del SPX5, se puede escribir la información
correspondiente al “Holding Register” 40001 o el contenido de “Coils” entre las direcciones 1 a 16.
En la palabra 1 de la base de datos del SPX5, se puede leer la información de los “Input Register”
30002 o de los “Input Status” 101017 al 10032.
Figura 30. Base de datos del SPX5 vista por un Maestro Modbus.
Cuando se configura el protocolo Modbus RTU esclavo en la pestaña General Settings es posible
incluir un comentario que describa la intención de la comunicación. En la parte de Port Settings es
posible seleccionar la interfaz (RS-232, RS 422 o RS 485), la Rata de Baudios (300-115200), Paridad,
Bits de Datos y Bit de Parada.
En la pestaña de Protocol Settings es posible definir la Dirección Del Esclavo, que debe ser un valor
entre 1 y 255 así como también la temporización correspondiente. Es posible especificar la
magnitud de la Demora de la Respuesta así como también el Intervalo de Tiempo entre Caracteres.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 31. Pestaña de configuración del Esclavo Modbus RTU
Ejecución de Scripts. Lua es un lenguaje de programación extensible diseñado para una programación procedimental
general con utilidades para la descripción de datos. También ofrece un buen soporte para la
programación orientada a objetos, programación funcional y programación orientada a datos. Se
pretende que Lua sea usado como un lenguaje de script potente y ligero para cualquier programa
que lo necesite. Lua está implementado como una biblioteca escrita en C limpio (esto es, en el
subconjunto común de ANSI C y C++).
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Siendo un lenguaje de extensión, Lua no tiene noción de programa principal (main): sólo funciona
embebido en un cliente anfitrión, denominado programa contenedor o simplemente anfitrión (host).
Éste puede invocar funciones para ejecutar un trozo de código Lua, puede escribir y leer variables de
Lua y puede registrar funciones C para que sean llamadas por el código Lua. A través del uso de
funciones C, Lua puede ser aumentado para abarcar un amplio rango de diferentes dominios,
creando entonces lenguajes de programación personalizados que comparten el mismo marco
sintáctico. La distribución de Lua incluye un programa anfitrión de muestra denominado lua, que usa
la biblioteca de Lua para ofrecer un intérprete de Lua completo e independiente.
Texto tomado de: http://www.lua.org/manual/5.1/es/manual.html
Ejemplos de Scripts
Temporización en Segundos Cuando es necesario introducir una demora, mayor a 1 segundo y en cantidades enteras de
segundos, se puede utilizar el siguiente script:
Startup
TiempoInicial = os.time()
Continous
if os.difftime(os.time(),TiempoIncial)>1 then
TiempoInicial = os.time()
Escriba su código en esta parte]
end
En el Startup se define una variable “Tiempo Inicial” que almacena una cantidad que proporciona la
function os.time()
En Continous, el condicional if, evalúa la diferencia “os.difftime” actual entre os.time() y el valor
almacenado antes en TiempoInicial; si esta diferencia es mayor que 1, se ejecuta una instrucción
que actualiza el valor de la variable TiempoInicial y posteriormente se ejecuta el código que se
pretende temporizar. Si se requiere temporizar cantidades mayores a 1 segundo se debe evaluar la
diferencia respecto a la cantidad en segundos que se requiere temporizar.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Lectura y Escritura de valores de la base de datos.
En este ejemplo se requiere leer un entero sin signo desde la posición 80 de la base de datos y
ubicarlo en la posición 90 de la base de datos. Las funciones utilizadas para esta operación son
mainDatabase:getUINT16(indice,swapCode) y mainDatabase:setUINT16(indice,valor). En ambas
funciones el valor del índice corresponde a la dirección apuntada, multiplicada por dos. En la sección
4.1 de este manual se presentan las formas de direccionar los valores en la base de datos y se puede
evidenciar la razón de la multiplicación por dos e la dirección incluida en el parámetro “índice”
Startup
Entrada=0
Continous
Entrada=mainDatabase:getUINT16(2*10,0)
mainDatabase:setUINT16(2*100,Entrada)
Operaciónes Matematicas de valores.
En este caso, un dato proveniente de un dispositivo Modbus llega a la base de datos del SPX5, en la
dirección 100 y tiene un rango de valores entre 0 y 4096. En el PLC de AB se requiere que se escriba
en un Tag llamado Qtot, correspondiente el valor de la raíz cuadrada del valor enviado por el
dispositivo modbus y que se encuentra en la posición 105 de la base de datos del SPX5
Startup
Entrada=0
Salida=0
TiempoInicial = os.time()
Continous
if os.difftime(os.time(),TiempoIncial)>1 then
TiempoInicial = os.time() Entrada =mainDatabase:getUINT16(2*100,0)
Salida= math.sqrt (Entrada)
mainDatabase:setFLOAT(2*105,Salida,0)
end
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 32. Configuración del Tag Qtot para PLC de AB
Descripción de Objetos disponibles en SPX5.
La versión de LUA disponible en el SPX5 cuenta con un conjunto de objetos que permiten, entre
otras cosas, verificar el estado de los comandos programados.
Funciones disponibles para la manipulación de la base de datos desde el Script.
En la Tabla 4 se presenta un conjunto de funciones que permite dentro de los scripts leer o escribir
valores de la base de datos. El valor de los índices que se deben incluir en las funciones se especifica
en bytes, a menos que sean operaciones orientadas a bit. Es importante resaltar que las direcciones
de la base de datos del SPX5 se especifican en palabras (16 bits) luego si se pretende apuntar a la
dirección 10 de la base de datos desde una función, el índice que se debe incluir deberá ser 2*10.
En el Apéndice A se presenta una lista de estas funciones con algunos ejemplos de utilización.
mainDatabase:setUINT8(indice,valor) mainDatabase:getUINT8(indice)
mainDatabase:setUINT16(indice,valor) mainDatabase:getUINT16(indice,swapCode)
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
mainDatabase:setINT16(indice,valor) mainDatabase:getINT16(indice,swapCode)
mainDatabase:getINT32(indice,swapCode) mainDatabase:setINT32(indice,valor,swapCode)
mainDatabase:getUINT32(indice,swapCode) mainDatabase:setUINT32(indice,valor,swapCode)
mainDatabase:getFLOAT(indice,swapCode) mainDatabase:setFLOAT(indice,valor,swapCode)
mainDatabase:getBit(indice) mainDatabase:setBit(indice,valor,swapCode)
Tabla 4. Funciones disponibles para la manipulación de la base de datos del SPX5.
HMI
El SPX5 cuenta con la posibilidad de construir un HMI al utilizar el software de configuración basado
en WEB con el que cuenta la unidad. Existen seis tipos básicos de componentes que se pueden
utilizar para la construcción de una interfaz. Se pueden incluir Etiquetas, Imágenes, Valores,
Multiestados, Barras de Nivel y Escritura de Valores.
Para construir una pantalla de visualización se debe seleccionar en el menú “Screens” la opción de
adicionar un nuevo Screen. En la sección de propiedades es posible definir el Nombre de la pantalla,
el Color del Fondo, el Ancho y el Alto. En la figura 33 se muestran las ventanas y secciones de
configuración inicial del HMI.
Figura 33. Ventana de configuración inicial del HMI.
Una vez definida la superficie de trabajo del HMI es posible adicionar cualquiera de los componentes
disponibles. La posición relativa de cualquier componente se puede cambiar al especificar las
coordenadas X Y o mediante las flechas del cursor. Si se adiciona una Imagen por ejemplo, debe
seleccionarse el recuadro verde de nombre Imagen y debe arrastrarse a la superficie de trabajo.
Aparecerá por defecto un rectángulo, con dimensiones de 100 x 50 piexeles, de líneas punteadas
con una X en su esquina superior izquierda. Este rectángulo podrá ubicarse en cualquier parte de
la superficie de trabajo. En la sección de Propiedades será posible cambiar la dimensión de la
imagen, su posición X Y, cambiar su escala dentro del área antes definida y especificar un enlace que
permitirá el control de navegación de la aplicación. Con este enlace es posible regresar a la pantalla
anterior o desplazarse hasta otra pantalla. En la figura 34 se muestra la ventana de Manejo de
Imágenes donde es posible adicionar, cambiar o eliminar las imágenes con las que se está realizando
el HMI. Los formatos y tipos de imágenes que se pueden cargar son los mismos que soporte un
navegador normal, sin embargo, es importante resaltar que si su tamaño es importante, también
así lo será el archivo de configuración del SPX5.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
En la figura 35 se muestra una pantalla de configuración donde se ha adicionado una Etiqueta
llamada “Label Example”. En la sección de Propiedades es posible cambiar el color del fondo y el
texto, el área de la Etiqueta, el tamaño de la letra y grosor de la letra. También es posible, como en
el caso de la imagen, adicionar un enlace.
Los componentes Valor, Multiestado y Barra de Nivel comparten las propiedades dimensionales y
asociadas a la forma en que se visualizan los textos con las etiquetas; todas estas además cuentan
con un campo que permite especificar la fuente de la base de datos desde donde se traen los
valores.
Figura 34. Pestaña de Manejo de Imagenes
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Figura 35. Pestaña de Configuracion de Label.
En la Tabla 5 se presenta un conjunto de funciones que permiten traer información desde la base
de datos del SPX5 y utilizarlas como fuente de información para los componentes Valor,
Multiestado y Barra de Nivel.
@UINT8(Direccion en Byte)
@UINT16(Direccion en Word[,swap code])
@INT16(Direccion en Word[,swap code])
@UINT32(Direccion en Word[,swap code])
@INT32(Direccion en Word[,swap code])
@REAL32(Direccion en Word[,swap code])
@BIT(Direccion en Bits)
Tabla 5. Funciones para configurar HMI.
En el caso de los Valores es posible adicionar prefijos y sufijos a la cantidad que se muestra en la
pantalla. Esta opción es particularmente útil cuando se requiere adicionar las unidades de ingeniería
o modificar algún Tag particular.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
El componente Multiestado permite asociar a un conjunto de estados una imagen particular. De
acuerdo con el valor tomado por la fuente de datos, en el HMI se visualizará la imagen relacionada.
En la figura 36 se muestra la pestaña de configuración del componente Multiestado.
Figura 36. Pestaña de configuración de los Multiestados.
En el componente Barra de Nivel se puede cambiar la geometría (Ancho o Alto) de la barra de
acuerdo con el valor especificado en Data Source. Es posible definir el rango de variación
especificando los valores Máximo y Mínimo. De acuerdo con la opción seleccionada en dirección es
posible que la barra crezca o se reduzca hacia arriba, abajo, izquierda o derecha.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Apéndice 1: Objetos de y funciones de LUA disponibles en Lenguaje
Script del SPX5
Funciones Varias:
Funcion: SaveDatabaseData
Función: SaveDatabaseData(startByte,byteCount,fileIndex)
Descripción: Escribe el contenido de una sección de la base de datos a memoria no volátil. NOTA: Esta función limita la escritura a una vez por minuto. De llamarla mas frecuentemente que esto no procede a escribir nada hasta que por lo menos haya pasado un minuto desde el reinicio del modulo o desde que se realizo la ultima escritura
Parámetros: startByte Inicio en Bytes de la región de la base de datos que se desea almacenar en memoria no volátil.
byteCount Cantidad de bytes de la base de datos a almacenar en memoria no volátil .
fileIndex Indice del archivo a almacenar. Pueden almacenarse hasta 10 regiones de memoria identificadas con un número del 0 al 9
Retorna: BOOL Retorna si el almacenamiento de los datos fue exitoso: false: No fue posible almacenar los datos true: Datos almacenados de forma exitosa
Ejemplos: -- Usa el primer bit de la base de datos
-- como bandera para proceder a escribir
-- la base de datos a memoria no volátil
-- esa misma bandera es vuelta a colocar
-- en 0 cuando la escritura es exitosa
-- Este ejemplo debe estar en el script
-- continuo
local writeBit = NUMERIC_DATABASE:getBit(0)
if writeBit==true then
-- almacena 180 bytes comenzando en el
-- byte 20 en el archivo numero 1
local result = SaveDatabaseData(20,180,1);
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
if (result) then
NUMERIC_DATABASE:setBit(0)
end
end
Funcion: LoadDatabaseData
Función: LoadDatabaseData(startByte,byteCount,fileIndex)
Descripción: Lee el contenido de una sección de la base de datos de memoria no volátil y la copia en la posición especificada en la base de datos numérica.
Parámetros: startByte Inicio en Bytes de la región de la base de datos que se desea cargar desde memoria no volátil.
byteCount Cantidad de bytes de la base de datos a cargar desde la memoria no volátil .
fileIndex Indice del archivo a cargar. Pueden almacenarse hasta 10 regiones de memoria identificadas con un número del 0 al 9
Retorna: BOOL Retorna si la carga de datos fue exitosa: false: No fue posible cargar los datos true: Datos cargados de forma exitosa
Ejemplos: -- Este ejemplo debe estar en el script
-- de startup
-- carga 180 bytes comenzando en el
-- byte 20 desde el archivo numero 1
local result = LoadDatabaseData(20,180,1);
Objeto de Base de Datos Numérica:
NUMERIC_DATABASE
Alias:
mainDatabase
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Tanto NUMERIC_DATABASE como mainDatabase pueden usarse de forma indistinta, sin embargo
en futuras versiones del firmware, mainDatabase, pudiera desaparecer, por lo que es
recomendable empezar nuevos desarrollos usando NUMERIC_DATABASE.
Funciones:
Objeto: NUMERIC_DATABASE
Función: setUINT8(índice,valor)
Descripción: Escribe en la base de datos numérica un número entero sin signo de 8 bits
Parámetros: Índice Índice en Bytes de la base de datos a escribir
valor Valor numérico que se desea escribir en la base de datos. Debe estar en el rango de 0 a 255.
Retorna: Nada
Ejemplos: -- Escribe 123 en el primer byte de la
-- base de datos
NUMERIC_DATABASE:setUINT8(0,123)
-- Forma Alternativa
mainDatabase:setUINT8(0,123)
Objeto: NUMERIC_DATABASE
Función: setUINT16(índice,valor[,código de intercambio])
Descripción: Escribe en la base de datos numérica un número entero sin signo de 16 bits
Parámetros: Índice Índice en Bytes de la base de datos a escribir
valor Valor numérico que se desea escribir en la base de datos. Debe estar en el rango de 0 a 65535.
Código de Intercambio
Opcional. Forma en la que deben ordenarse los bytes al ser estos escritos en la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes.
Retorna: Nada
Ejemplos: -- Escribe 12345 en el primer byte de la
-- base de datos sin intercambiar bytes
NUMERIC_DATABASE: setUINT16(0,12345,0) -- Forma Alternativa
mainDatabase: setUINT16(0,12345,0)
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Objeto: NUMERIC_DATABASE
Función: getUINT8(índice)
Descripción: Lee de la base de datos numérica un número entero sin signo de 8 bits.
Parámetros: Índice Índice en Bytes a leer de la base de datos.
Retorna: Número Resultado de la lectura de la base de datos como un número en el rango de 0 a 255.
Ejemplos: -- Obtiene el valor del primer byte de la
-- base de datos
local value = NUMERIC_DATABASE: getUINT8(0) -- Forma Alternativa
local value = mainDatabase: getUINT8(0)
Objeto: NUMERIC_DATABASE
Función: getUINT16(índice,Código de Intercambio)
Descripción: Lee de la base de datos numérica un número entero sin signo de 16 bits.
Parámetros: Índice Índice en Bytes a leer de la base de datos.
Código de Intercambio
Forma en la que deben ordenarse los bytes al ser estos escritos en la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes.
Retorna: Número Resultado de la lectura de la base de datos como un número en el rango de 0 a 65535.
Ejemplos: -- Obtiene el valor de la primera palabra
-- de la base de datos
local value = NUMERIC_DATABASE: getUINT16(0) -- Forma Alternativa
local value = mainDatabase: getUINT16(0)
Objeto: NUMERIC_DATABASE
Función: getINT16(índice[,Código de Intercambio])
Descripción: Lee de la base de datos numérica un número entero con signo de 16 bits.
Parámetros: Índice Índice en Bytes a leer de la base de datos.
Código de Intercambio
Forma en la que deben ordenarse los bytes al ser estos leidos de la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Retorna: Número Resultado de la lectura de la base de datos como un número en el rango de -32767 a 32768.
Ejemplos: -- Obtiene el valor de la primera palabra
-- de la base de datos
local value = NUMERIC_DATABASE: getINT16(0) -- Forma Alternativa
local value = mainDatabase: getINT16(0)
Objeto: NUMERIC_DATABASE
Función: setINT16(índice, valor [,código de intercambio])
Descripción: Escribe en la base de datos numérica un número entero con signo de 16 bits
Parámetros: Índice Índice en Bytes de la base de datos a escribir
valor Valor numérico que se desea escribir en la base de datos. Debe estar en el rango de -32767 a 32768.
Código de Intercambio
Opcional. Forma en la que deben ordenarse los bytes al ser estos escritos en la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes.
Retorna: Nada
Ejemplos: -- Escribe -12345 en la primera palabra de
-- 16 bits de la base de datos
-- sin intercambiar bytes
NUMERIC_DATABASE: setINT16(0,-12345,0) -- Forma Alternativa
mainDatabase: setINT16(0,12345,0)
Objeto: NUMERIC_DATABASE
Función: getINT32(índice[,Código de Intercambio])
Descripción: Lee de la base de datos numérica un número entero con signo de 32 bits.
Parámetros: Índice Índice en Bytes a leer de la base de datos.
Código de Intercambio
Forma en la que deben ordenarse los bytes al ser estos leidos de la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes. 2: Intercambiar palabras. 3: Intercambiar palabras y bytes.
Retorna: Número Resultado de la lectura de la base de datos como un número en el rango de . –2,147,483,648 a 2,147,483,647.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Ejemplos: -- Obtiene el valor del primer entero con signo
-- de la base de datos intercambiando
-- palabras y bytes
local value = NUMERIC_DATABASE: getINT32(0,3) -- Forma Alternativa
local value = mainDatabase: getINT32(0,3)
Objeto: NUMERIC_DATABASE
Función: setINT32(índice, valor [,código de intercambio])
Descripción: Escribe en la base de datos numérica un número entero con signo de 32 bits
Parámetros: Índice Índice en Bytes de la base de datos a escribir
valor Valor numérico que se desea escribir en la base de datos. Debe estar en el rango de –2,147,483,648 a 2,147,483,647.
Código de Intercambio
Opcional. Forma en la que deben ordenarse los bytes al ser estos escritos en la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes. 2: Intercambiar palabras. 3: Intercambiar palabras y bytes.
Retorna: Nada
Ejemplos: -- Escribe -1,234,567 en la primera palabra de
-- 16 bits de la base de datos
-- sin intercambiar bytes
NUMERIC_DATABASE: setINT32(0, -1234567,0) -- Forma Alternativa
mainDatabase: setINT32(0, -1234567,0)
Objeto: NUMERIC_DATABASE
Función: getUINT32(índice[,Código de Intercambio])
Descripción: Lee de la base de datos numérica un número entero sin signo de 32 bits.
Parámetros: Índice Índice en Bytes a leer de la base de datos.
Código de Intercambio
Forma en la que deben ordenarse los bytes al ser estos leídos de la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes. 2: Intercambiar palabras.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
3: Intercambiar palabras y bytes.
Retorna: Número Resultado de la lectura de la base de datos como un número en el rango de 0 a 4,294,967,295.
Ejemplos: -- Obtiene el valor del primer entero de 32bits
-- sin signo de la base de datos intercambiando
-- palabras y bytes
local value = NUMERIC_DATABASE: getUINT32(0,3) -- Forma Alternativa
local value = mainDatabase: getUINT32(0,3)
Objeto: NUMERIC_DATABASE
Función: setUINT32(índice, valor [,código de intercambio])
Descripción: Escribe en la base de datos numérica un número entero sin signo de 32 bits
Parámetros: Índice Índice en Bytes de la base de datos a escribir
valor Valor numérico que se desea escribir en la base de datos. Debe estar en el rango de 0 a 4,294,967,295.
Código de Intercambio
Opcional. Forma en la que deben ordenarse los bytes al ser estos escritos en la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes. 2: Intercambiar palabras. 3: Intercambiar palabras y bytes.
Retorna: Nada
Ejemplos: -- Escribe 1,234,567 en la primera palabra de
-- 32 bits de la base de datos
-- sin intercambiar bytes
NUMERIC_DATABASE: setUINT32(0, 1234567,0) -- Forma Alternativa
mainDatabase: setUINT32(0, 1234567,0)
Objeto: NUMERIC_DATABASE
Función: getFLOAT (índice[,Código de Intercambio])
Descripción: Lee de la base de datos numérica un número en formato punto flotante IEEE 754-2008 de 32 bits.
Parámetros: Índice Índice en Bytes a leer de la base de datos.
Código de Intercambio
Forma en la que deben ordenarse los bytes al ser estos leídos de la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes. 2: Intercambiar palabras.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
3: Intercambiar palabras y bytes.
Retorna: Número Resultado de la lectura de la base de datos como un número en punto flotante.
Ejemplos: -- Obtiene el valor del primer numero
-- en formato punto flotante
-- de la base de datos sin intercambiar
-- palabras y bytes
local value = NUMERIC_DATABASE: getFLOAT(0) -- Forma Alternativa
local value = mainDatabase: getFLOAT(0)
Objeto: NUMERIC_DATABASE
Función: setFLOAT (índice, valor [,código de intercambio])
Descripción: Escribe en la base de datos numérica un número en formato punto flotante IEEE 754-2008 de 32 bits
Parámetros: Índice Índice en Bytes de la base de datos a escribir
valor Valor numérico que se desea escribir en la base de datos.
Código de Intercambio
Opcional. Forma en la que deben ordenarse los bytes al ser estos escritos en la base de datos: 0: No intercambiar bytes. 1: Intercambiar bytes. 2: Intercambiar palabras. 3: Intercambiar palabras y bytes.
Retorna: Nada
Ejemplos: -- Escribe 1.234 en la primera palabra de
-- punto flotante de la base de datos
-- sin intercambiar bytes
NUMERIC_DATABASE: setFLOAT (0, 1.234,0) -- Forma Alternativa
mainDatabase: setFLOAT (0, 1.234,0)
Objeto: NUMERIC_DATABASE
Función: getBit(índice)
Descripción: Lee de la base de datos numérica un bit en formato booleano.
Parámetros: Índice Índice en Bits a leer de la base de datos.
Retorna: Bit Booleano Retorna true o false dependiendo del estado del bit especificado.
Ejemplos: -- Obtiene el valor del primer numero
-- en formato punto flotante
-- de la base de datos sin intercambiar
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
-- palabras y bytes
local value = NUMERIC_DATABASE: getBit(0) if value then
-- Si es verdadero el bit (1) hacer algo
end
Objeto: NUMERIC_DATABASE
Función: setBit (índice, valor)
Descripción: Escribe en la base de datos numérica un bit.
Parámetros: Índice Índice en Bits de la base de datos a escribir
valor Valor booleano o numérico que se desea escribir en la base de datos.
Retorna: Nada
Ejemplos: -- Escribe bit en uno en primer bit
-- de la base de datos
NUMERIC_DATABASE: setBit(0,true); -- Escribe bit en zero en primer bit de
-- la segunda palabra de la base de datos
mainDatabase: setBit(16, 0)
Datos de Diagnóstico Interno Los datos de diagnóstico interno se obtienen consultando la tabla STATUS_DATA.
Elemento Contenido
STATUS_DATA. SerialPortsStatus.COM1 Datos de Diagnostico del Puerto Serial 1
STATUS_DATA. SerialPortsStatus.COM2 Datos de Diagnostico del Puerto Serial 2
STATUS_DATA.NetProtocols[índice] Datos de Diagnóstico de Drivers de comunicación de red por índice
STATUS_DATA.NamedNetProtocols[nombre] Datos de Diagnóstico de Drivers de comunicación de red por nombre
Dentro de cada uno de estos elementos la información de status esta determinada por el driver de
comunicaciones que se encuentre configurado para ese puerto.
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
Modbus RTU Maestro
MODBUS RTU MAESTRO: Elementos de la tabla de diagnóstico
STAT_CmdsExecuted Número de Comandos Ejecutados
STAT_ CmdsOK Número de comandos ejecutados exitosamente
STAT_ CmdsERR Número de comandos ejecutados con error
STAT_ CmdsERR_TO Número de comandos ejecutados con Time Out
STAT_ CmdsERR_ITO Número de comandos ejecutados con Time Out entre caracteres
STAT_ CmdsERR_CRC Número de comandos con error de CRC
STAT_ CmdsERR_INV Número de comandos recibidos de forma invalida
STAT_ CmdsERR_MB Número de comandos con errores de Modbus
STAT_ CmdsERR_OTHERS Número de comandos con otros errores
CmdLastError[índice] Lista de errores por comando indexados de forma numérica
NamedCmdLastError[nombre] Lista de errores por comando indexados por nombre
MODBUS RTU MAESTRO: Significado de errores de comando
0 OK
-1 Timeout
-2 Timeout Entre Caracteres
-3 CRC Invalido
-4 Función Invalida
-5 Dirección de Nodo Invalida
-6 Dirección de Nodo Indirecta Invalida
-1000 Función Invalida
-10000 Comando no Ejecutado
1 Función Invalida
2 Dirección Invalida
3 Valor Invalido
4 Falla en Esclavo
MODBUS RTU Maestro: Ejemplos de Consulta de Status
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
-- Obtener el numero de comandos con error del Modbus RTU Maestro
-- configurado en el puerto COM1
local errCount = STATUS_DATA.SerialPortsStatus.COM1. STAT_CmdsERR -- Copiar este número en la base de datos en la palabra 100
mainDatabase: setUINT32(200, errCount)
-- De estar en error el comando numero 5 poner un código
-- de error en la base de datos
local errStatus = STATUS_DATA.SerialPortsStatus.COM1.CmdLastError[5]
if errStatus ˜= 0 then
NUMERIC_DATABASE:setUINT16(1000, -10000)
NUMERIC_DATABASE:setUINT16(1002, -10000)
NUMERIC_DATABASE:setUINT16(1004, -10000)
End
Modbus TCP Cliente
MODBUS TCP Cliente: Elementos de la tabla de diagnóstico
STAT_CmdsExecuted Número de Comandos Ejecutados
STAT_ CmdsOK Número de comandos ejecutados exitosamente
STAT_ CmdsERR Número de comandos ejecutados con error
STAT_ CmdsERR_TO Número de comandos ejecutados con Time Out
STAT_ CmdsERR_ITO Número de comandos ejecutados con Time Out entre caracteres
STAT_ CmdsERR_CRC Número de comandos con error de CRC
STAT_ CmdsERR_INV Número de comandos recibidos de forma invalida
STAT_ CmdsERR_MB Número de comandos con errores de Modbus
STAT_ CmdsERR_INV_IP Número de comandos con dirección IP Invalida
STAT_ CmdsERR_
UNABLE_TO_CONNECT
Número de comandos para los que no fue posible conectarse
STAT_ CmdsERR_OTHERS Número de comandos con otros errores
CmdLastError[índice] Lista de errores por comando indexados de forma numérica
NamedCmdLastError[nombre] Lista de errores por comando indexados por nombre
MODBUS TCP CLIENTE: Significado de errores de comando
0 OK
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
-1 Timeout
-2 Timeout Entre Caracteres
-3 CRC Invalido
-4 Función Invalida
-5 Dirección IP Invalida
-6 No fue posible conectarse
-7 Conexión Cerrada
-8 ID de Transacción Invalida
-1000 Función Invalida
-10000 Comando no Ejecutado
1 Función Invalida
2 Dirección Invalida
3 Valor Invalido
4 Falla en Esclavo
MODBUS TCP Cliente: Ejemplos de Consulta de Status
-- Obtener el numero de comandos con error del Modbus TCP Cliente
-- configurado con nombre “Modbus TCP Client”
local errCount = STATUS_DATA.NamedNetProtocols[“Modbus TCP Client”]. STAT_CmdsERR
-- Copiar este número en la base de datos en la palabra 100
mainDatabase: setUINT32(200, errCount)
-- De estar en error el comando numero 5 poner un código
-- de error en la base de datos
local errStatus = STATUS_DATA.NamedNetProtocols[“Modbus TCP
Client”].CmdLastError[5]
if errStatus ˜= 0 then
NUMERIC_DATABASE:setUINT16(1000, -10000)
NUMERIC_DATABASE:setUINT16(1002, -10000)
NUMERIC_DATABASE:setUINT16(1004, -10000)
End
Modbus TCP Servidor
IZI Technology Inc, 3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA. Tel: (661) 412-3494 -- email: [email protected] www.izitechnology.com
MODBUS TCP Servidor: Elementos de la tabla de diagnóstico
TCPConnAccepted Número de Conexiones TCP Aceptadas
TCPConnRejected Número de Conexiones TCP Rechazadas
MODBUS TCP Servidor: Ejemplos de Consulta de Status
-- Obtener el numero de conexiones aceptadas
local connAccepted = STATUS_DATA.NamedNetProtocols[“Modbus TCP
Server”]. TCPConnAccepted -- Copiar este número en la base de datos en la palabra 100
mainDatabase: setUINT32(200, connAccepted)
Notes: