PARTNERZY

PRODUKTY I SKLEP SERWIS I WSPARCIE

Od automatyzacji produkcji i logistyki, aż po automatyzację procesów technologicznych — SICK należy do ścisłej czołówki wśród producentów czujników. Jako lider rynku w dziedzinie technologii, firma SICK ze swoimi czujnikami i rozwiązaniami aplikacyjnymi tworzy doskonałe podstawy dla bezpiecznego i efektywnego sterowania procesami, ochrony ludzi przed wypadkami oraz ochrony środowiska naturalnego.

NEWSY / BLOG POZNAJ MITSUBISHI ELECTRIC ODDZIAŁ POLSKA

Korporacja Mitsubishi Electric, posiadająca 90 lat doświadczenia w zakresie dostarczania niezawodnych, wysokiej jakości innowacyjnych produktów w dziedzinie automatyki przemysłowej, produkcji, marketingu i sprzedaży urządzeń elektrycznych i elektronicznych. Programowalne sterowniki PLC, rozwiązania napędowe, roboty przemysłowe, panele dotykowe, wycinarki laserowe i sterownie CNC firmy Mitsubishi Electric zaliczają się do produktów najwydajniejszych na rynku i gwarantują sukcesy firmy już od ponad 30 lat.

KATALOG PRODUKTÓW POZNAJ FINDER

Od 1954 Finder pracował wyłącznie w zakresie przekaźników i timerów. Nasz wysoki stopień specjalizacji zaowocował ponad 10.000 różnych produktów w jednej z najszerszych dostępnych ofert. Firma szeroko się rozwija i inwestuje w przyszłość uzupełniając gamę swojego asortymentu. Prócz przekaźników oferuje rozwiązania przemysłu elektrycznego do zastosowań domowych jak i komercyjnych poprzez przekaźniki, urządzenia przeciwprzepięciowe, termostaty panelowe, zasilacze i liczniki energii. Gama asortymentu obejmuje ponad 12 tysięcy produktów.

KATALOG ONLINE POZNAJ JOHNSON CONTROLS

Firma Johnson Controls to światowy lider w zakresie zróżnicowanych technologii i przemysłu świadczący usługi dla klientów w ponad 150 krajach. 120 000 pracowników tworzy wysokiej jakości produkty, usługi i rozwiązania umożliwiające optymalizację wydajności energetycznej oraz obsługowej budynków. Johnson Control prężnie działa również w branży motoryzacyjnej, a w ofercie firmy można odnaleźć różne rodzaje akumulatorów oraz opracowane systemy wnętrz samochodowych.

BLOG WAGO POZNAJ WAGO

WAGO. jest producentem urządzeń automatyki przemysłowej i budynkowej oraz systemów połączeń dla elektrotechniki i elektroniki. Powstanie w 1951 roku firmy WAGO było wyrazem przekonania o słuszności obranego kierunku i stworzyło podwaliny pod dalszy rozwój technologii. Z czasem stała się ona standardem na całym świecie i teraz nie sposób wyobrazić sobie nowoczesnej instalacji elektrycznej czy systemu automatycznego sterowania bez wyrobów WAGO.

KATALOG ONLINE POZNAJ PANASONIC

Panasonic Electric Works Europe zajmuje się produkcją oraz dystrybucją komponentów automatyki, takich jak: czujniki przemysłowe, sterowniki programowalne, napędy przemysłowe i systemy znakowania laserowego. W ścisłej kooperacji z europejskimi klientami, oferują rozwiązania dla różnych obszarów biznesu, takich jak przemysł motoryzacyjny, pojazdy elektryczne, automatyzacja procesów technologicznych oraz budynków, odnawialnych źródeł energii czy zarządzania środowiskowego.

Poznaj easyE4 POZNAJ EATON

Eaton Electric jest producentem najwyższej jakości automatyki przemysłowej, aparatury sygnalizacyjnej, łączeniowej, zabezpieczającej i instalacyjnej oraz systemów rozdziału energii niskiego napięcia. Międzynarodowe nagrody oraz certyfikaty są dowodem, iż produkty Eaton Electric odpowiadają najnowszym standardom bezpieczeństwa i wymaganiom jakości. Wszystkie nasze wyroby gwarantują długoletnie działanie.

