W&T conecta
Interfaces para TCP/IP, Ethernet, RS-232, RS-485, USB, 20mA, fibra óptica de vidrio y de plástico, http, SNMP, OPC, Modbus TCP, I/O digital, I/O analógico, ISA, PCI

Tema:

Programación de Web-IO con zócalos ASCII

Consultar o aplicar señales de IO con comandos legibles



Aquí les mostramos en primer lugar los fundamentos para activar nuestros productos Web-IO con zócalos ASCII vía TCP o UDP y un breve manual de configuración. La página está dividida en las secciones:

  • Acceso vía TCP y configuración de un Web-IO
  • Acceso vía UDP y configuración de un Web-IO
  • Formato y estructura de los comandos ASCII

No importa el lenguajes de programación que se utilice, pues los principios son idénticos para todos. Más abajo hemos incluido enlaces con ejemplos detallados para diferentes lenguajes de alto nivel.


Acceso vía TCP

Acceso vía TCP

Igual que en una conversación telefónica, con TCP es necesario establecer una conexión antes de poder intercambiar información. En este caso, el cliente establece la conexión que será aceptada por el servidor. En las aplicaciones para Web-IO con zócalos ASCII el cliente es siempre la aplicación y el servidor el Web-IO.

Activar Web- IO vía peticiones HTTP

Para ello Web-IO abre un puerto TCP para aceptar la conexión (si no se modifica la configuración es el puerto 42280). El cliente, es decir la aplicación, establece la conexión con la dirección IP del servidor para ese puerto. Y también el cliente abre un puerto TCP (cambio dinámico) en el que se reciben los datos enviados desde el servidor.

Una vez establecida la conexión, la aplicación puede enviar comandos (request) al Web-IO, que serán contestados o ejecutados (reply) por Web-IO. Con la configuración correspondiente, el Web-IO puede transmitir el estado de la entrada (event message) sin previa consulta por parte de la aplicación.

Normalmente es la aplicación la que cierra la conexión TCP. Web-IO cierra la conexión únicamente en caso de error, por ejemplo, cuando la sintaxis de un comando no es correcta.

En el modo de zócalo ASCII para TCP, el Web-IO puede ejecutar un máximo de cuatro conexiones simultáneas. Un intento de conexión de un quinto cliente sería rechazado (de un modo similar a una línea de teléfono ocupada).


Configurar Web-IO para el acceso TCP

Seleccione en la estructura de menús el entorno web Canales de comunicación >> Zócalo API y active Zócalos ACSII para TCP.

Activar Web-IO vía zócalos TCP

El puerto TCP puede ser adaptado a la propia aplicación si fuese necesario.

Cuando Web-IO deba enviar a la aplicación automáticamente el estado en caso de cambios en las entradas, marque la opción correspondiente en Input-Trigger.

Además, hay que habilitar las salidas que deban ser conmutadas a través de la aplicación.

Sobre el punto anteponer dirección IP y nombres del sistema hablaremos más adelante.


Acceso vía UDP

Acceso vía UDP

Al contrario que en una conversación telefónica, UDP no necesita ninguna conexión. De un modo similar a una conversación por radio, simplemente se envía la información. Por lo tanto con UDP no hay cliente ni servidor, se habla de pares UDP que envían sus datagramas en igualdad de condiciones.

Activar Web-IO vía zócalos UDP

La aplicación envía comandos al Web-IO (request) que Web-IO luego responde o ejecuta (reply).


Configurar Web-IO para acceso UDP

Seleccione en la estructura de menús el entorno web Canales de comunicación >> Zócalo API y active Zócalos UDP.

Activar Web-IO vía zócalos UDP

El puerto TCP puede ser adaptado a la propia aplicación si fuese necesario.

Las salidas que deban ser conmutadas a través de la aplicación tienen que estar habilitadas.

Sobre el punto anteponer dirección IP y nombres del sistema hablaremos más adelante.


Comandos ASCII

Formato y estructura de los comandos ASCII

Los comandos y las respuestas a los protocolos son idénticos, independientemente de si se accede vía TCP o UDP.

La estructura de los comandos se basa en el protocolo HTTP original. Cada comando comienza con la secuencia de introducción GET / seguida del comando propiamente dicho. Es imprescindible respetar las mayúsculas y minúsculas indicadas aquí. Separados por ? pueden seguir otros parámetros. En todo caso, para Web-IO Digital la contraseña siempre con la sintaxis PW=password&. Cada grupo de parámetros debe estar cerrado con &, de modo que dos grupos de parámetros también queden separados por &.

IMPORTANTE: los comandos que incluyan grupos de parámetros no deben cerrar con CR (Carriage Return) o LF (Line Feed) ni con ambos. En muchos lenguajes de programación existen los métodos write y writeln . No utilice el método writeln , pues se anexa automáticamente CR y LF.

Ejemplo: solicitud de entrada

Como ejemplo aquí el comando para acceder a los estados de conmutación de entradas. Web-IO está protegido por la contraseña azul.

GET /input?PW=blau&

La respuesta de Web-IO difiere según el modelo, pudiendo ser, por ejemplo, así:

input;1 (Web-IO Digital 2xIn, 2xOut)
input;0001 (Web-IO Digital 12xIn, 12xOut o 12xIn, 6xRelais)

La estructura consta de la palabra clave de la consulta, seguida de uno o varios valores separados por punto y coma. Para finalizar, Web-IO agrega un byte nulo.

Por lo tanto, la respuesta comienza aquí con la palabra clave input seguida del valor 1 o 0001, que describe el estado de conmutación de todas las entradas en formato hexadecimal. Aquí concretamente entrada 0 = ON, todas las demás entradas = OFF.

Para una mejor comprensión del código hexadecimal de entradas he aquí otro ejemplo de un Web-IO con 12 entradas:

En ON se encuentran las entradas 0,1,5,7,10,11. Las otras entradas están en OFF. A partir de ese patrón de bit resulta un número dual en el que los bits ON equivalen a 1 y los bits OFF a 0.

En nuestro caso 1100 1010 0011.
En escritura hexadecimal equivale a CA3 o en una representación de cuatro dígitos 0CA3.
Encontrará más información acerca de la numeración hexadecimal aquí.

Ejemplo: aplicar salidas

El comando para aplicar salidas tiene una estructura similar al comando input, pero tiene más parámetros:

GET /outputaccess0?PW=blau&State=ON&

La cifra detrás de la palabra clave outputaccess indica qué salida debe ser conmutada - aquí la salida 0. Con State se transmite el estado al que se conmuta. Son valores posibles ON,OFF y TOGGLE (cambio de estado).

La respuesta de Web-IO difiere según el modelo, pudiendo ser, por ejemplo, así:

output;1 (Web-IO Digital 2xIn, 2xOut)
output;0001 (Web-IO Digital 12xIn, 12xOut o 12xIn, 6xRelais)

Igual que en la consulta de la entrada, se envía como respuesta la palabra clave respectiva seguida del patrón de bit sobre los estados de la salida y el byte nulo. Independientemente de la salida aplicada, el patrón de bit describe siempre el estado de todas las salidas.

Encontrará una sinopsis detallada de todos los comandos en la sinopsis de comandos o en manual de programación para Web-IO.


Ejemplos en diferentes lenguajes de programación

Productos