33
PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000 firmy Beckhoff wprowadzenie 1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BX9000 2. Tworzenie prostego programu w języku FBD – wprowadzenie 3. Standardowe bloki funkcyjne język FBD Elementy dwustanowe Elementy detekcji zbocza Liczniki Czasomierze 4. Programowanie zadań sekwencyjnych w języku SFC 5. Obsługa przełącznika nawigacyjnego i wyświetlacza dla sterownika BX9000 Przygotowanie do ćwiczenia: - pobranie, zainstalowanie i zapoznanie się z pakietami TwinCAT oraz Beckhoff Information System z lokalizacji www.beckhoff.pl (wprowadzając dane na stronie www należy podać informację, że osoba pobierająca jest studentem PRz), - zapoznanie się z dokumentacją sterownika BX9000 umieszczoną w Beckhoff Information System lub na stronie www.beckhoff.pl , - zapoznanie się materiałami pomocniczymi umieszczonymi na stronie www.tomz.prz-rzeszow.pl , - opanowanie podstaw programowania w języku FBD, - zrealizowanie zadań zamieszczonych we wprowadzeniu (napisanie programów) i ich przetestowanie w trybie symulacji w pakiecie TwinCAT. W sprawozdaniu należy zamieścić: - kody zrealizowanych programów, - opis działania wykorzystywanych elementów programowych np. standardowych bloków funkcyjnych (raport powinien zawierać wyniki dla wyczerpującej liczby przypadków testujących działanie poszczególnych elementów programowych), sekwencji wywoływania akcji w języku SFC itp., - wnioski i spostrzeżenia. Literatura - J. Kasprzyk, Programowanie sterowników przemysłowych, ISBN 83-204-3109-3, WNT 2005 - T.Legierski, J.Kasprzyk, J.Wyrwał, J.Hajda, Programowanie sterowników PLC, Pracownia Komputerowa Jacka Skalmierskiego - materiały pomocnicze na stronie www.tomz.prz-rzeszow.pl (głównie: Sterowniki_IEC61131-3.pdf) - Beckhoff Information System do pobrania ze strony www.beckhoff.pl oraz dokumentacje ze strony www.beckhoff.pl

AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

1

AUTOMATYKA I REGULACJA AUTOMATYCZNA

LABORATORIUM

Programowanie sterownika BX9000 firmy Beckhoff – wprowadzenie

1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BX9000

2. Tworzenie prostego programu w języku FBD – wprowadzenie

3. Standardowe bloki funkcyjne – język FBD

Elementy dwustanowe

Elementy detekcji zbocza

Liczniki

Czasomierze

4. Programowanie zadań sekwencyjnych w języku SFC

5. Obsługa przełącznika nawigacyjnego i wyświetlacza dla sterownika BX9000

Przygotowanie do ćwiczenia:

- pobranie, zainstalowanie i zapoznanie się z pakietami TwinCAT oraz Beckhoff

Information System z lokalizacji www.beckhoff.pl (wprowadzając dane na stronie

www należy podać informację, że osoba pobierająca jest studentem PRz),

- zapoznanie się z dokumentacją sterownika BX9000 umieszczoną w Beckhoff

Information System lub na stronie www.beckhoff.pl,

- zapoznanie się materiałami pomocniczymi umieszczonymi na stronie

www.tomz.prz-rzeszow.pl,

- opanowanie podstaw programowania w języku FBD,

- zrealizowanie zadań zamieszczonych we wprowadzeniu (napisanie programów) i ich

przetestowanie w trybie symulacji w pakiecie TwinCAT.

W sprawozdaniu należy zamieścić:

- kody zrealizowanych programów,

- opis działania wykorzystywanych elementów programowych np. standardowych bloków

funkcyjnych (raport powinien zawierać wyniki dla wyczerpującej liczby przypadków

testujących działanie poszczególnych elementów programowych), sekwencji

wywoływania akcji w języku SFC itp.,

- wnioski i spostrzeżenia.

Literatura

- J. Kasprzyk, Programowanie sterowników przemysłowych, ISBN 83-204-3109-3, WNT 2005

- T.Legierski, J.Kasprzyk, J.Wyrwał, J.Hajda, Programowanie sterowników PLC, Pracownia

Komputerowa Jacka Skalmierskiego

- materiały pomocnicze na stronie www.tomz.prz-rzeszow.pl (głównie: Sterowniki_IEC61131-3.pdf)

- Beckhoff Information System – do pobrania ze strony www.beckhoff.pl oraz dokumentacje ze strony

www.beckhoff.pl

Page 2: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

2

Stanowisko laboratoryjne ze sterownikiem BX9000

Sterownik BX9000 należy do grupy urządzeń określanych w nomenklaturze firmy

Beckhoff jako Bus Terminal Controllers. Ze względu na wyposażenie i wydajność BX9000

lokuje się pomiędzy serią BC (np. BC8150) a CX1000 (komputery wbudowane tzw.

Embedded-PC).

Realizacja ćwiczenia

1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem BX9000

1.1. Zdefiniowanie połączenia AMS dla BX9000 – interfejs Ethernet

Uruchomienie systemu TwinCAT w trybie konfiguracji

Wykorzystując ikonę TwinCAT znajdującą się na pasku zadań Windows,

uruchomić okno TwinCAT System Properties i wybrać opcję Config.

Aktualny tryb pracy TwinCAT jest sygnalizowany odpowiednim kolorem ikony programu:

- zielony – uruchomiony,

Klawisz myszy otwiera okno

Tryb konfiguracji

Złącza zasilania dla układów we/wy

podłączonych do szyny K-Bus

np. KL2408

Interfejs CANopen

Interfejs Ethernet

programowanie, konfiguracja,

komunikacja

Interfejs szeregowy RS232/RS485

programowanie, konfiguracja, komunikacja

(dwa porty szeregowe w jednym

złączu DB9)

Złącze zasilania sterownika

Szyna K-Bus

Diody zasilania

Wyświetlacz 2 x 16 linii Przełącznik nawigacyjny

Page 3: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

3

- czerwony – zatrzymany,

- niebieski - tryb konfiguracji,

- żółty - w trakcie uruchamiania.

Uruchomienie TwinCAT w trybie konfiguracji zapewnia, dostęp do zdefiniowanego AMS

Router w kolejnych etapach konfigurowania.

Konfiguracja połączenia sieciowego

Komunikacja ze sterownikiem za pośrednictwem interfejsu Ethernet wymaga

odpowiedniej konfiguracji sieci. Protokoły sieciowe sterownika oraz komputera PC z

pakietem TwinCAT muszą być tak skonfigurowane, aby urządzenia znajdowały się w tej

samej sieci (odpowiedni adres IP i maska podsieci – aby zweryfikować poprawność

konfiguracji można wykorzystać instrukcję ping).

Zadanie 1.1. Okreslić przy pomocy przełącznika nawigacyjnego aktualny numer IP

sterownika. Zweryfikować możliwość zrealizowania połączenia ze sterownikiem – rozkaz

ping z komputera PC. Jeżeli sterownik odpowiada na rozkaz ping, należy przejść do punktu

Konfiguracja połączenia w pakiecie TwinCAT, chyba, że prowadzący zadecyduje inaczej.

W przypadku pierwszego uruchomienia sterownika posiada on domyślny adres IP

(172.16.21.20) oraz domyślną maskę podsieci (255.255.0.0). W takim przypadku należy

