Mediante WebSocket, puede recibir notificaciones de variables, alarmas y errores del sistema. Para recibir notificaciones, es necesario establecer una sesión y suscribirlas.
Se puede utilizar los protocolos WebSocket (versión 13) y el número máximo de sesiones WebSocket es 5.
Si utiliza la seguridad, envíe un comando de autorización. Si no se realiza la autorización, o si el nivel de seguridad no es suficiente, no recibirá una notificación de la unidad de visualización.
Si no hay ninguna comunicación desde el cliente, la unidad de visualización enviará Ping en WebSocket cada 10 segundos. Si no hay respuesta a 5 Pings (es decir, si no hay comunicación desde el cliente, incluido Pong durante 60 segundos), la sesión se cerrará desde la unidad de visualización.
Puede recibir notificaciones cuando se modifica el valor y/o la calidad de las variables creadas en el software de edición de pantallas.
Para recibir notificaciones, es necesario suscribir las variables a monitorizar. Si la(s) variable(s) suscrita(s) es(son) una(s) variable(s) externa(s), la unidad de visualización comienza a leer el(los) valor(es) desde el(los) dispositivo(s) externo(s).
No se admiten variables de tipo de datos de usuario (estructura, matriz).
Cuando se producen/confirman/recuperan alarmas o errores del sistema en la unidad de visualización, puede recibir notificaciones. Para recibir notificaciones, es necesario suscribirse.
Los comandos son los siguientes:
Para establecer una sesión para WebSocket.
| Elemento | Valor | ||||||||||
| Métodos | GET | ||||||||||
| URL | <Base URL>/ws Base URL | ||||||||||
| Parámetros | N/A | ||||||||||
| Cabecera |
|
||||||||||
| Cuerpo | N/A | ||||||||||
| Ejemplo |
GET http://192.168.1.100:8000/api/v1/ws HTTP/1.1 Host: localhost:8082 Upgrade: websocket Connection: Upgrade Sec-WebSocket-Version: 13 Sec-WebSocket-Key: k3CyFjeNOBNzFZx4blx9kg== Origin: ws://localhost:8082 |
| Elemento | Valor | ||||||||
| Código de estado |
Sesión establecida con éxito, la unidad de visualización enviará 101 (Protocolo de conmutación).
|
||||||||
| Cabecera |
|
||||||||
| Cuerpo | N/A | ||||||||
| Ejemplo |
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: WLjfOfV0ERDw6E/NUUaBpqXnHFc= |
Si utiliza la administración de usuarios, envíe el comando de autorización primero .
| Elemento | Valor | ||||||||
| Remitente | Cliente | ||||||||
| Datos |
|
||||||||
| Ejemplo |
{ "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IlVzZXIxIiwibGV2ZWwiOjF9.eqVwAuo0KMqdggICllJVPs3IE67oHdUpo04w68md7kI " } |
Agregue variables para suscribirse. Si el número de variables de control supera el número máximo, queda truncado. Para las variables agregadas, la notificación se enviará inmediatamente como el valor inicial.
| Elemento | Valor | ||||||||||||
| Remitente | Cliente | ||||||||||||
| Datos |
|
||||||||||||
| Ejemplo |
{ "command": "add_monitor", "variable": ["Variable1","Variable2"] } |
Elimine las variables para darse de baja.
| Elemento | Valor | ||||||||||||
| Remitente | Cliente | ||||||||||||
| Datos |
|
||||||||||||
| Ejemplo |
{ "command": "remove_monitor", "variable": ["Variable1","Variable2"] } |
Para sustituir todas las variables suscritas. Si el número de variables de control supera el número máximo, queda truncado.
Para las variables agregadas, la notificación se enviará inmediatamente como el valor inicial.
| Elemento | Valor | ||||||||||||
| Remitente | Cliente | ||||||||||||
| Datos |
|
||||||||||||
| Ejemplo |
{ "command": "replace_monitor", "variable": ["Variable1","Variable2"] } |
Para eliminar todas las variables suscritas.
| Elemento | Valor | ||||||||
| Remitente | Cliente | ||||||||
| Datos |
|
||||||||
| Ejemplo |
{ "command": "clear_monitor" } |
Para suscribir alarmas y errores del sistema.
| Elemento | Valor | ||||||||||||
| Remitente | Cliente | ||||||||||||
| Datos |
|
||||||||||||
| Ejemplo |
{ "command": "subscribe", "alarm": ["alarm","error"] } |
Para anular las alarmas y los errores del sistema.
| Elemento | Valor | ||||||||||||
| Remitente | Cliente | ||||||||||||
| Datos |
|
||||||||||||
| Ejemplo |
{ "command": "unsubscribe", "alarm": ["alarm","error"] } |
Para recibir una notificación de la unidad de visualización cuando se modifica el valor o la calidad de la variable suscrita.
| Elemento | Valor | ||||||||||||||||||||||||||||
| Remitente | Servidor (Unidad de visualización) | ||||||||||||||||||||||||||||
| Datos |
Información de la variable:
|
||||||||||||||||||||||||||||
| Ejemplo |
{ "updated":”variable”, "data": [ { “name”: “Variable1”, “quality”: “good”, “value”: 100 }, { “name”: “Variable2”, “quality”: “bad” }, { “name”: “Variable3”, “quality”: “unknown” } ] } |
La siguiente tabla muestra los tipos de datos admitidos entre el software de edición de pantallas y WebSocket:
| Tipo de datos | WebSocket (tipo JSON) | Rango de valores de WebSocket |
| BOOL | booleano | true/false |
| BYTE, SINT, USINT, WORD, INT, UINT, DWORD, DINT, UDINT, LWORD, LINT, ULINT, REAL, LREAL, TIME | number | Intervalo de valores de un valor de punto flotante de 64 bits. *Precisión de 52 bits para LWORD, LINT y ULINT. *Nulo cuando un valor REAL o LREAL es NaN o INFINITO. |
| STRING, WSTRING | string | Caracteres admitidos por UTF-8 |
| DATE, TIME_OF_DAY, DATE_AND_TIME | string | Formato ISO 8601 |
Los valores LWORD se muestran como flotante en la unidad de visualización.
Para recibir una notificación de la unidad de visualización cuando se producen/confirman/recuperan/no se confirman alarmas en la unidad de visualización.
| Elemento | Valor | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Remitente | Servidor (Unidad de visualización) | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Datos |
Información de la alarma:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ejemplo |
{ "updated": “alarm”, "data”:[ { "message": "BOOL_Hi", "parameter": 100, "status": "Active", "time": "2017-07-07T16:20:01", "type": "Hi", "variable": "BOOL_Internal" “groupname”: “AlarmGroup1”, “severity”: 1, “value”: true } ] } |
Para recibir una notificación de la unidad de visualización cuando se producen/confirman/recuperan errores del sistema en la unidad de visualización.
| Elemento | Valor | ||||||||||||||||||||||||||||||||
| Remitente | Servidor (Unidad de visualización) | ||||||||||||||||||||||||||||||||
| Datos |
Información sobre el error del sistema:
|
||||||||||||||||||||||||||||||||
| Ejemplo |
{ "updated”:”error", "data": [ { "equipment": "MODBUS_Equipment", "message": "MODBUS_Equipment:TCP connection open error (IP Address:127.0.0.2)", "status": "Active", "time": “2017-07-07T16:42:00" } ] } |