ADS (TwinCAT / Beckhoff)

Le protocole ADS est utilisé pour communiquer avec les automates Backhoff et TwinCAT qui embarquent un serveur ADS.

Chaque donnée est référencée par une adresse uniquement au sein de l’automate.

Installation avec serveur ADS local

Dans le cas où OIBus est installé sur la même machine que le serveur ADS, il suffit de mentionner le Net Id et le port de la machine. Le Net Id est la concaténation d’une adresse IP et de deux nombres permettant d’identifier l’automate au sein du réseau ADS gérer par le serveur ADS. Le port par défaut est le port 851.

Le champ Retry interval indique le délai entre deux tentatives de connexion.

installation ads local

Installation avec serveur ADS distant

Dans le cas d’un serveur ADS distant, il faut indiquer l’adresse IP (ou nom de domaine) du routeur ADS, ainsi que le port associé (Router tcp port).

Le client ams id correspond à un identifiant client. Cela permet au routeur ADS d’identifier le client et d’autoriser ou non son accès. Il est donc important que le client ams id spécifié dans OIBus soit autorisé par le routeur ADS.

Avec TwinCAT, cela se fait avec l’outil TwinCAT Static Routes. L’exemple ci-après autorise deux routes dont l’AmsNetId sera à utiliser côté OIBus. Il est important que l’AmsNetId utilisé le soit à travers l’adresse IP mentionnée.

installation ads distant

Chaque connexion ADS a son propre port pour échanger des données. Il faut donc atrtibuer un port au client (champ Client ads port). Ce port doit naturellement être disponible côté serveur.

Configuration des données

La liste de points permet d’indiquer le pointId, qui équivaut à l’adresse de la donnée dans l’automate, et le scanMode, qui indique l’intervalle de temps entre deux requêtes.

Dans le cas où plusieurs automates similaires (partageant les mêmes adresses de points par exemple) remontent des données au même système d’information, il est possible de les différentier grâce au champ Plc name.

Si l’automate 1 a pour Plc name PLC001. (le point est inclus dans le nom) et la donnée MyVariable.Value, l’id résultant sera PLC001.MyVariable.Value et cela permettra d’identifier la donnée de manière différemment de l’automate 2 qui aura un id résultant de type PLC002.MyVariable.Value

Dans les paramètres principaux de l’automate, il est possible d’indiquer de quel manière certaines données peuvent être récupérées. Une énumération peut être récupérée sous forme d’entier ou de chaine de caractère (l’automate connaissant les deux grâce à la programmation de ce dernier). Une valeur booléenne peut être récupérée en entier ou en chaine de caractère (avec 0 = false, 1 = true).

Configuration des structures

Grâce à la section Ads structures, il est possible de requêter une structure entière de données. Par exemple, si la donnée MyVariable est de type MyStructure et possède les champs suivants :

  • MyDate
  • MyNumber
  • Value

Et que MyDate et MyNumber nous intéressent, alors il peut être utile de remplir directement le formulaire de cette manière :

configuration structures

Cela est particulièrement utile lorsque plusieurs données (ici MyVariable) sont de type MyStructure et que nous souhaitons remonter à chaque fois MyDate et MyNumber. Plus le nombre de champs est important, plus cette fonctionnalité est utile.

Chaque champ donnera une adresse unique. Dans l’exemple précédent, cela donnera pour le seul point MyVariable les deux points suivants :

  • MyVariable.MyDate
  • MyVariable.MyNumber