La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Réseaux Industriels - Modbus Les réseaux Industriels MODBUS.

Présentations similaires


Présentation au sujet: "1 Réseaux Industriels - Modbus Les réseaux Industriels MODBUS."— Transcription de la présentation:

1 1 Réseaux Industriels - Modbus Les réseaux Industriels MODBUS

2 2 Réseaux Industriels - Modbus Introduction Modbus is a communication protocol developed by Modicon systems. In simple terms, it is a way of sending information between electronic devices. The device requesting the information is called the Modbus Master and the devices supplying information are Modbus Slaves. In a standard Modbus network, there is one Master and up to 247 Slaves, each with a unique Slave Address from 1 to 247. The Master can also write information to the Slaves.

3 3 Réseaux Industriels - ModbusCaractéristiques Topologie bus Nombre théorique d'abonnés 247. Peut-être plus faible suivant les constructeurs ainsi que par la limitation de la couche physique. Transmission en semi duplex, pas de médium particulier (paire torsadée, coaxial, fibre optique…) fixé en fonction des distances et des interfaces disponibles. Transmission en bande de base de 50 à bits/s. RS232, RS422, RS485. Méthode d'accès par protocole maître – esclaves (question/réponse)

4 4 Réseaux Industriels - Modbus

5 5 5 MODBUS with a PLC millenium II (CROUZET) I1I4I2I3 PLC system for the workshop Modbus Interface O1O4O2O3 PLC Power supply Inputs/outputs

6 6 Modbus Serial line RS485 MODBUS Serial line RS485 is a low cost network using amaster/slave medium access with a transmission speed from 1,200 to 115 Kbits/s Application Presentation Session Transport Network Link Physical Master - Slave Modbus RS485

7 7 Modbus TCP/IP MODBUS TCP/IP uses TCP/IP and Ethernet 10 Mbit/s or 100 Mbits/s to carry the MODBUS messaging structure. Application Préeentation Session Transport Network Link Physical CSMA / CD ETHERNET V2 ou Modbus TCP IP

8 8

9 9

10 10 Modbus Plus MODBUS PLUS is a higher speed network 1 Mbit/s token passing derivative that uses the MODBUS messaging structure. Application Presentation Session Transport Network Link Physical Token passing Modbus RS485

11 11 Réseaux Industriels - Modbus Protocole maître esclaves

12 12 Réseaux Industriels - Modbus Protocole maître esclaves

13 13 Réseaux Industriels - Modbus Protocole Modbus

14 14 Réseaux Industriels - Modbus Protocole série

15 15 Réseaux Industriels - Modbus Les modes de transmission. Deux modes de transmission, sont définis : Le mode RTU et le mode ASCII. Les modes de transmission doivent être identiques pour tous les participants à un même réseau. Le mode ASCII est une option.

16 16 Réseaux Industriels - Modbus 16 Modbus frame structure AddressChecksumDataFunction The Modbus frame structure is the same for requests (master to slave messages) and responses (slave to master messages). Modbus ASCII Modbus RTU :CRLF 3A Hex 0D Hex 0A Hex AddressChecksumDataFunction silence Silence >= 3,5 characters

17 17 Réseaux Industriels - Modbus Transmission en mode RTU Les trames RTU ne comportent ni entête, ni délimiteur de fin. La station réceptrice contrôle le temps séparant deux caractères consécutifs, s'il est supérieur à 3 caractères et demi, elle considère que le prochain caractère est un début de trame. Chaque octet (00 à FF), d'une trame RTU, est transmis suivant le format recommandé : 1 Bit de start, 8 bits de donnée, 1 Bit de parité, 1 Bit de Stop.

