fbpx

Skalowanie – analogi

mini-s7-1200-analog

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.

adres-przetwornika-analogowo-cyfrowego-w-konfiguracji-sprzetowej

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:

Norm-Scale

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

przetwarzanie-wartosci-analogowych-s7-1200

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:

pl-usb-1p1-tia-1200-lad_chce-zostac-programista-plc-1

 

 

 

 

 

 

 

 

 

Podziel się tym wpisem na:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Wykop

Pozostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Newsletter - Zapisz się i jako pierwszy otrzymasz najnowsze informacje