1
METODOLOGIA TWORZENIA PROJEKTU
Układ start_stop. Drzewo projektu. Schemat FBD. Czynności korekcyjne. Struktura
sprzętowa i sieć. Uruchomienie – commissioning. Testowanie graficzne. Czasomierz –
TIMER. Przerzutnik RS. Programowanie w ST. Dostęp do zmiennych globalnych. Blok
funkcjonalny w ST. Zadania.
UKŁAD START_STOP
1.
Schemat elektroniczny
– FBD
2.
Schemat przekaźnikowy
– LD
DRZEWO PROJEKTU
1.
Narzędzie Control Builder F
•
Start → Control Builder F, OK, OK
2.
Nowy projekt
•
Create a new project
lub Project → Open
•
Plik
Create Project
Nazwa pliku: start_stop
2
•
Nagłówek
Project
Name. Manager. Size. Version.
Comment
3
•
Przejście do konfiguracji
•
Configuration lub Configuration (belka)
3.
Konfiguracja
Configuration: Project tree
Project Search! Edit System Options Help
□ □ □ □ □ □
Commissioning Save Check Back Insert below Insert next level
□
start_stop – projekt
□
Pool
•
Poziom konfiguracji projektu
–
Zaznaczyć start_stop
–
Insert next level
lub Edit → I.n.l.
•
Object selection
Configuration CONF
Configuration CONF
Name: konfiguracja
□
start_stop
□
konfiguracja [CONF]
4
4.
Stacja systemowa
•
Poziom stacji
– Zaznaczyć konfiguracja
–
I.n.l.
(Insert next level)
•
Object selection
Process station D–PS
Configuration: Process station D–PS
Name: ps1
□
start_stop
□
konfiguracja [CONF]
□
ps1 [D–PS]
□
ps1.USRTask [TASKLIST]
□
ps1.SYSTask [TASKLIST]
□
ps1.ColdSt [TASK] [Once]
…
5
5.
Zadanie
•
Poziom zadań
– Zaznaczyć ps1.USRTask
–
I.n.l.
6
•
Object selection
Task TASK
Configuration: Task TASK
Name: zadanie1
Cycle time: T#10ms
□
ps1 [D–PS]
□
ps1.USRTask [TASKLIST]
□
zadanie1 [TASK] [Cyclic, T#10ms]
□
ps1.SYSTask [TASKLIST]
…
7
6.
Język FBD
•
Poziom listy programów PL lub sekwencji SFC
– Zaznaczyć zadanie1
–
I.n.l.
•
Object selection
Program list PL
Configuration: Program list PL
Name: lista_prog
•
Poziom języka
– Zaznaczyć lista_prog
–
I.n.l.
•
Wybór FBD spośród czterech języków: FBD, IL, LD, ST
Object selection
FBD program FBD
Configuration: FBD program FBD
Name: schemat
□
ps1.USRTask [TASKLIST]
□
zadanie1 [TASK]
□
lista_prog [PL] [On]
□
schemat [FBD]
8
SCHEMAT FBD
1.
Edytor FBD
•
Zaznaczyć schemat, 2 kl. (dwukrotne kliknięcie) lub Enter
Configuration: Function Block Diagram FBD
FBD program Blocks FBD elements Edit System Options Back! Help
□ □ □ □ □ □
Save Check Variable list Tag list Hardware structure Back
9
2.
Czynności
•
Siatka:
Options → Raster on
•
Bloki:
Blocks → Standard → Logic → AND, OR, XOR, NOT
1 kl.+ 1 kl., Esc
•
Liczba wejść bloku: po pierwszym kliknięciu podtrzymać lewy klawisz myszy
(l.k.m.), przeciągnąć
•
Negacja wejścia: Ctrl + 1 kl.
•
Ramki wejść:
FBD elements → Variable read, 1 kl., Esc
•
Ramki wyjść:
FBD elements → Variable write, 1 kl., Esc
•
Połączenia:
Ctrl + l.k.m. (+), przeciągać odcinki proste
10
3.
Nazwa zmiennej
•
Zaznaczyć ramkę, 2 kl./Enter
•
Configuration: Variable
Variable: start
stop
Insert New Variable
Data type: BOOL
alarm
silnik
4.
Utworzony schemat
•
Bloki:
OR, AND
•
Wejścia: start, stop, alarm
•
Wyjście: silnik
11
5.
Kontrola listy zmiennych
•
Variable list
lub System → Variable list
6.
Zakończenie
•
Check
lub FBD program → Check
•
Save
lub FBD program → Save
•
Back
powrót do drzewa projektu (Project tree).
CZYNNOŚCI KOREKCYJNE
Korekt dokonuje się za pomocą opcji menu kontekstowego elementu lub funkcji Edit (po
zaznaczeniu elementu).
•
Usuwanie elementu: zaznaczyć (element staje się niebieski), Del.
•
Zmiana kolejności wykonywania: zaznaczyć blok, menu → Processing sequence
(lub Edit → P.s.), wpisać nową liczbę, Enter.
•
Przesunięcie bloku: odczepić we/wy, zaznaczyć blok, 1 kl. + l.k.m., przesunąć,
zwolnić l.k.m.
•
Zmiana liczby wejść: zaznaczyć blok, menu → Change number of inputs (lub Edit →
Ch.n.i.), ciągnąć dolną krawędź, 1 kl.
•
Usuwanie zmiennej z Variable list: zaznaczyć linię (z Shiftem), Del (lub Edit →
Delete unused variable).
12
STRUKTURA SPRZĘTOWA I SIEĆ
Obrazem wyjściowym jest drzewo projektu (Project tree).
1.
Obraz struktury sprzętowej
•
Hardware structure
lub System → Hardware structure
Configuration: Hardware structure
Hardware structure Edit I/O editor! System Options Back! Help
□ □ □ □ □
Save Check Tag list Back Network
Podział obrazu:
lewa strona – drzewo sprzętu (eksplorator)
część centralna – aktualna struktura sprzętowa
Aktualnie: stacja inżynierska i sieć ETHERNET.
2.
Uzupełnienie o stację ps1 (emulator)
•
Kursor pod ETHERNETem, 1 kl., pojawia się ramka.
•
Wybór emulatora
– 2 kl. ramka
Insert New Object
EMULATOR Controller Emulator
•
Nazwa
– 2 kl. szare pole
Resource Allocation
Resources: ps1
13
3.
Sieć – ID, IP
•
Network
lub Hardware structure → Network
•
Wpisanie identyfikatora ID i adresu IP
14
Network Configuration
EMULATOR EMULATOR1 ...
Edit – nacisnąć
Network Configuration EMULATOR1
Resource ID: 1
IP address1: 127.0.0.1
Hint. You must initialize…! Tak
Type Name Res. type R. name R.ID IP address 1
EMULATOR EMULATOR1 D–PS ps1 1 127.0.0.1
4.
Check. Save. Back
15
URUCHOMIENIE – COMMISSIONING
1.
Narzędzie Control Builder F
•
Zaznaczyć start_stop (początek drzewa)
•
Check
lub Project → Check/Check all
Kolory elementów:
– zielony: zgodność aktualnej wersji projektu z poprzednią (przesłaną do stacji i
wykonywaną)
– czerwony: niezgodność; stacja wykonuje inny program
– różowy: element niesprawdzony; projektu nie da się uruchomić.
Strzałka: element wymaga przesłania do stacji.
2.
Tryb commissioning
•
Przejście do commissioningu
•
Commissioning
lub Project → Commissioning
Commissioning: Project tree
Project Load System Windows Options Help
□ □ □ □ □ □ □
Configuration Variable Tag Hardware Show value Show trend Back
list list structure window window
□
ps1 [EMULATOR] Version error, Running
•
Przesłanie projektu
– Zaznaczyć ps1[EMULATOR]
– Load → Whole station
Load
Do you really want…? Tak
Około 15 sekund.
16
□
ps1 [EMULATOR] Running
17
TESTOWANIE GRAFICZNE
1.
Schemat FBD
•
Zaznaczyć schemat [FBD], Enter lub 2 kl.
•
Commissioning: Function Block Diagram FBD
Linie sygnałowe:
–
przerywana: FALSE = logiczne 0
–
ciągła:
TRUE = logiczne 1
2.
Ustawienie wartości
•
Zaznaczyć zmienną (w ramce)
•
Menu kontekstowe → Write value lub Windows → Write value
New value for
TRUE/FALSE
Testowanie prawidłowości funkcjonowania schematu sterowania.
3.
Tryb Configuration
•
Back
lub
FBD program → Exit
•
Configuration
lub
Project → Configuration
18
Configuration: Project tree
4.
Zamknięcie projektu (próbne)
•
Project → Exit
Project
Name. Manager. Size. Version
Comment
•
Project → Exit
Close
You must save now … OK
5.
Ponowne otwarcie projektu
•
•
Project open
CZASOMIERZ – TIMER
Schemat FBD zostanie uzupełniony o czasomierze – Timery włączające i wyłączające pompę
w 5 sekund po silniku. Następować to będzie za pośrednictwem zmiennej pompa. Timery
będą nazywane OPOZN_ON i OPOZN_OFF (opóźnienia).
19
1.
Schemat docelowy
2.
Wybór czasomierzy – Timer
•
Blok: Blocks → Binary → Timer, switch–on delay (TON)
3.
Parametryzacja timera TON
•
2 kl. blok lub zaznaczyć, Enter
Parameters: Timer, switch–on delay TON
Name: OPOZN_ON
Delay time: T#5ms
Scale end: T#10ms – koniec skali
•
Trigger on + edge
– faceplate
•
Timer TOF – również Trigger on + edge
20
4.
Uzupełnienie schematu
•
Ramka:
FBD elements → Variable write → ramka → Esc
•
Połączenia: Ctrl + l.k.m., przeciągnąć
•
Zmienna:
zaznaczyć ramkę, 2 kl./Enter
Configuration: Variable
Variable: pompa
Insert New Variable
Data type: BOOL
•
Check. Save. Back
5.
Commissioning
21
PRZERZUTNIK RS
Układ start_stop zostanie zrealizowany za pomocą przerzutnika RS (priorytet wejścia Reset
nad Set).
1.
Funkcja przerzutnika RS
•
Q = (NOT R) AND (S OR Q[i-1]),
gdzie Q[i-1] oznacza poprzednią wartość wyjścia.
2.
Schemat docelowy
3.
Wybór przerzutnika Flipflop – RS/SR
4.
Parametryzacja
5.
Commissioning
22
PROGRAMOWANIE W ST
Spośród języków normy IEC 61131–3 tekst strukturalny ST (Structured Text) oferuje
największą elastyczność programowania.
1.
Drugi program na liście lista_prog
•
Zaznaczyć schemat [FBD]
•
Insert below
lub Edit
→
Insert below
•
Program w języku ST o nazwie jezyk_ST
2.
Tekst programu
•
Zmienne globalne
start1, stop1, alarm1, silnik1
•
Zmienna lokalna
Out_OR – wyjście bramki OR
23
•
Check – informacja o tworzeniu zmiennych globalnych
3.
Uruchomienie – commissioning
•
Commissioning
lub Project → Commissioning
•
Obserwacja aktualnej wartości – wskazać zmienną
•
Zmiana wartości zmiennej – menu kontekstowe (p.k.m.)
24
DOSTĘP DO ZMIENNYCH GLOBALNYCH
1.
Dwa tryby dostępu
•
Standardowe nazwy zmiennych globalnych (jak wyżej)
Aktualne wartości zmiennych globalnych są pobierane lub ustawiane w obszarze
pamięci dostępnym dla wszystkich zadań. Oznacza to, że podczas wykonywania
zadania, zadania o wyższych priorytetach mogą dokonywać zmian tych wartości.
•
Nazwy poprzedzone znakiem @ – obraz procesu (process image)
Przed rozpoczęciem wykonywania zadania system operacyjny przepisuje wartości
zmiennych globalnych do obszaru roboczego. Zadanie dokonuje przetwarzania na tym
obszarze i tam składa wyniki. Po zakończeniu zadania system operacyjny nadpisuje
zmienne globalne według zawartości obszaru roboczego.
•
Domyślnym trybem dostępu do zmiennych globalnych w systemie Freelance jest obraz
procesu (process image), czyli poprzedzenie nazwy znakiem @. Korzystanie z nazw
standardowych generuje ostrzeżenia (warning).
2.
Ostrzeżenia w programie jezykST
•
Check
lub
FBD program → Check
25
3.
Wykorzystanie process image
BLOK FUNKCJONALNY W ST
1.
Dwa warianty układu start_stop (bramki, RS)
•
Deklaracja egzemplarza bloku (instancji) w grupie zmiennych lokalnych
VAR...END_VAR przez nadanie odpowiedniej nazwy np.:
RS_latch: FF;
•
Użycie zadeklarowanego bloku przez podstawienie zmiennych pod oznaczenia pinów
(końcówek), np.:
RS_latch (R:=@stopA1, S:=@startA1, Q⇒@silnikA1);
26
2.
Program
•
Check – informacja o utworzeniu zmiennych oraz egzemplarza bloku
•
Commissioning
3.
Zamknięcie projektu
•
Project → Exit
Project
Name. Manager. Size. Version
Comment
27
•
Project → Exit
Close
You must save now … OK
ZADANIA
1.
Uzupełnij program językST o czasomierze TON i TOF sterujące pompą1. Sprawdź
funkcjonowanie w commissioningu.
2.
W celu uniknięcia przegrzania silnik nie powinien być włączany zaraz po wyłączeniu
(potrzebna zwłoka kilka do kilkunastu sekund). Uzupełnij układ start_stop o odpowiednią
blokadę korzystając z czasomierzy TON, TOF lub generatora impulsu MONO_F.
Przedstaw programy FBD i ST.
3.
Utwórz tablicę zero–jedynkową dla przerzutnika RS. Napisz program ST realizujący
funkcję przerzutnika i sprawdź, czy funkcjonuje on zgodnie z tabelą.
4.
Przerzutnik SR funkcjonuje według wzoru Q = S OR (NOT R AND Q[i-1]).
Napisz program ST odpowiadający temu wzorowi i utwórz z jego pomocą tablicę zero–
jedynkową.