18 18 Réseaux Industriels - Modbus Transmission en mode RTU La parité est normalement paire par défaut. Il est possible de supprimer la parité, dans ce cas, il est recommandé de mettre deux bits de stop. (1 bit de start, 8 bits de donnée, 2 Bits de Stop). Une clé de contrôle de deux octets est ajoutée à la fin de la trame. C'est un CRC16 dont le polynôme générateur est g(X)=X 16 + X Les deux octets du CRC sont transmis poids faible en tête. Le CRC est calculé sur lensemble des champs adresse, fonction et données.

19 19 Réseaux Industriels - Modbus Transmission en mode RTU Adresse esclave. Code fonction. Données.CRC. 1 octet. 0 à 252 octets. 2 octets.CRC pf PF

20 20 Réseaux Industriels - Modbus Transmission en mode ASCII Les trames sont émises avec un délimiteur de début "3A" (Code ASCII de ":") et un délimiteur de fin "0D 0A" (Codes ASCII de CR et LF) Chaque octet d'information (00 à FF) est codé sur deux octets « imprimables ».

21 21 Réseaux Industriels - Modbus Transmission en mode ASCII Exemple: x9B0x39Code ASCII du 9 0x42Code ASCII du B

22 22 Réseaux Industriels - Modbus Transmission en mode ASCII Chaque caractère ASCII est transmis suivant lun des deux formats : Start, 7 bits de donnée, 1 Bit de parité, 1 Bit de Stop. Start, 7 bits de donnée, 2 Bits de Stop. 3A Adresse Esclave Code fonction. Données.LRC0D 0A 1 car2 car 525 octets2 car clé de contrôle: somme modulo 256 de tous les octets de la trame non encore codée en ASCII

23 23 Réseaux Industriels - Modbus Trame dexception Des trames dexception sont prévues pour permettre la gestion du réseau et le traitement des erreurs. 11 Caractères en ASCII. 5 Octets en RTU Champ adresse. Champ code. Champ code erreur. CRC. 1 Octet. 2 Octets. 1 - Fonction inconnue. 2 - Adresse incorrecte. 3 - Donnée incorrecte. 4 - Esclave non prêt. 5 - Acquittement. 8 - Défaut décriture. Le code fonction retourné est celui de la commande avec le bit de poids le plus fort forcé à 1.

24 24 Réseaux Industriels - Modbus Comparaison entre les deux modes Le maître envoie la même demande à la station n°1 Champ adresse01 Champ code 08 Champ données Trame RTU : Trame ASCII:3A D 0A Calcul du LRC de la trame ASCII: somme des octets de la trame : =CC complément à deux :00-CC=34 LRC = 34 soit codé ASCII "33 34"

25 25 Réseaux Industriels - Modbus Quelques fonctions ! CODE.FONCTION. 01Lecture de N bits de sortie ou de bit interne. 02Lecture de N bits dentrées discrètes. 03Lecture de N mots de sortie ou mots internes. 04Lecture de N mots dentrée. 05Écriture dun bit de sortie ou bit interne. 06Écriture dun mot de sortie ou dun mot interne.

26 26 Réseaux Industriels - Modbus Exemple: Fonction 01 Cette fonction est utilisée pour la lecture de 1 à 2000 bits contigus dans un équipement distant. Exemple: Lecture de 20 bits de sortie à partir de ladresse (en décimal) se traduit par 14 en hexadécimal Dans le protocole, cest ladresse – 1 que lon trouve dans le champ de données

27 27 Réseaux Industriels - Modbus Champ de données Fonction Adresse départ PF Adresse départ pf Nombre de bits PF Nombre de bits pf 1 octet.

28 28 Réseaux Industriels - Modbus Exemple: Fonction 01 DEMANDEREPONSE Nom du champ.HexNom du champ.Hex Fonction.01Fonction.01 Adresse de départ (PF).00Nombre doctets.03 Adresse de départ (pf).13Etat des sorties 27 – 20CD Nombre de bits (PF).00Etat des sorties 35 – 286D Nombre de bits (pf).14Etat des sortie 39 – 360B

