Passerelle modbus-tcp s7 via nodave

Description

But de la passerelle:
Interroger un automate Siemens S7 (300, 400, …) à partir d’un poste Client Modbus TCP.
Très utile en automatisme par exemple pour établir la communication entre un superviseur et un automate programmable.

Source / Exemple :


2 parties:

1 - Dialogue Automate S7

La passerelle communique avec l’automate S7 via les couches de protocole NoDave
(http://libnodave.sourceforge.net/) . Il s’agit d’un logiciel libre sous licence GPL (non commercialisable).

Les couches protocoles NoDave sont composées de :
- une dll libdodave.dll écrite en C
- un composant Delphi « nodavecomponent » englobant les appels à libnodave.dll
Le portage sous Lazarus est à priori possible.

Bien entendu, il faut disposer d’un câble de connexion S7 et de ses drivers. 
La librairie NoDave dialogue via l’interface « S7ONLINE » de Siemens.
Il est à possible, avec cette librairie, de se connecter à l’automate S7 avec une liaisons directe RS485 connectée au port MPI de l’automate, mais je n’ai pas testé.

2-MODBUS/TCP

La passerelle est serveur MODBUS-TCP (voir http://en.wikipedia.org/wiki/Modbus )

Les trames transitent via une connexion TCP sur le port 502 coté serveur.

Seules les requêtes 03 – Lecture mots et 16 – Ecriture Mots sont aujourd’hui implémentées.
Ces requêtes permettent de lire et écrire dans la zone des mementos (MW…)

Les accès aux sockets sont gérés via la classe TwinSockBV dans l’unité WinSockUnit3.pas

Protocole NoDave TCP:

Le protocole Modbus TCP étant limité aux seuls mementos, j’ai écrit une nouvelle couche protocole, non normalisée, permettant de lire et écrire dans les zones
- EW (Table image des Entrées)
- AW (Table image des Sorties)
- MW (Mementos)
- DB (Data Blocks)
- PEW (Entrées ANA physiques)
- PAW (Sorties ANA physiques)

Ce protocole est très proche du MODBUS TCP

Un logiciel de test Client TCP est aussi fourni.
Il est écrit en C++ Builder6

Conclusion :


Plus d'informations sur:
https://sites.google.com/site/logicielsdelphietcbuilder/passerelle-modbus-tcp-s7-via-nodave

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.