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" }
]
}