TP 2 Architecture Client-Serveur sous TCP-IP : Protocoles Modbus/TCP



Documents pareils
Licence Professionnelle SARI. Systèmes Automatisés et Réseaux Industriels. TP Exploitation et maintenance des équipements et installations réseaux

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Présentation du modèle OSI(Open Systems Interconnection)

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Ethernet Industriel Réseaux Ethway Coupleur Ethernet sur Automates Programmables. Plan. Contexte

L annuaire et le Service DNS

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Notice d installation des cartes 3360 et 3365

PL7 Junior/Pro Métiers communication Tome 3. TLX DS COM PL7 xx fre

SC, SNCC, superviseur - API

GenIP 30i : Passerelle intelligente dédiée aux applications industrielles les plus critiques

Figure 1a. Réseau intranet avec pare feu et NAT.

PocketNet SNMP/Modbus

Haka : un langage orienté réseaux et sécurité

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

1.Introduction - Modèle en couches - OSI TCP/IP

Partie II PRATIQUE DES CPL

energy BOX WEB Automates de GTB

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

TO-PASS -FAQ- Télésurveillance et contrôle à distance

L3 informatique Réseaux : Configuration d une interface réseau

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Programme des formations Gamme automates

Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier

Accès à un coupleur/contrôleur Ethernet via une liaison téléphonique

MYOSOTIS. Logiciel de supervision et de conduite de réseau NC. 107/2B

IUT d Angers License Sari Module FTA3. Compte Rendu. «Firewall et sécurité d un réseau d entreprise» Par. Sylvain Lecomte

DHCP. Dynamic Host Configuration Protocol

Chapitre 6 -TP : Support Réseau des Accès Utilisateurs

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Système téléphonique d entreprise SIVOTEL. T P 0 P r i s e e n m a i n d u s y s t è m e ( O F : S I V O T E L - T P 0 )

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

Travaux pratiques Configuration d une carte réseau pour qu elle utilise DHCP dans Windows Vista

PL7 Micro/Junior/Pro Métiers communication Tome 1. TLXDSCOMPL7xxfre

TCP/IP, NAT/PAT et Firewall

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

TP Réseau 1A DHCP Réseau routé simple

Contrôle d accès UTIL TP N 1 découverte

Services TCP/IP : Authentification, partage de fichier et d'imprimante dans un domaine Microsoft

Réseaux CPL par la pratique

Gestion de l'installation électrique PowerLogic System

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

PCs embarqués CX1020. Mise en œuvre rapide

Micro Modules TSX ETZ 410/510 Manuel Utilisateur

Sélection du contrôleur

INFORMATIQUE ET RESEAUX POUR L INDUSTRIE ET LES SERVICES TECHNIQUES

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Administration des ressources informatiques

Le Multicast. A Guyancourt le

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Manuel utilisateur FactoryCast

NOTIONS DE RESEAUX INFORMATIQUES

N o t i o n s d e b a s e s u r l e s r é s e a u x C h a p i t r e 2

Utilisation de KoXo Computers V2.1

Architectures en couches pour applications web Rappel : Architecture en couches

Votre Partenaire pour vos projets d Automatismes de bâtiments Tertiaires et Industriels

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

INSTALLATION MODULE WEB

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Configuration du driver SIP dans ALERT. V2

Rapport de certification ANSSI-CSPN-2011/14. Fonctionnalités de pare-feu de StoneGate Firewall/VPN build 8069

Raccordement desmachines Windows 7 à SCRIBE

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

DIALOGUE RS4S232 AVEC TELESURVEILLANCE ET SUPERVISEURS

Compte-rendu du TP n o 2

2. DIFFÉRENTS TYPES DE RÉSEAUX

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Artica Proxy Appliance Haute disponibilite

Les clés d un réseau privé virtuel (VPN) fonctionnel

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Le réseau Internet.

F actorycast Gateway ETG 1000 / 1010 Une offre simple et économique

Sécurité des réseaux Firewalls

ETI/Domo. Français. ETI-Domo Config FR

PowerLogic System. PowerLogic System

DÉPANNER SANS VOYAGER

Réseaux - Cours 3. BOOTP et DHCP : Amorçage et configuration automatique. Cyril Pain-Barre. IUT Informatique Aix-en-Provence

LAB : Schéma. Compagnie C / /24 NETASQ

Plan. Programmation Internet Cours 3. Organismes de standardisation

Présentation et installation PCE-LOG V4 1-5

Algorithmique et langages du Web

Fiche technique CPU 315SN/PN (315-4PN33)

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

Enregistreur sans papier avec écran TFT et carte Compact Flash. B Description des interfaces 07.07/

Introduction. Adresses

DIFF AVANCÉE. Samy.

