Modbus LM
Descripcion del perfil Modbus en LogicMachine
Campos de Perfil
manufacturer
String Requerido
Nombre del fabricante, ejemplo: Embedded Systems
description
String Requerido
Descripción del dispositivo, ejemplo: Universal 16+4 I/O module
timeout
Numero
Anula el tiempo de respuesta predeterminado de 0.5 segundos para RTU o 3 segundos para TCP
product_code
String
Código de producto que puede ser usado para el mapeo automático de perfil después de escanear la descripción, obtenido del dispositivo a través de la solicitud de lectura del objeto de identificación del dispositivo ID 1
read_swap
Booleano/String
establece el orden global para el intercambio de byte/word durante la conversion (endianidad). igual que el campo read_swap
para el mapeo
read_delay
Numero
Agrega un retardo en segundos (maximo 1 segundo) entre solicitudes de lectura consecutivas desde el esclavo, no bede ser utilizado para la mayoria de los esclavos
Campos de Mapeo
name
String Requerido
Nombre del objeto, ejemplo: Salida 2
bus_datatype
String/Numero Requerido
Tipo de dato del objeto KNX, obtenido de la tabla dt
, ejemplo: float32
type
String Requerido
Tipo de registro Modbus, Valores posibles: coil
discreteinput
register
inputregister
address
Numero Requerido
Dirección del registro (0-based)
writable
Booleano
Establecer en true
para habilitar la escritura a un coil
o register
write_only
Booleano
Establecer en true
para desabilitar la lectura del valor de coil
o register
cuando esta habilitado writable
write_multiple
Booleano
Establecer en true
para forzar la escritura al usar la funcion escritura multiple de coil/register aún cuando se escriba solo a un coil o register
datatype
String
Tipo de dato del valor Modbus. La longitud de la lectura se elige basandose en el tipo de dato, la conversion de datos se realiza automaticamente.
Valores posibles: uint16
int16
float16
uint32
int32
float32
uint64
int64
quad10k
s10k
value_delta
Numero
El nuevo valor se envía cuando la diferencia entre el valor enviado previamente y el valor actual sea mayor que el delta. Por defecto a 0 (enviar después de cada lectura)
value_base
Numero
Suma el numero especificado al valor resultante
value_multiplier
Numero
Multiplica el valor resultante por el numero especificado value = value_base + value * value_multiplier
value_bitmask
Numero
Mascara de Bits a aplicar, el desplazamiento se realiza automáticamente usando la función de ceros de arrastre (CTZ)
Ejemplo:
value = 0xABCD mask = 0x0F00 result = (value & mask) >> CTZ(mask) = (0xABCD & 0x0F00) >> 8 = 0xB
value_nan
Array
Martriz de integers de 16-bit. Si se especifica y la operación de lectura devuelve la misma matriz no se realiza ningún procesamiento adicional del valor
value_conv
String Interno
Aplica una de las funciones integradas de conversion
value_custom
String/Objeto
Nombre de una enumeración integrada o una lista de asignación de clave -> valor
mapping, el valor resultante sera 0 si no se encuentra la clave
value_default
Boolean/Numero
Valor predeterminado que se establece cuando la bobina / registro no se puede leer
internal
Booleano
No es visible para el usuario cuando se establece en true
, se debe utilizar para los registros scale
units
String
Unidad o sufijo para los objetos KNX
address_scale
Numero
Dirección del registro que contiene la escala del valor value = value * 10 ^ scale
read_count
Numero
Número de registros a leer a la vez (para los dispositivos que sólo soportan la lectura de un bloque específico de registros)
read_swap
Booleano/String
Intercambiar el orden de los byte/word durante la conversión (endianidad). el valor por defecto es intercambio de word (2-byte).
Valores posibles de string: n
(sin intercambio), w
(intercambio word), b
(intercambio de byte), bw
(intercambio de byte y word)
Example:
no swap: 0xABCD word swap: 0xCDAB byte swap: 0xBADC byte and word swap: 0xDCBA
read_offset
Numero
Posición del primer registro de datos del bloque de registros (0-based)
bus_address
String (Dirección de grupo)
Direccion de grupo del objeto mapeado. Se recomienda usar solo durante el desarrollo
Ejemplo:
{ “manufacturer”: “Embedded Systems”, “description”: “Universal 16+4 I/O module”, “mapping”: [ { “name”: “Output 1”, “bus_datatype”: “bool”, “type”: “coil”, “address”: 0, “writable”: 1 }, { “name”: “Input 1”, “bus_datatype”: “float16”, “type”: “inputregister”, “address”: 0, “value_multiplier”: 0.001, “units”: “V” } ] }
{ "manufacturer": "Embedded Systems", "description": "Universal 16+4 I/O module", "mapping": [ { "name": "Output 1", "bus_datatype": "bool", "type": "coil", "address": 0, "writable": 1 }, { "name": "Input 1", "bus_datatype": "float16", "type": "inputregister", "address": 0, "value_multiplier": 0.001, "units": "V" } ] }