skonfigurować połączenie sieciowe komputera PC tak, aby urządzenia znajdowały się w tej

samej sieci, bądź zmienić adres IP i maskę sterownika przy pomocy przełącznika

konfiguracyjnego.

Sprawdzenie aktualnego adresu IP sterownika przy pomocy przełącznika nawigacyjnego

Aby uzyskać dostęp do menu głównego należy, na około 3 sekundy, wcisnąć przycisk

PRESS. Przyciski LEFT i RIGHT pozwalają na przeglądanie opcji wybranego menu, zaś

przyciski DOWN i UP, odpowiednio na wejście (DOWN) do podmenu i powrót do menu

nadrzędnego (UP).

Po aktywowaniu menu głównego na wyświetlaczu pojawi się napis MAIN.

Dwukrotne naciśnięcie RIGHT powoduje zmianę napisu na „ETHERNET”. Naciskając

DOWN możliwe jest przeglądanie parametrów sieci rozpoczynając od adresu MAC karty

sieciowej. Aby przejść do parametrów adresu IP, należy nacisnąć odpowiednią ilość razy

przycisk RIGHT, aż do pojawienia się na wyświetlaczu odpowiednich napisów np. „IP

Przełącznik

nawigacyjny

Page 4: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

4

ADDRESS” albo „IP MASK”. Aby wyjść z opcji ETHERNET należy nacisnąć przycisk UP a

następnie, aby opuścić tryb konfiguracji należy nacisnąć PRESS przez około 3 sek.

W prawidłowo skonfigurowanej sieci, sterownik (dla odczytanego adresu IP) powinien

odpowiadać na rozkaz ping wysyłany z komputera PC.

Konfiguracja połączenia w pakiecie TwinCAT

Wykorzystując ikonę TwinCAT znajdującą się na pasku zadań Windows,

uruchomić okno TwinCAT System Manager.

Konfiguracja projektu: menu File opcja New from Template... - wybór typu projektu

odpowiadającego sterownikowi BX9000.

W celu zdefiniowania połączenia, w oknie General dla SYSTEM-Configuration należy

wybrać opcję Choose Target.... Następnie uruchomić procedurę automatycznego

wyszukiwania sterowników znajdujących się w sieci Ethernet – przycisk Search (Ethernet)....

W oknie Add Route Dialog określić typ warstwy transportowej (Transport Type) jako TCP/IP

a następnie uruchomić opcję wyszukiwania rozgłoszeniowego – przycisk Broadcast Searach.

Jeżeli sterownik zostanie odnaleziony, w oknie Add Route Dialog pojawi się odpowiedni wpis

zawierający nazwę urządzenia (Host Name) oraz informacje o adresach IP, AMS oraz wersji

wykrytego urządzenia.

Klawisz myszy

otwiera okno

Page 5: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

5

Brak symbolu X w polu Connected oznacza, że nie odbyło się logowanie do sterownika. W

polu Router Name (Target) możliwa jest zmiana nazwy sterownika (np. BX_000000), która

będzie w przyszłości identyfikowała skonfigurowane połączenie. W kolejnym kroku należy

określić Address Info jako IP Address oraz nacisnąć przycisk Add Route. W efekcie pojawi się

okno logowania, w którym należy nacisnąć przycisk OK dla użytkownika Administrator bez

hasła.

Gdy logowanie się powiedzie, w polu Connected pojawi się symbol X.

W kolejnym kroku należy zamknąć okno Add Route Dialog przy pomocy przycisku Close

oraz wybrać zdefiniowane połączenie dla aktualnego projektu. W tym celu należy zaznaczyć

nazwę zdefiniowanego połączenia w oknie Choose Target System i wybór zatwierdzić

przyciskiem OK.

Page 6: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

6

Jeżeli odpowiednie urządzenie nie zostanie wykryte, należy sprawdzić czy sterownik jest

dostępny w sieci np. instrukcją ping i odpowiednio skonfigurować komputer PC (adresy IP,

maska sieci). W przypadku, gdy komunikacja ze sterownikiem powiodła się, w systemie TwinCAT

dodany zostanie obiekt AMS Router identyfikujący zdefiniowane połączenie. Informacje o

aktualnie istniejących AMS Router, można uzyskać wykorzystując ikonę TwinCAT

znajdującą się na pasku zadań Windows i uruchamiając okno TwinCAT System Properties.

W oknie Remote Computers powinien znajdować się opis wpisany uprzednio jako nazwa

sterownika. Tak skonfigurowane połączenie może być wykorzystywane w przyszłości bez

konieczności ponownego definiowania struktury komunikacyjnej.

Po wykonaniu powyższych operacji, system TwinCAT jest gotowy do współpracy ze

sterownikiem BX9000. Aktualny tryb pracy systemu jest sygnalizowany w pasku statusu

okna TwinCAT System Manager, jak pokazano na poniższych rysunkach. W celu wyszukania

urządzeń we/wy podłączonych do szyby K-bus, system powinien znajdować się w trybie

konfiguracji.

Klawisz myszy otwiera okno

Wybór opcji Properties

Dodany AMS Router

Page 7: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

7

Wykrywanie urządzeń połączonych z sterownikiem (tutaj dotyczy szyny K-Bus)

Automatyczne wykrywanie urządzeń możliwe jest w trybie konfiguracji, jeżeli System

Manager jest w innym trybie należy dokonać przełączenia.

W celu wykrycia urządzeń podłączonych do szyny K-bus należy uruchomić (prawy klawisz

myszy) funkcję Scan Boxes... dla BX-Device znajdującego w gałęzi I/O Devices.

Przełączenie w tryb konfiguracji

Stan połączenia

(RTime – kolor

zielony – połączenie

aktywne)

Nazwa połączenia

Stan połączenia

(Timeout – kolor

żółty – przerwa w

komunikacji)

Stan połączenia

(Config Mode –

kolor niebieski –

tryb konfiguracji)

Page 8: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

8

Lista automatycznie rozpoznanych modułów znajduje się w lokalizacji BX – Device w gałęzi

KBus-Interface. Jeżeli nie wszystkie urządzenia fizycznie podłączone do szyny K-bus (np.

KL2408) zostały wykryte, należy ponownie uruchomić funkcję Scan Boxes... dla BX-Device

(prawy klawisz myszy).

Przykładowa konfiguracja

Jeżeli aktualne parametry połączenia sieciowego w sterowniku różnią się od domyślnych (IP

172.16.21.20, maska podsieci 255.255.0.0) należy je wprowadzić do projektu. Uzyskuje się

to przy pomocy przycisku Upload umieszczonego na zakładce BX9000 w oknie pola BX9000

w gałęzi I/O Devices i Ethernet (BX9000) co pokazano na poniższym rysunku.

Gdy konfiguracja rzeczywista jest zgodna z automatycznie rozpoznaną, należy aktywować

strukturę w sterowniku przy pomocy przycisku Activate configuration i uruchomić

System Manager w trybie pracy (Run-Mode).

Jeżeli aktualizacja konfiguracji i uruchomienie System Manager w trybie pracy powiedzie się,

na pasku statusu pojawi się, na zielonym tle, napis RTime.

Aktualizacja

konfiguracji w

sterowniku

Page 9: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

9

W ostatnim kroku utworzony projekt należy zapisać na dysku pod wybraną nazwą.

5. Tworzenie prostego programu w języku FBD – wprowadzenie

