Modbus Write
Este bloque de función envía valores a un servidor Modbus usando un Modbus Client provisto. Úsalo para escribir coils o holding registers desde tu grafo de escenario.
📥 Entradas
EnableEntrada booleana que controla si se realiza la escritura. Si no se proporciona o esFalse, el bloque no intentará escribir.Modbus ClientEspera un objeto cliente producido por el bloqueModbus Connect. Proporciona un cliente válido para habilitar la comunicación.DataDatos genéricos para escribir. Acepta un valor único o una lista (para escribir múltiples coils/registers).
📤 Salidas
Este bloque de función no produce salidas.
🕹️ Controles
AddressIntroduce la dirección del registro/coil Modbus a escribir. Usa valores enteros que coincidan con el mapa de direcciones de tu dispositivo.Data TypeSelecciona entreCoilyHolding Registerpara indicar qué tipo de recurso Modbus se escribirá.
🎯 Características
Soporta escribir valores individuales o listas en múltiples direcciones cuando el dispositivo lo permite.
Permite elegir el tipo de recurso destino con un desplegable simple:
CoiloHolding Register.Respeta la entrada
Enablepara que la escritura pueda controlarse desde lógica o entradas de usuario.Registra errores en el log si la escritura falla, ayudando a diagnosticar problemas de conexión o configuración.
⚙️ Mecanismo de ejecución
Al ejecutarse el bloque:
Si la entrada
EnableesFalseo falta, no se intenta ninguna escritura.Si no se proporciona un cliente en
Modbus Client, el bloque no realizará la escritura.Cuando está habilitado y hay un cliente válido, el bloque envía los datos de
Dataa la dirección indicada enAddressusando elData Typeseleccionado.Los errores (problemas de conexión, dirección inválida, datos no soportados) se registran en el log para que puedas actuar en consecuencia.
📝 Instrucciones de uso
Añade un bloque
Modbus Connecty conecta su salidaModbus Clienta la entradaModbus Clientde este bloque.Ajusta
Addressal registro o dirección de coil que quieras escribir.Selecciona
Data TypecomoCoilpara valores booleanos/coils oHolding Registerpara registros numéricos.Alimenta tus datos en la entrada
Data(valor único o lista).Usa un
Logic Inputu otro control para alternarEnablecuando quieras que se realice la escritura.
💡 Consejos y trucos
Usa
Modbus Connectpara obtener un cliente fiable y confirma la conexión conModbus Readantes de intentar escribir.Controla la entrada
Enabledesde unLogic Inputo un bloque condicional (por ejemploEquals/Greater) para que las escrituras ocurran solo bajo las condiciones deseadas.Prepara los valores a escribir con
Number Inputo ensamblando datos con bloques comoString MergeoData Write Global/Data Write Localcuando necesites preparar valores antes de la escritura.Si necesitas guardar o exportar los valores que escribes, combina este bloque con
CSV ExportoREST API - Postpara mantener registros externos o enviar notificaciones.
🛠️ Solución de problemas
No se realiza la escritura: verifica que
EnableseaTruey que unModbus Clientválido esté conectado.Errores de dirección inválida: asegúrate de que
Addresssea un entero dentro del mapa de direcciones del dispositivo y que coincida con elData Typeelegido.Formato de datos inesperado: para
Coilusa booleanos o listas de booleanos; paraHolding Registerusa números o listas de números.Fallos en la escritura: verifica la conectividad con
Modbus Ready confirma que el servidor acepte escrituras en la dirección objetivo. Revisa los mensajes del log para más detalles.
Última actualización