Présentation Internet

Chap.9: SNMP: Simple Network Management Protocol

MANUEL D INSTALLATION

Transcription:

LP AICP Module EC3-1 Supervision des procédés - Travaux Pratiques en Réseau TP 2 Architecture Client-Serveur sous TCP-IP : Protocoles Modbus/TCP Objectifs : L objectif de ce TP est de mettre en œuvre une application de type client/serveur basée sur la pile protocolaire suivante : OpenModbus, TCP, IP et Ethernet. Le langage C# ainsi que le composant logiciel Winsock seront exploités simplement dans cette application. Présentation de l application : PC client Internet Ethernet IUT GEII PC client Dans ce TP, l architecture utilisée est constituée d un PC client et d un module d entrées/sorties (WAGO). Comme représenté sur la figure cicontre, les équipements peuvent dialoguer via Ethernet et le protocole applicatif Modbus-TCP. D autre part, le module WAGO est également accessible depuis l extérieur (à savoir via Ethernet). Le module WAGO permet de commander un process composé de cartes d entrées/sorties (E/S) «tout ou rien»(tor) ou analogique (ANA). Le process est alors piloté par le (ou les) PC client(s) qui envoient des requêtes au travers d une connexion TCP-IP standard au module d E/S. Travail à réaliser 1 Préparation des équipements 1. Après la mise sous tension et le démarrage du PC client et du module WAGO, vérifier le bon fonctionnement des drivers et des couches protocolaires de type TCP-IP sur les deux équipements : Prendre connaissance des différentes adresses IP (PC Client et WAGO) et du nom du PC. Indication : utiliser les commandes ipconfig et hostname, l adresse IP du module d E/S est notée sur celui-ci. Vérifiez la connectivité entre les deux équipements en utilisant un service de la couche ICMP (au travers de la commande ping <nom ou adresse machine distante>). Consulter les caractéristiques du module WAGO en interrogeant son serveur Web intégré. Ajouter l équivalence de @IP - nom logique wago dans le fichier c :/winnt/system32/drivers/etc/hosts. Verifier le fonctionnement via la commande ping wago 1

2 Etude du protocole de «couche application»sous TCP-IP Cette partie du TP est basée sur le modèle client/serveur dont le principe est rappelé sur la figure ci-dessous. Client 1. requête 2. indication 4. confirmation 3. réponse Serveur Le module WAGO (serveur de communication) permet de commander un process au travers de cartes d entrées/sorties. Le process est alors piloté par le (ou les) PC client(s) qui envoient des requêtes (ordres) au travers d une connexion TCP-IP standard au module d E/S. Cette configuration peut être comparée à des applications actuelles. Par exemple, la RATP a mis en place une architecture semblable où un poste de conduite et de supervision communique, via une liaison longue distance, avec des automates raccordés à des dispositifs de gestion de stations de métro (escaliers mécaniques, caméras, ventilations,...). L accès peut être réalisé depuis n importe quel point de la planète (aux problèmes de qualité de service et de sécurité près bien entendu! et tant que l équipement cible est accessible sur Internet de manière totale et continue...ce qui n est heureusement généralement pas le cas pour les équipements industriels sur la majorité des réseaux d entreprises). Après étude des annexes 1 et 2, utiliser le programme (.exe) permettant de vous connecter au serveur et d envoyer des trames applicatives. Construisez et envoyez différentes trames utilisant les services de lecture/écriture de variables TOR et ANA à disposition sur le nœud WAGO (tester au moins une de chaque type - lecture/écriture - TOR/ANA). Ouvrer le logiciel WIRESHARK qui est un outil de capture de trames sur le réseau Ethernet. Réaliser une capture de trames en envoyant une demande de lecture/écriture réalisée précédemment. Filtrer la capture de façon à n observer que les trames Modbus/TCP (filtre : mbtcp). Analyser une trame de requête et de réponse. Expliquer la construction de chaque trame et retrouver les différents octets envoyés depuis le programme. 3 Pour aller plus loin... programmation du maître/client TCP- IP : Il s agit ici de réaliser votre propre application sur le PC client permettant de piloter le process. Par un («simple») programme écrit en C#, il est possible de se connecter à un serveur distant, envoyer des requêtes et recevoir les réponses de celui-ci au travers des couches TCP - IP (et cela que la machine distante soit à 3 mètres de vous ou à 5000 km). Le listing de l annexe 3 donne une idée du code relatif au programme que vous devez réaliser (/compléter) : Dans un premier temps, analyser ce programme source en C#, puis, écrire et tester (une après l autre) les quatre fonctions qui correspondent aux services offerts par la couche application : ReadTcpWordRequest ReadTcpWordConfirm 2

WriteTcpWordRequest WriteTcpWordConfirm 3