Aby utworzyć program PLC należy uruchomić narzędzie TwinCAT PLC Control.

2.1.Wybór obiektu docelowego

W pierwszym etapie należy określić sterownik, dla którego tworzony będzie program

oraz sposób komunikacji z urządzeniem.

Z menu File wybrać opcję New, następnie określić docelową platformę w

pojawiającym się oknie dialogowym.

W przypadku, gdy połączenie ze sterownikiem skonfigurowano jak w punkcie 1, jako

platformę docelową należy wybrać BCxx50 or BX via AMS. Podstawowe biblioteki

(standard.lbx) związane z wybraną platformą zostaną automatycznie dołączone do

projektu. W kolejnym kroku należy określić język, w jakim będzie tworzony program.

Klawisz myszy otwiera okno PLC Control

Wybór języka

programowania

Page 10: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

10

Pakiet TwinCAT PLC Control umożliwia programowanie w pięciu językach zgodnych ze

standardem IEC 61131-3 oraz dodatkowym językiem CFC. Na tym etapie możliwe jest

również określenie typu obiektu (Type of POU – Program Organization Unit – jednostka

organizacyjna programu), jaki będzie tworzony: program (Program), blok funkcyjny

(Function Block) lub funkcja (Function). Dla potrzeb dalszych przykładów należy wybrać typ

obiektu jako Program oraz język FBD.

Dostępne języki programowania

IL (Instruction List) – tekstowy język programowania będący odpowiednikiem języka

typu assembler, którego zbiór instrukcji obejmuje operacje

logiczne, arytmetyczne, relacji, jak również funkcje przerzutników,

czasomierzy, liczników itp..

LD (Ladder Diagram) – graficzny język programowania, który swoją strukturą

przypomina stykowe obwody przekaźnikowe. Dopuszcza się w nim

użycie funkcji arytmetycznych, logicznych, porównań i relacji jak

również bloków funkcyjnych: przerzutników, czasomierzy,

liczników, regulatora PID czy bloków programowych.

FBD (Function Block Diagram) – graficzny język programowania będący

odpowiednikiem schematów przepływu sygnału dla obwodów

logicznych przedstawionych w formie połączonych bramek

logicznych oraz bloków funkcyjnych takich jak w języku LD.

ST (Structured Text) – tekstowy język programowania będący odpowiednikiem języka

algorytmicznego wysokiego poziomu (np. C), zawierający struktury

programowe takie jak np. If ... then ... else ... end_if Case ... of ... end_case

For ... to ... do ... end_for While ... do ... end_while

Repeat ... until ... end_repeat

SFC (Sequential Function Chart) - graficzny język pozwalający na opisywanie zadań

sterowania sekwencyjnego za pomocą grafów zawierających etapy

(kroki) i warunki przejścia (tranzycje) między etapami. Grafy SFC

obrazują strukturę programu, zaś poszczególne jego elementy są

programowane w wybranych językach: IL, LD, FBD lub ST.

CFC (Continuous Function Chart) – graficzny język programowania zbliżony do FBD.

2.2.Przykład prostego programu w języku FBD

ZADANIE. Zrealizować w języku FBD koniunkcję (AND) dwóch symbolicznych

zmiennych binarnych o nazwach Input1 oraz Input2 zaś wynik operacji umieścić w

symbolicznej zmiennej binarnej Output.

21 InputInputOutput

Okno TwinCAT PLC Control dla języka FBD pokazano na poniższym rysunku.

Page 11: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

11

W niniejszym przykładzie wykorzystana zostanie funkcja AND. W oknie kodu

programu należy wprowadzić program:

Aby wstawić do programu graficzne elementy języka FBD, można wykorzystać pasek

narzędzi zaznaczony na powyższym rysunku czerwoną elipsą, bądź skorzystać z menu

kontekstowego prawego klawisza myszy dla okna kodu programu.

Aby użyć funkcji AND w oknie kodu programu należy wstawić

blok Box i wprowadzić nazwę bloku jako AND. Funkcja AND

posiada dwa wejścia, z którymi należy skojarzyć zmienne Input1

oraz Input2. Aby wykonać tę operację należy kliknąć lewym klawiszem

myszy na symbolu „???” znajdującym się przy danym wejściu bloku i

wprowadzić z klawiatury nazwę zmiennej.

Aby określić wyjście bloku, należy kliknąć prawym klawiszem w obszarze

bloku i z menu kontekstowego prawego klawisza myszy wybrać Output.

W wyniku wykonania tej operacji obok symbolu funkcji AND pojawi się mały prostokąt

zakreślony przerywaną linią. Klikając prawym klawiszem myszy na małym

prostokącie i wybierając Assign do bloku zostanie przypisane wyjście,

któremu należy nadać nazwę Output.

Ponieważ zmienne symboliczne Input1, Input2 oraz Output nie zostały wcześniej

zadeklarowane, po wprowadzeniu nazwy zmiennej pojawi się okno deklaracji zmiennych

pokazane na poniższym rysunku.

Okno deklaracji

zmiennych

lokalnych

Okno kodu

programu

Okno

komunikatów

Okno organizacji projektu: programy, bloki funkcyjne, funkcje

Page 12: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

12

Dla potrzeb niniejszego przykładu dla wszystkich zmiennych należy wprowadzić FALSE

jako wartość inicjalizującą (Initial Value) oraz zatwierdzić (przyciskiem OK) pozostałe

domyślne parametry. W obszarze deklaracji zmiennych lokalnych pojawi się zapis

dotyczący trzech zmiennych binarnych (BOOL): Input1, Input2 oraz Output, którym

przypisano początkowe wartości FALSE.

W dalszej kolejności należy zapisać program na dysku wykorzystując menu File i

opcję Save. Po wprowadzeniu kodu programu można przystąpić do jego kompilacji i

konsolidacji wybierając z menu Project opcję Build. Gdy proces zakończy się sukcesem, w

oknie komunikatów nie pojawi się informacja o błędach, program jest gotowy do testów.

W celu uruchomienia program, w menu Online należy określić platformę docelową – opcja

Choose Run-Time System... i wybrać odpowiednie urządzenie. W przypadku, gdy połączenie

skonfigurowano jak w punkcie 1, uruchomienie programu bezpośrednio w sterowniku

BX9000 wymaga zaznaczenia opcji jak na poniższym rysunku.

0 Error(s), 0 Warning(s) Operacja Build

zakończona sukcesem

Page 13: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

13

Jeżeli fizyczny sterownik nie jest dostępny, utworzony program można zostać przetestowany

w trybie symulacji poprzez wybór z menu Online opcji Simulation Mode. W kolejnym kroku

należy zalogować się do sterownika używając opcji Login z menu Online. Gdy program w

sterowniku różni się od aktualnie uruchamianego, system wyświetli okno komunikatu

umożliwiające zaprogramowanie sterownika nową wersją programu.

W wyniku naciśnięcia przycisku Tak nowy program zostanie przesłany do sterownika. W

przypadku, gdy logowanie oraz przesłanie programu zakończy się sukcesem (dotyczy to

zarówno pracy bezpośrednio ze sterownikiem jak i trybu symulacji) program TwinCAT PLC

Control przechodzi do trybu podglądu działania programu. W menu Online uaktywniają się

opcje takie jak np. Logout (pozwala wrócić do trybu edycji programu) oraz Run (uruchamia

program). Aby obserwować działanie programu należy go uruchomić przy pomocy opcji

