Saltar al contenido principal

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
REGISTRO

DIRECCIÓN
(DESPLAZAMIENTO)

TIPO DE DATOS

FUNCIÓN

VALORES

300201
400201

0x00C8

Entero
sin signo, bits
0-15

Entradas
digitales.
Se ignoran
a menos
que se seleccione
“Modbus TCP”
como fuente
en la pantalla
de ajustes
de las entradas
digitales.

Bit 0: entrada 1
Bit 1: entrada 2
Bit 2: entrada 3
Bit 3: entrada 4
Para la correspondencia correcta entre bits
y entradas, consulte la sección
Configuración de las entradas digitales y modo PLC, en particular la tabla 6-2
y la figura 6-5.
La entrada 1111 = 15 significa
cancelar.

300202
400202

0x00C9

Entero
sin signo, bits
0-15

Control de
alimentación

Bit 0: apagar
Bit 1: reiniciar

300203
400203

0x00CA

Uint16

Temporizador de vigilancia (Watchdog)

Escriba la consigna en segundos para
activar o restablecer la cuenta atrás.
Después de escribir el valor, una
cuenta atrás lo decrementa en
1 cada segundo.
Durante la cuenta atrás, la lectura
del registro devuelve la
consigna.
Si la cuenta atrás llega a 0, se cancela
cualquier protocolo en curso.
La lectura del registro devuelve
0.
Escriba 0 para desactivar
la cuenta atrás.

300204
400204

0x00CB

Uint16

Registro de
prueba

Escriba 1 para mostrar un mensaje
en la página de fuente de entradas digitales de la interfaz.
Se restablece a 0 al arrancar.

300211
400211

0x00D2

UInt16: año

Obtener/establecer
fecha y
hora.
La hora
cambia en
cuanto
finaliza la
escritura.
Solo se
modifican los
campos cuyos
registros
se hayan
escrito:
si solo
se escribe el mes,
solo se
actualiza el
mes.

[0,9999]

300212
400212

0x00D3

UInt16:
mes

[1,12]

300213
400213

0x00D4

UInt16: día

[0,31]

300214
400214

0x00D5

UInt16: hora

[0,24]

300215
400215

0x00D6

UInt16:
minuto

[0,59]

300216
400216

0x00D7

UInt16:
segundo

[0,59]

Los siguientes valores pueden leerse con la función Modbus 3 o 4.

300001
400001

0x0000

UInt16
(bits individuales)

Salidas
digitales

Bit 0: salida 1
Bit 1: salida 2
Bit 2: salida 3
Bit 3: salida 4
Para la correspondencia correcta entre bits
y salidas, consulte la sección
Configuración de las salidas digitales o utilice la interfaz de prueba
de salidas como se describe
en Prueba de las salidas digitales y analógicas.

300002
400002

0x0001

UInt16
(bits individuales)

Estado del
instrumento
0 = No
1 = Sí

Bit 0: proceso en curso
Bit 1: error crítico
Bit 2: error no crítico
Bit 3: modo PLC activo
Bit 4: calentamiento rápido (en
modo invierno)
Bit 5: calentamiento de fondo
(modo invierno)
Bit 6: dispositivo de muestreo
en uso

300003
400003

0x0002

UInt16
(bits individuales)

Estado de las alarmas, es decir, alarmas generadas durante la última medición.

Bit 0: alarma 1
Bit 1: alarma 2
Bit 2: alarma 3
…

300004
400004

0x0003

UInt32 MSB
(bits individuales)

Estado de las advertencias, es decir, advertencias generadas durante la última medición.

Bit 0: advertencia W01
Bit 1: advertencia W02
...
Bit 31: advertencia W32

300005
400005

0x0004

UInt32 LSB
(bits individuales)

300006
400006

0x0005

UInt16

Código de error

Véase la lista de códigos de error. Nota:
E00 (error de software
no gestionado) se cambia a 999
para evitar confusiones con
"sin error". Los códigos de error
no crítico permanecen hasta
que se borran
automáticamente mediante un
protocolo completado correctamente o
se borran manualmente.

300007
400007

0x0006

