
Avez-vous une machine dont vous avez besoin pour obtenir des données? Et avez-vous besoin d’envoyer ces données vers un autre appareil, mais la machine manque de capacités réseau?
Dans cet article, je vais vous montrer comment obtenir des données sur votre machine dans un automate Siemens S7-1214C en utilisant les sorties existantes de la machine pour sélectionner les données que l’automate mettra à disposition sur votre réseau.
Étape 1)
Dans cet exemple, nous avons quatre sorties sur notre machine qui nous indiquent quel produit est fabriqué.
Celles-ci seront câblées dans notre API en tant qu’entrées, et nous devons donc les ajouter à la table des balises de notre API:

Étape 2)
Maintenant que nous avons ajouté nos balises d’entrée, nous allons ensuite ajouter un nouveau bloc fonctionnel au programme nommé «Référence de pièce»:

Étape 3)
Dans cette étape, nous ajouterons les données au FB qui seront utilisées pour «sélectionner» le numéro de pièce du produit fabriqué.
Les «programmes» dans la section statique nécessitent que «Conserver» soit «Défini dans IDB». «Programmes» est un tableau 0… 15 avec une longueur de chaîne maximale de 15:

Étape 4)
Nous allons maintenant ajouter la première logique au FB. Les entrées seront écrites dans les 4 premiers bits de l’octet “Code d’entrée” et sont adressées comme # “Code d’entrée”.% X0 à % X3 comme indiqué ci-dessous:

Étape 5)
Ensuite, nous ajouterons un «réseau SCL» au bloc fonctionnel.
Cette logique convertit l’octet en Int, puis sélectionne le numéro de pièce en fonction des entrées.
Il affichera également le numéro de pièce qui a été sélectionné, et si aucune pièce n’est sélectionnée, la sortie affichera «Aucune pièce»:

Étape 6)
Maintenant, nous devons ajouter le “Part Reference” FB1 à l’OB1 Main Routine. Cela créera un «bloc de données d’instance» (IDB).
Ajoutez «Numéro de pièce» à «Temp» dans l’OB1, puis ajoutez les quatre entrées de la table des étiquettes au côté entrée du bloc fonction, et enfin ajoutez «Numéro de pièce» au côté sortie du bloc fonction:

Étape 7)
Créez maintenant une table de surveillance et nommez-la «Numéros de pièce». Ce tableau comportera de 1 à 15 références et les données y seront écrites par «Programmes» dans le bloc fonction:

Étape 8)
Compilez et chargez le programme sur l’automate, puis allez en ligne et ajoutez les «numéros de pièce» au tableau et écrivez dans la base de données:

Essai:
Maintenant, testons la logique pour nous assurer qu’elle fonctionne correctement.
Vous pouvez voir qu’en l’absence d’entrée, la sortie Référence de la pièce affiche «Aucune pièce:

Et avec l’entrée 1 activée (aka high, binaire 0001), la sortie affiche maintenant le premier numéro de pièce dans notre tableau des numéros de pièce:

Avec toutes les entrées activées (alias toutes hautes, binaire 1111), la sortie affiche maintenant le programme quinze à partir du tableau des numéros de pièce:

Ici, nous pouvons voir les entrées et comment les corréler avec l’octet «Code d’entrée»:
