Comandos Complejos
Los comandos secuenciales se utilizan cuando se requiere enviar una secuencia de varios comandos simples que en conjunto realizarán una acción compleja sobre el Dispositivo.
Captura de pantalla
Definición
- Hacer clic en Nuevo en la parte superior derecha de la ventana
- Asigne un nombre al Comando Secuencial mediante el campo Nombre. Con este nombre se verá en la columna correspondiente de la sección Sets de Comando
- Haga clic en Guardar
- Seleccione en la lista el Comando Secuencial que se acaba de crear
- Clic en “Agregar Comando” tantas veces como pasos tenga la secuencia del comando que deseamos crear
- Para cada línea de la tabla:
- En Tipo de dato seleccionar alguna de las siguientes operaciones:
Tipo de dato Descripción Escribir uno o varios Digital Outputs Setea una o varios Coils utilizando el Function Code 5 de Modbus (Force Single Coil), para cada Coil emitirá un telemando Escribir uno o varios Register Outputs Setea una o varios Holding Registers utilizando el Function Code 6 de Modbus (Preset Single Register), para cada Holding Register emitirá un telemando Escribir múltiples Digital Outputs Setea varios Coils utilizando el Function Code 15 de Modbus (Force Multiple Coils), se emite un único telemando para todos los Coils Escribir múltiples Register Outputs Setea varios Holding Registers utilizando el Function Code 16 de Modbus (Preset Multiple Registers), se emite un único telemando para todos los Holding Registers - En Índice comienzo escriba la dirección del primer Coil o Registro, la acción se realizará a partir de esa dirección y por una cierta cantidad de Coils/Registers consecutivos, igual a la cantidad de items del campo Objetos
- En Objetos especifique una lista separada por comas de items de acuerdo a lo expuesto a continuación
- En Tipo de dato seleccionar alguna de las siguientes operaciones:
Objetos
Cada ítem del campo Objetos representa un telemando a realizar sobre un Coil o Registro con una cierta dirección, esa dirección será Índice comienzo más un corrimiento igual a la posición del ítem dentro de Objetos.
El contenido de cada ítem tiene la siguiente estructura: valor_de_origen:operación_sobre_valor
Campo valor_de_origen
Para el valor de origen se pueden utilizar los siguientes prefijos
Prefijo | Descripción |
---|---|
b | Valor binario |
ro | Valor de Register Output |
ri | Valor de Register Input |
pn | Valor de punto |
Ejemplos:
Valor | Descripción |
---|---|
1234 | Valor fijo en formato decimal |
b1010000001001001 | Valor fijo en formato binario (41033 decimal) |
ri120 | Valor tomado del Register Input con dirección 120 |
ro90 | Valor tomado del Register Input con dirección 90 |
pn1233 | Valor tomado del punto con Id 1233 |
Campo operación_sobre_valor
Este campo es opcional, si es omitido no escribir “:” a continuación de valor_de_origen
Permite realizar una alteración de los bits de valor_de_origen mediante el uso del prefijo b, pudiendo usar 1, 0 o #. El numeral (#) conserva el valor del bit, en cambio al usar 1 o 0 se reemplaza ese bit en particular.
Ejemplo
Se define el siguiente Comando Complejo que contiene un único comando, podrían agregarse comandos adicionales a la tabla que se ejecutarían secuencialmente luego de éste
Tipo de dato | Índice comienzo | Objetos |
---|---|---|
Escribir múltiples Register Outputs | 9132 | ri20:b##############0#, ro11:b############1###, pn1233:b############1#1#, b0000000000000110, 1234, pn22345, ri234, ro111 |
A continuación la descripción de cada uno de los Ítems del campo Objetos:
Ítem de Objetos | Descripción |
---|---|
ri20:b##############0# | ✓️ Valor de origen ri20: Lee valor de Register Input con dirección 20 ✓️ Operación b##############0#: Conserva todos los bits y escribe un 0 en el bit 1 ✓️ Escribe el resultado en el Reg. Output nro. 9132 (Índice comienzo) |
ro11:b############1### | ✓️ Valor de origen ro11: Lee valor de Register Output con dirección 11 ✓️ Operación b############1###: Conserva todos los bits y escribe un 1 en el bit 3 ✓️ Escribe el resultado en el Reg. Output nro. 9133 (Índice comienzo + 1) |
pn1233:b############1#1# | ✓️ Valor de origen pn1233: Lee valor de Punto nro. 1233 ✓️ Operación b############1#1#: Conserva todos los bits y escribe un 1 en los bits 1 y 3 ✓️ Escribe el resultado en el Reg. Output nro. 9134 (Índice comienzo + 2) |
b0000000000000110 | Escribe el valor 6 en el Register Output nro. 9135 (Índice comienzo + 3) |
1234 | Escribe valor 1234 en el Register Output nro. 9136 (Índice comienzo + 4) |
pn22345 | Escribe valor de Punto con Id 22345 en el Register Output con dirección 9137 (Índice comienzo + 5) |
ri234 | Escribe valor de Register Input con dirección 234 en el Register Output nro. 9138 (Índice comienzo + 6) |
ro111 | Escribe valor de Register Output con dirección 111 en el Register Output nro. 9139 (Índice comienzo + 7) |