Annexe 1 : Protocole Application OpenModbus & Adressage E/S WAGO Le protocole de niveau application exploité sur le module WAGO est une utilisation de ModBus sur TCP-IP appelé OpenModbus ou Modbus-TCP. Ce protocole est défini par Schneider Electric et permet une utilisation et une exploitation libres (sans payement de droits de licence). Les APDU envoyées sont composées d un suite d octets dont une partie est strictement identique à une trame ModBus. On pourra constater que sur Ethernet le nœud possède une adresse MAC(couche liaison), une adresse IP (couche réseau) et une adresse de nœud esclave OpenModbus (couche application). A noter que l adresse couche application ne présente de l intérêt que si le nœud est une passerelle transparente OpenModbus/Modbus : c est à dire re-expédie la trame OpenModbus reçue sur Modbus (après ajout du CRC et suppression de l entête OpenModbus) et envoi la réponse reçue sur la liaison TCP-OpenModbus (après vérification/suppression du CRC et ajout de l entête OpenModBus). Structure du protocole Requête : Ti 1 Ti 2 0 0 0 Len Esc CF...... En-tête OpenModbus Trame Modbus sans CRC Ti 1 - Ti 2 : identifiant de la requête (16 bits généralement à 0 et recopié dans la trame de réponse) Len : Longueur de la «Trame Modbus sans CRC»(en octets) Esc : Numéro de l esclave CF : Code fonction (de lecture, d écriture,...) Confirmation : Ti 1 Ti 2 0 0 0 Len Esc CF...... En-tête OpenModbus Trame Modbus sans CRC Ti 1 - Ti 2 : identifiant de la requête (16 bits recopié dans la trame de requête) Len : Longueur de la «Trame Modbus sans CRC»(en octets) Esc : Numéro de l esclave CF : Code fonction (de lecture, d écriture,...) Adressage des E/S sur le module WAGO : Dans la trame OpenModbus, le numéro d esclave (Esc) n est pas exploité par le coupleur. Par principe, il est positionné à 1 par l application maître-client. Notons que dans le cadre du TP, il est possible d avoir à faire un reset du module en cas de «plantage de votre application client»générant un problème dit de deadlock. Ceci ne reflète pas la réalité industrielle, mais une non utilisation d une fonctionnalité d activation d un chien de garde réseau sur le coupleur. Adresses des E/S disponibles : Lecture des 4 entrées ANA 15 bits : 1 Mot par entrée @ 0x0 à 0x3 Ecriture des 2 sorties ANA 15 bits : 1 Mot par sortie @ 0x200 et 0x201 4

Lecture des 4 bits d entrées TOR (E TOR) : 3 Mots d @ 0x4 Ecriture des 2 bits de sorties TOR (S TOR) : 1 Mot d @ 0x202 5

Annexe 2 : Quelques trames Modbus...et non OpenModbus Lecture de n mots de 16 bits La lecture de n mots consécutifs en mémoire de l esclave est réalisée par émission d une trame contenant l adresse du premier mot à lire ainsi que le nombre de mots à lire. La réponse contient la valeur de chacun des mots lus. Requête : @ Esc 03h @ 1er mot à lire Nb mot à lire CRC 1 octet 1 octet 2 octets 2 octets 2 octets Réponse : @ Esc 03h Nb octets de données 1er mot lu... CRC 1 octet 1 octet 1 octets 2 octets 2 octets Ecriture de n mots de 16 bits L écriture de n mots consécutifs en mémoire de l esclave est réalisée par émission d une trame contenant l adresse du 1er mot à écrire, le nombre de mots à écrire codé sur 1 mot de 16 bits, ainsi que le nombre d octets à écrire - 2 fois le nombre de mots - codé sur 1 octet, puis la valeur de chacun des mots. Requête : @ Esc 10h @ 1er mot à ecrire Nb mot à ecrire Nb octet à ecrire Valeur 1er mot... CRC 1 octet 1 octet 2 octets 2 octets 1 octet 2 octet 2 octet 2 octet Réponse : @ Esc 10h @ 1er mot écrit Nb de mots écrit CRC 1 octet 1 octet 2 octets 2 octets 2 octets Trame de réponse d exception Dans le cas de l envoi par la maître d un message problèmatique, l esclave renvoi la trame suivante : Code Erreur de base : 1 - Code Fonction erroné (Fonction non supportée par l esclave) 2 - Adresse Incorrecte (Adresse non autorisée sur @ Esc CF+80h C Err CRC l esclave) 3 - Données Incorrectes (Données non autorisées à l adresse indiquée) 1 octet 1 octet 1 octets 2 octets 4 - Automate Non Prêt (Impossibilité échange coupleur avec API de l esclave) 6