Seriál se v dnešním díle zabývá úvodem do
programovaní v jazyce FBD. FBD označuje ve
zkratce slovní spojení Function Block Diagram.
Programovací jazyk odpovídá standardu programování
průmyslových automatů IEC 61131-
3. Jeho princip je založen na skladbě jednotlivých
funkčních bloků. Při tvorbě řídicího programu
je třeba funkční programové prostředí
EPOS STUDIO společně s vývojovým prostředím
OpenPCS. Je volně ke stažení na stránkách
http://www.maxonmotor.com v sekci services &
downloads zadáním klíčového slova EPOS P.
NOVÝ PROJEKT A PROGRAM
Obrázek zobrazuje hlavní okno vývojového
prostředí OpenPCS s otevřeným projektem
v jazyce FBD. Vývojové prostředí OpenPCS
spustíme v prostředí programu EPOS Studio
pravým klikem myši, zvolíme řídicí jednotku
EPOS P a dále zvolíme „Tools“ a „IEC-61131
Programming“ a „Open Programming Tool“.
Vytvoříme nový projekt položkou „New“ v hlavní
nabídce „File“ vývojového prostředí OpenPCS.
Prostřednictvím jednoduchého průvodce zvolíme
tvorbu nového projektu „Projects“ a „Maxon
Motor ag“ a jako šablonu projektu zvolíme v průvodci
položku „EPOS P“. Dále je nutno tento
projekt pojmenovat vyplněním položky „Name“
a v položce průvodce „Location“ vybrat místo,
kde bude projekt uložen na pevném disku počítače.
Tím je projekt vytvořen. Do projektu můžeme
zahrnout soubory s programovým kódem či deklaracemi
proměnných a různé knihovny.
V začátcích bude postačující vložit do projektu
pouze hlavní soubor s řídícím programem. To
provedeme opět prostřednictvím hlavní nabídky
Open PCS a položky „New“. Použijeme stejného
průvodce jako v předchozím případě. Volbou
POU – Program Unit můžeme vybrat jazyk,
v kterém bude program zapsán, v našem případě
tedy FBD – Function Block Diagram. Dále
zvolíme „POU Type“ jako „Program“. Tvorbu
hlavního programu dokončíme zadáním jména
souboru a místa jeho uložení v položkách
„Name“ a „Location“. Stiskneme tlačítko „OK“.
Vývojové prostředí se zeptá, zdali chceme nový
soubor zahrnout do projektu, a to otázkou „Do
you like add jmeno programu to active resource
?“. Stiskneme tlačítko Ano, popř. OK.
Nyní se otevřelo okno, stejně jako v předchozích
případech je rozdělené na dvě části. Horní
část slouží k zápisu a deklaraci proměnných
řídicího programu. Dolní část slouží ke grafické
reprezentaci vlastního řídicího programu.
Okno proměnných obsahuje předdefinované
sekce. Sekce „VAR_EXTERNAL“ slouží
pro deklaraci externích proměnných, tj. proměnných
uložených v jiném kódu. Do sekce
„VAR_GLOBAL“ se deklarují globální proměnné
programu. Sekce „VAR“ je určena pro
deklaraci lokálních proměnných. Příslušná
sekce je pak ukončena zápisem „END_VAR“.
Deklarace proměnné Exec může vypadat
následovně:
Exec : Bool:=True;
Proměnná Exec byla deklarována jako proměnná
typu BOOL – logická proměnná nabývající
pouze dvou stavů Pravda/Nepravda.
Hodnota proměnné Exec je předdefinována
jako True – Logická 1
V sekci proměnných můžeme dále definovat
použití funkčních bloků z knihoven. Pro práci
s řídicí jednotkou EPOS P využíváme knihovnu
„SMART Motion“.
Část určená pro zápis vlastního programu obsahuje
grafické schéma řídicího programu. V úvodu
jsme uvedli, že jazyk FBD, tj. Function Block
Diagram, je graficky orientovaný programovací
jazyk založený na principu skladby jednotlivých
bloků. Programovací jazyk umožňuje používat
přehledných textových popisků přímo k jednotlivým
prvkům schématu, popřípadě ke skupině
prvků. Řídicí program se skládá z jednotlivých
grafických řádků. Řádky jsou ohraničeny zleva
polem pro výběr vstupních proměnných a zprava
polem pro výběr výstupních proměnných.
Pro přiřazení proměnné do pole proměnných je
třeba tuto proměnnou deklarovat v okně proměnných.
Dále pak zvolíme položku Insert Variable
kliknutím na položku pole proměnných pravým
tlačítkem myši. Z otevřeného okna vybereme příslušnou
proměnnou. Jednotlivě funkční bloky se
do programu vkládají kliknutím pravého tlačítka
myši v prostoru okna řídícího programu a následnou
volbou Insert FunctionBlock. Propojení
vstupů a výstupů funkčních bloků a proměnných
probíhá podobným způsobem. Kliknutím levého
tlačítka myši vybereme příslušný vstup a výstup
či proměnnou, dále následuje kliknutí pravým tlačítkem
myši a volba Insert connection.
PŘÍKLAD
Popsaný postup vysvětlíme na jednoduchém
případě, kdy chceme nastavit polohu hřídele
motoru relativně o 1000 qc. Nejprve provedeme
Reset řídicí jednotky EPOS P funkčním blokem
MC_Reset. Tento blok vyžaduje jako vstupní
parametr Axis - identifikátor osy, tj. id jednotky,
kterou chceme resetovat. Dále vyžaduje parametr
Execute, který udává, zda li se má reset provést.
Přitom true znamená ano, false znamená
ne. Pak je třeba zapnout výkonový stupeň řídicí
jednotky EPOS P. To zajišťuje blok MC_Power.
Vstupní parametry tohoto bloku jsou Axis pro
identifikátor osy a Enable pro provedení příkazu.
Poslední z použitých bloků je funkční blok MC_
Move_Relative, zajišťující otočení hřídele motoru.
Vstupními parametry jsou parametry Axis a
Exec jako u bloku MC Reset a dále Vel, Dis, Acc
a Dec pro nastavení rychlosti, polohy, zrychlení
a zpomalení hřídele motoru.
V sekci VAR deklarujeme následující proměnné:
Var
Osa: AXIS_REF:=(AxisNo:=0);
Reset: MC_Reset;
Power: MC_Power;
MoveR: MC_Move_Relative;
Exec : Bool:=True;
Dis : UDINT:= 1000;
Vel : UINT:=1000;
END_Var
Kliknutím pravého tlačítka myši v prostoru okna
řídicího programu vložíme funkci Insert Function-
Block z knihovny Smartmotion bloky MC_Reset,
MC_Power a MC_Move_Relative. Opětovným
kliknutím pravého tlačítka myši na příslušný
funkční blok přiřadíme funkcí Insert Variable
deklaraci funkčního bloku. Z otevřeného okna
proměnných vybereme položku Reset pro funkční
blok MC_Reset, Power pro MC_Power a MoveR
pro MC_Move_Relative. Podobným způsobem
přiřadíme ostatní proměnné Osa, Dis a Vel do pole
vstupních proměnných. V konečné fázi propojíme
výše popsaným způsobem příslušné vstupy, výstupy
a proměnné tak jak naznačuje obrázek.
Dokončený řídicí program je nutno přeložit
do strojového kódu. To lze provést pomocí
položky hlavní nabídky „PLC“ volbou „Build
Active Resource“. Pokud vývojové prostředí
OpenPCS v zápisu řídicího programu nenahlásí
žádné chybové hlášení, uložíme řídicí program
do řídicí jednotky EPOS P. Použijeme položku
hlavní nabídky PLC, volíme PC->PLC download.
Řídicí program je spuštěn volbou položky
„Cold Start“ hlavní nabídky PLC.
Pro demonstraci řídicího programu v jazyce
FBD byl vytvořen program simulující pohon
hořáku v operaci dělení materiálu. Řídicí
program pracuje s řídicí jednotkou EPOS P
v režimu Profile Position Mode. Vytvořený
program je možno pro demonstraci stáhnout na
webových stránkách firmy Uzimex Praha spol.
s r.o. http://www.uzimex.cz
Příští díl seriálu se bude věnovat popisu programovacího
jazyka SFC – Sequential Function
Chart. ?