Siemens S7 Read
Cette fonction lit des données depuis une base de données (DB) d'un automates Siemens S7 et fournit la valeur en sortie pour l'utiliser ailleurs dans votre scénario. Elle prend en charge les types de données PLC courants et propose une interface simple pour définir le numéro DB, l'adresse en octets et le type de données. Utilisez l'entrée Enable pour déclencher les lectures et fournissez un S7 Client connecté depuis un bloc de connexion.
📥 Inputs
Enable — Entrée utilisée pour activer ou désactiver la lecture. Fournissez un signal booléen (par exemple depuis un bloc Logic Input) pour contrôler quand les lectures sont effectuées.
S7 Client — Entrée qui accepte un objet client/connexion (généralement fourni par un bloc Siemens S7 Connect). Cela indique au bloc quel PLC/serveur interroger.
📤 Outputs
Data — Sortie qui fournit la valeur lue depuis le PLC. Le type de la valeur dépend du DB Data Type sélectionné (nombre, chaîne, liste de booléens, etc.).
🕹️ Controls
DB Number — Saisissez le numéro du DB (data block) à lire.
DB Byte Address — Saisissez l'offset en octets à l'intérieur du DB où commence la valeur demandée.
DB Data Type — Menu déroulant pour choisir le type de données à lire (exemples : Boolean, Int, DInt, Real, String, Word, DWord, Time, ...).
Connection Type — Menu déroulant pour choisir le mode de connexion (exemples : Sync ou Async). Permet de contrôler comment le bloc partage/utilise la connexion PLC avec d'autres blocs.
⚙️ How it runs
Lorsque l'entrée
Enableest active, le bloc lit la valeur auDB Numberet à laDB Byte Addressconfigurés en utilisant leDB Data Typesélectionné et l'envoie immédiatement sur la sortieData.Le bloc attend qu'un
S7 Clientsoit fourni à son entrée. Si le client n'est pas connecté, le bloc signale une erreur de connexion et ne fournit pas de données.Le réglage
Connection Typedétermine si ce bloc utilise une connexion partagée (synchrone) ou une connexion dédiée/asynchrone lors des échanges avec le PLC. Choisissez le mode adapté à votre configuration (voir Tips and Tricks).
🎯 Key features
Prend en charge de nombreux types PLC courants : tableaux de Boolean, entiers (SInt/Int/DInt), types non signés, flottants (Real/LReal), chaînes, Word/DWord et types temps.
Contrôles UI simples pour le numéro DB / l'adresse octet et la sélection du type de données.
Sélection du mode de connexion pour s'adapter aux scénarios où plusieurs blocs accèdent au même PLC.
Retourne les données dans un format facilement utilisable par d'autres blocs.
📝 Usage instructions
Ajoutez un bloc
Siemens S7 Connectet configurez l'adresse du PLC et les paramètres de connexion.Raccordez la sortie du bloc
Siemens S7 Connectà l'entréeS7 Clientde ce bloc.Définissez le
DB Numbercible et leDB Byte Addressvia les contrôles.Choisissez le bon
DB Data Typequi correspond à la variable PLC à lire.Utilisez un
Logic Inputou un autre signal booléen sur l'entréeEnablepour contrôler quand les lectures ont lieu.Exploitez la sortie
Datapour visualisation, enregistrement ou prise de décision par d'autres blocs.
💡 Tips and Tricks
Combinez avec
Siemens S7 Connectpour gérer la connexion PLC de manière centralisée — ce bloc fournit l'objet client attendu sur l'entréeS7 Client.Utilisez
Logic Inputpour activer/désactiver des lectures périodiques ou pour implémenter des lectures à la demande.Pour visualiser des tendances numériques, envoyez la sortie numérique
Datavers un blocScopepour un affichage en direct.Pour enregistrer des relevés, envoyez
DataversData to JSONpuisCSV Export.Envoyez des télémesures en aval en connectant
DataàMQTT Publishpour la surveillance cloud ou àSend Mail(via un message structuré) pour des alertes.Partagez les résultats de lecture dans un scénario avec
Data Write Global/Data Read Globalou des blocs mémoire locaux afin que d'autres parties du système puissent réagir sans relire le PLC.Pour le débogage, utilisez
Debug Inputpour enregistrer la valeur de sortie et vérifier adresses et types de données.Si plusieurs blocs lisent/écrivent la même zone DB, essayez de définir
Connection TypesurSyncpour éviter des problèmes de concurrence.Lors de la lecture de champs texte, faites attention à la longueur et à l'encodage des chaînes sur le PLC. Vérifiez la longueur attendue dans le DB pour éviter des troncatures.
(indice : blocs utiles à combiner : Siemens S7 Connect, Logic Input, Number Input, Data to JSON, CSV Export, MQTT Publish, Scope, Debug Input, Data Write Global)
🛠️ Troubleshooting
Pas de données ou erreur de connexion : Vérifiez que le PLC est joignable et que le bloc
Siemens S7 Connectmontre une connexion réussie. Contrôlez les adresses réseau, les pare-feux et l'état du PLC.Mauvaise valeur retournée : Confirmez que le
DB Number, leDB Byte Addresset leDB Data Typecorrespondent bien à la disposition de la variable dans le DB du PLC. Un décalage d'un octet ou un mauvais type provoquent des résultats invalides.Chaîne partielle ou tronquée : Assurez-vous que la longueur de la chaîne côté PLC correspond à vos attentes. Si une chaîne est coupée, vérifiez la configuration de longueur dans le DB du PLC.
Lectures intermittentes ou avertissements de serveur occupé : Si le PLC traite beaucoup de requêtes, essayez le mode
Syncpour un accès coordonné ou réduisez la fréquence des lectures.Résultat booléen inattendu : Certaines lectures booléennes renvoient des groupes de bits — traitez-les comme des collections de valeurs booléennes quand c'est pertinent.
Si le problème persiste, ajoutez un bloc Debug Input pour afficher les valeurs brutes et envoyez les résultats vers des blocs de journalisation ou d'export pour capturer des cas défaillants en vue d'une analyse.
Mis à jour