background image

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

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