Archives de catégorie : netJACK

Les modules netJACK font partie de la dernière génération d’interfaces de communication construite autour des systèmes sur puce netX développés par Hilscher.

cifX : Mise en œuvre – Modbus TCP Serveur

Bonjour,

Mon précédent article présentait la mise en œuvre des cartes Hilscher cifX de manière générale.

Dans celui-ci nous allons détailler la configuration d’une carte cifX au format PCI, disposant de deux ports Ethernet, la cifX 50-RE, avec un firmware Modbus TCP, ce firmware pouvant être configuré en Client ou en Serveur, (voire les deux simultanément mais c’est plus sportif ;-)).

J’ai déjà évoqué l’application cifXSetup qui est installée en même temps que le pilote cifX et qui est accessible depuis le panneau de configuration de Windows®. Lorsque l’on exécute cette application sans avoir procédé à une quelconque configuration, on trouve une carte non configurée évidemment :

On y voit notamment le numéro de produit et le numéro de série. Comme ma carte est un peu ancienne, elle ne dispose pas de la roue codeuse pour régler le numéro d’emplacement (ou slot). Comme il n’y en a qu’une dans cette machine de test elle est identifiée « cifX0 ».

L’on voit également qu’elle dispose de deux ports Ethernet et qu’aucun fichier de firmware ni de configuration n’est affecté à cette carte pour l’instant.

Comme on souhaite configurer la carte en tant que serveur Modbus TCP, il est possible de le faire avec « netX Configuration Tool », l’outil dédié à la configuration des versions esclaves.

L’outil détecte la carte cifX qui a le numéro de série 20951, qui ne dispose pas de firmware et encore moins de configuration. Comme la carte est équipée de ports Ethernet, l’outil ne propose que les protocoles Ethernet / Ethernet Temps Réel que sont PROFINET, EtherCAT, Ethernet/IP, Modbus TCP, Sercos III, POWERLINK et VARAN.

En cliquant sur le bouton Modbus TCP, on obtient la vue de configuration Modbus TCP comme de bien entendu, avec une configuration par défaut :

On y apporte les modifications que l’on souhaite, ici j’ai remplacé l’affectation des paramètres par serveur DHCP par une affectation statique et j’ai coché l’option « Map FC1 and FC3 ».

Voilà, voilà, ma configuration est terminée et je télécharge et le firmware et la configuration en cliquant sur « Apply ».

Le chargement s’est bien passé, c’est le cas en général, et le message dans la barre de status l’indique.

J’ai branché le câble Ethernet et la communication a démarré toute seule (l’option « Bus Startup » est sur « Automatic ») et l’on attend la connexion du Client Modbus TCP.

Comme client, je vais utiliser l’utilitaire « Modbus Poll » qui ne va pas mal :

Bien sûr, cela fonctionne aussi avec n’importe quel autre client Modbus TCP.
S’il y a de la demande, je veux bien vous établir un exemple avec un automate M340 de Schneider Electric.

Je définis donc une connexion avec ma carte cifX.

Et la communication démarre avec la FC3 qui est la fonction de lecture de registres définie par défaut.
On voit le compteur s’incrémenter, c’est plutôt bon signe…

ModbusPoll04

Côté « netX Configuration Tool », ça s’anime :

On peut jouer avec nos entrées et sorties depuis la vue « IO Monitor » :

Cette vue nous permet d’affecter des valeurs à nos sorties – qui sont donc les entrées pour Modbus Poll – et de visualiser l’état de nos entrées – les sorties de Modbus Poll.

Un, deux et trois :

Ça marche dans ce sens !

Je lis donc avec la fonction FC3 les entrées, ce qui est vrai car j’ai coché l’option « Map FC1 and FC3 » lors de la configuration. Sinon, je relirais les sorties, ce qui peut présenter un avantage s’il y a plusieurs clients Modbus TCP qui pilotent les sorties.

Je peux modifier mes définitions de fonctions pour les lectures / écritures :

Fonction FC3 ou Lecture de multiples registres internes :

Ou fonction FC4, Lecture de multiples registres d’entrées :

Fonction FC16 ou Écriture de multiples registres internes :

Testons l’écriture…

Onze, douze, treize… Envoi !

Et pendant ce temps sur « netX Configuration Tool » :

Donc cela fonctionne, mais personne n’en doutait.

Si l’on exécute à nouveau cifXSetup, on voit que maintenant les espaces firmware et configuration sont renseignés.

On trouve dans l’arborescence les dossiers et fichiers destinés au pilote cifX :

Et dans la base de registres les clés sont bien présentes :

Cordialement,
Stéphane