PRODUKTY POZNAJ PEPPERL+FUCHS

Automatyzacja to nasz świat. Perfekcyjne rozwiązania - nasz cel.

Obecnie firma Pepperl+Fuchs jest znana klientom na całym świecie jako przedsiębiorstwo pionierskie i innowacyjne w dziedzinach takich, jak ochrona przeciwwybuchowa instalacji elektrycznych czy technologie czujników. Zawsze koncentrujemy się na wymaganiach klientów. Pasja, z jaką poświęcamy się automatyce, oraz przełomowe technologie, jakimi dysponujemy, pozwalają nam owocnie współpracować z klientami — tak dziś, jak i w przyszłości.

MENU PROFIL

Do Projektu iAutomatyka dołączyli:

Podstawy programowania sterowników PLC w języku strukturalnym ST

6444 wyświetleń, autor: Piotr Gwiazdowski • iAutomatyka.pl.

Artykuł z serii: Podstawy urządzeń automatyki - Mitsubishi Electric


Ukończyłem automatykę i robotykę na pierwszym stopniu i o języku strukturalnym usłyszałem dopiero podczas praktyk. Na uczelni w praktyce korzystaliśmy tylko z języka drabinkowego, a w teorii słuchaliśmy o liście instrukcji (IL / STL). Kiedy pierwszy raz zderzyłem się z programowaniem z użyciem języka ST byłem lekko zszokowany. Jak to? Można pisać tekstowo? Wcześniej programowałem trochę w C, więc język strukturalny przyniósł mi duże ułatwienie i pozwolił w dużym stopniu wykorzystać możliwości sterownika. Jakiś czas temu na grupie Automatyk Może Więcej na facebooku zobaczyłem ankietę, z której wynika, że zdecydowana większość osób na co dzień korzysta z języka drabinkowego, chociaż język strukturalny uplasował się na drugim miejscu (z ogromną stratą do pierwszego). Ostatnio w ręce wpadł mi poradnik, czy też krótki kurs, z podstaw programowania sterowników właśnie w języku ST, wydany przez Mitsubishi Electric i chciałbym się nim z wami podzielić.

Rozdział 1 – Przegląd tekstu strukturalnego

Język ST jest zdefiniowany w trzeciej międzynarodowej normie IEC 61131-3, która opisuje graficzne i tekstowe języki programowania dla sterowników PLC. Przy korzystaniu z każdego języka programowania należy trzymać się pewnych zasad składniowych. Zasady te określają symbole, które są dostępne oraz w jaki sposób łączyć symbole w większe struktury. Norma określa następujące symbole i instrukcje:

Operacja Zapis Operacja Zapis
Negacja – albo NOT Koniunkcja & albo AND
Potęgowanie ** Alternatywa OR
Mnożenie * Alternatywa rozłączna XOR
Dzielenie / Przypisanie :=
Modulo MOD Koniec instrukcji ;
Dodawanie + Zwrócenie wartości RETURN
Odejmowanie Instrukcja warunkowa IF / WHILE
Porównanie >, <, <=, >= Instrukcja wyboru CASE
Równość = Instrukcja iteracyjna FOR
Nierówność <> Wyjście z pętli EXIT

Rozdział 2 – Podstawowe zasady zapisu w języku ST

Powyższy przykład opisuje program, który załącza wyjście Y10 wtedy, kiedy wejście X0 jest włączone, oraz wyłącza wyjście Y10, gdy wejście X0 jest wyłączone. Taka linia kodu składa się z:

  • instrukcji – określa ona operację jaka ma być wykonana,
  • argumentów – komórka pamięci / wejście / wyjście / coś na czym operuje program. Argumenty są używane do opisana zmiennych, wyrażeń arytmetycznych itp,
  • przecinka – oddziela argumenty,
  • średnik – musi znajdować się zawsze na końcu linii.

Następny przykład przedstawia program, w którym zastosowano wyrażenie przypisania. Poniższe wyrażenie przypisuje stałą dziesiętną 5 do zmiennej D10.

