Podstawowe informacje o przetworniku analogowym znajdującym się sterowniku SIMATIC S7-1200 opisałem w jednym z poprzednich wpisów o przetworniku analogowo – cyfrowym.
Teraz dalej będziemy zajmować się sygnałem podłączonym do wejścia AI (ang. Analog input) znajdującego się w PLC. Jak zapewne pamiętasz, są dwa wejścia analogowe (czyli sterownik jest wyposażony w dwa przetworniki pomiarowe). Sygnał pochodzi z jakiegoś czujnika wielkości fizycznej, lub miernika czyli np. wagi, przepływomierza albo czujnika ciśnienia, temperatury.
W przypadku pomiaru temperatury, to są specjalizowane modułu, które zostaną omówione innym razem.
Zadaniem przetwornika analog – cyfra jest zamiana wielkości fizycznej na sygnał cyfrowy (którą widzisz już w środowisku TIA Portal). Ten sygnał cyfrowy znajduje się pod określonym adresem, który został przypisany w konfiguracji sprzętowej (dla wbudowanego wejścia jest to IW64 dla kanału 0 i IW66 dla kanału 1.
Skalowanie wartości analogowych
W poprzednim wpisie o wejściu analogowym wartość cyfrową porównywaliśmy w celu sprawdzenia, czy znajduję się w zakresie.
Tym razem przetworzyć wielkość fizyczna np. wagę na wartość w kilogramach. Do tego celu będą potrzebne dwie funkcje, czyli NORM_X i SCALE_X. Widok ich użycia został przedstawiony poniżej:
W sekcji interfejsu bloku OB1 zostały utworzone dwie zmienne tymczasowe (co przedstawia pomarańczowa ramka).
Omówmy teraz każdą z tych funkcji (są one dostępne w karcie instrukcji co zostało zaznaczone w zielonej ramce):
a) NORM_X
Funkcja służy do normalizacji wartości przypisanej do parametru wejściowego VALUE (zwracając uwagę na typ zmiennej która jest przypisana do tego parametru) zawartej w zakresie wyznaczonym przez wartości przypisane do parametrów wejściowych MIN oraz MAX do wartości mieszczącej się w zakresie pomiędzy 0.0 a 1.0 zwracanej przez parametr wyjściowy OUT.
Zakres wartości cyfrowych jakie otrzymujemy z przetwornika analogowego mieszczą się w przedziale od 0 do 27648. Dlatego takie wartości zostały przypisane odpowiednio do parametrów wejściowych MIN oraz MAX. W tablicy tagów została utworzona zmienna symboliczna o nazwie ai_Channel0 o adresie IW64 i typie INT. Ta zmienna symboliczna została przypisana do parametru wejściowego VALUE.
Do parametru wyjściowego OUT została przypisana zmienna tymczasowa t_NormScale.
b) SCALE_X
Tą funkcję należy wykorzystać do skalowania zmiennej przypisanej do parametru wejściowego VALUE na zakres w przedziale zdefiniowanym przez wartości przypisane do parametrów wejściowych MIN oraz MAX.
Zakres mierzonej wielkości (w naszym przypadku wagi) określamy poprzez parametry wejściowe przypisane do MIN oraz MAX czyli od 0 do 500 kg. Natomiast do parametru wejściowego VALUE musi być koniecznie przypisana zmienna przyjmująca wartości od 0.0 do 1.0 czyli w naszym przypadku będzie to zmienna t_NormScale. Aktualny wynik wagi przypisujemy testowo do zmiennej tymczasowej t_Weight.
Test
Program należy skompilować. Uruchomienie można zrobić na symulatorze PLCSIM, co przedstawia poniższy rysunek
Spróbój przygotować taki projekt i zrobić test samodzielnie
W kolejnym wpisie
W następnym wpisie zajmiemy się przygotowaniem uniwersalnej funkcji (znanej z S7-300 oraz dostępnej S7-1500). Dzięki temu w prosty sposób będziemy mogli wykorzystać więcej kanałów wejść analogowych.
Kurs wideo
Więcej na temat programowania PLC S7-1200 w języku LAD znajdziesz w kursie Chcę zostać programistą PLC: