You are on page 1of 28

BREVET DE TECHNICIEN SUPERIEUR

INFORMATIQUE ET RSEAUX
POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
TUDE D'UN SYSTME INFORMATIS
Session 2012
Dure : 6 heures
Coefficient 5
ANNEXES
(28 PAGES)
Annexe 1 : Synoptique du rseau modbus ................... ......... : - ~ 2
Annexe 2 : lments d'analyse ...... .... .. ...... ... ...... ..... ...... .. .. ...... .. ... .. ... ............. ... .. .. ...... .... 3
Annexe 3 : Principe de production du froid par une machine frigorifique ' ....... ... .. ............. 7
Annexe 4 : lments de thermodynamique ........................................... ..... .............. ..... .. . 9
Annexe 5 : Slection des compresseurs ...... ....... ......... .... .. .. ... ....... ...... ..................... ... .. 11
Annexe 6 : Extrait documentation modbus ... ............................... .... .... .. ......... ... .......... .. . 12
Annexe 7 : Modules TDA08/TDA04 ...... .......... .. ........ ..... ... .... ..... ....... .... ......... .... ...... ...... 5
Annexe 8: FieldTalk Modbus C++ Library .................... ............... ......... .............. ..... ...... 22
Annexe 9 : Extrait STL Vector ........ .......................... ................ ..... .... ...... .. .. .. .... ... ........ .. 27
BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES Code: IRSES Page:1 /28
m ' lJJ
-l -l
c
(/)
0
z
m
0
11
0
c ::0
z ::;::
(/)
)>
-< ::i
(/)
0
-!
c
m-
m
::;::
m
m
-l
z ::0
11 m-
0
(/)
::0 m
::;:: )>
)> c
-l ><
(/) '"0
m,
0
'
c
)> ::0
z r
z
z
m
x 0
m c
(/) (/)
-l

o m
a.m
<D -l
r
::olm
(/)(/)
m(f)
cnm
::0
<
0
m
(/)
-l
m
0
I
z

c
m
(/)
-
'"0 (/)
ru <D
<0 Ul
<D Ul
,. 6 "
:J
1\.)1\.)
())0
......
1\.)
Ordinateur de supervision
Centrale
ngative 1


Centrale
n'gative 2


;; '\ . . . ' - .


'
Centrale fruits
et lgumes
\'<
..... Pi ..-
-
. .
Centrale
positive 1
1


....
. .. .!:!"
Centrale
positive 2

.. .;,;,;,;. - .-
r< -
?>,: '. .
Adresse 20 Adresse 21 Adresse 22 Adresse 23 Adresse 24
Rseau modbus
9600 bauds
8 bits de donnes
1 bit stop
Parit paire
Le rseau comporte :
- 5 centrales de commandes
Produits frais
zone1
Produits frais
zone2
- 1 0 TL Y qui contrlent les units rfrigrantes (il
y en a un 11 me qui gre le plancher chauffant non
tudi ici)
- 3 modules TDA connects aux 22 capteurs de
tempratures (sol ou plafond)
Fruits lgumes
zone2
Boucherie volaille
poisson
TDA 1
Fruits lgumes
zone1
Quai zone1
TDA2
Produits surgels
zone2
Quai zone2
TDA3
Produits surgels
zone1
Sas surgels
(J)' c

c
-o 0
<DQ_
-"WCJ13::

(J) - (J)


