Kurs Zaawansowany S7 – zaj cia dodatkowe, wtorek, zadanie C
Proponowane rozwi zanie:
1.
W pierwszym kroku nale y stworzy now funkcj , to jest
FC43
.
2. Skalowanie.
Funkcja powinna przeskalowa warto podan na wej cie „napi cie”
z zakresu 0...10 do zakresu 100...0. Aby wykona skalowanie nale y:
odczytan z wej cia warto przemno y przez 10 dzi ki czemu uzyska si
zakres 0...100,
co mo na zapisa w programie tak:
L #napiecie
L 1.000000e+001
*R
przemno y t warto przez -1 dzi ki czemu odwróci si t charakterystyk uzyskuj c
zakres 0...-100,
czyli w STL:
NEGR
wersja: 080201
INTEX Centrum Szkoleniowe Systemów Automatyki
strona 3/6
Kurs Zaawansowany S7 – zaj cia dodatkowe, wtorek, zadanie C
na koniec nale y doda 100, w ten sposób wyj ciowy zakres zostanie przeskalowany
do warto ci 100...0 (charakterystyka przesuni ta w gór ):
L 1.000000e+002
+R
T #przeskalowane_napiecie
w dalszej kolejno ci zostan sprawdzone zakresy, czyli czy przeskalowana warto
przekracza 100:
L 1.000000e+002
>R
JCN et1
T #przeskalowane_napiecie
(je eli przekracza, to jako „przeskalowane_napi cie” zostanie wpisane 100.0)
lub czy jest mniejsza od 0:
et1: L #przeskalowane_napiecie
L 0.000000e+000
<R
JCN et2
T #przeskalowane_napiecie
Ostatni, najistotniejszy fragment to przeliczenie napi cia z formatu REAL na S5TIME.
et2: L #przeskalowane_napiecie
RND
W ten sposób została zrealizowana konwersja z Real na DInt. W kolejnym kroku zostan
skasowane 4 najstarsze bity, dzi ki czemu zostanie ustalona podstawa czasu w formacie
S5Time na 00, czyli 10ms.
AW W#16#FFF
wersja: 080201
INTEX Centrum Szkoleniowe Systemów Automatyki
strona 4/6
Kurs Zaawansowany S7 – zaj cia dodatkowe, wtorek, zadanie C
Kolejna konwersja to przej cie z liczby całkowitej na format BCD poniewa ilo jednostek
podstawy w formacie S5T jest podawana jako zmienna BCD:
ITB
T #czas
.
Pełna posta programu:
FC43
// przeskalowanie napi cia z zakresu 0-10 do zakresu 100-0
L #napiecie
L 1.000000e+001
*R
NEGR
L 1.000000e+002
+R
T #przeskalowane_napiecie
// sprawdzenie przekroczenie maksimum (100)
L 1.000000e+002
>R
JCN et1
T #przeskalowane_napiecie
// sprawdzenie przekroczenie minimum (0)
et1: L #przeskalowane_napiecie
L 0.000000e+000
<R
JCN et2
T #przeskalowane_napiecie
// przeliczenie napi cia na format S5TIME
et2: L #przeskalowane_napiecie
RND
AW W#16#FFF
ITB
T #czas
wersja: 080201
INTEX Centrum Szkoleniowe Systemów Automatyki
strona 5/6
Kurs Zaawansowany S7 – zaj cia dodatkowe, wtorek, zadanie C
OB1
CALL FC 9
// woltomierz
adres_AI := PIW290
zakres := 1.000000e+001
wart_analog := MD20
CALL FC 43
napiecie := MD20
czas := MW24
CALL FC 5
// uniwersalny generator
T_nr := T1
czas := MW24
F := Q5.7
wersja: 080201
INTEX Centrum Szkoleniowe Systemów Automatyki
strona 6/6