7. Interfaz de bus de campo
7.1 Modbus TCP
7.1.1 Información general para el funcionamiento con Modbus TCP
BactoSense puede utilizarse mediante Modbus Transmission Control Protocol (TCP). Deben cumplirse los siguientes requisitos:
- El ordenador y/o el sistema de gestión o control deben ser compatibles con Modbus TCP.
- El ordenador y/o el sistema de gestión o control deben disponer de software capaz de procesar correctamente los datos proporcionados por BactoSense.
- BactoSense debe tener activado el servicio Modbus TCP en Home → Ajustes → Ajustes del sistema → Servicios del sistema.
- BactoSense debe estar conectado al sistema de bus.
- Para poder trabajar con Modbus TCP, los ajustes de red deben configurarse correctamente.
Información adicional
- La interfaz Modbus TCP está integrada de serie en BactoSense.
- La toma Ethernet se encuentra en el lateral derecho del instrumento.
- La tabla de direcciones necesaria para la programación se encuentra por separado en la sección Lista de direcciones en Modbus TCP.
- Todos los registros están codificados en formato big-endian.
- La comunicación Modbus TCP utiliza el puerto 502.
- La lista de códigos de error se encuentra en la sección Errores no críticos (errores no críticos) y en la sección Errores críticos (errores críticos).
- Modbus TCP puede utilizarse para sincronizar la hora. Siga las instrucciones de la sección Configuración de servidores NTP y seleccione Modbus TCP como fuente de sincronización.
7.1.2 Lista de direcciones en Modbus TCP:
Los siguientes valores pueden leerse con la función Modbus 3 o 4 y escribirse con la función Modbus 16.
N.º DE | DIRECCIÓN | TIPO DE DATOS | FUNCIÓN | VALORES |
|---|---|---|---|---|
300201 | 0x00C8 | Entero | Entradas | Bit 0: entrada 1 |
300202 | 0x00C9 | Entero | Control de | Bit 0: apagar |
300203 | 0x00CA | Uint16 | Temporizador de vigilancia (Watchdog) | Escriba la consigna en segundos para |
300204 | 0x00CB | Uint16 | Registro de | Escriba 1 para mostrar un mensaje |
300211 | 0x00D2 | UInt16: año | Obtener/establecer | [0,9999] |
300212 | 0x00D3 | UInt16: | [1,12] | |
300213 | 0x00D4 | UInt16: día | [0,31] | |
300214 | 0x00D5 | UInt16: hora | [0,24] | |
300215 | 0x00D6 | UInt16: | [0,59] | |
300216 | 0x00D7 | UInt16: | [0,59] | |
Los siguientes valores pueden leerse con la función Modbus 3 o 4. | ||||
300001 | 0x0000 | UInt16 | Salidas | Bit 0: salida 1 |
300002 | 0x0001 | UInt16 | Estado del | Bit 0: proceso en curso |
300003 | 0x0002 | UInt16 | Estado de las alarmas, es decir, alarmas generadas durante la última medición. | Bit 0: alarma 1 |
300004 | 0x0003 | UInt32 MSB | Estado de las advertencias, es decir, advertencias generadas durante la última medición. | Bit 0: advertencia W01 |
300005 | 0x0004 | UInt32 LSB | ||
300006 | 0x0005 | UInt16 | Código de error | Véase la lista de códigos de error. Nota: |
300007 | 0x0006 | UInt16 | Señal de actividad (Heartbeat) | Segundos del reloj. El |
300008 | 0x0007 | UInt16 | Etapa de | IDLE 0 |
300011 | 0x000A | UInt16 | Progreso de | [0, 100] |
300012 | 0x000B | Float 32 MSB | Temperatura | Celsius |
300013 | 0x000C | Float 32 LSB | ||
300014 | 0x000D | UInt16 | Humedad en | [0, 100] |
300015 | 0x000E | UInt16: año | Fecha y hora del último muestreo | |
300016 | 0x000F | UInt16: mes | ||
300017 | 0x0010 | UInt16: día | ||
300018 | 0x0011 | UInt16: hora | ||
300019 | 0x0012 | UInt16: minuto | ||
300020 | 0x0013 | UInt16: segundo | ||
300021 | 0x0014 | UInt16 | Porcentaje del | [0, 100] |
300022 | 0x0015 | UInt32 MSB | Número de serie | |
300023 | 0x0016 | UInt32 LSB | ||
300024 | 0x0017 | UInt32 MSB | Número de serie de la recarga | |
300025 | 0x0018 | UInt32 LSB | ||
300026 | 0x0019 | Uint16 | Tipo de | 1 = TCC |
300027 | 0x001A | UInt16: año | Fecha de | Fecha UTC |
300028 | 0x001B | UInt16: mes | ||
300029 | 0x001c | UInt16: día | ||
300031 | 0x001E | UInt32 MSB | Número de | |
300032 | 0x001F | UInt32 LSB | ||
300033 | 0x0020 | Cadena, caracteres 1-2 | Versión del | Si tiene menos de 16 |
300034 | 0x0021 | Cadena, caracteres 3-4 | ||
300035 | 0x0022 | Cadena, caracteres 5-6 | ||
300036 | 0x0023 | Cadena, caracteres 7-8 | ||
300037 | 0x0024 | Cadena, caracteres 9-10 | ||
300038 | 0x0025 | Cadena, caracteres 11- | ||
300039 | 0x0026 | Cadena, caracteres 13- | ||
300040 | 0x0027 | Cadena, caracteres 15- | ||
300041 | 0x0028 | UInt16 | Memoria | Número aproximado de mediciones |
300042 | 0x0029 | UInt16 | Vida útil | [0, 100], porcentaje de |
300043 | 0x002A | UInt16 | Vida útil | [0, 100], porcentaje de |
300044 | 0x002B | UInt16: año | Fecha del próximo | Fecha UTC |
300045 | 0x002C | UInt16: mes | ||
300046 | 0x002D | UInt16: día | ||
300101 | 0x0064 | UInt32 MSB | TCC | Se restablece a cero después de un |
300102 | 0x0065 | UInt32 LSB | ||
300103 | 0x0066 | UInt32 MSB | ICC | Siempre 0 si el cartucho no |
300104 | 0x0067 | UInt32 LSB | ||
300105 | 0x0068 | UInt32 MSB | Gate+ | Siempre 0 si el cartucho no |
300106 | 0x0069 | UInt32 LSB | ||
300107 | 0x006A | UInt32 MSB | HNAC | |
300108 | 0x006B | UInt32 LSB | ||
300109 | 0x006C | UInt32 MSB | LNAC | |
300110 | 0x006D | UInt32 LSB | ||
300111 | 0x006E | Float 32 MSB | HNAP | |
300112 | 0x006F | Float 32 LSB | ||
300113 | 0x0070 | UInt32 MSB | ACC | Siempre 0 si no es un cartucho |
300114 | 0x0071 | UInt32 LSB | ||
300115 | 0x0072 | UInt32 MSB | HACC | Siempre 0 si no es un cartucho |
300116 | 0x0073 | UInt32 LSB | ||
300117 | 0x0074 | UInt32 MSB | LACC | Siempre 0 si no es un cartucho |
300118 | 0x0075 | UInt32 LSB | ||
300119 | 0x0076 | Float 32 MSB | HACP | Siempre 0 si no es un cartucho |
300120 | 0x0077 | Float 32 LSB | ||
300121 | 0x0078 | UInt32 MSB | TCC en tiempo real | Igual que TCC, pero el |
300122 | 0x0079 | UInt32 LSB | ||
300123 | 0x007A | UInt32 MSB | ICC en tiempo real | Véase arriba. |
300124 | 0x007B | UInt32 LSB | ||
300125 | 0x007C | UInt32 MSB | Gate+ en tiempo real | Véase arriba. |
300126 | 0x007D | UInt32 LSB | ||
300127 | 0x007E | UInt32 MSB | HNAC en tiempo real | Véase arriba. |
300128 | 0x007F | UInt32 LSB | ||
300129 | 0x0080 | UInt32 MSB | LNAC en tiempo real | Véase arriba. |
300130 | 0x0081 | UInt32 LSB | ||
300131 | 0x0082 | Float 32 MSB | HNAP en tiempo real | Véase arriba. |
300132 | 0x0083 | Float 32 LSB | ||
300135 | 0x0086 | UInt32 MSB | ACC en tiempo real | Véase arriba. |
300136 | 0x0087 | UInt32 LSB | ||
300137 | 0x0088 | UInt32 MSB | HACC en tiempo real | Véase arriba. |
300138 | 0x0089 | UInt32 LSB | ||
300139 | 0x008A | UInt32 MSB | LACC en tiempo real | Véase arriba. |
300140 | 0x008B | UInt32 LSB | ||
300141 | 0x008C | Float 32 MSB | HACP en tiempo real | Véase arriba. |
300142 | 0x008D | Float 32 LSB | ||
300151 | 0x0096 | UInt16: año | Fecha y hora del último apagado brusco. | |
300152 | 0x0097 | UInt16: mes | ||
300153 | 0x0098 | UInt16: día | ||
300154 | 0x0099 | UInt16: hora | ||
300155 | 0x009A | UInt16: minuto | ||
300156 | 0x009B | UInt16: segundo | ||
300157 | 0x009C | UInt16 | Tiempo sin | En segundos |
300165 | 0x00A4 | UInt16: año | Fecha y hora del inicio del último protocolo. | |
300166 | 0x00A5 | UInt16: mes | ||
300167 | 0x00A6 | UInt16: día | ||
300168 | 0x00A7 | UInt16: hora | ||
300169 | 0x00A8 | UInt16: minuto | ||
300170 | 0x00A9 | UInt16: segundo | ||
300171 | 0x00AA | UInt16 | Línea de | De 1 a 4 |
300172 | 0x00AB | UInt16 | Línea de | De 1 a 4 |
300173 | 0x00AC | UInt16 | Caudal de | mL/min |
300174 | 0x00AD | UInt16 | Estado de | 0 significa que no hay errores. |
300175 | 0x00AE | UInt16 | Conexión de | 0 = no conectado |
300176 | 0x00AF | UInt16 | Estado de las válvulas | Máscara de bits 0x01 = válvula de |