o..s.mco..
s. (J) (J) <" (J)
<D en en m
en -1 ......, ::::1 en
-lom cne
')>S. -g
-<oo -.
w co 3 =5.
c.nmm en
m c (i) a
c >< en ::::1
>< m +
Q-(Q
.... (J) "'"'
<D en o
cn en c
en m-o
<D en CD
Ul +:-. ()
D; m-
m- c:.o -o
....
W CD
+:-. en
en
(J)
c
"'"'

m
c
><
m
0..
....
CD
en
en
(J)
en
1\.)
0
Pl'
1\)
+:-.
(J)
en
-
....
CD
CD'
'"0
m
....
c
::::1
""""
(J),
en
(J)
m
c
3
0
0..
cr
c
Ul
..--,
'"0
....
0
-0
()
0
(i)
3
0
0..
cr
c
en
:::0
-l
c
m
c
><
)>
:::J
:::J
CD
><
CD
.....1.
(j)
'<
:::J
0
'"0
.........
..0
c
CD
0..
c
......

en
CD
Pl
c
3
0
0..
rr
c
en
Annexe 2 lments d'analyse
< i
1 Les principaux scenarii du systme
1 .1 Acquisition des tempratures
-------- ... ------- - - -.- -- ........ ---- ----
! sd Scenario :Acquerir temprature 1
C------------ ........... - ____ _ _ ::..:...:../
Scnario: acquisition des tempratures des diffrentes chambres froides.
Horloge
YSlmede supervisiof
d'urie plate forme logistique ;
',)"''. '<,
Module de gestion Module acquisition
1
d'unit rfrigrante Temprature
1
On TopHorloge(l 1
(TLY35) (TDA_08)
1
1 1
1 1
Iqop .PourTouteslesUriitRfrigrantes) 1 1
1 1
1 1
ObtenirTemperature() :Fioat :
1
1

1
1
1 1
pTraiterTemperature() !
1
1
1
Mi seAjouriHM(vaiTemp) 1
1 1
Archivage Temperature(vaiTemp)
1 1
1 1
!oo'p De Tem pniture)
1
1
1
toop 1
1
1
1
LireTemprature() :float 1
:
1
1
pTraiterTemperature() !
1
1
1
MiseAJouriHM(vaiTemp) 1
1 1
ArchivageTemprature(vaiTemp)
1 1
1

!HM
1
1
1
..1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
'
1
1
1
1
1
1
1
1
1
1
1
1
1
1
- Lf
1
1
1 BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES
1 TUDE D'UN SYSTME INFORMATIS - ANNEXES 1 Code: IRSES

Base De Donnes
1
1
1
1
1
1
1
1
......
..!:::!.
l
1
1
J
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
......

1
Session 2012
Page:3/28
1.2 Demande d'arrt ou de dmarrage d'un compresseur
... ----------'" -
. sd Scnario : Demande Marche/arrt des compresseurs de la SOM ;
. - - -- --- ------- -------------./
Scnario :Demande Marche/Arrt Compresseur de la SOM
Responsable logistique du.Site (ou .- -----ll:iM-
Administrateur)
1
de sup1irvisrn d'une
'pliileiorme logistique frigorifique
.,:?.' ... .. . ' ,:;;;': . .
1 1 1
1 SlectionCompresseur Dmarrer ou Stopper()
1 1
1
1
Demande Marche/Arrt
. Compresseur(ldCompresseur))

\
CentraiS--
1
1
1
1
1
1
1
1
1
- .Compresseur
1
1
1
1
1
1
1
1
1
1
1
1

[Id Compresseur]
DemandeMarcheArretCompresseur(identif!antCompresseur):
1. :
Arret ou Marche():
MiseAJouriHM()

y
1 1
J
1 1
1 1
1
Les diffrentes centrales assurent la gestion des compresseurs.
Remarque : chaque compresseur possde un compresseur redondant. Chaque zone de
rfrigration possde donc deux compresseurs. Le dimensionnement de ces derniers a t calcul
afin de garantir le refroidissement de la zone rfrigre mme en cas de dfaillance de l'un des
deux.
Une de charge d'utilisation des compresseurs permet. de garantir que ceux-ci sont
toujours oprationnels et sans utilisation intensive. Les centrales assurent le fonctionnement
optimal des compresseurs et donc la rgulation en temprature des diffrentes chambres froides.
En cas d'arrt de la supervision, le fonctionnement en mode dgrad est pris en charge par les
centrales.
Ainsi lorsque l'on veut arrter un compresseur, la superv1s1on n'agit pas directement sur le
compresseur lui-mme dans la SOM (Salle Des Machines}, mais il en fait la demande la centrale
appropri e qui grera, elle, l'arrt du compresseur. Idem pour la remise en marche.
BTS INFORMATIQUE ET RSEAUX POUR L'I NDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES j Code: IRSES Page:4/28
2 Diagramme de classes
2.1 Les diffrents packages utiliss pour l'application
de desuperv ision frigorifique/
de Supervision plate forme logistique frigorifique. . !
Ot4.6.2
.+
+ c6reliti
+
+ CBaseDeDonnes
::. ...
+ CCentraJe
+ CChambreFroide
+ CModuleComModBus
+ CModuleTL Y
+ CProduit
+CO Image. (Framework Ot)
+ CT.DA08
+ CTempl)rature
+ CTLY26-35
+ PackageiHM
/
/
/
/
/
\
\
\
\
\

Modbus
\
+multimedia
de classes Fiel dTalk Modbus Eselave ,
(li't+ le de classes FteldTalkl ModbusMattre
+ 6pengl
+OtGUI
+ testlib
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES
TUDE D'UN SYSTME INFORMATIS- ANNEXES Code: IRSES
Session 2012
Page:5/28
2.2 Le diagramme de classes de la partie supervision
Pour des raisons de lisibilit, les classes associes exclusivement aux cas d'utilisations qui
suivent, ne sont pas reprsentes: " Grer la traabilit des produits " "Configuration et
Maintenance " " Fixer les tempratures des chambres froides, et "Grer le dgivrage des
units Tfrigrantes ,, .
----------- ----- - - - - - - - - - - - - - ~ - - - ------------- --------- ----- ------------- -- ------ ----------- - ------ -- -----------------------.-
class Diagramme de classes de l'application : systme de supervision d'une plateforme logistique frig ... ) '
((entity))
CTLY26-35
unsigned char
+ Ot)tirTemperah.Jre(unsigned char) : float
+< btenirTouteslesTemperah.Jres(): vector<floal>[]
_______________ __......../
10
Remarque : le Thread CAcquisitionTemperature accde aux diffrentes tempratures, via le
process principal : CAssurerleFonctionnementDesChambresFroides. Il peut tre vu comme une
tche priodique.
De mme, le process CAssurerleFonctionnementDesChambresFroides met jour
priodiquement I' IHM.
BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS - ANNEXES Code: IRSES Page:6/28
Annexe 3 Principe de production du froid par une
machine frigorifique
Le systme frigorifique, qui prlve de la chaleur la source froide grce un circuit de captage,
dispGse de-quatre-organes principaux (voir figure 1 :
1. L'vaporateur (c'est la source froide) : la chaleur est prleve au fluide secondaire (eau,
air) pour vaporiser le fluide frigorigne. Soit E+ l'nergie prise dans la chambre froide (le
frigo) par la machine frigorifique.
2. Le compresseur : actionn par un moteur lectrique, il lve la pression et la temprature
du fluide frigorigne gazeux en le comprimant. Soit W l'nergie consomme par le
compresseur (travail, consommation lectrique). Autrement dit W est l'nergie prise au
rseau lectrique par la machine frigorifique.
3. Le condenseur (c'est la source chaude) : le fluide frigorigne libre sa chaleur au fluide
secondaire (eau, air ... ) en passant de l'tat gazeux l'tat liquide. Soit E- l'nergie rejete
l'extrieur.
4. Le dtendeur : il rduit la pression du fluide frigorigne en phase liquide. L'apport du
dtendeur est neutre dans le bilan nergtique.
Vocabulaire mtier : Un fluide frigorigne (ou rfrigrant) est un fluide pur ou un mlange tJe
fluides purs prsents en phase liquide, gazeuse ou les deux la fois en fonction de la temprature
et de la pression de celui-ci. La principale proprit des fluides frigorignes est de s'vaporer
une faible temprature sous pression atmosphrique. Les fluides frigorignes sont utiliss dans les
systmes de production de froid (climatisation, conglateur, rfrigrateur, etc.)
Energie
prise dans
la chambre


Evaporateur
Energie consomme
par le compresseur
Condenseur
Liquide haute
pression HP
Figure 1 : Principe de fonctionnement du cycle thermodynamique d'une machine frigorifique
BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES Code: IRSES Page:?/28
Le fluide circulant dans une machine frigorifique subit un cycle de transformation compos de
quatre tapes :
Dans l'vaporateur, le fluide l'tat liquide rcupre de l'nergie sous forme de chaleur en
s'vaporant. La pression reste constante et le fluide passe l'tat vapeur.
la sortie de l'vaporateur, le fluide est surchauff et faible pression.
Dans le compresseiJr, la.Yapeur est comprime et passe donc bass_e__pression une
pression plus leve grce l'nergie mcanique fournie par le compresseur.
Consquence, sa temprature s'lve aussi.
la sortie du compresseur, le fluide est l'tat vapeur, haute pression et sa
temprature est leve.
Dans le condenseur, le fluide passe l'tat liquide et cde de l'nergie qui est transfre
vers l'extrieur (circuit de chauffage) sous forme de chaleur. Consquence, la sortie du
condenseur, le fluide (en phase liquide) voit sa temprature fortement diminuer.
Le fluide rentre dans le dtendeur l'tat liquide et passe de la haute la basse pression,
sans change d'nergie. La temprature du fluide baisse et le cycle recommence.
Groupe Moto-Compresseur
(Salle des Machin.es)
Evaporateur
dgivragj! l.ec;triqlfe
1
le.ctriques
l ._,
. 1
Condenseur
(Extrieur)
j Dtendeur
L;-,_
Rcupration des orntensats
Chambre froide
Figure 2 : Synoptique du cycle thermodynamique d'une machine frigorifique
Les condensats sont constitus de l'eau de dgivrage des vaporateurs. L'humidit rsiduelle,
capte dans l'air ambiant des chambres froides, se condense sur l'vaporateur et forme du givre. Il
faut donc priodiquement rchauffer ces derniers l'aide de rsistances lectriques, afin de faire
fondre la glace et conserver un maximum d'efficacit pour la production de froid.
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012 1
TUDE D'UN SYSTME INFORMATIS ANNEXES ) Code: IRSES Page:8/28 1
Annexe 4 lments de thermodynamique
3 Chaleur massique
La chaleur massique ou chaleur spcifique (symbole c ou s) , qu'il convient d'appeler capacit
thermique massique, est dtermine par la quantit d'nergie apporter par change thermique
pour lever (ou abaisser) d'un degr Kelvin (ou Celsius) la temprature de l'unit de masse d'une
substance.
L'unit du systme international est alors le joule par kilogramme-kelvin (J.kg-
1
.K
1
). La
dtermination des valeurs des capacits thermiques des substances relve de la calorimtrie.
4 Chaleur latente
La chaleur latente (ou enthalpie de changement d'tat) correspond la quantit de chaleur
ncessaire l'unit de masse (kg) d'une substance pour qu'e-ne change d'tat ; cette
transformation ayant lieu pression constante. Il existe trois tats physiques principaux pour toute
substance pure : l'tat solide, l'tat liquide et l'tat gazeux.
Par exemple, l'eau bout 100 OC sous la pression d'1 atmosphre (1 atm = 101325 Pascal). La
chaleur latente, gale la quantit de chaleur fournie pour transformer l'eau liquide en vapeur, est
de 2257 kJ/kg.
5 Chaleur massique et chaleur latente des al iments .
Le tableau ci-aprs donne la chaleur massique (ou spcifique) des principaux aliments.
Comment lire ce tableau ?
Prenons le cas des laitages :
Au dessus de OOCelsius, il faut retirer (ou fourni r) 1,05 Watt-heures 1 kg de laitages pour
abaisser (ou lever) la temprature de ces laitages de 1 oKelvin (ou 1 o Celsius) ;
En dessous de 0 <>Celsius, il faut retirer (ou fournir) 0,53 Watt-heures 1 kg de laitages pour
abaisser (ou lever) la temprature de ces laitages de 1 oKelvin (ou 1 o Celsius) ;
Il faut retirer 80 Watt-heures 1 kg de laitages pour le congeler.
l BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
/ TUDE D'UN SYSTME INFORMATIS- ANNEXES j Code: IRSES Page:9/28
. :-
, ...
f.
{
.:. .. : . ' -',",.''
. . .;;,
.. . --: '(::.
..

.-::= .
; ...;,"W, ,..,.;..,...;;.,; ... .... Ao'-' "
. ' .-.,
i .... ...;.. ";..:.,;=
1

' auC:dsslis de 0C
.;.
'
cwn/ic!Jj<}.
0,87
' 0,93
1,04
... : ... :.--....--.....-"""'''""''-'" ' '
Chaleur

n_:des5Qsde 0C
(Wh/ikgKJ
0, 47
0,50
0,53
0,53
0,41
0,56
0,52
latente de
ronglation
(moyennes) {Wh/kg)
64
67
47
87
37
Figure 1 : Chaleur massique et chaleur latente des aliments
Note:
1 t-Vk = 3,6k}'
(1 Watt-heure est gal 3,6 kilo-Joules)
1 BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
1 TUDE D'UN SYSTME INFORMATIS - ANNEXES 1 Code : IRSES Page:1 0/28
HSN5353-25
HSNS3Sl30 ::'
'< '<. 'i '
. ,;
HSN6451-40
HSN745160

..
_;:,,_>:. :>'.
<>-;:;:-::'
HSN7471-75
Annexe 5 Slection des compresseurs
28,70
37,20
31 .10 30,00 28,80
38,70 37,50 36.10

44,00
44,70 43,00 41,70
104400 55.10 53,60 52,20
76600 62900 50800 64,50 63,80
:Y;-,71 ooo 567oo '' 44250'
..

:
30 160100 134500 112100 92500 75500 60700 47850 57,00 54,60 52-.30 50,00
40 147100 123800 103300 85500 69800 56200 44400 69,30 66,50 63,70 60,90
50 130300 109800 91700 75800 61800 49450 38600
Temprature d'vaporation = Temprature de la chambre froide + (-JOC).
27,50
34,70 32.10
27, 70 26,40 25,10
34,70 33.20 31 ,50
42,50 42.00 39,90
40,50 39,20 37,50
50,90 49,40 47,50
63,70 61.90 60,20
. 4;3,30
41
: '.53,70 51 ,60 ::..4.9,30' !-
'.6(,50

47,60 45.1 0 42,60
58.10 55,30 52.60
Temprature de condensation= Temprature extrieure max+ 15C (pour la rgion lyonnaise, la
temprature extrieure max vaut 35 "C).
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS - ANNEXES Code : IRSES 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 seriiTrhsmission Modes
Two different seriai transmission modes are defi ned: 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: 8-bit binary
Bits per Byte: 1 start bit
8 data bits, !east significant bit sent first
1 bit for parity completion
1 stop bit
Even parity is r e g u i r e d ~ 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 1 0: Bit Sequence in RTU mode
1 BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
[TUDE D'UN SYSTME INFORMATIS - ANNEXES 1 Code: IRSES 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 Frame2 Frame 3
1 1 1 1.. ...: 1
t.,. :.._ ... : : 3.5 char
1
:
atleast 3.5 char 3.5 :.. .:
4.5 char
Start: EnQ
:;::: 3.5 char 3.5 char
Figure 13: 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 1 1
' 1
1 1 Il 1 1
1 '
jli ' lof IJol ...
1 \-1 1 t .
s 1.::J char

>
1
1.5 enar
1 BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
1 TUDE D'UN SYSTME INFORMATIS- ANNEXES 1 Code: IRSES 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:
1
hsexpired
1
(read
of-emlssi on
:comment
:lfft.!me OK
:'* prass.fng frame
ltainaNOK
-qefete enti ftam.e
Finit character received
/lriit and star!

tu
Emtled character
[if tast emitted character}
J init and start hs
Cha:raeter receed
t nag-= trame NOK
i
comment
control trame (CR:c, Parity, Slave ader )
> flag =frame OK or NOK
Character received
.fint: and. start t;.:S. tas
h.s.1;u; : lirners
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 expi ration: 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 RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 201 2 1
TUDE D'UN SYSTME INFORMATIS- ANNEXES 1 Code: IRSES Page: 14/28 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 rpondre aux questions du sujet ont t
retirs)
1 Introduction .................................................... ................... . , .... , ......... ... .............. .......... 16
2 Connexion physique ....... .... ... .... ..... ...... ...................... ..... .................... ......... ......... ..... 16
2.1 Interface .. .. ........ .......... .......... ........ .. .. .................... ...... .. .............. ........ ............. .. .............. 16
3 Protocole de communication ....................................................................................... 17
3.1 Fonction 3 - lecture de n mots ........ ................. ........................................................... .. .. . 18
3.2 Fonction 6 - criture d'un mot.. .... .. ............ ... ...... .. .... ......... ................. .. ............................ 18
4 Echange des donnes .. ........... .... .. .... .......... .... ...... .... .. ... ............... .... .. ...................... . 19
4.1 Certaines dfinitions ......... .... .. .... .............................................. .. ........... .. ... ...... ...... ......... 19
4.2 Zones de mmoire ................ ........ ................................................... .. ................... .... ..... .. 19
4.2.1 Zone des paramtres ...... ................ ...... ....... .. ........................ .. ..................... ..... .... ..... ... ........ ........ 19
4.2.2 Zone des variables ................... ... ......... ....................... .. .. .. ........... ....... ........ .. ..... ......... ... ........ ..... .. 20
A.2 Appendice - Tableau de la zone des variables ..... ....... .. ...... .. ........ ............. .. ................... ....... 21
1 BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
1 TUDE D'UN SYSTME INFORMATIS- ANNEXES j Code: IRSES Page:1 5/28
Te nologic S.p.A. TDA08ffDA04 - Protocole de communication
1 Introduction
Ce document a le but de dcrire les capacits de communication de tous les modules
d ' acquisition TDA qui utilisent le protocole MODBUS et il est surtout adress aux
techniciens, intgrateurs de systmes et crateurs de logiciel.
Il est subdivis en quarre parties :
la premire dcrit la connexion physique la ligne ;
la seconde prsente le protocole de communication, qui est un sous-ensemble du
MODBUS RTU 1 ;
la troisime partie dcrit les diffrents types de donnes qui peuvent tre changes ;
la quatrime reporte les performances typiques du systme.
2 Connexion physique
2.1 Interface
Les modules TDA sont munis d'interface de communication srielle optoisole pour
viter l'apparition des problmes dus aux potentiels de terre.
En position d'attente le module est en condition de rception et passe en transmission
aprs avoir reu et dcod 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 positi ons volables sont 15 (de 1 15, l'adresse ZERO est rserve
par le MODBUS RTU pour les messages de broodcasting, mais elle n' est pas adopte
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
rotative
1---- ------------- ----------- ---
0 Non valable Non valable
1 2 et 3 1
-- -----------
2 4et5 2
3 6 et 7 3
- ---
4 8 et 9 4
5 l et 11 5
- - - - - - - - - - - - - ~ - - - - ---- ----- - - - - - - - - - - - - ~ - - - - -
6 12 et 13
6
7 14et 15 7
---------- -
js
------ -----
8 16 et 17
5!__
~ ~ :; ~ i - f ~ o - - - - - -
A
B ~ ? __ et 23 ----tu ___ _____ __________
---------------- --
c 24 et 25 ! 12
D 26 et 27 13
r-----------
114 E 28 et 29
F 30 et 31 15
'--- --- ----------
1
Marque enregistre par AEG Schneider Automation, lnc
1 BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
1 TUDE D'UN SYSTME INFORMATIS- ANNEXES 1 Code: IRSES Page:16/28
\
Tecnologic S.p.A. TDA08ffDA04 - Protocole de communication
N.B.: Chaque module TDA08 possde 2 adresses pour permettre au data-logger
TMSOl d'enregistrer les huit possibles entres de la sonde. Sur le TMSOl, par exemple, il
sera possible configurer deux dispositifs pour chaque module TDA08, le premier
enregistrera les entres IN l..IN4, le deuxime les entres IN5 .. 1N8.
Le baud rate de chaque module a comme programmation d'usine la valeur de 9600
baud. On peut 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 dvelopper leur propre logiciel d'application toutes les
suggestions et les informations sont disponibles.
Les fonctions du protocole MODBUS RTU implmentes 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 envoys par la station master
une station slave CTDA) et le contraire. La station slave qui reconnat dans le message
sa propre adresse, en analyse le contenu et, si elle le trouve formellement et
smantiquement correct, elle engendre un message de rponse pour le master.
Le procd de communication implique cinq types de message :
du master au slave du slave au master
fonction 3 : demande de lecture de fonction 3 : rponse contenant n mots
n mots. lus
fonction 6: demande d'criture fonction 6 : confirmation de l'criture
d'un mot d'un mot
Rponse d ' exception (en rponse 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 (zro) est rserve 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 spcifie ;
zone d 'informations: contient les adresses ou la valeur des mots, selon la demande
de la fonction utilise ;
mot de contrle : contient un cyclic redundancy check (CRC) calcul selon les
rgles prvues pour le CRC 16.
Les caractristiques de la communication asynchrone sont : 8 bits, aucune parit, un bit
d'arrt.
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES J Code: IRSES Page:17/28
S.p.A. TDA08/TDA04 - Protocole de communication
3.1 Fonction 3 -lecture de n mots
Le nombre de mots lire, doit tre infrieur ou gal quatre.
La demande a la structure suivante :
----- ---- -----
numro ! adresse premier ! nombre de mots CRC
du slave 3 mot
MSB LSB MSB LSB LSB MSB
byteO byte l
byte2 1 byte 3 byte4
l byte?
byte 6 lbyte 7
La rponse normale (au contraire d ' une rponse d'exception) a la structure suivant e :
numro nombre valeur du premier
!mots
CRC
du slave 3 de bytes mot suivants
lus MSB LSB
1 LSB MSB
1
byteO -i byte 1
byte 2 byte3 lbyte 4 lbyte 5 byte
lbvfe ___
3.2 Fonction 6 - criture d'un mot
La demande a la structure suivante :
,--------,-----
numro CRC
du slave 6
La rponse normale (au contraire de la rponse d'exception) est purement un cho du
message de demande :
----,-------------,----- - ----
Adresse premier mot Valeur crire CRC i
MSB LSB MSB LSB LSB MSB J
byte 2 i byte 3 byte 4 1 byte 5 Byte 6 1 byte 7 1
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS - ANNEXES Code : IRSES Page:18/28
Tecnologic S.p.A. TDA08/TDA04 - Protocole de communication
4 Echange des donnes
Cette section contient les informations concernant les donnes numenques et non
changes avec les et_l_eurs f_ormats et li mites.
4.1 Certaines dfinitions
Toutes les donnes changes sont constitues par un mot de 16 bits.
On distingue deux types de donnes : numriques et symboliques (ou no numriques).
Les donnes numriques reprsentent la valeur d'une grandeur (par exemple la variable
mesure, etc ... ).
Les donnes symboliques reprsentent une valeur particulire J'i ntrieur d 'une gamme
de choix (par exemple, Unit de mesure peut valoir "OC" ou "oF").
Les deux types sont codifis avec des numros entiers : on adopte des numros entiers
avec signe pour les donnes numriques et les numros entiers sans signe pour les
symboliques. Une donne numrique doit tre associe avec le numro appropri de
chiffres dcimaux, de faon reprsenter une grondeur avec les mmes units
d'ingnierie adoptes dans le module TDA
Les donnes numriques sont reprsentes avec une virgule fixe, et peuvent tre
entires ou avec un chiffre dcimal.
4.2 Zones de mmoire
Pour les fonctions adoptes, toutes les donnes lisibles et que J'on peut crire
apparaissent comme des mots de 16 bits placs dans la mmoire du module.
Le plan de la mmoire a cinq zones :
Paramtres,
variables,
commandes, alarmes,
code d'identification de l'i nstrument.
Les paragraphes suivants examinent les caractristiques de chaque zone.
Un appendice appropri numre tous les dtails de chaque zone, de faon
permettre la connexion un systme de supervision.
4.2.1 Zone des paramtres
Les donnes de configuration ainsi que les donnes oprationnelles se trouvent dans la
zone des paramtres et sont physiquement dans une mmoire non volatile situe
l' intrieur des TDA.
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D' UN SYSTME INFORMATIS- ANNEXES Code: IRSES Page:1 9/28
Tcnologic 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 frquemment
calcules et mises jour.
Onnumre id ies donnes disponibles :
v valeur mesure de la sonde 1 ,
v valeur mesure de la sonde 2,
v valeur mesure de la sonde 3,
v valeur mesure de la sonde 4,
v valeur mesure de la sonde 5,
v valeur mesure de la sonde 6,
v valeur mesure de la sonde 7,
v valeur mesure de la sonde 8,
v tat des entres digitales,
v tat de la sortie,
v tat des alarmes,
v tat du TDA
Les conditions d ' anomalie des variables de procd (sonde 1 ... sonde 8) sont reportes
comme des valeurs spciales de la mesure :
1
------
1
condition d ' anomalie valeur rendue 1
ou court-circuit -10000
----------------
Overflow ou sonde ouverte 10000
Variable non disponible 10003
BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES Code : IRSES Page:20/28
Tecnologic S.p.A. TDA08/TDA04 - Protocole de communication
A.2 Appendice - Tableau de la zone des variables
1 adresse
type
chiffres
n.
1 (hex)
nom variable
donne
tendue de mesure unit dcimaux r/w
1
02 0_0_ INl
1
1
N -999 ... 9999
___{ _*)
JVgr 0240
1
r
2
0201 Valeur entre IN2
1
N -999 ... 9999
( *) 1Var024l r
!
3
0202 Valeur entre IN3 N -999 ... 9999 ( -0242 r
4
0203 . Valeur entre IN4 N -999 .. . 9999 ( *) IVar 0243
!
r
(#) 5 0204 Valeur entre IN5 N -999 .. . 9999
( * *) Var 0244 r
( #) 6 1
1
0205 Valeur entre IN6 N -999 ... 9999
( * *) Var 0245 r
(#) 7 1
0206 Valeur entre IN7 N -999 .. . 9999 ( * *) Var 0246 r
(#) 8
0207 Valeur entre IN8 N -999 ... 9999 ( * *) Var 0247 r
9 021F Lit l' tat de la s 0: OFF r
sortie alarm OUT 1: ON
10 0220 Lit l' tat de s O:ouvert r
l'entre DIOl 1: ferm
11 0221 Lit l'tat de
1
s 0: ouvert r
l' entre DI02
1 1: ferm
12 0222 Lit l'tat de
1
s 0: ouvert r
1 'entre Dl03 1 l: ferm
13 0223 Lit l'tat de
1
s 0: ouvert r
l'entre DI04 l: ferm
( #) 14
0224 Lit l'tat de 1 s 0: ouvert
i
r
1
l'entre DI05
!
1: ferm
l
( !Nl quand
1

1
0225-
1
------- ---------- ---- -
( #) 15
Lit 1' t at de s 0: ouvert r
l'entre DI06
1
1: ferm
( IN2 quand 1
1
Endi=YES) 1
(#) 16
0226 Lit l'tat de
1
s O:ouvert
1
r
l'entre DIO? 1: ferm
( IN3 quand
1 1
1
Endi=YS) 1
( #) 171
0227 Lit l'tat de
1
s 0: ouvert r
l'entre DI08
1
1: ferm
( IN4 quand
i
1
c--::-
Endi=YES)
1
r-:----------------- --------

-----
( #) 18 0228 Lit l'tat de
'
s 0: ouvert r
!
l'entre DI09
1
l: ferm
1 '
( IN5 quand
1

(#)-i9
1--------
Endi=YES)
--- -- -=, -------------
i
--- ----------------------- -
0229 Lit l'tat de s O:ouvert r
1' entre DilO
1
l : ferm
1
( IN6 quand '
Endi =YES)
( #) 20
022A Lit l' tat de s 0: ouvert r
l'entre Dl l l l: ferm
( IN? quand
__ Endi=YES )
BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES Code: IRSES 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 catgories de classes sont proposes-:
1. The FieldTalk Modbus Master C++ Library provides connectivity to Modbus slave
compatible deviees and appl ications.
----
' 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 - - ...
--- ______________ /
#defaultDataTablePtr
flll.busSiaveServe 1!- i
i
.

:
,C:aUbackDataTable '
;: ...,::
.. i
. 1
MbusAsciiSiav eProtocol f MbusRtuSiaveProtocol

BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES Code : IRSES 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, INDI RECT, INCIDENTAL, SPECIAL, 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) ARISI NG IN ANY OUT OF THE USE OF THIS SOFT\-'JARE, EVEN IF
* ADVISED OF THE POSSIBI LITY OF SUCH DAf,1AGE.
*
* @endif
*/
#ifndef _MBUSt-'.tASTERFUNCTI ONS H INCLUDED
#defi ne _l'1BUSJVI..ASTERFUNCTIONS_ H_ INCLUDED
#i fndef __ cplusplus
# errer Must use C++ to compile this modul e !
#endif
Il Platform header
#include <stdlib .h>
Il Package header
#include
/*************** ************************** ************************************
* Forward declaration
*****************************************************************************1
class HmTimer ;
/*****************************************************************************
* MbusMasterFunctions class declaration
*****************************************************************************/
/**
* @brief Base class which implements Modbus data and control functi ons
*
* The functions provided by this base class appl y to all prot o col flavours
* via inheritance . For a more detailed description see section @ref
* mbusmaster .
...
* @see mbusmaster
* @see MbusSe rialMasterProtocol , MbusRtuMasterProtocol
* @see IvlbusA.sci iMasterProtocol , MbusTcpivJasterProtocol
*/
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES
TUDE D' UN SYSTME INFORMATIS- ANNEXES 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_FC03_ WORDS = (HAX_DATA_SIZE - 1) / 2 , !/ maximum words per reac!
request
! / MJ.l.X_FC04_vVORDS
HAX_FC01_ COILS =
JVLI\X_.FCO 3_1iJORDS ,
MAX_FC03_WORDS * 16,
!! same as function code 03
/ / = maximum coils per r e ac!
request
/ / MP.X_FC02_ COILS
MAX_FC16_ WORDS
request
fvlAX
-
FC01 _ CO ILS,
(MP.X_ DJI.TA_ S IZE - 5) 1
l-1AX_FC15_ COILS
request
HAX FC16
- -
\"'ORDS
*
16,
} ;
fvlAX_FC2 3_READ
MAX_FC23_WRITE
HAX
-
FC03 _ WORDS ,
(MAX_DATA_SIZE - 9 )
volatile unsigned long totalCounter ;
volatile unsigned long successCounter ;
int retryCnt; // Retry counter
int timeOut ; // Time- o ut in ms
1
,/
! same as function
2, /1 maximum words
1 /
'!
maximum coi1s
! / maximum wors
2 ! / maximum words
int pollDelay; // Delay between two Moclbus reacl/writes in ms
HmTimer &silenceTimer;
private :
char bufferArr
int bigEndianMachine; // Auto-configured by constructor
int bigEndianFl oatMachine ; // Auto-configured by constructor
int s wa pints; // flags
int swapFloats ;
/1
/! Sl ave configuration data
//
!/ User flags
int s laveConfigFlagsArr[ 256] ;
protected :
MbusMasterFunctions() ;
public :
virtual - Mbust1asterFunctions();
code 1
per write
per wr ite
for re ad
for writ e
BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES 1 Session 2012 1
TUDE D'UN SYSTME INFORMATIS- ANNEXES 1 Code: IRSES 1 Page:24/28 1
/************************************************ ** ************************
* Modbus function codes
**************************************************************************/
public :
! **
* @name 16-bit Access
* Table 4 : 0000 0 (Holding Regi sters) and Table 3 : 00000 (Input Registers )
* @ingroup mbusmaster
.... 1
//@{
int readinputSingleRegister (i nt slaveAddr,
i.nt regAddr,
short& regVal) ;
i.nt readinputRegi.sters(int slaveAddr , int startRef,
short r egArr[] , i nt refCnt );
int writeSingleRegi ster (int slaveAddr, i nt regAddr , short regVal);
i.nt writeMultipleRegi.sters(int s l aveAddr ,
int startRef,
const short regArr[] , int r efCnt) ;
int maskWriteRegister(int slaveAddr,
short andMask,
int readWri.teRegisters(int slaveAddr ,
i nt regAddr,
short or!'1ask) ;
int readRef, short readArr[] , int readCnt ,
i.nt writeRef,
const short writeArr[] , int writeCnt) ;
//@}
/****** ** ************ *** *** ************** ******* **** ***************** ******
* Slave Configuration
********** * ******************* ********* *********************************** /
public :
* @name Slave Configuration
* @i.ngroup mbusmaster
*/
11 c ~ {
void confi gureBi gEndianints();
void con f igureLittleEndianint s();
//@}
1
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012 1
TUDE D'UN SYSTME INFORMATIS - ANNEXES J Code : IRSES Page:25/28 1
} ;
'**************************************************************************
1
* Utility routines
**************************************************************************/
public :
/**
* Returns whether the protocol is open or not .
*
* @retval true = open
* @retval false = closed
*!
virtual int isOpen() = 0 ;
/**
* Closes an open protocol including any associated communi cat ion
* resources (corn ports or sockets)
* 1 1
virtual void closeProtocol() = 0 ;
static TCHAR *getPackageVersion{);
/**************************************************************************
* Internai subroutines
**************************************************************************/
protected:
virtual int deliverMe ssage(int address , int function,
private:
int reidBits(int function,
int bitArr[],
char sendDataArr[], int sendDataLen,
c har rcvDataArr[], int rcvDataLen,
int *actualRcvdPtr = NULL) = 0 ;
int slaveAddr ,
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 short regArr[], int refCnt , int regCount) ;
private :
Il Disable default operator and copy construc tor
rvmus!ViasterFunctions &opera tor= (JV1.buslv1asterFunctions & ) ;
MbusMasterFunctions (const :VlbusMasterFunctions &) ;
#endif // ifdef . .. _H_INCLUDED
BTS INFORMATIQUE ET RSEAUX POUR L'INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS - ANNEXES Code: IRSES Page:26/28
Annexe 9 Extrait STL Vector
Constructor/Declaration:
vector<T> v(size_type n); Declaration of vector containing type "T" and of size "n"
(quantity).
' vector<T> v(size_type n,const T & t); Declaration of vector containing type "T", of size "n"
(quantity) containing value "t".
Declaration: vector (size_type n , const T& t)
, o - .......______ , , >, ,, m ,. , o, R< ., . "o - , . , , .. ,,, ' '
: vector<T>
i v(begin_iterator,end_iterator);
Copy of V ector of data type "T" and range begin_iterator to
end_iterator.
Declaration: template vector (Input Iterator,
; I nput i ter ator )
.... J -
Size methods/operators:
j empty() 1 Returns bool (true/false). Tme if empty.
i Declaration: bool empty () const

size() 1 Number of elements of vector.
i Declaration: s ize _ type s i ze () const
i====-cc=-::.....o=::=c=::::!
Adjust by adding or deleting elements of vector so that its size is "n".
Declaration: voi d resize (n , t = T ())
i Max number of elements of vector before reallocation.
i Declaration: size_type capacit y () const

reserve(size_t n)
. max_size()
i Max number of elements of vector set to "n" before reallocation.
: Declaration: void reserve (size_ t)
: 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 eference operator [ J (size _ type n)
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES Code: IRSES Page:27/28
front()
v[O]
i First element of vector. (Left and Right value
j assignment.)
; Declaration: reference front ()

l Last element of vector. (Left and Right value back()
'
! assignment.)
j Declaration-: reference- back ()
_;;_ __ _.:..;: .. ;..;;; .. ;.;;;; .. -.;;;;; ....:.;;: .... ;;;;;; -...... ;;;;;; -..;;;; - .. ;:;;;; ...... .;;;;; .. ;;;;;; "'_;;;;; '"";;;;;; '";;::;: ""- = =;;;;;; - -' ;:;;;; ---;;;;;; - ;;_ .. '"-'=--"-'--'-'--" "'"" " = .. ' --- .......................................... .. .. .. ...... ....................------------- .. .. ...... .. ................................... .. . .
push_back(const T& value) i Add element to end of vector.
'_:.:;; - .. ---'---'---..;;...;;...:= =- -- ::::: ---- =--=- ::..: = --=-=---=---=---::::: -=- = ....= .. -..:__...c=_;; ...:::: ---::::::; J void .. T & ) .. .. _______ -------------
, pop_back() i Remove element from end of vector.
! Declaration: void pop_back ()
assign(size_type n,const T & t)
................. ..- ........... ...................... -
assign(begi n_i ter a tor ,end_i terator) ! Replace data in range defined by iterators.
1 Declaration:
insert(iterator, const T & t) j In sert at element "iterator", element of value "t".
1 Declaration: iterator insert (iterator pos, const
! T& x)
_;;_'--";;.;_;_..;.;:_ - .. ;..;;; =----;_;;;; - .. ;;;;: --- ;;:;.; ----::;;; ---- ;;:; ---= --=-- ===:...;_;;_;_;;_;_;_;;_ __ __;;;; ;.;;. .. ;_: ;..;;;..; -' -- .............................. ..
insert(iterator pos, size_type n, const T & j Starting be fore element "pos", insert first n elements of
x) 1 value "x" . ..
l Declaration: void insert (iterator pos, size_type
! n, const T& x)
............ , .... ......
.. insert(iterator pos,
begin_iterator,end_iterator)
! Starting before element "pos", inse1t range begin_iterator
: to end_iterator.
' --
swap(vector& v2)
l Declaration: void insert (iterator pos,
l Inputit e rator f, Inputiterat or 1)
Swap contents of two vectors. -
; Declaration: void swap (Vector&)
Iterator methods/operators:
. begin()
end()
- Return iterator to first element of vector.
Declaration: const_iterator b egi n () const
l Return iterator to end of vector (not last element of vector but past last element)
! Declaration: const_i terato r end () const

rbegin()
rend()
++
: Return iterator to first element of vector (reverse order).
Declaration: const_reverse_iterator rbegin () const
Return iterator to end of vector (not last element but past last element) (reverse
order).
Declaration: con st r everse_ iterator rend () c o nst
BTS INFORMATIQUE ET RSEAUX POUR L' INDUSTRIE ET LES SERVICES TECHNIQUES 1 Session 2012
TUDE D'UN SYSTME INFORMATIS- ANNEXES 1 Code : IRSES j Page:28/28

You might also like