Run, powodzenie operacji jest sygnalizowane pojawieniem się napisu RUN na zielonym tle w

pasku statusu głównego okna TwinCAT PLC Control.

W celu testowania programu, wartości zmiennych mogą być modyfikowane podczas jego

działania. Zmianę wartości zmiennej można zrealizować między innymi „klikając”

dwukrotnie lewym przyciskiem myszki na nazwie zmiennej zarówno w oknie podglądu

wartości zmiennych lokalnych jak i w oknie programu. W przypadku zmiennych logicznych

(BOOL) zmiana wartości pomiędzy TRUE albo FALSE jest podpowiadana przez system

automatycznie, w przypadku zmiennych innych typów pojawia się okno dialogowe

umożliwiające wprowadzenie danych. Żądanie zmiany wartości zmiennej sygnalizowane jest

ciągiem znaków <:=nowa wartość zmiennej> wyświetlanym obok jej nazwy. Aby zmiana

nastąpiła należy uruchomić opcję Force Values z menu Online.

Program uruchomiony

Podgląd wartości zmiennych

lokalnych

Page 14: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

14

Po zatwierdzeniu zmiany (wykonanie Force Values) aktualna wartość zmiennej w oknie

deklaracji zmiennych wyświetlana jest w kolorze czerwonym na niebieskim tle (jak pokazano

na poniższym rysunku) bądź na czerwonym tle w oknie programu.

Aby sprawdzić działanie powyższego programu, wartości zmiennych input1 i input2 należy

modyfikować zgodnie z tablicą prawdy dla koniunkcji logicznej i obserwować wartość

zmiennej output.

Przypadek, gdy zmienna, output uzyskuje wartość TRUE pokazano na poniższym rysunku.

2.3. Powiązanie symbolicznych zmiennych z fizycznym obszarem pamięci urządzenia

Aby symboliczna zmienna z programu PLC mogła być powiązana z fizycznym

wejściem, wyjściem bądź obszarem pamięci sterownika musi być zadeklarowana jako tzw.

zmienna adresowana. W celu ulokowania zmiennej w odpowiednim obszarze pamięci (obszar

wejść, wyjść, przestrzeń flag) w jej deklaracji należy użyć słowa kluczowego AT. Sposób

deklarowania zmiennej adresowanej pokazano na poniższym schemacie

Zmiennej Input1 nadano

wartość TRUE

Żądanie zmiany wartości

zmiennej Input1 z FALSE

na TRUE

Nazwa

zmiennej

AT

%

I

Q

X

Adres

: Typ

zmiennej

; B

W

Page 15: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

15

gdzie symbole I ,Q, M określają obszar pamięci w jakim ma być ulokowana zmienna:

I – obszar zmiennych wejściowych,

Q – obszar zmiennych wyjściowych,

M – obszar przestrzeni flag (fizyczny obszar pamięci sterownika o podanym adresie).

Modyfikatory X, B, W, D określają rozmiar zmiennej:

X - bit (bit),

B - bajt (byte - 8 bitów),

W - słowo (word - 16 bitów),

D - podwójne słowo (double word - 32 bity).

Adres określa fizyczną lokalizację zmiennej adresowanej w danym obszarze pamięci. W

przypadku zmiennych bitowych adres jest tworzony jako ciąg liczb całkowitych bez

znaku, oddzielonych kropkami np. 1.3 co oznacza bit o indeksie numer 3 (liczone od 0) w

bajcie 1. Adresy zmiennych bitowych ulokowanych w przestrzeniach wejść (I) i wyjść (Q)

mogą być identyczne, gdyż są przechowywane w różnych obszarach pamięci. Dla

zmiennych B, W, D - Adres jest reprezentowany przez liczbę całkowitą bez znaku.

Typ zmiennej – określa typ zmiennej np. BOOL, BYTE, INT, REAL, ARRAY pozwalający

na prawidłowa jej interpretację przez operatory danego języka programowania.

W typowych przypadkach, zmienne reprezentujące fizyczne wejścia albo wyjścia urządzenia

powinny być ulokowane w odpowiednim obszarze pamięci bez dokładnego wyszczególnienia

Adresu. Powiązanie danej zmiennej z fizycznym wyjściem/wyjściem jest realizowane w

pakiecie TwinCAT System Manager. W omawianym przypadku Adres w deklaracji zmiennej

zastępowany jest znakiem ‘* ‘ np. Output AT %Q*:BOOL; co oznacza, że zmienna Output

jest ulokowana w obszarze wyjść zaś jej szczegółowy adres zostanie określony w TwinCAT

System Manager.

Aby powiązać zmienną Output (przykład opisany w punkcie 2.2) z fizycznym

wyjściem urządzenia należy zmienić jej deklarację w następujący sposób

Output AT %Q* : BOOL := FALSE;

W kolejnym kroku należy dokonać ponownej kompilacji programu (menu Project opcja

Rebuild all). W wyniku poprawnego utworzenia programu (w lokalizacji, w której zapisano

projekt na dysku) zostanie utworzony plik z rozszerzeniem tpy.

Aby powiązać zmienną output z fizycznym wyjściem sterownika należy uruchomić

projekt TwinCAT System Manager utworzony dla aktualnej konfiguracji sprzętowej

urządzenia i połączyć z nim utworzony projekt PLC. Operacja ta jest realizowana przy

pomocy opcji Append PLC Project..., dostępnej w TwinCAT System Manager dla gałęzi PLC

– Configuration w menu pomocniczym wywoływanym przy pomocy prawego klawisza

myszy.

M D

Page 16: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

16

Wykonanie powyższej operacji umożliwia programowi TwinCAT System Manager dostęp do

zmiennych adresowanych zadeklarowanych w projekcie PLC. Jak pokazano na poniższym

rysunku dla rozważanego programu dostępna jest jedna zmienna o nazwie MAIN.Output

gdzie MAIN określa nazwę programu w którym zmienna Output została zadeklarowana. W

przypadku modyfikacji deklaracji zmiennych adresowanych w projekcie PLC, należy w

pakiecie TwinCAT System Manager zaktualizować dane dotyczące danego projektu PLC.

Operacja ta jest realizowana przy pomocy funkcji ReScan....

W wyniku dwukrotnego kliknięcia lewym klawiszem myszy na wybranej nazwie

zmiennej, uzyskuje się dostęp do fizycznych wejść/wyjść urządzenia, które mogą być z daną

zmienną skojarzone.

Przykładową możliwość dowiązania zmiennej Output do fizycznych wyjść urządzenia

wyposażonego w moduł wyjść binarnych KL2408 pokazano na poniższym rysunku.

Klikając dwukrotnie lewym klawiszem myszy na wybranym wyjściu modułu KL2408

dokonujemy jego powiązania ze zmienną Output. Informacja o powiązaniu zmiennej z

fizycznym wyjściem jest sygnalizowana między innymi znakiem strzałki przy nazwie

zmiennej (zobacz opis zmiennej MAIN.Output na poniższym rysunku).

Następnie utworzone powiązania należy przesłać do sterownika przy pomocy przycisku

Activate configuration .

Aktualizacja

projektu PLC

Połączenie z

programem PLC

Page 17: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

17

Po wykonaniu powyższej operacji należy powrócić do pakietu TwinCAT PLC Control i

