PARTNERZY

www.sick.pl
tel: +48 22 539 41 00
oferty@sick.pl
PRODUKTY I SKLEP POZNAJ SICK

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.

pl.mitsubishielectric.com
tel: +48 12 347 65 00
mpl@mpl.mee.com
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.

www.findernet.com
tel: +48 61 865 94 07
finder.pl@findernet.com
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.

www.wago.pl
tel: +48 71 360 29 70
wago.elwag@wago.com
BLOG WAGO POZNAJ WAGO

Rozwiązania dostarczane przez WAGO. już od wielu lat wspierają naszych klientów w dążeniu do sukcesu. Poczynając od prostych instalacji elektrycznych, a kończąc na skomplikowanej infrastrukturze zarządzającej procesami przemysłowymi czy automatyką budynkową. Sprawdźcie jak rozwiązania WAGO, mogą wesprzeć Was w drodze do Waszego sukcesu.

panasonic-electric-works.com
tel: +48 42 230 96 33
info.pewpl@eu.panasonic.com
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.

www.eaton.com
tel: +48 58 554 79 00
oferty@staport.pl
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.

pepperl-fuchs.com
tel: +48 22 256 97 70
info@pl.pepperl-fuchs.com
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:

Mitsubishi Electric: Podstawy programowania sterowników PLC w języku strukturalnym ST

4812 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 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<

Poznaj możliwości sterownika SCADA WebHMI – Film recenzja

Poznaj możliwości sterownika SCADA WebHMI – Film recenzja

>KLIKNIJ<

Szkolenia z obsługi urządzeń Automatyki Przemysłowej od Mitsubishi Electric

Szkolenia z obsługi urządzeń Automatyki Przemysłowej od Mitsubishi Electric

>KLIKNIJ<

WEBINAR – System sterowania oświetleniem krok po kroku

WEBINAR – System sterowania oświetleniem krok po kroku

>KLIKNIJ<

Mocny PLC + IPC w jednym? CPL410 – kontroler PAC od Emerson cz. 1: Szybki start [FILM]

Mocny PLC + IPC w jednym? CPL410 – kontroler PAC od Emerson cz. 1: Szybki start [FILM]

>KLIKNIJ<

Webinarium online: Od piwnicy aż po dach, czyli rozwiązania automatyki budynkowej

Webinarium online: Od piwnicy aż po dach, czyli rozwiązania automatyki budynkowej

>KLIKNIJ<

Webinar Weidmuller – Przyśpiesz montaż rozdzielnic, zamawiaj gotowe listwy zaciskowe!

Webinar Weidmuller – Przyśpiesz montaż rozdzielnic, zamawiaj gotowe listwy zaciskowe!

>KLIKNIJ<

Jak bezpiecznie współpracować z robotami? Seminaria Mitsubishi Electric i Bureau Veritas

Jak bezpiecznie współpracować z robotami? Seminaria Mitsubishi Electric i Bureau Veritas

>KLIKNIJ<

Monitoring i analiza dla większej wydajności maszyn – B&R na targach K

Monitoring i analiza dla większej wydajności maszyn – B&R na targach K

>KLIKNIJ<

Podstawowa konfiguracja skanera bezpieczeństwa Sick S3000 Profinet

Podstawowa konfiguracja skanera bezpieczeństwa Sick S3000 Profinet

>KLIKNIJ<

Jak rozwiązać problem z konwersją protokołów przemysłowych Modbus i PROFINET?

Jak rozwiązać problem z konwersją protokołów przemysłowych Modbus i PROFINET?

>KLIKNIJ<

BEZPŁATNE WARSZTATY „PROFINET ORAZ CYBERBEZPIECZEŃSTWO – KOMUNIKACJA PRZEMYSŁOWA W DOBIE INDUSTRY 4.0”

BEZPŁATNE WARSZTATY „PROFINET ORAZ CYBERBEZPIECZEŃSTWO – KOMUNIKACJA PRZEMYSŁOWA W DOBIE INDUSTRY 4.0”

>KLIKNIJ<

Podsumowanie Konferencji VIX Automation

Podsumowanie Konferencji VIX Automation

>KLIKNIJ<

Obudowy złącz dla profesjonalistów. Po co mi stopień IP?

Obudowy złącz dla profesjonalistów. Po co mi stopień IP?

>KLIKNIJ<

Sterownik easyE4 od podstaw – kurs video od EATON

Sterownik easyE4 od podstaw – kurs video od EATON

>KLIKNIJ<

Jak dobrać przemiennik częstotliwości (falownik)? Wywiad z ANIRO

Jak dobrać przemiennik częstotliwości (falownik)? Wywiad z ANIRO

>KLIKNIJ<

Danfoss – Webinar prawidłowy dobór przetwornicy częstotliwości

Danfoss – Webinar prawidłowy dobór przetwornicy częstotliwości

>KLIKNIJ<

Polska edycja IPC Day – RENEX Electronics Education Center

Polska edycja IPC Day – RENEX Electronics Education Center

>KLIKNIJ<

Rewolucja w transportowaniu czyli o nowym systemie XPlanar firmy Beckhoff

Rewolucja w transportowaniu czyli o nowym systemie XPlanar firmy Beckhoff

>KLIKNIJ<

Automatyczny Podcast #16: Błędy rekruterów, czyli jak skutecznie (NIE)pozyskać automatyka do pracy

Automatyczny Podcast #16: Błędy rekruterów, czyli jak skutecznie (NIE)pozyskać automatyka do pracy

>KLIKNIJ<

How To: Monitoring prędkości obrotowej

How To: Monitoring prędkości obrotowej





MOŻESZ SIĘ TYM ZAINTERESOWAĆ

  • Nowoczesne dotykowe panele operatorskie HMI firmy WEINTEK Labs. – Bezpłatne oprogramowanie narzędziowe w pełnej wersji – Precyzyjne, dotykowe ekrany wyświetlające szczegółową grafikę – Obszerne biblioteki komponentów grafi...
  • SEE Electrical jest to środowisko projektowe firmy IGE+XAO Polska do rysowania schematów elektrycznych i automatyki. Program daje możliwość projektowania pneumatyki, hydrauliki oraz doskonale się spełnia przy tworzeniu schematów kart wejści...
  • EPSITRON®ECO & COMPACT Power OSZCZĘDNOŚĆ KOSZTÓW Zasilacze EPSITRON® ECO i COMPACT Power to nie tylko oszczędność przy zakupie, ale również niższe koszty dzięki łatwej obsłudze oraz braku konieczności serwisowania. Są one doskonałym roz...
  • 799 PLN
    Szkolenie jest wprowadzeniem do systemu sterowania PSS4000 i środowiska programowania PAS4000. W jego trakcie omówiona zostanie zarówno struktura sprzętowa, jak i programowanie, a także diagnostyka kompletnego systemu sterowania. Poruszane ...
    Czas trwania: 8h
    Link: Terminy
  • Systemy RFID są ekonomiczne, uniwersalne i zapewniają niezawodność procesów, np. w intralogistyce. Zadania związane z identyfikacją stały się teraz łatwiejsze, szczególnie gdy potrzebna jest duża liczba punktów identyfikacji, dzięki  głowic...
  • Seria FX-100 Czujniki z serii FX-100 to najlepsze rozwiązanie pod względem stosunku jakości do ceny. Wyposażone są w funkcje szybkiego uczenia, co pozwala użytkownikom w szybki i prosty sposób przystosować czujnik do pracy z nieskomplikowan...



KATEGORIE ARTYKUŁÓW
POLECANE ARTYKUŁY
Wydarzenia

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…