29 29 Réseaux Industriels - Modbus Exemple: Fonction 01 Létat des sorties 27 – 20 est CD en hexa soit en binaire. La sortie 27 est le MSB de loctet, et la sortie 20 est le LSB MSBLSB Sortie 27 Sortie 26 Sortie 25 Sortie 24 Sortie 23 Sortie 22 Sortie 21 Sortie

30 30 Réseaux Industriels - Modbus Mise en oeuvre RS232 – Liaison point à point (deux appareils) RS485 – Liaison multi points (plus de deux appareils)

31 31 Réseaux Industriels - Modbus Liaison deux fils

32 32 Réseaux Industriels - Modbus Liaison deux fils

33 33 Réseaux Industriels - Modbus Liaison quatre fils

34 34 Réseaux Industriels - Modbus Liaison quatre fils

35 35 Address field AddressChecksumDataFunction Valid slave device addresses are in the range of decimal. The individual slave devices are assigned addresses in the range of Value 0 is reserved for broadcast messages (no response). Request : A master addresses a slave by placing the slave address in the address field of the message. Response : When the slave sends its response, it places its own address in this address field of the response to let the master know which slave is responding.

36 36 Valid codes are in the range of decimal. Request : The function code field tells the slave what kind of action to perform. Response : For a normal response, the slave simply echoes the original function code. For an exception response, the slave returns a code that is equivalent to the original function code with its most significant bit set to a logic 1. Function field AddressChecksumDataFunction

37 37 Valid codes are in the range of decimal. Request : The data field contains additional information which the slave must use to take the action defined by the function code. This can include items like register addresses, quantity of items to be handled, etc... Response : If no error occurs, the data field contains the data requested. If an error occurs, the field contains an exception code that the master application can use to determine the next action to be taken. Data field AddressChecksumDataFunction

38 38 Valid codes are in the range of decimal. Modbus RTU uses CRC : Cyclycal Reduncy Check (2 byte) Modbus ASCII uses LRC : Longitudinal Redundancy Check (1 bytes) Request : The checksum is calculated by the master and sends to the slave. Response : The checksum is re-calculated by the slave and compared to the value sent by the master. If a difference is detected, the slave will not construct a response to the master. Checksum field AddressChecksumDataFunction

39 39 Request : Frame exemple in RTU mode Function code = 03 : Read Holding Registers Slave Address CRC16 First word address Function code = 03 Number of words to read 1 byte 2 bytes Response : Slave Address CRC16 Number of bytes read Function code = 03 Value of the first word 1 byte 2 bytes Value of the last word 2 bytes

40 40 Request : Frame exemple in RTU mode Function code = 06 : Write Single Register Slave Address CRC16 Word address Function code = 06 Value of word 1 byte 2 bytes Response : Slave Address CRC16 Word address Function code = 06 Value of word 1 byte 2 bytes

41 41 Request : Frame exemple in RTU mode Function code = 16 (décimal) : Write Multiple Registers Slave Address CRC16 First word address Function code = 16 Number of words to write 1 byte 2 bytes Response : Slave Address CRC16 Function code = 16 1 byte 2 bytes Value of the first word Number of bytes 1 byte2 bytes First word address Number of words to write

42 42 Physical layer:New Modbus RS485 standard schematic Master Slave 1Slave 2 D1 D0 Common 5 V nF nF

43 43 Main characteristics resume Topology: Bus with line terminations Maximum distance:With RS485 : 1000 m without repeater Data rate:From 1,200 to 115 Kbits/s Max. no. of devices: With RS485 : 32 master included

44 44 Method of accessing the medium: Master slave Transmission method: Messaging Max. useful data size: 120 words Transmission security:LRC or CRC Start and stop delimiters Parity bit Continuous stream Main characteristics resume

45 LABVIEW SESSION IRBID MODBUS PROTOCOL (query/response) MASTER TRANSMITRECEIVE TRANSMITRECEIVE SLAVE 1 TRANSMITRECEIVE SLAVE 2 TRANSMITRECEIVE SLAVE N Protocol admit only one master and until 255 slaves with serial interface. Each frame as a particular number of bytes Each frame is coded Half duplex mode The master transmit a question and wait a response 2 slaves cant speak together