uruchomić program PLC w sterowniku. Operacja ta jest realizowana identycznie jak w

przypadku trybu symulacji. Należy pamiętać, aby poprawnie określić system docelowy

(Choose Run-Time System...) oraz wyłączyć tryb symulacji (Simulation Mode) - opcje menu

Online. Po poprawnym przesłaniu programu PLC do sterownika, w zakładce Resources w

folderze Global_Variables pojawi się pole TwinCAT_Configuration, które zawiera informacje

o powiązaniach zmiennych adresowanych z fizyczną pamięcią urządzenia.

W niniejszym przypadku zmienna Output została ulokowana w przestrzeni wyjść pod

adresem QX0.0.

Uruchomienie i testowanie programu może być realizowane dla programu działającego

w sterowniku w analogiczny sposób jak dla trybu symulacji.

2. Standardowe bloki funkcyjne – język FBD

Wykorzystując język FBD należy zapoznać się z działaniem standardowych bloków

funkcyjnych (elementy dwustanowe (bistabilne), elementy detekcji zbocza, liczniki,

czasomierze) zdefiniowanych w normie IEC-61131-3.

Lista standardowych funkcji dołączonych do projektu, wraz z ich opisem, jest

umieszczona w Library Manager znajdującym się w zasobach projektu (Resources), co

pokazano na poniższym rysunku.

Aktualizacja

konfiguracji w

sterowniku

Page 18: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

18

3.1. Elementy dwustanowe (bistabilne – bistable elements)

Elementy dwustanowe zdefiniowane w normie IEC-61131-3 to przerzutniki SR i RS oraz

Semafor.

Przerzutnik SR

Zadanie 3.1.1. Napisać program w języku FBD umożliwiający testowanie działania

przerzutnika SR przy pomocy dwóch przełączników i jednej diody podłączonych do

sterownika. Należy wykorzystać dwa wejścia modułu KL1408 oraz jedno wyjście modułu

KL2408.

Opis:

Q1 = SET1 OR (NOT RESET AND Q1)

Program

Przed uruchomieniem programu na sterowniku należy pamiętać o powiązaniu zmiennych

Output, Input oraz Reset z fizycznymi wyjściami/wejściami modułów KL1408 i KL2408.

Zasoby Lista bloków funkcyjnych

Opis bloków

funkcyjnych

Page 19: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

19

Aby ułatwić programistom tworzenie kodu, system wyposażono w okno pomocy (zobacz

rysunek poniżej) wywoływane poprzez naciśniecie klawisza F2. W przypadku edytora języka

FBD w pierwszej kolejności należy umieścić w programie blok (Box) domyślnie

będzie to blok funkcji AND a następnie nacisnąć F2. Jeżeli blok nie wygląda

następująco, w polu nazwy AND należy umieścić kursor, usunąć nazwę AND przy

pomocy klawiatury i nacisnąć klawisz F2. Okno pomocy wywoływane poprzez naciśniecie

klawisza F2 pokazano na poniższym rysunku.

Wybierając odpowiedni element programowy i naciskając przycisk OK uzyskuje się blok

odpowiadający wybranemu elementowi programowemu. Jeżeli nazwa AND jest zaznaczona

(napis na niebieskim tle) zostanie zastąpiona nazwą wybranego bloku, w przeciwnym

wypadku należy nazwę AND usunąć przy pomocy klawiatury. W kolejnym kroku należy

nacisnąć klawisz Enter, gdy kursor jest umieszczony w polu nazwy bloku. Spowoduje to

zastąpienie domyślnego bloku symbolem odpowiadającym wybranemu elementowi np.

. Ponieważ SR jest blokiem funkcyjnym, dlatego przed użyciem musi

być zadeklarowany np. BlockSR:SR; gdzie BlockSR jest dowolną nazwą. Aby to zrealizować

należy wprowadzić wybraną nazwę bloku w polu „???” umieszczonym powyżej bloku. Po

wprowadzeniu nazwy i naciśnięciu Enter, wyświetlone zostanie okno deklaracji zmiennych z

ustawionym odpowiednim typem zmiennej, tak więc wystarczy zatwierdzić deklarację

naciskając przycisk OK.

Blok SR po wprowadzeniu nazwy „BlockSR” powinien wyglądać jak na poniższym rysunku.

W olejnym kroku należy wprowadzić nazwy zmiennych dla wejść bloku i dodać wyjście.

Przerzutnik RS

Zadanie 3.1.2. Napisać program w języku FBD umożliwiający testowanie działania

przerzutnika RS przy pomocy dwóch przełączników i jednej diody podłączonych do

Page 20: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

20

sterownika. Należy wykorzystać dwa wejścia modułu KL1408 oraz jedno wyjście modułu

KL2408.

Opis:

Q1 = NOT RESET1 AND (SET OR Q1)

Semafor SEMA

Zadanie 3.1.3. Napisać program w języku FBD umożliwiający testowanie działania

Semafora przy pomocy dwóch przełączników i jednej diody podłączonych do sterownika.

Należy wykorzystać dwa wejścia modułu KL1408 oraz jedno wyjście modułu KL2408.

Opis: CLAIM=TRUE ustawia semafor (BUSY=TRUE),

RELEASE=TRUE gdy CLAIM=FALSE

zwalnia semafor (BUSY=FALSE)

Aby zrealizować zadania 3.1.1 – 3.1.3 w jednym programie, dla każdego zadania należy

dodać nowy obwód (Network (before), Network (after)) przy pomocy menu kontekstowego

prawego klawisza myszy dla oknie programu.

3.2. Elementy detekcji zbocza

Elementy detekcji zbocza zdefiniowane w normie IEC-61131-3 to detektor zbocza

narastającego R_TRIG oraz detektor zbocza opadającego F_TRIG.

Detektor zbocza narastającego (rising edge) R_TRIG

Zadanie 3.2.1. Napisać program w języku FBD umożliwiający testowanie działania

bloku funkcyjnego R_TRIG przy pomocy jednego przełącznika i jednej diody podłączonych

do sterownika. Należy wykorzystać jedno wejście modułu KL1408 oraz jedno wyjście

modułu KL2408.

Opis: Wyjście Q utrzymuje wartość TRUE pomiędzy dwoma

kolejnymi wywołaniami bloku w sytuacji, gdy nastąpiła zmiana wartości

wejścia CLK z FALSE na TRUE. W przeciwnym wypadku Q utrzymuje

wartość FALSE. Dla trzech kolejnych wywołań bloku, gdy pomiędzy

dwoma pierwszymi wywołaniami nastąpiła odpowiednia zmiana CLK,

wyjście Q utrzymuje wartość TRUE pomiędzy drugim i trzecim

wywołaniem bloku.

Page 21: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

21

Detektor zbocza opadającego (falling edge) F_TRIG

Zadanie 3.2.2. Napisać program w języku FBD umożliwiający testowanie działania

bloku funkcyjnego F_TRIG przy pomocy jednego przełącznika i jednej diody podłączonych

do sterownika. Należy wykorzystać jedno wejście modułu KL1408 oraz jedno wyjście

modułu KL2408.

Opis: Wyjście Q utrzymuje wartość TRUE pomiędzy dwoma

kolejnymi wywołaniami bloku w sytuacji, gdy nastąpiła zmiana wartości

wejścia CLK z TRUE na FALSE. W przeciwnym wypadku Q utrzymuje

