Co je to Beckhoff
Řídicí systémy Beckhoff se od mnoha ostatních podstatně liší. Především se jedná o systémy běžící na platformě průmyslového PC. Na tomto PC kromě řídicího run-time běží i operační systém Windows, což z nich dělá univerzální a komplexní systém (možnost paralelního běhu PLC a Windows, databázových aplikací, vzdálená správa atd.). Další zásadní vlastností je, že se jedná o hard-real-time systémy (tzn. cyklus PLC je vždy přesně definován a nemění se v závislosti na běhu a délce programu). Tyto vlastnosti Beckhoff předurčují zejména pro náročné aplikace, např. v oblasti servopohonů a přesných měření.
Hardware
Řídicí systém Beckhoff je průmyslové PC, na kterém běží softwarové PLC. Existuje mnoho variant počínaje výkonově nejmenšími tzv. embedded PC, přes kompaktní PC, panelová PC až po průmyslové servery s výkonnými vícejádrovými procesory Intel Xeon.
V nabídce Beckhoffu je široký sortiment I/O modulů. Beckhoff disponuje vlastní komunikační sběrnicí EtherCAT, avšak díky komunikačním modulům je možné integrovat i další průmyslové sběrnice (Profibus, Profinet, CANopen, DeviceNet, EtherNet/IP, Modbus atd.).
Produktové portfolio zahrnuje též hardware pro motion aplikace: pohony, servomotory, lineární a krokové motory. Pohonům se však v tomto článku z kapacitních důvodů věnovat nebudeme.
Software
Silnou stránkou Beckhoffu je software. Vývojové prostředí i run-time běžící na průmyslových PC se nazývá TwinCAT. V současnosti jsou podporovány dvě verze – starší TwinCAT 2 a aktuální TwinCAT 3. V dalším textu se budeme věnovat výhradně verzi TwinCAT 3.
Vývojové prostředí TwinCAT 3 lze stáhnout z internetu zcela zdarma. Uživatel platí jen run-time licence na počítačích, které jsou nasazeny v reálných aplikacích. Pro vyzkoušení a odladění vyvíjené aplikace lze zdarma využít zkušební licenci pro run-time, která je plně funkční po dobu 7 dní. Po expiraci je možné zkušební licenci obnovit pouhým opsáním kódu z obrazovky.
V TwinCAT 3 lze programovat všemi jazyky, které definuje norma pro programování PLC IEC 61131-3. Navíc však uživatel může vyvíjet realtimové PLC aplikace v C++ a UML. O snadné propojení se světem IT se stará komunikační vrstva Automation Device Specification (ADS). Po ADS lze díky dostupnému API komunikovat s aplikacemi vytvořenými např. v .NET, JAVA, C/C++ či v dalších jazycích.
Vytvoření jednoduchého programu
Ukažme si, jak naprogramovat jednoduchou aplikaci v TwinCAT 3. V našem vzorovém příkladu máme k dispozici embedded PC CX9020, I/O modul EL1809 s 16 digitálními vstupy a modul EL2008 s 8 digitálními výstupy. Zadání je následující: jedním vstupem budeme aktivovat digitální výstup, druhým vstupem tento výstup deaktivujeme.
Postup programování:
- Nainstalujte TwinCAT 3 (tzv. TwinCAT 3 Engineering – XAE). Software je zdarma ke stažení na stránkách www.beckhoff.com/download a obsahuje nejen vývojové prostředí, ale i run-time. Máte-li na svém počítači nainstalované prostředí Visual Studio Professional a vyšší, TwinCAT 3 se zaintegruje do něj. V opačném případě se současně s TwinCAT 3 nainstaluje Visual Studio Shell, což je grafické rozhraní Visual Studia.
- Spusťte TwinCAT a založte nový projekt „TwinCAT XAE Project“.
- Připojte řídicí systém. Implicitně se CX9020 připojuje přes Ethernetový port k DHCP serveru (tedy přes Ethernetový switch), který mu přidělí IP adresu. V Solution Exploreru (v levé části okna) poklepejte na položku SYSTEM, dále zvolte „Choose Target“ a v zobrazeném dialogovém okně vyhledejte Váš řídicí systém. Zvolte „Search (Ethernet)“ a následně řídicí systém automaticky vyhledejte stiskem tlačítka „Broadcast Search“. Tlačítkem „Add Route“ připojte řídicí systém k počítači. Postup je naznačen na obr. 1.
Obr. 1: Připojení řídicího systému k PC
- Vytvořte v TwinCATu nové PLC. V Solution Exploreru klikněte pravým tlačítkem na položku PLC, zvolte „Add New Item...“ a v zobrazeném dialogovém okně vyberte položku „Standard PLC Project“. Tímto příkazem vytvoříte nové PLC obsahující cyklicky volaný programový blok MAIN a předdefinovanou organizační strukturu PLC projektu.
- Naprogramujte Váš uživatelský program. V našem příkladu budeme používat pouze program MAIN. Najdeme jej v Solution Exploreru, pod položkou PLC -> jméno vašeho PLC -> Project -> POUs. Postup je naznačen na obr. 2.
Obr. 2: Naprogramování hlavního programu MAIN
Jak již bylo zmíněno, lze program napsat ve všech jazycích dle normy IEC 61131-3. V našem příkladu budeme používat zápis pomocí strukturovaného textu (ST).
V programu je vždy nutné deklarovat proměnné. Nemusíte však předem vědět, které konkrétní I/O budou pro dané proměnné použity. Přiřazení fyzických I/O k proměnným v PLC se nazývá linkování proměnných. Během deklarace stačí umístit linkované proměnné do vstupní či výstupní paměťové oblasti pomocí markeru AT%I* (vstupy) resp. AT%Q* (výstupy). Přilinkování fyzických vstupů a výstupů k těmto proměnným provedeme kdykoliv později.
Při programování lze postupovat několika způsoby. Abychom ukázali různé programátorské techniky, popíšeme hned tři možné způsoby řešení našeho zadání.
- Pomocí funkčního bloku RS klopného obvodu (viz. obr. 3a). Poznamenejme, že každý funkční blok je třeba předem deklarovat.
- Pomocí dvou podmínek IF – THEN (viz. obr. 3b).
- Pomocí logického výrazu (viz. obr. 3c). Díky této úsporné formě zápisu se celý program skládá pouze z jediného řádku.
Obr. 3a: Řešení zadání pomocí funkčního bloku RS klopného obvodu
Obr. 3b: Řešení pomocí dvou podmínek IF – THEN
Obr. 3c: Řešení pomocí logického výrazu
- Aktivujte hardwarovou konfiguraci. Tento krok je nutné provést vždy po změně hardwarové struktury projektu (tzn. po přidání PLC, naskenování hardwaru, linkování proměnných atd.). Aktivaci provedete stiskem tlačítka „Activate Configuration“ z nástrojové lišty (viz. obr. 5). Následující dotaz na restart systému v Run Mode odmítněte. Zůstanete tedy v režimu Config Mode.
- Přilinkujte fyzické vstupy a výstupy k proměnným. V našem příkladu si vystačíme se dvěma digitálními vstupy a jedním digitálním výstupem. Linkování I/O se provádí v Solution Exploreru, v položce I/O. Nejdříve naskenujeme připojený hardware a poté ke konkrétním I/O přiřadíme proměnné. V Solution Exploreru rozbalte položku I/O a klikněte pravým tlačítkem na „Scan“. Pozor, skenování hardwaru lze provádět pouze, je-li TwinCAT v režimu Config Mode (modrá ikonka s ozubeným kolečkem na nástrojové liště, viz. obr. 5). Tím přidáte do projektu I/O moduly a případný další připojený hardware. Rozklikněte jednotlivé moduly se vstupy a výstupy a přiřaďte jim konkrétní proměnné – viz. obr. 4.
Obr.4: Linkování proměnných k fyzickému hardwaru
- Opět aktivujte hardwarovou konfiguraci (nyní již včetně nalinkovaných proměnných) a nahrajte uživatelský program do řídicího systému. Vše provedete stiskem tlačítka „Activate Configuration“ z nástrojové lišty, viz. obr. 5. Nemáte-li zakoupenou run-time licenci pro TwinCAT 3, systém Vás vyzve k opsání pětimístného kódu. Tím vygenerujete 7-denní zkušební run-time licenci. Během zkušební doby můžete projekt používat bez omezení.
- V posledním kroku se přihlaste k PLC a spusťte aplikaci pomocí tlačítek „Login“ a „Start“ na nástrojové liště (viz. obr. 5). V režimu Log-In můžete online sledovat vykonávání PLC aplikace. Dále lze využít nástroje pro ladění a monitoring: krokování pomocí breakpointů, forcovaní proměných, zobrazení flow control a další.
Obr. 5: Diagnostika PLC
Shrnutí
V tomto článku jsme záměrně popsali jen nejnutnější kroky, které uživatel musí provést, aby si mohl vyzkoušet, jak se programuje řídicí systém Beckhoff. Mnoho z pokročilých funkcí, jako je automatická deklarace proměnných, refaktoring, použití rozsáhlých knihoven funkčních bloků, objektové programování, propojení s databázemi či externími aplikacemi naprogramovanými v .NET atd. samozřejmě překračují rozsah tohoto článku.
Detailní informace k programování řídicích systémů Beckhoff lze najít v online informačním systému Beckhoff: http://infosys.beckhoff.com .