For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 bloque Logic Input) para controlar cuándo se realizan las lecturas.

  • S7 Client — Entrada que acepta un objeto cliente/conexión (normalmente provisto por un bloque Siemens 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 del DB Data Type seleccionado (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 Enable está activa, el bloque lee el valor en el DB Number y DB Byte Address configurados usando el DB Data Type seleccionado y lo envía inmediatamente por la salida Data.

  • El bloque espera recibir un S7 Client conectado 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 Type determina 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

  1. Añade un bloque Siemens S7 Connect y configura allí la dirección del PLC y parámetros de conexión.

  2. Conecta la salida del bloque Siemens S7 Connect a la entrada S7 Client de este bloque.

  3. Ajusta DB Number y DB Byte Address con los controles.

  4. Selecciona el DB Data Type correcto que corresponda a la variable del PLC que quieres leer.

  5. Usa un Logic Input u otra señal booleana en la entrada Enable para controlar cuándo se realizan las lecturas.

  6. Consume la salida Data para visualización, registro o para tomar decisiones en el flujo.

💡 Consejos y trucos

  • Combínalo con Siemens S7 Connect para gestionar la conexión al PLC de forma centralizada — ese bloque suministra el cliente que este bloque espera en S7 Client.

  • Usa Logic Input para habilitar/deshabilitar lecturas periódicas o para lecturas bajo demanda.

  • Si quieres visualizar tendencias numéricas en tiempo real, conecta la salida numérica Data a un bloque Scope.

  • Para guardar lecturas para análisis posteriores, envía la salida Data a Data to JSON y CSV Export.

  • Envía telemetría conectando Data a MQTT Publish para monitoreo en la nube o a Send Mail para alertas (mediante un mensaje estructurado).

  • Comparte resultados de lectura en el escenario usando Data Write Global / Data Read Global o bloques de memoria locales para que otras partes reaccionen sin volver a leer el PLC.

  • Para depuración, usa Debug Input para 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 Type a Sync para 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 Connect muestre conexión exitosa. Revisa direcciones de red, cortafuegos y estado del PLC.

  • Valor incorrecto: Confirma que DB Number, DB Byte Address y DB Data Type coinciden 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 Sync para 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