wartość FALSE. Dla trzech kolejnych wywołań bloku, gdy pomiędzy

dwoma pierwszymi wywołaniami nastąpiła odpowiednia zmiana CLK,

wyjście Q utrzymuje wartość TRUE pomiędzy drugim i trzecim

wywołaniem bloku.

Zadanie 3.2.3. Napisać program w języku FBD sygnalizujący przy pomocy jednej

diody wystąpienie zbocza narastającego i opadającego na wybranym wejściu binarnym.

Informacja o wystąpieniu odpowiedniego zbocza jest utrzymywana (dioda świeci – zbocze

narastające, dioda nie świeci – zbocze opadające) do czasu wystąpienia kolejnego zbocza.

Należy wykorzystać jedno wejście modułu KL1408 oraz jedno wyjście modułu KL2408. W

programie należy wykorzystać bloki R_TRIG, F_TRIG oraz odpowiedni blok dwustanowy.

Aby umieścić dwa bloki wykrywające zbocze jak na poniższym rysunku, najpierw należy

wprowadzić blok R_TRIG, następnie blok RS i dla wejścia RESET1 bloku RS należy dodać

blok F_TRIG.

3.3. Liczniki

Liczniki zdefiniowane w normie IEC-61131-3 to licznik dodający, licznik odejmujący

oraz licznik dodająco-odejmujący.

Licznik dodający (up-counter) CTU

Zadanie 3.3.1. Napisać program w języku FBD umożliwiający zliczanie liczby

wykrytych zbocz narastających na wybranym wejściu binarnym. Liczbę zliczonych zbocz

narastających należy wyświetlać w systemie binarnym przy pomocy trzech kolejnych diod.

Gdy liczba impulsów przekroczy wartość możliwą do wyświetlenia przy pomocy trzech diod,

zliczanie należy rozpocząć ponownie od wartości zero. Należy wykorzystać jedno wejście

modułu KL1408 oraz trzy wyjścia modułu KL2408.

Opis: CU – wejście, którego zmiany z

wartości FALSE na

Page 22: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

22

TRUE są zliczane

RESET – wejście zerujące licznik

PV – wartość zadana

CV – liczba zliczonych impulsów

Q – wyjście załączane, gdy CV osiągnie wartość PV

Liczbę zliczonych zbocz należy obserwować w trybie podglądu działania programu.

Przykładową realizację zadania pokazano na poniższym rysunku.

Licznik odejmujący (down-counter) CTD

Zadanie 3.3.2. Napisać program w języku FBD umożliwiający zliczanie „w dół”

liczby wykrytych zbocz opadających na wybranym wejściu binarnym. Odliczaną „w dół”

liczbę zboczy opadających należy wyświetlać w systemie binarnym przy pomocy trzech

kolejnych diod. Gdy liczba impulsów osiągnie wartość 0 zliczanie „w dół” należy rozpocząć

ponownie. Należy wykorzystać jedno wejście modułu KL1408 oraz trzy wyjścia modułu

KL2408.

Opis: CD – wejście, którego zmiany z

wartości FALSE na TRUE są zliczane

LOAD – wejście ustawiające CV na wartość PV

PV – wartość zadana

CV – liczba zliczonych impulsów

Q – wyjście załączane, gdy CV osiągnie wartość 0

Do wykrywania zbocza opadającego należy zastosować blok funkcyjny F_TRIG.

W pewnych sytuacjach, gdy nastąpiła zmiana programu, należy wykonać restart

sterownika (menu Online opcja Reset po uprzednim zalogowaniu się opcją Login, przed

wykonaniem restartu należy zatrzymać działanie programu – opcja Stop menu Online a

następnie wykonać Reset i ponownie uruchomić sterownik opcją Run).

Licznik dodająco-odejmujący (down-counter) CTUD

Page 23: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

23

Zadanie 3.3.3. Napisać program w języku FBD umożliwiający zliczanie wykrytych

zboczy narastających dla dwóch wejść binarnych. Zbocze narastające na wejściu pierwszym

powoduje zwiększanie liczby zliczonych impulsów, zaś zbocze narastające na wejściu drugim

zmniejszanie tej liczby. Liczbę impulsów należy wyświetlać w systemie binarnym przy

pomocy trzech kolejnych diod. Gdy liczba impulsów przekroczy wartość zero lub wartość

możliwą do wyświetlenia przy pomocy trzech diod, zliczanie należy rozpocząć od zera.

Należy wykorzystać dwa wejścia modułu KL1408 oraz trzy wyjścia modułu KL2408.

Opis: CU – wejście, którego zmiany z wartości

FALSE na TRUE są zliczane „w górę”

CD – wejście, którego zmiany z

wartości FALSE na TRUE są zliczane „w dół”

RESET – wejście zerujące licznik

LOAD – wejście ustawiające CV na wartość PV

PV – wartość zadana dla zliczania „w dół’

CV – liczba zliczonych impulsów

QU – wyjście załączane, gdy CV osiągnie wartość PV

QD – wyjście załączane, gdy CV osiągnie wartość 0

3.4. Czasomierze

Czasomierze (timery) zdefiniowane w normie IEC-61131-3 to czasomierz załączający z

opóźnieniem, wyłączający z opóźnieniem, generator impulsu o zadanym czasie trwania oraz

zegar czasu rzeczywistego. W pakiecie TwinCAT zegar czasu rzeczywistego nie znajduje się

w standardowej bibliotece Standard.Lib, aby go użyć należy dołączyć do projektu bibliotekę

TcUtilities.Lib,

Czasomierz załączający (on-delay) TON

Zadanie 3.4.1. Napisać program w języku FBD załączający wybrane wyjście

sterownika z opóźnieniem 10 sek. w stosunku do chwili wykrycia zbocza narastającego na

wybranym wejściu sterownika. Należy wykorzystać jedno wejście modułu KL1408 oraz

jedno wyjście modułu KL2408.

Opis: IN – wejście uruchamiające czasomierz (zbocze

narastające

uruchamia czasomierz, zbocze opadające

zeruje odliczany

czas)

PT – wartość zadana czasu do odliczenia

Q – wyjście załączane, gdy upłynie założony czas opóźnienia

ET – aktualna wartość mierzonego czasu

Czasomierz wyłączający (off-delay) TOF

Zadanie 3.4.2. Napisać program w języku FBD wyłączający wybrane wyjście

sterownika z opóźnieniem 10 sek. w stosunku do chwili wykrycia zbocza opadającego na

wybranym wejściu sterownika. Należy wykorzystać jedno wejście modułu KL1408 oraz

jedno wyjście modułu KL2408.

Opis: IN – wejście uruchamiające czasomierz (zbocze

opadające

Page 24: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

24

uruchamia czasomierz, zbocze narastające zeruje odliczany

czas)

PT – wartość zadana czasu do odliczenia

Q – wyjście wyłączane, gdy upłynie założony czas opóźnienia

ET – aktualna wartość mierzonego czasu

Generator impulsu (timer-pulse) TP

Zadanie 3.4.3. Napisać program w języku FBD załączający wybrane wyjście

sterownika na czas równy 10 sek. do chwili wykrycia zbocza narastającego na wybranym

wejściu sterownika. Należy wykorzystać jedno wejście modułu KL1408 oraz jedno wyjście

modułu KL2408.

Opis: IN – wejście uruchamiające generator (poziom

wysoki

uruchamia generator, poziom niski zeruje

licznik gdy czas

impulsu osiągnął lub przekroczył wartość

zadaną PT)