UInt16

Señal de actividad (Heartbeat)

Segundos del reloj. El
valor cambia cada
segundo; utilícelo para
supervisar la capacidad de respuesta
del sistema.

300008
400008

0x0007

UInt16

Etapa de
medición

IDLE 0
INITIALIZING 1
HEATING 2
FILLING 3
PRIMING 4
MIXING 5
INCUBATING 6
ANALYZING 7
CLEANING 8
FLUSHING 9
PROCESSING 10
VALIDATING 11
MOVING 12
EJECTING 13
EXPORTING 14
RENAMING 15
DELETING 16
SAVING 17
SELFCHECK 18
ABORTED 19
UNKNOWN 98
ERROR 99

300011
400011

0x000A

UInt16

Progreso de
medición

[0, 100]
0 .. 100 %

300012
400012

0x000B

Float 32 MSB

Temperatura
de la placa de E/S

Celsius

300013
400013

0x000C

Float 32 LSB

300014
400014

0x000D

UInt16

Humedad en
la placa de E/S

[0, 100]
0 .. 100 %

300015
400015

0x000E

UInt16: año

Fecha y hora del último muestreo

300016
400016

0x000F

UInt16: mes

300017
400017

0x0010

UInt16: día

300018
400018

0x0011

UInt16: hora

300019
400019

0x0012

UInt16: minuto

300020
400020

0x0013

UInt16: segundo

300021
400021

0x0014

UInt16

Porcentaje del
cartucho

[0, 100]
0 .. 100 %

300022
400022

0x0015

UInt32 MSB

Número de serie
del cartucho

300023
400023

0x0016

UInt32 LSB

300024
400024

0x0017

UInt32 MSB

Número de serie de la recarga

300025
400025

0x0018

UInt32 LSB

300026
400026

0x0019

Uint16

Tipo de
cartucho

1 = TCC
1002 = ICC
1030 = ACC

300027
400027

0x001A

UInt16: año

Fecha de
caducidad del
cartucho

Fecha UTC

300028
400028

0x001B

UInt16: mes

300029
400029

0x001c

UInt16: día

300031
400031

0x001E

UInt32 MSB

Número de
serie del
instrumento

300032
400032

0x001F

UInt32 LSB

300033
400033

0x0020

Cadena, caracteres 1-2

Versión del
software

Si tiene menos de 16
caracteres, la cadena se
completa con caracteres
nulos. Ejemplo:
'1.4.0-BS\0\0\0\0...'

300034
400034

0x0021

Cadena, caracteres 3-4

300035
400035

0x0022

Cadena, caracteres 5-6

300036
400036

0x0023

Cadena, caracteres 7-8

300037
400037

0x0024

Cadena, caracteres 9-10

300038
400038

0x0025

Cadena, caracteres 11-
12

300039
400039

0x0026

Cadena, caracteres 13-
14

300040
400040

0x0027

Cadena, caracteres 15-
16

300041
400041

0x0028

UInt16

Memoria
restante

Número aproximado de mediciones
restantes antes de que el disco
se llene

300042
400042

0x0029

UInt16

Vida útil
restante de
la válvula

[0, 100], porcentaje de
movimientos restantes
antes del mantenimiento.

300043
400043

0x002A

UInt16

Vida útil
restante del
émbolo

[0, 100], porcentaje de
movimientos restantes
antes del mantenimiento.

300044
400044

0x002B

UInt16: año

Fecha del próximo
mantenimiento

Fecha UTC

300045
400045

0x002C

UInt16: mes

300046
400046

0x002D

UInt16: día

300101
400101

0x0064

UInt32 MSB

TCC

Se restablece a cero después de un
protocolo de limpieza o
al reiniciar.

300102
400102

0x0065

UInt32 LSB

300103
400103

0x0066

UInt32 MSB

ICC

Siempre 0 si el cartucho no
proporciona ICC.

300104
400104

0x0067

UInt32 LSB

300105
400105

0x0068

UInt32 MSB

Gate+

Siempre 0 si el cartucho no
proporciona Gate+.

300106
400106

0x0069

UInt32 LSB

