Siemens S7 Read
Este bloque de función lee datos de una base de datos (DB) de un PLC Siemens S7 y entrega el valor para usarlo en otras partes de tu escenario. Soporta tipos de datos comunes de PLC y ofrece una interfaz simple para definir el número de DB, la dirección de byte y el tipo de dato. Usa la entrada Enable para activar las lecturas y proporciona un S7 Client conectado (desde un bloque de conexión).
📥 Entradas
Enable— Entrada para activar o desactivar la lectura. Proporciona una señal booleana (por ejemplo desde un bloqueLogic Input) para controlar cuándo se realizan las lecturas.S7 Client— Entrada que acepta un objeto cliente/conexión (normalmente provisto por un bloqueSiemens S7 Connect). Indica al bloque con qué PLC/servidor comunicarse.
📤 Salidas
Data— Salida que proporciona el valor leído desde el PLC. El tipo de valor depende delDB Data Typeseleccionado (número, cadena, lista booleana, etc.).
🕹️ Controles
DB Number— Introduce el número de DB (data block) desde el que leer.DB Byte Address— Introduce el desplazamiento en bytes dentro del DB donde empieza el valor solicitado.DB Data Type— Menú desplegable para seleccionar el tipo de dato a leer (ej.: Boolean, Int, DInt, Real, String, Word, DWord, Time, ...).Connection Type— Menú desplegable para elegir el modo de conexión (ej.: Sync o Async). Controla cómo comparte/usa el bloque la conexión al PLC con otros bloques.
⚙️ Cómo funciona
Cuando la entrada
Enableestá activa, el bloque lee el valor en elDB NumberyDB Byte Addressconfigurados usando elDB Data Typeseleccionado y lo envía inmediatamente por la salidaData.El bloque espera recibir un
S7 Clientconectado en su entrada. Si el cliente no está conectado, el bloque reporta un error de conexión y no enviará datos.La opción
Connection Typedetermina si el bloque usa una conexión compartida (síncrona) o una conexión dedicada/asincrónica al interactuar con el PLC. Elige el modo según tu configuración.
🎯 Características clave
Soporta muchos tipos comunes de PLC: arreglos booleanos, enteros (SInt/Int/DInt), tipos sin signo, valores de coma flotante (Real/LReal), cadenas, Word/DWord y tipos de tiempo.
Controles de interfaz simples para número de DB, dirección de byte y selección de tipo de dato.
Selección de modo de conexión para escenarios donde varios bloques acceden al mismo PLC.
Devuelve datos en un formato listo para usar por otros bloques del entorno.
📝 Instrucciones de uso
Añade un bloque
Siemens S7 Connecty configura allí la dirección del PLC y parámetros de conexión.Conecta la salida del bloque
Siemens S7 Connecta la entradaS7 Clientde este bloque.Ajusta
DB NumberyDB Byte Addresscon los controles.Selecciona el
DB Data Typecorrecto que corresponda a la variable del PLC que quieres leer.Usa un
Logic Inputu otra señal booleana en la entradaEnablepara controlar cuándo se realizan las lecturas.Consume la salida
Datapara visualización, registro o para tomar decisiones en el flujo.
💡 Consejos y trucos
Combínalo con
Siemens S7 Connectpara gestionar la conexión al PLC de forma centralizada — ese bloque suministra el cliente que este bloque espera enS7 Client.Usa
Logic Inputpara habilitar/deshabilitar lecturas periódicas o para lecturas bajo demanda.Si quieres visualizar tendencias numéricas en tiempo real, conecta la salida numérica
Dataa un bloqueScope.Para guardar lecturas para análisis posteriores, envía la salida
DataaData to JSONyCSV Export.Envía telemetría conectando
DataaMQTT Publishpara monitoreo en la nube o aSend Mailpara alertas (mediante un mensaje estructurado).Comparte resultados de lectura en el escenario usando
Data Write Global/Data Read Globalo bloques de memoria locales para que otras partes reaccionen sin volver a leer el PLC.Para depuración, usa
Debug Inputpara registrar el valor de salida y verificar direcciones y tipos de datos.Si varios bloques leen/escriben la misma zona del DB, prueba cambiar
Connection TypeaSyncpara evitar problemas de concurrencia.Al leer campos de texto, ten en cuenta la longitud y codificación en el PLC. Verifica la longitud esperada en el DB del PLC para evitar truncamientos.
(hint: Bloques útiles para combinar: Siemens S7 Connect, Logic Input, Number Input, Data to JSON, CSV Export, MQTT Publish, Scope, Debug Input, Data Write Global)
🛠️ Solución de problemas
Sin datos o error de conexión: Verifica que el PLC sea accesible y que
Siemens S7 Connectmuestre conexión exitosa. Revisa direcciones de red, cortafuegos y estado del PLC.Valor incorrecto: Confirma que
DB Number,DB Byte AddressyDB Data Typecoinciden con el diseño del DB en el PLC. Desplazamientos por bytes fuera de lugar o tipos incorrectos causan resultados inválidos.Cadena parcial o truncada: Asegúrate de que la longitud de la cadena en el PLC coincide con la esperada. Si aparece cortada, revisa la longitud configurada en el DB del PLC.
Lecturas intermitentes o advertencias de servidor ocupado: Si el PLC está atendiendo muchas solicitudes, prueba usar
Syncpara acceso coordinado o reduce la frecuencia de lecturas.Resultado booleano inesperado: Algunas lecturas booleanas devuelven grupos de bits — trátalos como colecciones de valores booleanos cuando corresponda.
Si los problemas persisten, añade un bloque Debug Input para ver los valores crudos devueltos y envía los resultados a bloques de registro o exportación para capturar casos fallidos y analizarlos.
Última actualización