PT – wartość zadana czasu trwania impulsu

Q – wyjście załączane na czas PT, od momentu wykrycia zbocza

narastającego na wejściu IN

ET – aktualna wartość mierzonego czasu

Zadanie 3.4.4. Napisać program w języku FBD generujący na wybranym wyjściu

przebieg prostokątny o czasie trwania stanu wysokiego 6 sekund i stanu niskiego 3 sekund.

Należy wykorzystać jedno wyjście modułu KL2408.

4. Programowanie zadań sekwencyjnych w języku SFC

Do realizacji programów w języku SFC nie należy stosować kroków IEC. Należy

sprawdzić czy opcja ta jest nieaktywna, między innymi informuje o tym stan przycisku

znajdującego się w pasku narzędzi oraz w menu Extras -> Use IEC-steps. Przycisk wciśnięty

oznacza, że w programie będą stosowane kroki IEC.

Zadanie 4.1. Napisać program realizujący podstawowy schemat działania urządzenia

uwzględniający trzy stany pracy: Inicjalizacja, Praca normalna, Stop. Do stworzenia

struktury wewnętrznej programu należy wykorzystać graf sekwencji SFC. Do zdefiniowania

akcji dla poszczególnych kroków i warunków przejścia należy zastosować język FBD.

Działanie układu:

- po uruchomieniu i restarcie systemu program

rozpoczyna działanie od stanu Inicjalizacja

- stan Inicjalizacja trwa 5 sekund, po których następuje

przejście do stanu Praca normalna

- stan Praca normalna, trwa 10 sekund, po których

następuje przejście do stanu Stop

- powrót z stanu Stop do Praca normalna następuje po

kolejnych 5 sekundach

6 sek. 3 sek.

Normal Praca

„normalna”

P12

P21

Stop

Inicjalizacja

P01

Init

Stop

START

Page 25: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

25

Dodatkowe wymagania:

- aktualny stan urządzenia jest sygnalizowany przy pomocy trzech diod (świecenie diody

pierwszej sygnalizuje, że system znajduje się w stanie Inicjalizacja, świecenie drugiej

Praca normalna, świecenie trzeciej oznacza stan Stop)

Przykładowa realizacja zadania 4.1 przy pomocy grafu SFC

Aby utworzyć nowy projekt wykorzystujący język SFC z menu File należy wybrać

opcję New, wybrać platformę docelową a następnie określić język programowania jako SFC.

Graficzny edytor wspomagający tworzenie programu w języku SFC pokazano na poniższym

rysunku.

Identycznie jak w przypadku programu tworzonego w języku FBD edytor zawiera okna:

deklaracji zmiennych, kodu programu, komunikatów oraz organizacji projektu. Symbole

graficzne języka SFC są dostępne w na pasku narzędzi okna głównego (oznaczone czerwoną

elipsą na powyższym rysunku).

Domyślny program w języku SFC zawiera krok Init, tranzycję Trans0

oraz skok oznaczający powrót do akcji Init .

Schemat sekwencyjny związany z zadaniem 4.1 zawiera trzy kroki: Init, Normal oraz Stop,

które należy wprowadzić do schematu SFC. Aby to zrealizować należy zaznaczyć tranzycję

Trans0 przy pomocy lewego klawisza myszki (pojedyncze „klikniecie” na graficznym

symbolu tranzycji - poprawne zaznaczenie jest sygnalizowane graficznie przy pomocy

Okno deklaracji zmiennych

lokalnych

Okno kodu

programu

Okno

komunikatów

Okno organizacji projektu: programy, bloki funkcyjne, funkcje

Symbole SFC

Kroki IEC

Page 26: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

26

prostokąta ) a następnie wykorzystując menu kontekstowe (pojedyncze

„klikniecie” prawym klawiszem myszki na zaznaczonym symbolu tranzycji) należy wybrać

opcję Step-Transition (before) bądź Step-Transition (after). Jednoczesne zaznaczenie

tranzycji i wywołanie menu kontekstowego uzyskuje się przy pomocy pojedynczego

„kliknięcia” prawym klawiszem myszki na graficznym symbolu tranzycji.

W wyniku dwukrotnego wykonania powyższych czynności, uzyskuje się schemat zawierający

trzy kroki oraz trzy tranzycje pokazany na poniższym rysunku.

Następnie należy zmienić nazwy kroków oraz tranzycji tak, aby uzyskać

schemat dla zadania 4.1. Zmianę nazw można wykonać „klikając”

jednokrotnie lewym klawiszem myszki na określonej nazwie i wprowadzając

nową nazwę przy pomocy klawiatury. Po wyjściu ze stanu Stop program

powinien powrócić do stanu Normal, dlatego też należy zmodyfikować

parametry skoku na końcu programu wprowadzając nazwę Normal zamiast

Init.

W wyniku wprowadzenia powyższych zmian aktualną postać programu

pokazano na poniższym rysunku.

Page 27: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

27

Zmienne powiązane z tranzycjami P01, P12, P21 należy zadeklarować jako zmienne typu

BOOL. Pomocnicze okno deklaracji zmiennych pojawia się po wprowadzeniu nowej nazwy

dla zmiennej związanej z tranzycją.

W kolejnym etapie tworzenia programu należy zaprogramować odpowiednie

instrukcje dla kroków i tranzycji. Można tego dokonać za pomocą języków dostępnych w

pakiecie TwinCAT. Dla poszczególnych kroków możliwe jest określenie przy pomocy menu

kontekstowego (prawy klawisz myszki) dwóch rodzajów akcji: akcji wejściowej (entry-

action), akcji wyjściowej (exit-action).

akcja-wejściowa – wywoływana jednokrotnie za każdym razem gdy blok staje się aktywny

akcja-wyjściowa – wywoływana jednokrotnie za każdym razem gdy blok przestaje być

aktywny

główna akcja powiązana z krokiem – wywoływana cyklicznie w czasie gdy blok jest

aktywny

Aby przypisać do danego kroku akcję główną, należy kliknąć

dwukrotnie lewym klawiszem myszki na graficznym symbolu kroku i

wybrać język programowania danej akcji. Symbol graficzny kroku,

dla którego określono akcję główną posiada w prawym górnym rogu

znak trójkąta wypełnionego kolorem czarnym . Aby przejść do

trybu edycji wcześniej zdefiniowanej akcji głównej, należy

dwukrotnie kliknąć lewym klawiszem myszy w prawym górnym rogu graficznego symbolu

kroku (trójkąt wypełniony kolorem czarnym).

Aby zdefiniować wymagane akcje, do projektu należy dodać kod z nimi związany. W

niniejszym przykładzie dodano trzy akcje główne o nazwach ActionInit, ActionNormal oraz

ActionStop. W efekcie uzyskano graf SFC pokazany na poniższym rysunku.

Dodawanie akcji

wejściowej/ wyjściowej

Usuwanie akcji

wejściowej/ wyjściowej

Page 28: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

28

Dla poszczególnych kroków należy określić akcje wejściowe i wyjściowe. Realizuje się to

przy pomocy menu kontekstowego prawego klawisza myszy dla poszczególnych kroków,

wywołując Add Entry-Action oraz Add Exit-Action. Dowiązanie do kroku akcji wejściowej

sygnalizowane jest literą E w lewym dolnym rogu symbolu kroku np. , zaś akcji