46 LABVIEW SESSION IRBID BUILD A FRAME (GENERAL) 4 fields are used to build a frame address field (1 byte) : Provide the numerous (1 to 255) for the slave concerned by the operation. ADR = 0 ; for a broadcast to all slaves. Function field (1 byte) : Provide the code for the operation. Datas field (n bytes) : Provide the address/datas for the slave concerned by the operation. Control field (2 bytes) : Word CRC16 add at the end of the message to secure the communication (Cyclic Redundancy Chehksum 16 bits). address ADR Function OP Datas DATA Control CRC16

47 LABVIEW SESSION IRBID MODBUS PROTOCOL (broadcasting) For the broadcasting, the master send a message to all slaves units. Those ones execute it without response.

48 LABVIEW SESSION IRBID BUILD A FRAME (READING BITS) Function 01h or 02h : reading request for n consecutive bits The master provide the address on 16 bits, of the first bit to read and the number of consecutive bits to read. ADR01haddress 1 st bit to readbits number to read (1 to 640)CRC 1 byte2 bytes 1 byte start d0d1d2d3d4d5d6d7stop start d0d1d2d3d4d5d6d7stop 0 ou 1 The frame…

49 LABVIEW SESSION IRBID BUILD A FRAME (READING WORDS) ADR03h adr 1 st word to readwords number to read( ) CRC 1 byte2 bytes 1 byte Function 03h or 04h : reading request for n consecutive bytes The master provide the address on 16 bits, of the first byte to read and the number of consecutive words to read.

50 LABVIEW SESSION IRBID BUILD A FRAME (WRITING BITS) Function 0Fh : writing request for n consecutive bits The master provide the address on 16 bits, of the first bit to write and the number of consecutive bits to write, the state of the bits. (frame size : 10 to 109 bytes) ADR0Fh address 1 st bit to writebits number to write (1 to 800) CRC 1 byte2 bytes 1 byte bytes number state of the bits b 7,...,b 0,b 15,...,b 8,b 23,... Response to the writing request of bits(8 bytes) ADR0Fh address 1 st bit to writebits number to write (1 to 800) CRC 1 byte2 bytes 1 byte

51 LABVIEW SESSION IRBID BUILD A FRAME (WRITING WORDS) CRC Function 10h : writing request for n consecutive bytes The master provide the address on 16 bits, of the first byte to write and the number of consecutive words to write, the corresponding bytes number and the value of the words. (frame size : 11 to 209 bytes) (Function code 06h for one word) ADR10h adr 1 st word to write words number to write ( ) 1 byte2 bytes 1 byte bytes number state of the words word 1, word 2,... Response to the writing request of words (8 bytes) ADR10h address 1 st word to write words number to write ( ) CRC 1 byte2 bytes 1 byte

52 LABVIEW SESSION IRBID BUILD A FRAME (ERROR MESSAGE) Sent to the master when a slave detect an error. For a broadcasting, no message is sent back. Response to an error frame ( 5 bytes) slave address code function 1 byte CRC 2 bytes code error 1 byte Code error : 01 false code function 02 bad address 03 bad datas 04 défault transfer 06 PLC busy Code function : code function + 80h Moreover, the slave tests if the pause between 2 characters is less than 3.5 units of time (one unit for a word). In this case, the reception is aborted and the next character will be the first of a new frame.

53 LABVIEW SESSION IRBID LABVIEW FRONT PANEL

54 LABVIEW SESSION IRBID LABVIEW SERIAL PORT

55 LABVIEW SESSION IRBID LABVIEW BLOCK DIAGRAM


Télécharger ppt "1 Réseaux Industriels - Modbus Les réseaux Industriels MODBUS."

Présentations similaires


Annonces Google