Siemens S7 Write
Ce bloc de fonction écrit des valeurs dans un automate Siemens S7. Il accepte une entrée de données et une référence client, et peut effectuer des écritures immédiates (synchrones) ou planifiées en arrière-plan (asynchrones). Une valeur optionnelle peut être fournie pour être écrite lorsque le système s'arrête ou que le bloc est supprimé.
📥 Inputs
EnableFournissez un booléen pour autoriser ou inhiber les écritures. Lorsqu'il n'est pas fourni ou àTrue, les écritures sont effectuées.DataLa valeur à écrire dans l'automate. Accepte le type de données sélectionné dans les contrôles.[Optional] Data on StopValeur optionnelle qui sera écrite lorsque le bloc est arrêté ou supprimé.S7 ClientLa référence client/connexion au PLC utilisée pour effectuer l'écriture. (Fournir via un bloc de connexion tel queSiemens S7 Connect.)
📤 Outputs
Ce bloc de fonction ne produit pas de sorties.
🕹️ Controls
DB NumberSpécifiez le numéro de DB à l'intérieur du PLC où la valeur sera écrite.DB Byte AddressSpécifiez l'offset en octets à l'intérieur du DB sélectionné.Bit PositionPour les écritures booléennes, sélectionnez la position du bit dans l'octet ciblé.DB Data TypeChoisissez le type de données à écrire (par exemple : boolean, integer, float, string). Le bloc convertit la valeur d'entrée selon cette sélection.Connection TypeChoisissez entre les modesSyncetAsync.Synceffectue l'écriture immédiatement et partage une connexion commune ;Asyncplanifie l'écriture en arrière-plan et utilise une connexion dédiée pour ce bloc.
🎛️ Key Features
Prise en charge de plusieurs types de données PLC avec sélection explicite via
DB Data Type.Adressage par octet et par bit pour un placement précis des valeurs booléennes ou scalaires.
Deux modes d'écriture :
Écritures synchrones (immédiates) pour des opérations déterministes en une seule étape.
Écritures asynchrones (en arrière-plan) pour éviter de bloquer le flux principal et décharger les écritures plus longues.
Écriture sécurisée optionnelle à l'arrêt : une valeur fournie à
[Optional] Data on Stopest écrite automatiquement lors de l'arrêt ou de la suppression du bloc.Gestion de connexion et reconnexion lorsque l'adresse client change.
Messages d'erreur et d'avertissement clairs pour aider au diagnostic des problèmes de connectivité ou de type.
⚙️ How it runs
Lorsque
Enableest absent ouTrue, le bloc tente d'écrire la valeur fournie surDatadans le PLC à l'adresse DB et l'adresse octet configurées.Si
Connection Typeest réglé surSync, le bloc utilise une connexion synchrone partagée et effectue l'écriture immédiatement.Si
Connection Typeest réglé surAsync, le bloc planifie l'écriture sur un worker en arrière-plan afin que le flux principal ne soit pas bloqué ; cela utilise une instance de connexion dédiée pour le bloc.Si la référence client sur
S7 Clientn'est pas connectée, le bloc tentera de (re)connecter avant d'essayer l'écriture.Lors de l'arrêt ou de la suppression, le bloc tentera d'écrire la valeur fournie à
[Optional] Data on Stoppour garantir un état final défini.
📝 Usage Instructions
Fournissez une référence client PLC à
S7 Client(utilisezSiemens S7 Connectpour créer la connexion).Configurez l'adresse cible en utilisant
DB NumberetDB Byte Address.Pour écrire des booléens, définissez
Bit Position.Sélectionnez le
DB Data Typeapproprié pour les données que vous allez écrire.Choisissez
Connection Type:Utilisez
Synclorsque vous souhaitez des écritures immédiates et partager la connexion entre blocs.Utilisez
Asyncpour décharger les écritures en arrière-plan et éviter de bloquer le flux.
Alimentez la valeur à écrire dans
Dataet activez l'écriture avecEnable.Facultatif : fournissez une valeur dans
[Optional] Data on Stoppour qu'elle soit écrite lors de l'arrêt ou de la suppression du bloc.
💡 Tips and Tricks
Utilisez
Siemens S7 Connectpour fournir une référence client fiable à l'entréeS7 Client.Combinez avec
Siemens S7 Readpour vérifier les registres avant ou après les écritures.Utilisez
Logic Inputpour piloter la brocheEnabledepuis un simple interrupteur UI.Si vous devez préparer ou formater du texte/données structurées avant l'écriture, envisagez
String InputouData to JSONen amont.Utilisez
Data Write Global/Data Write LocalouData Memorypour stocker des valeurs que vous prévoyez d'écrire depuis plusieurs endroits de votre flux.Pour la journalisation ou le diagnostic, connectez un
CSV Exportou unDebug Inputpour capturer ou inspecter les valeurs que vous écrivez.Préférez le mode
Synclorsque plusieurs blocs écrivent sur le même DB/octet afin d'éviter les conflits d'écriture ; choisissezAsynclorsque les écritures peuvent être gérées indépendamment pour réduire la latence de traitement.
🛠️ Troubleshooting
Perte de connexion / Échecs d'écriture : vérifiez la joignabilité du PLC et la référence client fournie à
S7 Client. UtilisezSiemens S7 Connectpour tester la connexion séparément.Valeurs de données incorrectes : assurez-vous que le
DB Data Typesélectionné correspond au type de la variable PLC réelle et ajustezDB Byte Address/Bit Positionen conséquence.Serveur occupé ou écritures concurrentes : si vous voyez des avertissements concernant le serveur occupé, essayez de passer en mode
Syncpour des écritures partagées et sérialisées sur les mêmes adresses, ou assurez-vous que chaque écrivain utilise des adresses séparées.Valeur non écrite à l'arrêt : assurez-vous qu'une valeur valide est fournie à
[Optional] Data on Stopet que le bloc est autorisé à effectuer la finalisation (certains scénarios d'arrêt peuvent empêcher les écritures finales).
✅ Safety and Best Practices
Vérifiez deux fois les DB et adresses octet avant d'écrire sur des PLC en production afin d'éviter des modifications involontaires.
Utilisez l'écriture à l'arrêt avec précaution ; assurez-vous que la séquence d'arrêt permet au bloc de compléter l'écriture finale.
Préférez des connexions dédiées (
Async) pour les tâches d'écriture lourdes ou fréquentes qui ne doivent pas bloquer le flux principal ; préférezSynclorsque vous coordonnez des écritures entre plusieurs blocs.
Mis à jour