Kurs Zaawansowany S7 – zaj cia dodatkowe, roda, zadanie B
Zadanie: Weryfikacja warto ci w kodzie BCD
Zadanie jest nawi zaniem do problemu "Sterowaniem grzaniem pieca" z rozdziału V.
W zadaniu tym wprowadzenie na przeł cznikach poprawnej warto ci w kodzie BCD
było zadaniem u ytkownika programu.
Nale y napisa funkcj
FC52
, która b dzie sprawdza czy zadana warto na ka dej
z trzech tetrad („tetrada” = 4 bity) jest warto ci z zakresu kodu BCD.
Je eli na wej ciach I 1.0 – I 1.3 zostanie podana warto w zakresie 0-9 wtedy na wyj ciu
out1 powinien zosta wystawiony stan wysoki. Je eli podana warto jest spoza kodu BCD,
czyli w zakresie A-F wyj cie out1 powinno pulsowa ostrzegawczo z cz stotliwo ci 5Hz.
Analogicznie nale y przetestowa tetrad I1.4 - I1.7 wystawiaj c wyj cie out2
oraz tetrad I0.0 - I0.3 wysterowuj c out3.
Parametry funkcji:
wej
– parametr wej ciowy – typ WORD – warto słowa wej cyfrowych
out1
– parametr wyj ciowy – typ BOOL – informacja o poprawno ci warto ci jednostek
out2
– parametr wyj ciowy – typ BOOL – informacja o poprawno ci warto ci dziesi tek
out3
– parametr wyj ciowy – typ BOOL – informacja o poprawno ci warto ci setek
Program powinien zosta zapisany w j zyku STL.
wersja: 080210
INTEX Centrum Szkoleniowe Systemów Automatyki
strona 1/3
Kurs Zaawansowany S7 – zaj cia dodatkowe, roda, zadanie B
TESTOWANIE
Testowanie programu polega na zadawaniu na przeł cznikach odpowiednich warto ci.
Poprawne wielko ci z zakresu kodu BCD to odpowiednio:
dziesi tnie binarnie
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
Dla tych warto ci odpowiednie wyj cie powinno
by ustawione.
Natomiast dla warto ci szesnastkowych z poza kodu BCD, czyli od A do F:
szesnastkowo
(dziesi tnie) binarnie
A (10)
1010
B (11)
1011
C (12)
1100
D (13)
1101
E (14)
1110
F (15)
1111
... odpowiednie wyj cie powinno
pulsowa .
Przykładowo
, dla nast puj cej wielko ci podanej binarnie na wej ciach:
I 0.3 = 0,
I 0.2 = 1,
I 0.1 = 1,
I 0.0 = 0
(warto binarna 0110, czyli szesnastkowo 6 – warto poprawna) wyj cie out3 powinno
wieci si na stałe.
Natomiast dla
I 0.3 = 1,
I 0.2 = 1,
I 0.1 = 1,
I 0.0 = 0
(warto binarna 1110, czyli szesnastkowo E – warto niepoprawna) wyj cie out3 powinno
pulsowa .
Przypomnienie - w słowie IW0 poszczególne bity maj nast puj ce adresy:
IW 0
setki
dziesi tki
jednostki
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
byte 0
byte 1
wersja: 080210
INTEX Centrum Szkoleniowe Systemów Automatyki
strona 2/3