Komentarze w języku ST umieszcza się w nawiasie pomiędzy dwiema gwiazdkami (* *). Oczywiście można posługiwać się różnymi typami, nie tylko liczbami dziesiętnymi. Poniższa tabela przedstawia listę typów zapisów numerycznych stosowanych w języku ST.

Za pomocą liczb można też reprezentować wartości bitowe. Oprócz tego można używać słów TRUE i FALSE. Poniżej przedstawiono przykłady przypisania wartości do zmiennych typu bit.

Rozdział 3 – Obsługiwanie wejść i wyjść

Podstawowym zadaniem sterownika PLC jest wysterowywanie wyjść na podstawie przetworzonego programu, w oparciu o zebrane z urządzeń wejściowych sygnały. Często jako instrukcji wyjścia używa się funkcji OUT. Posiada ona dwa argumenty, pierwszy to warunek wykonania instrukcji, a drugi to wyjście, które ma być wysterowane.

Oczywiście to samo co wyżej można zapisać na różne sposoby. Na przykład stosując operator przypisania.

Przy tworzeniu programów korzystać można oczywiście z operatorów logicznych. W jednej linii można wykorzystywać nieskończenie wiele operatorów logicznych. Dla przykładu poniżej przedstawiono obwód z samo-podtrzymaniem.

Jeżeli na wejściu X0 pojawi się sygnał i jednocześnie nie będzie go na wejściu X1 to wyjście Y70 zostanie wysterowane. Jeżeli wyjście Y70 jest już wysterowane to nie ma konieczności obecności sygnału na wejściu X0. Krótko mówiąc za pomocą wejścia X0 wystarczy raz “uruchomić” wyjście Y70 a zostanie oni załączone dopóki nie wystąpi inne zakłócenie w obwodzie. Powyższy program mógłby być zapisany w języku drabinkowym w następujący sposób:

Rozdział 4 – operacje arytmetyczne

W języku strukturalnym operacje arytmetyczne zapisujemy niemal jak w zeszycie. Należy jedynie pamiętać, że operatorem przypisania jest “:=”, a nie zwykły znak równa się. Oprócz tego możemy używać poniższych operatorów:

Dla przykładu poniżej zapisano fragment programu, który zlicza całkowitą wartość produkcji z dwóch linii produkcyjnych biorąc pod uwagę elementy odrzucone.

Ten sam program w języku drabinkowym można zapisać w następujący sposób:

Jak widać stosując język strukturalny można zwiększyć czytelność i zmniejszyć wizualną objętość programu. Fragment kodu, zapisany w języku drabinkowym, zajmujący 3 linijki w języku strukturalnym można zapisać w jednej.

Podczas wykonywania operacji na zmiennych należy zawsze pamiętać o tym, by miały one taki sam typ. Tak jak w każdym języku porównywać ze sobą można jedynie dane tego samego typu. Dobrą praktyką jest umieszczanie w nazwie zmiennej prefiksu określającego typ danych, aby ułatwić wzrokową identyfikację typów i uniknąć pomyłek. Dla przykładu dla zmiennych całkowitych i zmiennych typu bit prefiksy zawarto w poniższej tabeli.

Dzięki stosowaniu takiego zapisu w łatwy sposób możemy wychwycić błędy podczas pisania programu. Chcąc do zmiennej ValueA przypisać wartość zmiennej ValueB otrzymalibyśmy błąd na etapie kompilowania kodu, ponieważ są one różnych typów. Dzięki używaniu prefiksów możemy wizualnie zobaczyć, że popełniliśmy błąd i oszczędzić sobie czasu przy próbie analizy ostrzeżeń z kompilatora.

Rozdział 5 – operacje warunkowe

Operacje warunkowe wykonywane są, gdy zostanie spełniony dany warunek. Nie trudno wyobrazić sobie taką sytuację: gdy wcisnę przycisk, chcę aby linia zatrzymała się. W tym celu w programach pisanych w języku strukturalnym używa się instrukcji warunkowej IF (z ang. jeżeli). Wyrażenie rozpoczyna się od słowa IF i kończy na END_IF;, po IF zapisuje się warunek, następnie słowo THEN (wtedy) oraz instrukcje, która ma się wydarzyć jeżeli warunek zostanie spełniony. Na podstawie poniższego przykładu można to nawet przetłumaczyć na język polski: JEŻELI temperatura spadła poniżej zera (wTemperature < 0) WTEDY włącz grzałkę (bHeater := 1).

