dopisz swój adres do listy:
biblioteki standardowe - util.lib (funkcje analogowe)
LIN_TRAFO
Blok funkcji LIN_TRAFO (util.lib) transformuje wartość Real, leżącą w zakresie zdefiniowanym na podstawie dolnej i górnej granicy, na wartość Real, będącą w odpowiedniej proporcji do innego zakresu również zdefiniowanego przez dolną i górną granicę. Podstawę stanowi następujące równanie:
(IN - IN_MIN) : (IN_MAX - IN) = (OUT - OUT_MIN) : (OUT_MAX
- OUT)
Zmienne wejściowe:
|
Zmienna |
Typ danych |
Opis |
|
IN |
REAL |
Wartość wejściowa |
|
IN_MIN |
REAL |
Najmniejsza wartość wejściowa |
|
IN_MAX |
REAL |
Największa wartość wejściowa |
|
OUT_MIN |
REAL |
Najmniejsza wartość wyjściowa |
|
OUT_MAX |
REAL |
Największa wartość wyjściowa |
Zmienne wyjściowe
|
Zmienna |
Typ danych |
Opis |
|
OUT |
REAL |
Wartość wyjściowa |
|
ERROR |
BOOL |
Wydawanie błędu: TRUE, jeśli IN_MIN = IN_MAX lub jeśli IN znajduje
się poza podanym zakresem wejściowym |
Przykład zastosowania:
Czujnik temperatury daje na wejściu IN wartości w woltach. W danych
temperatury należy je przetransformować na stopnie Celsjusza i wydać w OUT.
Wejściowy zakres (w woltach) jest definiowany za pomocą IN_MIN=0 i IN_MAX=10.
Wyjściowy zakres (stopnie Celsjusza) jest definiowany za pomocą OUT_MIN=-20 i
OUT_MAX=40.
Odpowiednio dla wejścia 5 woltów jest wydawana temperatura 10 stopni
Celsjusza.
Przykład w FBD:

codesys.pl