Koncepcja programowania 6
6.2. Języki programowania
6.2.4. Edytor programów SCL
Za pomocą języka SCL można opisać dowolny typ bloku (OB, FB, FC). W pakie-cie STEP 7 zastosowano edytor SCL wyposażony w:
● sekcję interfejsu umożliwiającą zdefiniowanie parametrów kodu bloku,
● sekcję kodu przeznaczoną na program realizowany przez blok,
● drzewo instrukcji zawierające instrukcje SCL obsługiwane przez CPU.
Kod SCL opisujący działanie bloku jest wprowadzany bezpośrednio do sekcji kodu.
W przypadku instrukcji złożonych można przeciagać je bezpośrednio z drzewa instrukcji SCL do sekcji kodu. Możliwe jest także używanie dowolnego edytora tekstowego i importowanie gotowych programów SCL do pakietu STEP 7.
W sekcji kodu użytkownik może zadeklarować następujące typy parametrów:
● Input, Output, InOut oraz Ret_Val: te parametry definiują znaczniki wejścia i wyjścia, a także wartość zwracaną przez blok. Nadane przez użytkownika nazwy znaczników są używane lokalnie podczas wykonywania programu za-pisanego w bloku. Nie zaleca się używania globalnych nazw znaczników w ta-beli znaczników.
● Static (wyłacznie w FB, ilustracja powyżej dotyczy FC): znaczniki statyczne są używane do przechowywania wyników pośrednich w instancjach bloków da-nych. Dane statyczne są przechowywane do chwili ich modyfikacji. co może się zdarzyć po kilku cyklach programowych. Nazwy wywoływanych bloków są także przechowywane lokalnie jako dane statyczne.
● Temp: są w nich przechowywane chwilowe informacje o znacznikach, nie-zbędne podczas wykonywania programu zapisanego w bloku.
Jeżeli blok SCL zostanie wywołany z innego bloku kodu, parametry bloku zostaną pokazane jako wejściowe lub wyjściowe.
W przykładzie znaczniki „Start” oraz „On” (zapisane w tabeli znaczników projektu) odpowiadają znacznikom „StartStopSwitch” oraz „RunYesNo” w tabeli deklaracji programu SCL.
6.3. Instrukcje programowania 6.3.1. Podstawowe instrukcje
Instrukcje logiki bitowej
Podstawowymi elementami instrukcji logicznych są styki i cewki. Styki odczytują stan bitu, a cewki nadpisują stan operacji do bitu.
Styki testują stan logiczny przy-pisanego bitu. Styki są zwarte dla 1 i rozwarte dla 0.
Stan cewek jest zgodny z prze-tworzona logiką układu.
Jeśli cewka o tym samym adresie jest użyta w więcej niż jednym miejscu progra-mu, to podczas odświeżania fizycznych wyjść zostanie ustawiony stan odpowia-dający stanowi ostatniej cewki.
Styki normalnie
rozwarte Styki normalnie
zwarte Styki normalnie rozwarte (normally open) są zwarte (ON) wtedy, kiedy wartość przypisa-nego bitu jest równa 1.
Styki normalnie zwarte (normally closed) są zwarte (ON) wtedy, kiedy wartość przypisa-nego bitu jest równa 0.
Podstawowymi elementami operacji logicznych są bramki AND i OR. Styki połą-czone szeregowo realizują sieć logiczną opartą na AND, natomiast równoległe połączenie styków tworzy sieć OR.
Styki można łączyć z innymi stykami i tworzyć w ten sposób własną logikę kombi-nacyjną. Jeżeli wyspecyfikowany przez użytkownika bit wejściowy używa identy-fikatora pamięci I (wejście) lub Q (wyjście), to wartość bitu jest czytana z rejestru obrazu procesu. Sygnały fizyczne styków są w systemie sterowania procesem połączone przewodami do wyprowadzeń wejściowych w PLC. System PLC ska-nuje okablowane sygnały wejściowe i w sposób ciągły uaktualnia odpowiednie stany rejestru wejściowego obrazu procesu.
Użytkownik może spowodować bezpośredni odczyt wejścia fizycznego komendą
„:P” występującą zaraz po adresie wejścia (na przykład: „Motor_Start:P” lub „I3.4:
P”). Odczyt bezpośredni polega na tym, że wartości bitów danych są czytane bezpośrednio z wejścia fizycznego, a nie z obrazu procesu. Odczyt bezpośredni nie uaktualnia obrazu procesu.
Cewka wyjściowa Zanegowana cewka wyjściowa
● Jeżeli cewka wyjściowa jest zasilana, to wartość bitu wyjściowego jest ustala-na ustala-na 1.
● Jeżeli cewka wyjściowa nie jest zasilana, to wartość bitu wyjściowego jest ustalana na 0.
• Jeżeli zanegowana cewka wyjściowa jest zasilana, to wartość bitu wyjściowe-go jest ustalana na 0.
• Jeżeli zanegowana cewka wyjściowa nie jest zasilana, to wartość bitu wyjścio-wego jest ustalana na 1.
Instrukcja wyjściowa sterowania cewką ustala wartość bitu wyjściowego. Jeżeli wyspecyfikowany przez użytkownika bit wyjściowy ma identyfikator pamięci Q, to CPU włącza lub wyłącza ten bit w rejestrze obrazu procesu tak, by był zgodny ze stanem zasilania. Wyjściowe sygnały sterujące urządzeniami wykonawczymi są podłączone do zacisków wyjściowych sterownika PLC. W trybie RUN, system CPU w sposób ciągły skanuje sygnały wejściowe, przetwarza te sygnały zgodnie z logiką programu i w rezultacie ustala nowe wartości stanów wyjściowych w re-jestrze wyjściowym obrazu procesu. Po zakończeniu każdego cyklu programu, CPU przesyła te nowe wartości stanów wyjściowych zapamiętane w rejestrze ob-razu procesu do okablowanych zacisków wyjściowych.
Użytkownik może spowodować bezpośredni zapis stanu do wyjścia fizyczne-go komendą „:P” występującą zaraz po adresie wyjściowym (na przykład: „Mo-tor_On:P” lub „%Q3.4:P”). Zapis bezpośredni polega na tym, że wartości bitów danych są zapisywane do obszaru wyjściowego obrazu procesu i jednocześnie bezpośrednio do wyjścia fizycznego.
Pozycje cewki nie muszą być ograniczone do końca sieci. Można umieścić cewkę w środku szczebla sieci LAD, pomiędzy stykami i innymi instrukcjami.
Inwerter stykowy NOT (LAD)
Ramka AND z jednym
wej-ściem zanegowanym (FBD) Ramka AND z zanegowanymi wejściem i wyjściem (FBD)
Inwerter stykowy NOT języka LAD neguje wejściowy stan logiczny zasilania.
• Jeżeli na wejściu styku NOT nie ma zasilania, to na wyjściu zasilanie wystę-puje.
• Jeżeli na wejściu styku NOT jest zasilanie, to na wyjściu zasilanie nie wystę-puje.
W języku programowania FBD z menu narzędziowego Favorites lub drzewa z in-strukcjami można przeciągnąć narzędzie Negate binary input i upuścić je na wej-ście lub wyjwej-ście bloku, aby umieścić na nim inwerter logiczny.
Funkcja logiczna AND
(FBD) Funkcja logiczna OR
(FBD) Funkcja logiczna XOR
(FBD)
• Aby stan wyjścia bloku AND był TRUE, wszystkie wejścia muszą być w stanie
W języku programowania FBD, stykowe sieci LAD są reprezentowane przez ope-ratory logiczne AND (&), OR (>=1) i XOR (x), w których użytkownik może wy-specyfikować wartości bitów wejściowych i wyjściowych bloków. Może również wykonać połączenia z innymi blokami logicznymi, co pozwala utworzyć własną logikę kombinacyjną. W celu zwiększenia liczby wejść, po umieszczeniu bloków w sieci, z menu narzędziowego Favorites lub drzewa z instrukcjami można prze-ciągnąć narzędzie Insert binary input i upuścić je po stronie wejściowej bloków.
Można również kliknąć prawym klawiszem myszy na złącze wejściowe bloku wy-brać Insert inputs.
Wejścia i wyjście bloku można połączyć z innym blokiem logicznym lub podać na niepodłączone wejście adres bitu lub symboliczną nazwę bitu. Kiedy wykonywana jest instrukcja przypisana blokowi, wtedy na jego wejścia są podawane bieżące stany logiczne bitów i jeśli wynik działania jest prawdziwy, to na wyjściu pojawia się stan TRUE (prawda).