wyjściowej literą X w prawym dolnym rogu np. . Aby wprowadzić kod związany z

daną akcją wejściową/wyjściową należy kliknąć podwójnie na symbolu E albo X

wyświetlanym na graficznym symbolu kroku.

Schemat sekwencji, po wprowadzeniu dodatkowych akcji, pokazano na poniższym rysunku.

Przykładowy kod programu pokazano poniżej PROGRAM MAIN

VAR

P01: BOOL;

P12: BOOL;

P21: BOOL;

BlockTONInit: TON;

BlockTONNormal: TON;

BlockTONStop: TON;

LEDInit AT %Q*: BOOL;

Page 29: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

29

LEDNormal AT %Q*: BOOL;

LEDStop AT %Q*: BOOL;

END_VAR

Krok Init – akcja główna Krok Init - akcja wyjściowa

Krok Normal – akcja wejściowa Krok Normal – akcja główna Krok Normal – akcja wyjściowa

Krok Stop – akcja wejściowa Krok Stop – akcja główna Krok Stop – akcja wyjściowa

Zadanie 4.2. Rozszerzyć przykład z zadania 4.1 do układu działającego zgodnie z

schematem zamieszczonym na poniższym rysunku.

Page 30: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

30

Działanie układu:

- po uruchomieniu i restarcie systemu program rozpoczyna działanie od stanu Inicjalizacja

- stan Inicjalizacja trwa 10 sek., jeżeli w tym czasie na wejściu INICJALIZACJA pojawi się

narastające zbocze, następuje przejście do stanu Praca normalna. Jeżeli sygnał ten nie

pojawi się w założonym czasie 10 sek. - następuje przejście do stanu Awaria

- podstawowy stan pracy urządzenia to Praca normalna - gdy operator naciśnie przycisk

STOP, następuje przejście do stanu Stop

- powrót z stanu Stop do Praca normalna następuje po naciśnięciu przycisku CONTINUE

przez operatora

- w każdym stanie pracy urządzenia, gdy zostanie aktywowany przycisk awaryjny AWARIA

system przechodzi do stanu Awaria

- wyjście ze stanu Awaria następuje po naciśnięciu przez operatora przycisku RESTART

Przejścia pomiędzy stanami:

P01 - następuje przed upływem 10 sek. od wejścia w stan Inicjalizacja, jeżeli na wejściu

INICJALIZACJA pojawi się narastające zbocze

P12 – naciśnięto przycisk STOP

P21 – naciśnięto przycisk CONTINUE

P03 – następuje po upływie 10 sek. od wejścia w stan Inicjalizacja, jeżeli na wejściu

INICJACJA nie pojawiło się narastające zbocze sygnału

PA - naciśnięto przycisk AWARIA

P4 - naciśnięto przycisk RESTART

Dodatkowe wymagania:

- zmienna status posiada odpowiednie wartości liczbowe w poszczególnych stanach jak

pokazano na rysunku

- aktualny stan urządzenia jest sygnalizowany przy pomocy czterech diod (świecenie diody

pierwszej sygnalizuje, że system znajduje się w stanie Inicjalizacja, świecenie drugiej

Praca normalna, świecenie trzeciej oznacza stan Stop, miganie czwartej oznacza stan

Awaria)

Status=3 Awaria

PA

P4

Reset Status=1

Praca

„normalna”

P12

P21

Stop

Inicjalizacja

P03

P01

Status=0

Status=2

START

Page 31: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

31

- aktywacja przycisków STOP, CONTINUE, AWARIA, RESTART oraz INICJALIZACJA

następuje w wyniku wykrycia zbocza narastającego na odpowiednim wejściu modułu

KL1408

- program należy zapisać w sterowniku tak, aby po zaniku i przywróceniu zasilania

rozpoczynał pracę od stanu Inicjalizacja (nalezy stworzyć tzw. Bootproject - – menu Online

opcja Create Bootproject po wcześniejszym zalogowaniu się opcją Login).

Zadanie 4.3. Rozszerzyć przykład z zadania 4.2, realizując w stanie Praca normalna

zliczanie impulsów (narastających zboczy) na wybranym wejściu sterownika (zob. zadanie

3.3.1). Jeżeli kolejny impuls nie pojawi się przed upływem 10 sek. od poprzedniego, program

przechodzi w stan Timeout zgodnie z poniższym rysunkiem. W stanie Timeout impulsy nie są

zliczane, aby powrócić do stanu zliczania należy nacisnąć przycisk CLEAR_TIMEOUT.

Praca normalna

Zadanie 4.4. Rozszerzyć przykład z zadania 4.3, tak aby utrata zasilania nie

powodowała utraty stanu licznika impulsów. Sygnalizacja diodowa aktualnego stanu

licznika również powinna być prawidłowa bezpośrednio po powrocie napięcia zasilania.

Wskazówka: należy zastosować zmienne typu RETAIN.

5. Obsługa przełącznika nawigacyjnego i wyświetlacza sterownika BX9000

Zadanie 5.1. Napisać program, wykorzystujący języki SFC i FBD, umieszczający w

górnej linii wyświetlacza sterownika BX9000 napis AWARIA, gdy wybrane wejście binarne

jest włączone. Gdy wejście jest wyłączone należy wyświetlić napis NORMAL.

Wskazówka: przykładowe programy znajdują się w dokumentacji sterownika BX9000 w

sekcji Appendix, Example Programs - Display.

Przykładowa realizacja

P11

P41

Timeout

P14

Zliczanie impulsów Status=1

Status=4

Page 32: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

32

Dla stanu S_NORMAL akcje należy zdefiniować analogicznie jak dla S_ALARM.

Aby wykorzystać w programie blok FB_DispWrite do projektu należy dodać bibliotekę

TCBaseBx.lbx. Uzyskuje się to zaznaczając w oknie Resources opcję Library Manager i

wybierając z menu Insert opcję Additional Library.

Zadanie 5.2. Zrealizować zadanie 5.1 w języku FBD nie korzystając z grafu SFC.

Zadanie 5.2. Napisać program, wykorzystując język FBD, realizujący podstawową

obsługę przełącznika nawigacyjnego. Gdy zostanie naciśniety przycisk UP przełącznika

nawigacyjnego, w dolnej linii wyświetlacza należy wyświetlić czas pobrany z zegara RTC

(uaktualniany w sposób ciągły w formacie hh:mm:ss – zapis na wyświetlacz, co 80 ms).

Wciśnięcie przycisku DOWN powoduje zatrzymanie uaktualniania wyświetlanego czasu i

wyświetlenie napisu STOP. Ponowne naciśniecie UP przywraca wyświetlanie czasu.

Wskazówka: przykładowe programy znajdują się w dokumentacji sterownika BX9000 w

sekcji Appendix, Example Programs - Navigation switch.

Przykładowa realizacja

Akcja główna – TEST Akcja wejściowa – S_ALARM

Akcja główna – S_ALARM

Page 33: AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM · 2009. 10. 28. · PRz, 2008, Żabiński Tomasz 1 AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BX9000

PRz, 2008, Żabiński Tomasz

33

VAR

Button: WORD;

BlockRTC: RTC;

CurrTime: DT;

Display: FB_DispWrite;

Clock: BOOL;

BlockTP: TP;

DisplayBusy: BOOL;

ButtonUP: BOOL;

BlockRS: RS;

END_VAR