dopisz swój adres do listy:
biblioteki standardowe - util.lib (manipulatory funkcji)
CHARCURVE
Blok tej funkcji służy do ilustrowania wartości w częściach funkcji linearnej:
IN typu INT jest zasilane wartością do obliczania. BYTE N określa liczbę punktów ustalonych przez funkcję odwzorowania. Ta charakterystyka jest definiowana w ARRAY P[0..10] z P typu POINT, strukturze składającej się z dwóch wartości INT (X i Y).
Informacja wyjściowa składa się z OUT typu INT, obliczanej wartości oraz BYTE ERR, które wskazuje ewentualne błędy.
Punkty P[0]..P[N-1] w ARRAY muszą być posortowane na podstawie swoich wartości X, w przeciwnym razie ERR uzyskuje wartość 1. Jeśli wpis IN nie znajduje się między P[0].X i P[N-1].X, ERR=2 i OUT otrzymuje odpowiednią wartość graniczną P[0].Y lub P[N-1].Y.
Jeśli N znajduje się poza wartościami dopuszczalnymi 2 i 11, ERR=4.
Przykład w ST:
Następnie należy w nagłówku zdefiniować ARRAY P:
VAR ...
KENNLINIE:CHARCURVE; (charakterystyka)
KL:ARRAY[0..10] OF
POINT:=(X:=0,Y:=0),(X:=250,Y:=50),(X:=500,Y:=150),(X:=750,Y:=400),7((X:=1000,Y:=1000));
ZAEHLER:INT; (licznik)
...
END_VAR
Następnie zadajemy CHARCURVE np. wartość rosnącą:
ZAEHLER:=ZAEHLER+10; (licznik)
KENNLINIE(IN:=ZAEHLER,N:=5,P:=KL); (charakterystyka, licznik)

codesys.pl