Porozmawiaj z nami
Czat udostępnia Firmao.pl CRM

PARTNERZY

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.

SKLEP I ZAMÓWIENIA 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

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

Sympozjum CNC SINUMERIK elementem digitalizacji produkcji – Warszawa

Sympozjum CNC SINUMERIK elementem digitalizacji produkcji – Warszawa

>KLIKNIJ<

W prostych słowach o skutecznej kalibracji

W prostych słowach o skutecznej kalibracji

>KLIKNIJ<

Otwarcie centrum automatyki przemysłowej – Showroom 4.0

Otwarcie centrum automatyki przemysłowej – Showroom 4.0

>KLIKNIJ<

Darmowy webinar – Pomiary w rozdzielnicach nn zgodnie z PN-EN 61439 bez tajemnic!

Darmowy webinar – Pomiary w rozdzielnicach nn zgodnie z PN-EN 61439 bez tajemnic!

>KLIKNIJ<

Jak wyeliminować błędy popełniane przez operatorów?

Jak wyeliminować błędy popełniane przez operatorów?

>KLIKNIJ<

Sterowanie rozmyte lewitacją magnetyczną

Sterowanie rozmyte lewitacją magnetyczną

>KLIKNIJ<

System DCS – podstawowe informacje

System DCS – podstawowe informacje

>KLIKNIJ<

Jak powinna wyglądać Fabryka Przyszłości?

Jak powinna wyglądać Fabryka Przyszłości?

>KLIKNIJ<

Jak szybko wykonać backup programu z panelu HMI Siemens TP700 Comfort

Jak szybko wykonać backup programu z panelu HMI Siemens TP700 Comfort

>KLIKNIJ<

Relacja ze szkolenia “Diagnostyka sieci Profibus” w EMT-Systems

Relacja ze szkolenia “Diagnostyka sieci Profibus” w EMT-Systems

>KLIKNIJ<

3xLOGO! – komunikacja pomiędzy przekaźnikami

3xLOGO! – komunikacja pomiędzy przekaźnikami

>KLIKNIJ<

Control Engineering Polska nominowało TOSIBOX® lock 500 do nagrody produkt roku 2018

Control Engineering Polska nominowało TOSIBOX® lock 500 do nagrody produkt roku 2018

>KLIKNIJ<

Konkurs iAutomatyka Luty 2019

Konkurs iAutomatyka Luty 2019

>KLIKNIJ<

Szkolenia RENEX EEC

Szkolenia RENEX EEC

>KLIKNIJ<

[WIDEO] Automatyka w magazynie sprzedażowym

[WIDEO] Automatyka w magazynie sprzedażowym

>KLIKNIJ<

Konnichiwa! – Cześć!

Konnichiwa! – Cześć!

>KLIKNIJ<

Kiedy mostki nie pomagają…

Kiedy mostki nie pomagają…

>KLIKNIJ<

Jaka jest różnica między PLC, a DCS?

Jaka jest różnica między PLC, a DCS?

>KLIKNIJ<

Recenzja szkolenia “Obowiązki pracodawcy związane z uruchomieniem maszyn w zakładzie”

Recenzja szkolenia “Obowiązki pracodawcy związane z uruchomieniem maszyn w zakładzie”

>KLIKNIJ<

Digital Twin – wirtualne uruchamianie systemów automatyki

Digital Twin – wirtualne uruchamianie systemów automatyki





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…