• Nie Znaleziono Wyników

Edytor programów SCL

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).