您的当前位置:首页正文

TwinCAT ModbusTCP

来源:一二三四网
 Twincat Modbus Server Pour communiquer en Modbus TCP/IP. VERSION : 1.1 / PH DATE : 15 Novembre 2005 Sommaire La librairie Twincat Modbus Serveur permet, d'une part, d'implémenter le protocole Modbus pour les produits ne le possédant pas, et d'autre part, de fournir des fonctions de requêtes en mode client sur le Modbus. Ainsi, il est nécessaire d'installer le protocole Modbus sur les CX et les PC, alors qu'il est intégré dans les BC9000. De plus, il faut insérer la librairie dans un projet PLC uniquement si le produit beckhoff est client (maitre). En tant que serveur (esclave), la déclaration standard des variables est suffisante. Sur un CX CE.net, la version dit être supérieure ou égale à V1.90 (précisé dans la racine de la compact flash). Ce manuel explique de manière pratique les étapes successives pour paramétrer la communication Modbus TCP/IP sur base PC (PC ou CX) et coupleurs (BC9000 / BK9000). Pour des renseignements plus précis, consulter les documentations complètes : http://infosys.beckhoff.com/content/1033/tcmodbussrv/html/tcmodbussrv_overview.htm http://infosys.beckhoff.com/content/1033/bc9000/html/bt_bc9000_title.htm 1 Installation de la librairie 1.1 Sur un PC – CX Xpe - BC9000 1.2 Sur un CX CE 4 4 4 2 Programme PLC 2.1 Utilisation en tant que server (esclave) 2.2 Utilisation en tant que client (maitre) (PC - CX) 2.2.1 Programme PLC 2.3 Utilisation en tant que client (maitre) (BC9000) 2.3.1 Programme PLC 2.3.2 Erreurs possibles 5 5 5 5 8 8 10 3 Adresses des données en Modbus 3.1 Pour PC et CX 3.2 Pour BC9000 11 11 12 4 Programme client test 13 Page 3 Twincat Modbus Server 1 Installation de la librairie 1.1 Sur un PC – CX Xpe - BC9000 Rappelons que le protocole Modbus est déjà implémenté dans le firmware des BC9000 et que l'installation de la librairie est uniquement nécessaire si le BC9000 est client (maitre) dans la communication. Il suffit juste de lancer l'application TcModbusSrv.exe sur le PC (PC et BC9000) ou le CX et de suivre l'installation classique. L'application intégrera le protocole Modbus pour le PC ou le CX et copiera la librairie dans C:\\Twincat\\Plc\\Lib\\TcModbusSrv.lib. REDEMARRER LE PC OU LE CX. 1.2 Sur un CX CE Lancer l'application TcModbusSrvCE.exe sur le PC. Utiliser le logiciel de connexion à distance CERHost.exe et indiquer le nom du CX (indiqué sur son écran PLC à la mise sous tension) pour ouvrir une fenêtre donnant le contenu du CX. Le logiciel CERHost est disponible sous ftp://ftp.beckhoff.com/Software/embPC-Control/CE/Tools/RemoteDisplay/ Dans START \\ Settings \\ Control Panel \\ Cx Configuration sous l'onglet FTP, cocher Server Active, Allow anonymous et Allow anonymous upload. Twincat Modbus Server Page 4 Depuis une fenêtre internet explorer, l'adresse ftp:\\\\cx_numCX permettra un accès au répertoire Hard disk\\Ftp du CX. Y copier le fichier C:\\TwinCAT\\CE\\ModbusTCP\\X86\\ TcModbusSvrCe.I586.CAB. Sur un CX9000, préférer le fichier C:\\TwinCAT\\CE\\ModbusTCP\\X86\\ TcModbusSvrCe.arm.CAB. Avec CERHost.exe, atteindre le dossier Hard disk\\Ftp du CX et double cliquer sur le fichier CAB. REDEMARRER LE CX. 2 Programme PLC 2.1 Utilisation en tant que server (esclave) Dans cette configuration, seule la déclaration des variables est nécessaire. Elle est faite de manière classique. Cet exemple de déclaration permet d'accéder aux valeurs sous forme de tableau: (* Tableau de réception des données *) Data_Memory : ARRAY [0..255] OF BYTE; Data_Output : ARRAY [0..255] OF BYTE; Data_Input : ARRAY [0..255] OF BYTE; (* Les variables PLC*) (* Les sorties *) (* Les entrées *) 2.2 Utilisation en tant que client (maitre) (PC - CX) 2.2.1 Programme PLC La déclaration des variables comme vue précédemment est évidemment également nécessaire. Il faut aussi insérer la librairie pour avoir accès aux fonctions de requêtes en Modbus. Insérer la librairie C:\\Twincat\\Plc\\Lib\\TcModbusSrv.lib pour un PC / CX Page 5 Twincat Modbus Server Cet exemple de programme permet de communiquer via Modbus TCP entre un PC client et un CX server. • Variables communes à toutes les fonctions : AdresseIP:STRING :='10.46.2.17'; nTCPPort := 502; nUnitID := 255; bExecute := Démarrage de la fonction sur le front montant tTimeout := T#1s Le numéro de port TCP est standardisé à 502. Cependant, il peut également être modifié avec KS2000 dans la table 100, registre 26. • Lecture / Ecriture de variables Ces fonctions permettent de modifier une variable et lancer la lecture complète une fois l'écriture effectuée. FB_Write_Memory.nMBAddr FB_Write_Memory.nValue FB_Read_Memory.nQuantity FB_Read_Memory.nMBAddr FB_Read_Memory.cbLenght FB_Read_Memory.pDestAddr : Adresse de la variable à modifier (voir chapitre suivant). : Valeur à attribuer à la variable. : Nombre de mots à lire = 125 Max. : Adresse du premier mot à lire (voir chapitre suivant). : Taille du tableau qui recevra les valeurs. : Adresse du tableau qui recevra les valeurs. Twincat Modbus Server Page 6 • Lecture / Ecriture des sorties et lecture des entrées L'utilisation pour les I/O est équivalente à celle des variables. Juste la quantité est modifiée (2000 octets max) et l'adresse des données (voir chapitre suivant). Pour indiquer la valeur à écrire dans une sortie, préciser 0 ou 16#FF00 pour écrire 0 ou 1. Page 7 Twincat Modbus Server 2.3 Utilisation en tant que client (maitre) (BC9000) 2.3.1 Programme PLC Il faut d'abord insérer la librairie C:\\Twincat\\Plc\\Lib\\ TcModbusTcpBC.lb6. Ce programme permet donc d'ouvrir la communication, de modifier une variable, de lire toutes les variables et de fermer la communication pour un BC9000. L'ouverture de la communication se fait juste sur le front montant de Start_Memory à l'adresse IP indiquée en argument. Cette fonction renvoi un numéro de port qui sera utilisé dans toutes les autres fonctions. La fermeture de la communication se fait sur le front montant de l'entrée bStart du bloc en précisant le numéro de port fournit par la fonction FB_ModbusTCPOpen. Twincat Modbus Server Page 8 La fonction de requête est programmable par l'intermédiaire de deux tableaux : • 1 tableau (Writereg ou Readreg dans le programme) permet de configurer la requête. Il est déclaré de la sorte: WriteReg : ARRAY[0..5] OF BYTE:= 1, (* Unit ID 6, (* CODE fonction Modbus (6=Ecriture) 48, (* Adresse Hi = 0x30 (-> %MB0 d'un PC) 0, (* Adresse Lo = 0x00 0, (* Data Hi 0; (* Data Lo ReadReg : ARRAY[0..5] OF BYTE:= 1, (* Unit ID 3, (* CODE fonction Modbus (3=Lecture) 48, (* Adresse Hi = 0x30 0, (* Adresse Lo = 0x00 0, (* Data Hi 125; (* Data Lo = Nb de mots à lire = 125 Max • 1 tableau de réception des données (Data_Memory dans le programme): Data_Memory : ARRAY [0..255] OF BYTE; (* Tableau de réception des données *) Contenu du tableau après une lecture Data_Memory[0] Unit ID Data_Memory[1] Dernière fonction exécutée (3) Data_Memory[2] Nombre d'octets lus Data_Memory[3] 0 Data_Memory[4] 0 Data_Memory[5] 1er Octet de données lu Data_Memory[6] 2e Octet de données lu Data_Memory[7] 3e Octet de données lu Page 9 Twincat Modbus Server *) *) *) *) *) *) *) *) *) *) *) *) 2.3.2 Erreurs possibles Erreurs server : Erreurs client : Twincat Modbus Server Page 10 3 Adresses des données en Modbus En fonction du produit utilisé, les adressages sont différents. A noter que le Modbus fonctionne sous forme de Mots et qu'il n'est pas possible d'atteindre les entrées/sorties sous forme de bit. 3.1 Pour PC et CX Page 11 Twincat Modbus Server 3.2 Pour BC9000 Twincat Modbus Server Page 12 4 Programme client test Afin de tester la communication Modbus TCP en tant que server, il est possible d'utiliser un logiciel client sur PC. Il en existe un sur http://www.automatedsolutions.com/demos/ModbusTCP Master ActiveX control. Une fois installé, vous pouvez utiliser le programme MiniHMI Example application pendant 30 jours. 2 / Préciser l'adresse à lire 3 / Lancer la lecture 40001 = QW128, 56385 = MB0 (BK/BC9000) 1 / Préciser l'adresse IP Page 13 Twincat Modbus Server BECKHOFF AUTOMATION Sarl Immeuble \"Le Montréal\" ZA de Courtaboeuf 19 bis, Avenue du Québec 91951 COURTABOEUF Cedex Tél : 01 69 29 83 70 Fax : 01 69 28 40 55 www.beckhoff.fr info@beckhoff.fr

因篇幅问题不能全部显示,请点此查看更多更全内容

Top