300107
400107

0x006A

UInt32 MSB

HNAC

300108
400108

0x006B

UInt32 LSB

300109
400109

0x006C

UInt32 MSB

LNAC

300110
400110

0x006D

UInt32 LSB

300111
400111

0x006E

Float 32 MSB

HNAP

300112
400112

0x006F

Float 32 LSB

300113
400113

0x0070

UInt32 MSB

ACC

Siempre 0 si no es un cartucho
ACC.

300114
400114

0x0071

UInt32 LSB

300115
400115

0x0072

UInt32 MSB

HACC

Siempre 0 si no es un cartucho
ACC.

300116
400116

0x0073

UInt32 LSB

300117
400117

0x0074

UInt32 MSB

LACC

Siempre 0 si no es un cartucho
ACC.

300118
400118

0x0075

UInt32 LSB

300119
400119

0x0076

Float 32 MSB

HACP

Siempre 0 si no es un cartucho
ACC.

300120
400120

0x0077

Float 32 LSB

300121
400121

0x0078

UInt32 MSB

TCC en tiempo real

Igual que TCC, pero el
valor se actualiza en tiempo real
durante una medición.
Vuelve a cero al finalizar
la medición.

300122
400122

0x0079

UInt32 LSB

300123
400123

0x007A

UInt32 MSB

ICC en tiempo real

Véase arriba.

300124
400124

0x007B

UInt32 LSB

300125
400125

0x007C

UInt32 MSB

Gate+ en tiempo real

Véase arriba.

300126
400126

0x007D

UInt32 LSB

300127
400127

0x007E

UInt32 MSB

HNAC en tiempo real

Véase arriba.

300128
400128

0x007F

UInt32 LSB

300129
400129

0x0080

UInt32 MSB

LNAC en tiempo real

Véase arriba.

300130
400130

0x0081

UInt32 LSB

300131
400131

0x0082

Float 32 MSB

HNAP en tiempo real

Véase arriba.

300132
400132

0x0083

Float 32 LSB

300135
400135

0x0086

UInt32 MSB

ACC en tiempo real

Véase arriba.

300136
400136

0x0087

UInt32 LSB

300137
400137

0x0088

UInt32 MSB

HACC en tiempo real

Véase arriba.

300138
400138

0x0089

UInt32 LSB

300139
400139

0x008A

UInt32 MSB

LACC en tiempo real

Véase arriba.

300140
400140

0x008B

UInt32 LSB

300141
400141

0x008C

Float 32 MSB

HACP en tiempo real

Véase arriba.

300142
400142

0x008D

Float 32 LSB

300151
400151

0x0096

UInt16: año

Fecha y hora del último apagado brusco.

300152
400152

0x0097

UInt16: mes

300153
400153

0x0098

UInt16: día

300154
400154

0x0099

UInt16: hora

300155
400155

0x009A

UInt16: minuto

300156
400156

0x009B

UInt16: segundo

300157
400157

0x009C

UInt16

Tiempo sin
alimentación

En segundos

300165
400165

0x00A4

UInt16: año

Fecha y hora del inicio del último protocolo.

300166
400166

0x00A5

UInt16: mes

300167
400167

0x00A6

UInt16: día

300168
400168

0x00A7

UInt16: hora

300169
400169

0x00A8

UInt16: minuto

300170
400170

0x00A9

UInt16: segundo

300171
400171

0x00AA

UInt16

Línea de
medición
actual de
BactoSwitch

De 1 a 4

300172
400172

0x00AB

UInt16

Línea de
medición
siguiente de
BactoSwitch

De 1 a 4

300173
400173

0x00AC

UInt16

Caudal de
BactoSwitch

mL/min

300174
400174

0x00AD

UInt16

Estado de
BactoSwitch

0 significa que no hay errores.

300175
400175

0x00AE

UInt16

Conexión de
BactoSwitch

0 = no conectado
1 = conectado
correctamente

300176
400176

0x00AF

UInt16

Estado de las válvulas
de BactoSwitch

Máscara de bits 0x01 = válvula de
la línea 1, etc.
int 15 = todas abiertas