Wyrażenia IF stosujemy, kiedy uzależniamy wykonanie instrukcji od spełnienia warunku. W momencie, kiedy nasza zmienna warunkowa może przybierać kilka wartości całkowitych, a w zależności od tych wartości mają wykonywać się różne instrukcje można użyć operacji warunkowej CASE zamiast kilku operacji IF.

Instrukcja rozpoczyna się od słowa CASE i kończy na END_CASE;. Po słowie CASE wpisujemy nazwę zmiennej warunkowej. To w zależności od wartości tej zmiennej będą wykonywane kolejne instrukcje. Następnie używamy słowa OF oraz zapisujemy kolejno instrukcje do wykonania dla każdej przewidzianej wartości zmiennej warunkowej. Po słowie ELSE zapisujemy instrukcję, która ma się wykonać jeżeli zmienna warunkowa przybierze inną wartość niż zakładane. Dla przykładu załóżmy układ, gdzie użytkownik z panelu może wpisać ilość załączonych grzałek w kotle. Może wybrać od jednej do czterech grzałek (bHeater1 – bHeater4), lub wyłączyć wszystkie ustawiając 0.

CASE wIloscGrzalek OF

1: bHeater1 := 1; bHeater2 := 0; bHeater3 := 0; bHeater4 :0;

2: bHeater1 := 1; bHeater2 := 1; bHeater3 := 0; bHeater4 :0;

3: bHeater1 := 1; bHeater2 := 1; bHeater3 := 1; bHeater4 :0;

4: bHeater1 := 1; bHeater2 := 1; bHeater3 := 1; bHeater4 :1;

ELSE bHeater1 := 0; bHeater2 := 0; bHeater3 := 0; bHeater4 :0;

END_CASE;

Więcej

Nie jest to wszystko, co znajdziemy w kursie wydanym przez Mitsubishi. W poradniku można przeczytać:

  • w jaki sposób odczytywać i zapisywać dane,
  • jak tworzyć i organizować tabele,
  • czym jest i jak działa pętla FOR,
  • czym jest struktura powiązanych danych,
  • jak zapisywać i odczytywać tablice struktur,
  • jak przetwarzać ciągi znaków.

Na końcu znajdziemy również test, który pomoże sprawdzić jak uważnie czytaliśmy kurs oraz jak dużo nauczyliśmy się języka strukturalnego.

Cały kurs możesz pobrać z TEJ strony. Więcej kursów i przydatnych materiałów znajdziesz na platformie e-learningowej Mitsubishi Electric.

Moim zdaniem warto poznać język strukturalny, ponieważ jest to nowa jakość w dziedzinie programowania sterowników. Już od jakiegoś czasu widać zwiększającą się popularność w używaniu języka ST, a trend ten powinien jedynie rosnąć. Korzystając z języka strukturalnego można pisać zaawansowane skrypty i funkcje dużo łatwiej niż w innych językach programowania sterowników PLC.


Więcej z serii: Podstawy urządzeń automatyki - Mitsubishi Electric

Reklama

20 września 2018 / Kategoria: , ,
  • Autor: Piotr Gwiazdowski • iAutomatyka.pl
  • Redaktor wicenaczelny w iAutomatyka.pl
    Inżynier automatyki i robotyki, z doświadczeniem jako technik utrzymania ruchu. Oprócz automatyki i nowych technologii pasjonuję się pisaniem, co postanowiłem połączyć podejmując pracę w zespole iAutomatyka.
  • Profil Autora

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Nowy system odciągu e-prowadnika od igus

Nowy system odciągu e-prowadnika od igus

>KLIKNIJ<

5 porad programowania sterowników PLC

5 porad programowania sterowników PLC

>KLIKNIJ<

„Yes you CAN!” – wprowadzenie do sieci CAN, cz.1

