Sujet ESI du BTS IRIS 2012 (complet)
Short Description
Sujet et annexes de l'épreuve ESI (Étude d'un Système Informatisé) du BTS IRIS sessi...
Description
BREVET DE TECHNICIEN SUPÉRIEUR INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
ÉTUDE D'UN SYSTÈME INFORMATISÉ
1
1
Session 2012
1
Durée : 6 heures Coefficient 5
Ce sujet comprend : Partie
Pagination
Couleur des feuilles
Présentation du système et questionnement
pages 1 à 21
Rose
Annexes
pages 1 à28
Vert
pages 1 à 18
Blanc
Document réponses
À RENDRE OBLIGATOIREMENT, AGRAFÉ À UNE COPIE MODÈLE EN
Matériel autorisé : L'usage de la calculatrice est autorisé (circulaire n "99-186 du 16-11-1999). Tout autre document ou matériel est interdit.
Dès que le sujet vous est remis, assurez-vous qu'il est complet.
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ Code: IRSES
Session 2012
BREVET DE TECHNICIEN SUPÉRIEUR INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ Session 2012
Durée : 6 heures Coefficient 5
SUJET (21 PAGES) Toutes les réponses aux questions sont à fournir sur le livret intitulé « document réponses ",à l'exclusion de tout autre support. Ce document sera agrafé à une copie modèle EN. Les réponses doivent être exclusivement situées dans les emplacements prévus à cet effet. Si nécessaire, le candidat peut rectifier ses réponses sur la page non imprimée en regard. Une réponse ne doit être justifiée que si la question le demande. Pour des raisons de confidentialité certaines informations industrielles ont été modifiées.
Temps conseillés et barèmes indicatifs: A. PRÉSENTATION DU SYSTÈME B. PRINCIPE DE PRODUCTION DU FROID PAR UNE MACHINE FRIGORIFIQUE C. COMMUNICATION MODBUS D. CONCEPTION ET CODAGE E. RÉSEAU
30 mn
45 mn
14 points
90 mn 120 mn 75 mn
25 points 39 points 22 points
Matériel autorisé : L'usage de la calculatrice est autorisé (circulaire n"99-186 du 16-11-1999).
Tout autre document ou matériel est interdit. Dès que le sujet vous est remis, assurez-vous qu'il est complet.
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- SUJET Code: IRSES
Session 2012 Page: 1/21
PLATEFORME LOGISTIQUE FRIGORIFIQUE A. PRÉSENTATION DU SYSTÈME L'étude porte sur la supervision d'une plateforme logistique frigorifique d'un grand groupe de distribution, permettant le stockage et la conservation de produits frais et de produits surgelés avant distribution vers des surfaces de vente. L'objectif d'une telle plateforme est de minimiser la quantité d'énergie utilisée pour la conservation des produits (congélation, surgélation, produits frais, ...). Cette plateforme est agréée CEE. Le respect de la chaîne du froid est une obligation légale, ce qui implique un enregistrement permanent des températures ainsi qu'une parfaite traçabilité des produits stockés avant distribution. Le rôle d'une plateforme est d'assurer : • La réception des marchandises : quai de déchargement réfrigéré, contrôle des marchandises (qualité et quantité). • La gestion des stocks : inventaire physique et informatique, gestion de la traçabilité des produits.
• Le stockage des produits : o stockage tempéré pour les produits secs. o stockage froid positif pour les produits frais. o stockage froid négatif pour les produits congelés et surgelés. • La distribution des produits vers les surfaces de vente. Le système contrôle/commande mis en place permet d'assurer le fonctionnement correct de la plateforme en remplissant les fonctions suivantes : 1. Enregistrer et visualiser les différentes températures de toutes les surfaces de la plateforme. 2. Ventiler les surfaces de stockage et de chargement/déchargement des produits secs. 3. Refroidir et ventiler les surfaces de produits frais, les surfaces de produits congelés et les quais réfrigérés. Vocabulaire métier : Une chambre froide est un local servant à conserver à basse température des aliments, échantillons, etc. selon usage. Les chambres froides sont classées en 2 catégories :
oc mais cela est variable
•
froid positif : au-dessus de 0 "C (généralement consigné à 3 selon les al iments stockés au froid positif) ;
•
froid négatif : en dessous de 0 "C (généralement consigné à - 18 "C mais cela peut descendre plus bas).
On appelle chaîne du froid ou chaîne frigorifique l'ensemble des opérations logistiques et domestiques (transport, manutention, stockage) visant à maintenir des produits alimentaires à une température donnée pour assurer le maintien de leur salubrité ou de leur qualité gustative . Selon les produits, les normes fixent les températures limites et les tolérances de dépassement (01+2 oc pour le poisson frais, +21+8 "C pour de nombreux produits alimentaires frais, -18 "C pour les surgelés). L'intérêt du terme chaÎne est de souligner l'importance de la continuité des étapes ; aucun maillon ne devant céder et anéantir l'essentiel de l'effort général déployé pour aboutir en fin de chaîne à un produit préservé de tout échauffement.
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
Session 201 2
ÉTUDE D'UN SYSTÈME INFORMATISÉ - SUJET
Page: 2/21
Code : IRSES
A. i La plateforme logistique La plateforme logistique Le plan de masse de la plateforme logistique (livrée en juillet 2008), d'une surface de 25 000 m2 au sol, est proposé ci-dessous. A gauche se situent 13 000 m2 de stockage de produits secs, et à droite les chambres froides (1 000 m2 de chambres en froid négatif et 9 000 m2 en froid positif). Le bâtimënl dispose de 50 portes de quais afin d'accueillir, en -moyenne, un flux de 200 poids lourds chaque jour. La salle des machines permettant la production de " froid » est repérée par l'abréviation SOM.
lzz;s-cl
Zone réfrigérée (dét~illée ci~après)
Produits secs
Produits secs
!2o,o•cj !2o.s·cj
l2s.o·cl 11101111
l26,s•cl 111111
D1 1 1
Quai de chargement 1 déchargement
l21.s·cl -~-~-~- ,- ,1--t'""'r_l_l-,-,1-'-1-1-1.........--1 1 1 1
Bureauyx
D
Quai réfrigéré cte chargement 1déchargement
Figure 1 : Plan de masse de la plateforme logistique
Cette plateforme comporte : • des quais pour la réception et la distribution des différents produits avec contrôle des marchandises (qualité et quantité), et pour affectation dans une zone de stockage en fonction du type de produit. Deux types de quai sont utilisés : •
des quais pour produits secs.
•
des quais réfrigérés pour les produits frais et surgelés afin de ne pas briser la chaîne du froid.
• des surfaces de stockage de produits secs, destinées aux produits alimentaires qui ne nécessitent pas de réfrigération. Exemple : pâtes, biscuits, boîtes de conserves .. . • des surfaces de froid positif pour les produits frais qui nécessitent de maintenir les produits à une température de oo à ;oa C selon le type de produit. Exemple de produits stockés en froid positif : o fruits et légumes : température de 7 à 10 OC. o boucheries 1 volailles 1 poissonneries : température de 0 à 2 OC
o produits frais : les laitages, les jus de fruits frais, les quenelles, la charcuterie pré conditionnée ... :température de 1 à 3 OC.
• des surfaces de froid négatif pour les denrées congelées qui nécessitent de maintenir les produits à une température inférieure à -18 OC.
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- SUJET Code: IRSES
Session 2012 Page : 3/21
_:o::alisation des capteurs de température (figures 1 et 2) : •
Pour les surfaces de produits secs et les surfaces de froid positif, les températures, repérées par le symbole 1 xoc 1 dans les figures 1 et 2, sont mesurées au niveau du plafond de l'entrepôt.
•
Pour-les surfaces de froid négatif : o
les températures repérées par le symbole 1 xoc 1 dans la figure 2, sont mesurées par des sondes implantées dans le sol. Les sondes de température, implantées dans les fondations du bâtiment, permettent de contrôler que le sol ne gèle pas. En cas de gel, un système de canalisations permet de réchauffer le sol à partir de la chaleur récupérée dans la salle des machines.
o
les températures repérées par le symbole dans les chambres froides. -
-q-x~c J dans la figure 2, sont mesurées _ Légende Modlll~ de; gestion d'une
Produits svrgelés
unité réfrigérante (TLY)
-G Fruits & légumes Capteur de température
relié à un module TDA
Produits frais
Quai réfrigéré de chargement f déchargement
Figure 2 : Plan de masse des chambres froides
On dénombre cinq zones réfrigérées, chaque zone est composée d'un compresseur et de deux unités réfrigérantes (évaporateurs).
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
Session 2012
ÉTUDE D'UN SYSTÈME INFORMATISÉ- SUJET
Page: 4/21
Code : IRSES
A.2 Description de la solution retenue L'architecture matérielle détaillée se trouve annexe 1 " Synoptique du réseau modbus "· Le système contrôle/commande est constitué : •
D'un poste de supervision qui permet : o
D'enregistrer et de visualiser les températures dans les différentes zones.
o
De définir les consignes de température des différentes zones de produits frais, pour le fonctionnement en mode régulation automatique.
o
D'arrêter la production de froid dans une zone, pour des travaux de maintenance ou de nettoyage. On parlera alors d'un fonctionnement de la zone en mode manuel.
•
De 5 automates programmables (appelés aussi centrales) qui assurent fonctionnement des compresseurs (mise en marche/arrêt ON/OFF des compresseurs) .
le
•
De modules d'acquisition de températures (TDA_08) : on utilise des modules " simples , qui assurent l'acquisition des températures (symbolisées par 1 x·c 1dans les figures 1 et 2). Trois modules TDA_08 permettent d'acquérir un total de 22 températures différentes sur les 24 qu'ils pourraient acquérir.
•
De modules de gestion d'unité réfrigérante (TL Y35) : Pour les zones réfrigérées, il est nécessaire d'ajouter des modules plus " intel4entj "· Ces modules doivent assurer l'acquisition d'une température (symbolisée par . x·c dans la figure 2) et la gestion des unités réfrigérantes (évaporateur). Ces modules assurent localement le dégivrage automatique de chaque unité réfrigérante et la régulation en mode automatique de la température. On dénombre la présence de 10 modules TL Y35 afin d'assurer le fonctionnement des 10 évaporateurs.
Il y a un - ----·---- compresseur par zone réfrigérée .
utomate ammable) modbus / 5 t...;;.;"""""""""",_.,;,w"' «d.evl·ce.» .lV ; / . ·Poste de supervision ·. ·,1 · ' modbus
~1
.. . '1" """"'""""""""""""""""""'""'·=-··=-· w modbus
:··.· :>'. -·;:;:-::'
HSN7471-75
62900
~
30 40 50
160100 147100 130300
134500 123800 109800
112100 103300 91700
92500 85500 75800
75500 69800 61800
60700 56200 49450
47850 44400 38600
27,70
57,00 69,30
54,60 66,50
52-.30 63,70
50,00 60,90
47,60 58.10
41 ~so > ·. ~9.6R4 51 ,60••~ :•:..4.9 ,30' !-
64,~0 1 :.~~.~.e.9~~
45.1 0 55,30
42,60 52.60
Température d'évaporation = Température de la chambre froide + (-JOC). Température de condensation= Température extérieure max+ 15 °C (pour la région lyonnaise, la températu re extérieure max vaut 35 "C).
BTS INFORMATIQUE ET RÉSEAUX POU R L'INDUSTR IE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ - ANNEXES Code : IRSES
Session 2012 Page:11/28
Annexe 6 : Extrait documentation modbus Cette annexe est un extrait du document " MODBUS over seriai line specification and implementation guide V1 .02 , disponible sur le site http://www.modbus.org.
2.5
The two seriàiTràhsmission Modes
Two different seriai transmission modes are defined: The RTU mode and the ASCII mode. lt defines the bit contents of message fields transmitted serially on the line. lt determines how information is packed into the message fields and decoded. The transmission mode (and seriai port parameters) must be the same for ali deviees on a MODBUS Seriai Line.
Although the ASCII mode is reguired in some specifie applications, interoperability between MODBUS deviees can be reached only if each deviee has the same transmission mode: Ali deviees must implement the RTU Mode. The ASCII transmission mode is an option . Deviees should be set up by the users to the desired transmission mode, RTU or ASCII. Default setup must be the RTU mode.
2.5.1
RTU Transmission Mode
When deviees eommunicate on a MODBUS seriai line using the RTU (Remote Terminal Unit) mode, each 8-bit byte in a message contains two 4-bit hexadecimal characters. The main advantage of this mode is that its greater character density allows better data throughput than ASCII mode for the same baud rate. Each message must be transmitted in a continuous stream of characters. The format (11 bits) for each byte in RTU mode is: Coding System: Bits per Byte:
8-bit binary 1 start bit 8 data bits, !east significant bit sent first 1 bit for parity completion 1 stop bit
Even parity is regu i red~ other modes (odd parity, no parity) may also be used. ln arder to ensure a maximum compatibility with other products, it is recommended to support also No parity mode. The default parity mode must be even parity.
Rerriark: the use of no parity requires 2 stop bits. How Charaeters are Transmitted Serially: Each character or byte is sent in this arder (left to right): Least Significant Bit (LSB) .. . Most Significant Bit (MSB)
With Parity Checking
Figure 10: Bit Sequence in RTU mode
1 BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES [ÉTUDE D'UN SYSTÈME INFORMATISÉ - ANNEXES 1 Code: IRSES
Session 2012 Page:12/28
Deviees may accept by configuration either Even, Odd, or No Parity checking. If No Parity is implemented, an additional stop bit is transmitted to till out the character frame to a full 11-bit asynchronous character: Without Parity Checking
Figure 11 : Bit Sequence in RTU mode (specifie case of No Parity) Frame Checking Field: Cyclical Redundancy Checking (CRC) Frame description:
Figure 12: RTU Message Frame ~
The maximum size of a MQDBUS RTU frame is 256 bytes.
2.5.1.1 MODBUS Message RTU Framing
A MODBUS message is placed by the transmitting deviee into a frame that has a kriown beginning and ending point. This allows deviees that receive a new frame to begin at the start of the message, and to know when the message is completed. Partial messages must be detected and errors must be set as a result. ln RTU mode, message frames are separated by a silent interval of at least 3.5 character times. ln the following sections, this time interval is called t3,5. Frame 1
t.,.
1
1
:.._
~:
1
1..
...:
:
~tleast 3.5 c~ar·
atleast 3.5 char
Frame 3
Frame2
3.5 char
...: 1
:..
1 :
.: 4 .5 char
Start: ·
EnQ ~
:;::: 3.5 char
Figure 13:
3.5 char
RTU Message Frame
The entire message frame must be transmitted as a continuous stream of characters. If a silent interval of more than 1.5 character times occurs between two characters, the message frame is declared incomplete and should be discarded by the receiver. Frame '1 OK
Frame2 NOK
ta 1
1 1 1 1
jli 'è ~
1
1
1 1 Il ~1
1 1
1 1
1
t .
lof IJol
\-1
s 1.::J char
...
' 1 1 ' ~ 1
> 1.5
enar
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHN IQUES D'UN SYSTÈME INFORMATISÉ- ANNEXES 1 Code: IRSES
1 ÉTUDE
Session 2012 Page:13/28
Remark: The implementation of RTU reception driver may imply the management of a lot of interruptions due to the t1.5 and t3.5 timers. With high communication baud rates, this leads to a heavy CPU load. Consequently these two timers must be strictly respected when the baud rate is equal or lower than 19200 Bps. For baud rates greater than 19200 Bps, fixed values for the 2 timers should be used: it is recommended to use a value of 750j.ls for the inter-character ti me-out (t1 .5)-aml-a--value of 1. 750ms for inter-frame delay (t3,5}.The following drawing provides a description of the RTU transmission mode state diagram. Bath "master" and "slave" points of view are expressed in the same drawing: Cha:raeter receï••ed t nag-= trame NOK :comment :lfft.!me OK
comment control trame (CR:c, Parity, Slave ader )
:'* praœss.fng frame
> flag =frame OK or NOK
lùtainaNOK
-~
-qefete entiœ ftam.e
1
hsexpired
1 Finit character received · /lriit and star! t 1.~ tu (read
Rec~ption
i
Character received
.finît: and. start t;.:S.tas
D~and of-emlssion
h.s.1;u; : lirners Emîtled character· [if tast emitted character} J init and start hs
tu : 3 .5 cflaractertiffies l t s: 1.5 charactertimes
Figure 14: RTU transmission mode state diagram Sorne explanations about the above state diaqram: •
Transition from "I nitial State" to "ldle" state needs t3.5 time-out expiration: that insures inter-frame delay
•
"ldle" state is the normal state when neither emission nor reception is active.
•
ln RTU mode, the communication lirik is declared in "idle" state when there is no transmission activity after a time interval equal to at !east 3,5 characters.
•
When the link is in idle state, each transmitted character detected on the link is identified as the start of a frame. The link goes to the "active" state. Then, the end of frame is identified when no more character is transmitted on the link after the time interval t3,5.
•
After detection of the end of frame, the CRC calculation and checking is completed. Afterwards the address field is analysed to determine if the frame is for the deviee. If not the frame is discarded. ln arder to reduce the reception processing time the address field can be analysed as saon as it is received without waiting the end of frame. ln this case the CRC will be calculated and checked only if the frame is addressed to the slave (broadcast frame included).
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANNEXES 1 Code: IRSES
Session 201 2 Page:14/28
1
1
Tecnologic S.p.A.
TDA08/TDA04- Protocole de communication
Annexe 7 : Modules TDA08/TDA04
TDA08/TDA04 Protocole de communication
Extraits du manuel d'utilisation SOMMAIRE: (Note : plusieurs paragraphes qui ne sont pas utiles pour répondre aux questions du sujet ont été retirés)
1
Introduction ....................................................................... .,.... ,............ .............. ......... 16
2
Connexion physique ........... ... .... ..... ................................. ............................. .............. 16 2.1
3
Protocole de communication ....................................................................................... 17 3.1 3.2
4
Interface .. .. ............................ ........ .. .. .................... ........ ................................................... 16
Fonction 3 - lecture de n mots ......................... ............................................................. .. .18 Fonction 6 - écriture d'un mot.. .... .. ................................................................................... 18
Echange des données .. ............... .. .... .............. ...... .... .. ... ............... .... .. ....................... 19 4.1 4.2
Certaines définitions ............... .................................................. .. ............. ........................ 19 Zones de mémoire ................ ........ ................................................... .. ................... ........... 19
4.2.1 Zone des paramètres ..................................................................................................................... 19 4.2.2 Zone des variables ................... .....................................................................................................20
A.2 Appendice - Tableau de la zone des variables ............ .. ........ ....................... ................... ....... 21
1 BTS 1
INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANNEXES j Code: IRSES
Session 2012 Page:1 5/28
Te nologic S.p.A.
1
TDA08ffDA04 - Protocole de communication
Introduction
Ce document a le but de décrire les capacités de communication de tous les modules d 'acquisition TDA qui utilisent le protocole MODBUS et il est surtout adressé aux techniciens, intégrateurs de systèmes et créateurs de logiciel. Il est subdivisé en quarre parties : la première décrit la connexion physique à la ligne ; la seconde présente le protocole de communication, qui est un sous-ensemble du MODBUS RTU 1 ; la troisième partie décrit les différents types de données qui peuvent être échangées ; la quatrième reporte les performances typiques du système.
• • • •
2
Connexion physique
2.1
Interface
Les modules TDA sont munis d'interface de communication sérielle optoisolée pour éviter l'apparition des problèmes dus aux potentiels de terre. En position d'attente le module est en condition de réception et passe en transmission après avoir reçu et décodé un message correct qui lui est adressé. Choque module est muni d'un switch rotatif à 16 positions qui permet de programmer son adresse modbus. Les positions volables sont 15 (de 1 à 15, l'adresse ZERO est réservée par le MODBUS RTU pour les messages de broodcasting , mais elle n'est pas adoptée pour le TDA vu le manque de fiabilité implicite de ce type de communication). Le tableau suivant illustre les programmations possibles : Position Adresse du module -- -switch TDA08 TDA04 1-·rotative - -- ------------·---··--·-··-··---- --0 Non valable Non valable 1 1···------- - - -- - 2 et 3 2 4et5 2 et 7 3 6 3 --·4 4 8 et 9 lü et 11-- --- 5 5 ---6 12 et 13 ·6 7 14et 15 7 -----·- ---- - - - - - -- - -- 8 js 16 et 17 -------------~----·
5!__
------··-·-----~-----
~~ :; ~i-f~o------
A B --·--··----····-··------- -·- ~?__et 23 c 24 et 25 D 26 et 27 r------- ---E 28 et 29 F 30 et 31 '----·-
1
----tu_________________ 12 13 114 15--··-·-·-···-··-· - -!
Marque enregistrée par AEG Schneider Automation, lnc
1 BTS
INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
1 ÉTUDE
D'UN SYSTÈME INFORMATISÉ- ANNEXES
1
Code: IRSES
Session 2012 Page:16/28
Tecnologic S.p.A.
TDA08ffDA04 - Protocole de communication
N.B.: Chaque module TDA08 possède 2 adresses pour permettre au data-logger TMSOl d'enregistrer les huit possibles entrées de la sonde. Sur le TMSOl, par exemple, il sera possible configurer deux dispositifs pour chaque module TDA08, le premier enregistrera les entrées IN l..IN4, le deuxième les entrées IN5 .. 1N8. Le baud rate de chaque module a comme programmation d'usine la valeur de 9600 baud. On peut le-modif-ier~ pm ~ le modbus et la nouvelle progFemmation deviendra active au prochain cycle d'extinction-allumage du module.
3
Protocqle de communication
Le protocole adopté par les TDA est un sous-ensemble du protocole largement utilisé MODBUS RTU. Ce choix garantit la facilité de connexion plusieurs PLC et à tous les programmes de supervision commerciaux. Pour ceux qui veulent développer leur propre logiciel d'application toutes les suggestions et les informations sont disponibles. Les fonctions du protocole MODBUS RTU implémentées dans les TDA sont : fonction 3 - lecture de n mots fonction 6- écriture d'un mot Ces fonctions permettent au programme de supervision de lire et modifier toute donne du module. La communication se base sur des messages envoyés par la station master à une station slave CTDA) et le contraire. La station slave qui reconnaît dans le message sa propre adresse, en analyse le contenu et, si elle le trouve formellement et sémantiquement correct, elle engendre un message de réponse pour le master. Le procédé de communication implique cinq types de message : du master au slave fonction 3 : demande de lecture de n mots . fonction 6: demande d'écriture d'un mot
du slave au master fonction 3 : réponse contenant n mots lus fonction 6 : confirmation de l'écriture d'un mot Réponse d 'exception (en réponse aux deux fonction_s, en cas d ' ano_malie)
Tout message contient quatre zones :
\
adresse du slave : sont valables les valeurs comprises entre l et 31 (voir tableau a 2.1 ); l'adresse 0 (zéro) est réservée par le MODBUS RTU pour les messages de broadcasting, mais il n'est pas adopté pour le TDA vu le manque de fiabilité de ce type de communication ; code fonction : contient 3 ou 6 selon la fonction spécifiée ; zone d 'informations: contient les adresses ou la valeur des mots, selon la demande de la fonction utilisée ; mot de contrôle : contient un cyclic redundancy check (CRC) calculé selon les règles prévues pour le CRC 16. Les caractéristiques de la communication asynchrone sont : 8 bits, aucune parité, un bit d'arrêt.
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANNEXES J Code: IRSES
Session 2012 Page:17/28
T~cnologic
3.1
S.p.A.
TDA08/TDA04 - Protocole de communication
Fonction 3 -lecture de n mots
Le nombre de mots à lire, doit être inférieur ou égal à quatre. La demande a la structure suivante : numéro du slave byteO
·-----
!adresse
3 byte l
mot MSB byte2
premier
1
LSB byte 3
···----
!nombre de mots MSB byte4
LSB byte 6
LSB lbyte?
··-----
CRC MSB lbyte 7
La réponse normale (au contraire d ' une réponse d'exception) a la structure suivant e : numéro du slave
3
nombre valeur du premier de bytes mot lus MSB LSB
CRC
!mots suivants 1
LSB
1
byteO
3.2
-ibyte 1
byte 2
byte3
lbyte 4
lbyte 5
byte
MSB lbvfe___
Fonction 6 - écriture d'un mot
La demande a la structure suivante : , - - - - ----,-----
numéro du slave
CRC
6
La réponse normale (au contraire de la réponse d'exception) est purement un écho du message de demande : - - - - , - - - - - - -- - ----,--- --
-
- ---
-----,------,:----,----------~
Adresse premier mot Valeur à écrire MSB LSB MSB LSB LSB byte 2 i byte 3 byte 4 1 byte 5 Byte 6
CRC
i
MSB 1 byte 7
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ - ANNEXES Code : IRSES
J
1
Session 2012 Page:18/28
Tecnologic S.p.A.
4
TDA08/TDA04 - Protocole de communication
Echange des données
Cette section contient les informations concernant les données numenques et non échangées avec les modui~~TDA et_l_eurs f_o rmats et limites.
_!}_UQ}~riques
4.1
Certaines définitions
Toutes les données échangées sont constituées par un mot de 16 bits. On distingue deux types de données : numériques et symboliques (ou no numériques). Les données numériques représentent la valeur d'une grandeur (par exemple la variable mesurée, etc ... ). Les données symboliques représentent une valeur particulière à J'intérieur d 'une gamme de choix (par exemple, Unité de mesure peut valoir "OC" ou "oF"). Les deux types sont codifiés avec des numéros entiers : on adopte des numéros entiers avec signe pour les données numériques et les numéros entiers sans signe pour les symboliques. Une donnée numérique doit être associée avec le numéro approprié de chiffres décimaux, de façon à représenter une g rondeur avec les mêmes unités d'ingénierie adoptées dans le module TDA Les données numériques sont représentées avec une virgule fixe, et peuvent être entières ou avec un chiffre décimal.
4.2
Zones de mémoire
Pour les fonctions adoptées, toutes les données lisibles et que J'on peut écrire apparaissent comme des mots de 16 b its placés dans la mémoire du module. Le plan de la mémoire a cinq zones : Paramètres, variables, commandes, alarmes, code d'identification de l'instrument. Les paragraphes suivants examinent les caractéristiques de chaque zone. Un appendice approprié énumère tous les détails de chaque zone , de façon à permettre la connexion à un système de supervision . 4.2.1 Zone des paramètres
Les données de configuration ainsi que les données opérationnelles se trouvent dans la zone des paramètres et sont physiquement dans une mémoire non volatile située à l' intérieur des TDA.
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANNEXES Code: IRSES
Session 2012 Page:1 9/28
Tècnologic S.p.A.
TDA08/TDA04 - Protocole de communication
4.2.2 Zone des variables
Dans cette zone, on a regroupé les variables principales du TDA qui sont fréquemment calculées et mises à jour. Onénumére id ies données disponibles : v v v v v v v v v v v v
valeur mesurée de la sonde 1, valeur mesurée de la sonde 2, valeur mesurée de la sonde 3, valeur mesurée de la sonde 4, valeur mesurée de la sonde 5, valeur mesurée de la sonde 6, valeur mesurée de la sonde 7, valeur mesurée de la sonde 8, état des entrées digitales, état de la sortie, état des alarmes, état du TDA
Les conditions d 'anomalie des variables de procédé (sonde 1... sonde 8) sont reportées comme des valeurs spéciales de la mesure : ·---·-···--
1 condition d 'anomalie 1 valeur rendue 1 -10000 Unde~rg_Q_Q_'? ou court-circuit ---------------Overflow ou sonde o uverte 10000 Variable non disponible 10003
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
Session 2012
ÉTUDE D'UN SYSTÈME INFORMATISÉ- AN NEXES
Page:20/28
Code : IRSES
Tecnologic S.p.A.
TDA08/TDA04 - Protocole de communication
A.2 Appendice - Tableau de la zone des variables 1
n.
1
adresse (hex)
02 0_0_
1
type donnée
nom variable Valev_renfr~e
INl
1
N
Étendue de mesure -999 ... 9999
chiffres décimaux
unité
___{ _*) JVgr 0240
r
1
1
1
r/w
N
-999 ... 9999
( *) 1Var024l !
r
Valeur entrée IN3
N
-999 ... 9999
(
* ~Var -0242
r
0203 . Valeur entrée IN4
N
-999 .. . 9999
( *)
IVar 0243
r
0204
Valeur entrée IN5
N
-999 .. . 9999
( * *)
Var 0244
r
0205
Valeur entrée IN6
N
-999 ... 9999
( * *)
Var 0245
r
0206
Valeur entrée IN7
N
-999 .. . 9999
( * *)
Var 0246
r
0207
Valeur entrée IN8
N
-999 ... 9999
( * *)
Var 0247
r
9
021F
10
0220
11
0221
12
0222
s s s s
13
0223
Lit l'état de la sortie alarm OUT Lit l'état de l'entrée DIOl 1 Lit l'état de l'entrée DI02 1 Lit l'état de 1 1'entrée Dl03 1 Lit l'état de l'entrée DI04 1 1 Lit l'état de 1 ! l'entrée DI05 l
0: OFF 1: ON O:ouvert 1: fermé 0: ouvert 1: fermé 0: ouvert l: fermé 0: ouvert l: fermé 0: ouvert 1: fermé
2
0201
Valeur entrée IN2
3
0202
4 (#)
5
( #)
6
1
!
1
(#) 7 (#)
( #)
1
8
0224
14
( ( #)
0225-
15
!Nl
quand
~Q(ji=YE~ _ Lit 1' état
de l'entrée DI06
( IN2 quand Endi=YES) (#)
0226
16
Lit l'état de l'entrée DIO? IN3 quand Endi=YËS)
(
( #) 171
c--::-·
( #)
18
0227
0228
(#)-i9
022A
s
r r r
i
-- ----- - --------- ----
·-
0: ouvert 1: fermé
r
1
1
1
s
O:ouvert 1: fermé
1
1 1
r 1
1
1
s
0: ouvert 1: fermé
s
r-:----------------- --------·
1
r
i
1
!'
0: ouvert l: fermé
1
1
1
Lit l'état de 1' entrée DilO
i
IN6 quand Endi=YES)
1
Lit l' état de l'entrée Dl l l
r
1
1
(
( #) 20
1
( IN4 quand Endi=YES)
IN5 quand Endi=YES) 1-- - - - - - - -=,- - - - ----- ----
0229
1
1
(
r
1
Lit l'état de l'entrée DI08 Lit l'état de l'entrée DI09
s s
r
s
---
·--- -·--------·-···------------- -
O:ouvert l : fermé
~
-------
-----
r
'
~
r
--
1
'
s
0: ouvert l: fermé
r
( IN? quand __ Endi=YES )
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANNEXES Code: IRSES
Session 2012 Page:21 /28
Annexe 8 : FieldTalk Modbus C++ Library Vous trouverez dans cette annexe des extraits de la documentation FieldTalk.
6 Diagramme de classes Deux catégories de classes sont proposées-:
1. The FieldTalk™ Modbus® Master C++ Library provides connectivity to Modbus slave compatible deviees and applications. ' class FieldTalk Modbus Master
/
----
MbusAsciiMasterProtocol .
-----------·-------- -·-
------ . ---- - ... -------- -
2. The FieldTalk™ Modbus® Slave C++ Library allows you to incorporate Modbus slave functionality into your deviee or application. class FieldTalk Modb~~~~;- --;------ - - ... ---· ______________ /
~-------·------·--· ·
#defau ltDataTablePtr flll.busSiaveServe
M~usSeriaiSiaveProtocol
. 1 MbusAsciiSiav eProtocol f
i
~,~JsoataTablelnterface
-----------;~~~j'
1!i
. t.i_.~~/-·::.n·
~~~sTcpSiaveProtocol ~
~--
:
,C:aUbackDataTable ' ;:·...,::
~
..····
i
MbusRtuSiaveProtocol
~
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANN EXES Code : IRSES
Session 2012 Page:22/28
7 Extrait du fichier MbusMasterFunctions.h / **
* @file lvlbuslvlasterFunctions. h
*
* @i f NOTICE
...
. :*_ Copyright (c) 2002-2009 proconX-l2-ty Ltd.. A11 rights reserved.
'* * THIS IS PROPRIETARY SOFTWARE AND YOU NEED A LICENSE TO USE OR REDISTRIBUTE. * *THIS SOFTWARE IS PROVIDED BY PROCONX AND CONTRIBUTORS ''AS TS '' AND ANY * EXPRESS OR IMPLIED \'VARRANTIES, INCLUDING , BUT NOT LIMITED TO, THE * IHPLIED %'ARRANTIES OF fvJERCf:LZ\.NTABILITY ?.ND FI TNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PROCONX OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT , IND I RECT, INCIDENTAL, SP ECIAL , EXEMPL.Z\.RY , OR * CONSEQUENTIZ\L Dl\!V1AGES ( INCL\JDING , BUT NOT LI!V1ITED TO , PROCUREi'1ENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA , OR PROFITS; OR * BUSINESS INTERRUPTION) HOV'ŒVER Cl1\JSED ?.ND ON ANY THEORY OF LI!-I.BILITY , * WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT (INCLUDING NEGLIGENCE OR * OTHER\-'JISE) ARIS I NG IN ANY ~vAY OUT OF THE USE OF THIS SOFT\-'JARE , EVEN IF * ADVISED OF THE POSSIBI LITY OF SUCH DAf,1AGE.
*
* @endif */ #ifndef _MBUSt-'.tASTERFUNCT I ONS H INCLUDED #def i ne _l'1BUSJVI..ASTERF UNCTIONS_ H_ INCLUDED # i fndef __ cplusplus # errer Must use C++ to compile this modu l e ! #endif
Il Platform header #include
Il Package header #include
~BusProtocolErrors.h "
/*************** ************************** ********* *************************** * Forward declaration *****************************************************************************1 class HmTimer ;
/***************************************************************************** * MbusMasterFunctions class declaration *****************************************************************************/ /** * @brief Base class whic h implements Modbus data and control func ti ons
*
* The functions provided by this base class appl y to all prot o col flavours * via inheritance . For a more detailed description se e section @ref * mbusmaster . ...
* @see mbusma ster * @see MbusSe rialMa st erP rot ocol , MbusRtuMasterProtocol
* @see IvlbusA.sci iMasterProtocol , MbusTcpivJasterProtocol */
BTS INFORMATIQUE ET RÉSEAU X POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANN EXES Code : IRSES
Session 2012 Page:23/28
/ ***************************************************************************** * MbusMasterFunctions class declaration *****************************************************************************/ class MbusMasterFunctions
protected : enum PDU_SIZE = 253 , // As per l'10DBUS APPLICJ.l.TI ON PROTOCOL SPECIFICATI ON V1.1a t1JI.X_DATA_ SIZE = PDU_SIZE - 1, // =POU minus 1 byt.e function code MAX_FC 03_ WORDS = (HAX_DATA_SIZE - 1) / 2 , !/ maximum words per reac! request ! / MJ.l.X_FC04_vVORDS JVLI\X_.FCO 3_1iJORDS , !! same as function code 03 HAX_FC01 _ COILS = MAX_FC03_WORDS * 16, / / = maximum coils per r e ac! request ,/ ! same as fu nction code 1 / / MP.X_FC02_ COILS fvlAX - FC01 _ CO ILS, MAX_FC16_ WORDS (MP.X_ DJI.TA_ S IZE - 5) 1 2, /1 maximum word s per write request 1 / l-1AX_FC15_ COILS HAX- FC16- \"'ORDS * 16, maximum coi1s per wr ite '! request fvlAX_FC2 3_READ HAX- FC03 _ WORDS , maximum woràs for re ad !/ MAX_FC23_ WRITE (MAX_DATA_S IZE - 9 ) 1 2 ! / maximum words for writ e };
volatile unsigned long totalCounter ; volatile unsigned long successCounter ; in t retryCnt; // Retry counter int timeOut ; // Time - o ut in ms int pollDelay ; // Delay between two Moclbus reacl/writes in ms HmTimer &silenceTimer; private : char bufferArr [lvJAX_DA TA~SIZE]; int bigEndianMachine; // Au to- configured by constru ctor int bigEndianF l oatMachine ; // Auto-configured by constructor int s wa pints; // Use~ fla gs int swapFloats ; !/ User flags
/1 /! S l ave configuration data // int s laveConfigFlagsArr[ 256] ;
protected : MbusMaste rFun ctions() ;
public : virtual - Mbust1asterFunctions();
BTS INFORMATIQUE ET RÉSEAUX POUR L'IN DUSTRIE ET LES SERVICES TECHNIQUES
1
Session 20 12
1
ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANNEXES
1
Page:24/28
1
1
Code: IRSES
/************************************************ ** ************************
* Modbus function codes **************************************************************************/
public :
! **
* @name 16-bit Access * Table 4 : 0000 0 (Holding Regi ste rs) and Table 3 : 00000 (Input Registers ) * @ingroup mbusmaster .... 1 //@ {
int readinputSingleRegiste r (i nt slaveAddr, i.nt regAddr, short& regVal) ; i.nt readinpu tRegi.sters(int slaveAddr , int startRef , short r egArr[] , i nt refC n t ); int writeSingleReg i ste r (int slaveAddr, i nt regAddr , short regVa l); i.nt writeMultipleRegi.sters(int s l aveAddr , int startRef , const short regArr[] , int r efCnt) ; int maskWriteRegister(int slaveAddr , short andMa sk ,
i nt regAddr, short or!'1ask) ;
int readWri.teRegisters(int slaveAddr , int readRef, short re adArr[] , int readCnt , i.nt writeRef , const short writeArr[] , int writ eCn t) ; //@}
/****** ** ************ *** *** ************** ******* **** ********** ******* ******
* Slave Configuration ********** * ******************* ********* *********************************** /
public :
* @name Slave Configuration * @i.ngroup mbusmaster */
11 c~ { void confi gureB i g En dia nints(); void con f igureLittleEndianint s();
//@}
1
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
Session 20 12
1
ÉTUDE D'UN SYSTÈME INFORMATISÉ - ANNEXES
Page:25/28
1
J
Code : IRSES
'************************************************************************** * Utility routines **************************************************************************/
1
public : /**
* Returns whether the protocol is open or not . *
* @retval true = ope n * @retval false = closed *! virtual int isOpen() = 0 ;
/** * Closes an open protocol including any associated communi cat ion * resources (corn ports or sockets) * 11 virtual void closeProtocol() = 0 ; static TCHAR *getPackageVersion{);
/************************************************************************** * Internai subroutines **************************************************************************/
protected: virtual int deliverMe ssage(int address , int function , char sendDataArr[], int sendDataLen , c har rcvDataArr[], int rcvDataLen, int *actualRcvdPtr = NULL) = 0 ; private: int reidBits(int function , int slaveAddr , int bitArr[], int refCnt) ;
int startRef,
int readRegisters(int function, int slaveAddr, int startRef , short regArr[], int refArrLen , int r egent); int writeRegisters(int slaveAddr, int startRef, const sho rt regArr[], int refCnt , int regCount) ; private :
Il Disable default operator and copy constru c tor rvmus!ViasterFunctions &opera tor= (JV1.buslv1asterFunctions &) ; MbusMasterFunctions (const :VlbusMasterFunctions &) ; };
#endif // ifdef . .. _H_INCLUDED
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
Session 2012
ÉTUDE D'UN SYSTÈME INFORMATISÉ - ANNEXES
Page:26/28
Code: IRSES
Annexe 9 · Extrait STL Vector Constructor/Declaration:
vector v(size_type n);
· Declaration of vector containing type "T" and of size "n" (quantity).
' vector v(size_type n,const T & t);
,
o••• • -
· ·~ •"·~·- ~·· ·•~·-RO
......._ _ _ _ _ _
: vector i v(begin_iterator,end_iterator);
, ,
Declaration of vector containing type "T", of size "n" (quantity) containing value "t". · Declaration: vector (size_type n , const T& t)
>, ,,
m
,.
, o,
R<
., .
"o -
·
, .•
~,
,
,
,,, ~,.~,,,,, ,
,,,,,~,A~~
..
-A~.--- ~~->··-• • •
,,, ' '
Copy of Vector of data type "T" and range begin_iterator to end_iterator. · Declaration: template vector (Input Iterator , ; I nput i te r ato r )
....J
-
Size methods/operators:
j
empty()
Returns bool (true/false). Tme if empty. i Declaration: bool empty () const 1
~======~~~==~
size()
Number of elements of vector. i Declaration: s iz e _ type s i ze () const 1
i====-cc=-::.....o=::=c=::::!
Adjust by adding or deleting elements of vector so that its size is "n". Declaration: vo i d resize (n , t = T ())
i Max number of elements of vector before reallocation. i Declaration: size_type capaci t y () const
F=====~====~· ~====~=~:~·~~=~============~~~--~======,=--~1
reserve(size_t n)
i Max number of elements of vector set to "n" before reallocation.
: Declaration: void reserve (size_ t) . max_size()
: Max number of elements of vector possible . Declaration: size_type max_size () con st
Note: size_type is an unsigned integer. Other methods/operators:
. erase() : clear() · at(index) v[index]
Erase all elements of vector. Declaration: void clear () Element of vector. Left and Right value assignment: · v.at(i)=e; and e=v.at(i); Declaration: r efe rence opera to r [ J (siz e _ type n)
BTS INFORMATIQUE ET RÉSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES ÉTUDE D'UN SYSTÈME INFORMATISÉ- ANNEXES Code: IRSES
Session 2012 Page:27/28
i First element of vector. (Left and Right value
front() v[O]
j assignment.) ; Declaration: reference front ()
--~~~-~ ----~ - ---~--~-~ --··..:::: ······;······ ;;;;= - = - ====~~~--~~~-~ ----l ~~====~~--~~~~====~~~--~~~====~~1
l Last element of vector. (Left and Right value
back()
!' assignment.)
j Declaration-: reference- back () _;;__ __.:..;: ..·;.. ..;;;·;.;;;; ..-·.;;;;; ....:.;;: ....·;-...... ;;;;;;;;;;; ··-·..;;;; - ..;:;;;; .......;;;;; .. ;;;;;; "•'_;;;;; '"";;;;;; '";;::;: " "=-·=··;;;;;; - -';:;;;; ·--·-;;;;;; -· ;;_ .. '"-'=--"-'--'-'--" " '"""=· .. '
'_ :.:;; - .. ---'---'---..;;...;;...:=··=-··--:---·::::=--=·-·::..: ··=
--=-··= ---= --·-=-·--:·-·= :::: -
--- ..........................................
..
.
. . .... ....................----·--------- . . ......
.. ................................... . . .
i Add element to end of vector.
push_back(const T& value)
~~~~~~:~~~-~?: void r:1. 1_~-~=~=-~~-
View more...
Comments