„Yes you CAN!” – wprowadzenie do sieci CAN, cz.1

>KLIKNIJ<

Zasilacze dla Przemysłu 4.0?! Recenzja PROtop od Weidmuller

Zasilacze dla Przemysłu 4.0?! Recenzja PROtop od Weidmuller

>KLIKNIJ<

Recenzja szkolenia “Programowanie i obsługa sterownika easyE4”

Recenzja szkolenia “Programowanie i obsługa sterownika easyE4”

>KLIKNIJ<

Sterowanie roletami przy użyciu PLC

Sterowanie roletami przy użyciu PLC

>KLIKNIJ<

Sprawdź, jak inżynierowie walczą o easyE4! -wyniki 3/5 eliminacji konkursu

Sprawdź, jak inżynierowie walczą o easyE4! -wyniki 3/5 eliminacji konkursu

>KLIKNIJ<

Kurs projektanta systemów HMI/SCADA cz.3 – Jak dopasować specyfikę wizualizacji HMI/SCADA?

Kurs projektanta systemów HMI/SCADA cz.3 – Jak dopasować specyfikę wizualizacji HMI/SCADA?

>KLIKNIJ<

Mówisz konferencja… Myślisz Axon Media! Relacja z konferencji w Gdyni

Mówisz konferencja… Myślisz Axon Media! Relacja z konferencji w Gdyni

>KLIKNIJ<

Praca planisty utrzymania ruchu

Praca planisty utrzymania ruchu

>KLIKNIJ<

Czego spodziewać się na szkoleniu z “Zaawansowanego programowania robotów KUKA” w EMT-Systems?

Czego spodziewać się na szkoleniu z “Zaawansowanego programowania robotów KUKA” w EMT-Systems?

>KLIKNIJ<

Poradnik: Komunikacja modułów I/O do PLC SIEMENS po PROFINET i PROFIBUS?

Poradnik: Komunikacja modułów I/O do PLC SIEMENS po PROFINET i PROFIBUS?

>KLIKNIJ<

Bezpłatne warsztaty szkoleniowe – diagnostyka sieci PROFIBUS

Bezpłatne warsztaty szkoleniowe – diagnostyka sieci PROFIBUS

>KLIKNIJ<

Wysyłanie SMSów z poziomu PLC #1 – konfiguracja projektu i wysłanie pierwszej wiadomości

Wysyłanie SMSów z poziomu PLC #1 – konfiguracja projektu i wysłanie pierwszej wiadomości

>KLIKNIJ<

Przebudowa stacji elektroenergetycznej + film z działania odłącznika 400kV

Przebudowa stacji elektroenergetycznej + film z działania odłącznika 400kV

>KLIKNIJ<

AUTOMATYCZNY PODCAST #3: Diagnostyka PROFIBUS

AUTOMATYCZNY PODCAST #3: Diagnostyka PROFIBUS

>KLIKNIJ<

Plan filmowy na linii produkcyjnej czyli systemy wizyjne w wydaniu B&R

Plan filmowy na linii produkcyjnej czyli systemy wizyjne w wydaniu B&R

>KLIKNIJ<

EasyE4 (nie) tylko dla początkujących! Recenzja kursu Programowanie sterownika easyE4 EATON

EasyE4 (nie) tylko dla początkujących! Recenzja kursu Programowanie sterownika easyE4 EATON

>KLIKNIJ<

Mamy to! Wyniki 2/5 Eliminacji konkursu na zastosowanie sterownika easyE4

Mamy to! Wyniki 2/5 Eliminacji konkursu na zastosowanie sterownika easyE4

>KLIKNIJ<

Z czego składa się inteligentny budynek?

Z czego składa się inteligentny budynek?





MOŻESZ SIĘ TYM ZAINTERESOWAĆ




KATEGORIE POSTÓW
POLECANE ARTYKUŁY
KOMUNIKATY
Wydarzenia
POLECANE FIRMY I PRODUKTY

Wszystko stanie się prostsze po zalogowaniu :)

Przypomnij hasło

Nie masz konta? Zarejestruj się

Forgot your password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Close
z

Przetwarzamy pliki... jeszcze chwilka…