VisualMotion, egy komplett, számítógépes mozgásvezérlõ rendszer

dr. Bausz Imre

 1. Bevezetés

Napjainkat sokszor az információs társadalom korszakaként emlitik és természetessé vált, hogy számítógéppel mindent meg lehet oldani. Egy adott területen azonban a megoldás részletei (a „hogyan") a lehetséges változatok miatt még szakemberek elõtt sem nyilvánvalóak. Mozgásvezérlõk területén a világon vezetõnek tekintett INDRAMAT cég különbözõ mozgásvezérlési feladatokra két komplett, jól átgondolt számítógépes mozgásvezérlõ rendszert fejlesztett ki:
· az MTC200-ast, és
· a VisualMotion-t,
amelyekhez a szoftverektõl a motorokig minden rendelkezésre áll. A két rendszerben közös, hogy a számítógépbe épített kártya SERCOS (SErial Realtime COmmunications System) kommunikációs fíber optikus gyûrûn keresztül csatlakozik az intelligens digitális hajtásvezérlõkhöz. A két rendszer különbözõsége alkalmazás orientáltságukban rejlik.
Az MTC200 rendszerben a számítógépbe építendõ modul CNC kártya, amelynek firmvere lényegében G-kódban irt programok interpretere. A PC-n futó GUI (Graphical User Interface) szoftver a rendszer kiépítettségét  megadó paraméterezés után nem csak G-kódú programok fejlesztõ környezete, de kezelõ felület is. Az MTC200 rendszerrel épített számítógépes mozgásvezérlõk egyidejûleg több szerszámgépet (teljes gyártó sort) képesek vezérelni. A rendszerben maximálisan 32 intelligens digitális hajtás vezérlõ (és ugyan ennyi villamos motor) lehet.
A VisualMotion rendszerben a számítógépbe CLC kártya építendõ, amelynek GPS firmvere (a kártya operációs rendszere) „CLC nyelv"-en megirt, s lefordított (compiler-elt) mozgás vezérlõ programok végrehajtására képes.
A kialakítandó mozgásvezérlõ konfigurációját tekintve mindkét rendszer rendkívül flexibilis. Velük nem csak új gépkonstrukció számára építhetõ gyorsan számítógépes mozgásvezérlõ, de segítségükkel korábbi berendezések is a legkorszerûbb szintre emelhetõk. A rendszerek innovatív alkalmazásával minõségileg versenyképes termékeket elõállító termelõegységek hozhatók létre.
A két rendszer közül jelen tanulmányban a VisualMotion rendszer esetén a „hogyan"-t szeretnénk   megvilágítani. A leírásban a hangsúly a számítógéppel kapcsolatos részeken van. A részletek a számítógépek belsejét kevésbé ismerõk számára riasztónak tûnhetnek, az elkészült mozgásvezérlõ kezelése azonban felhasználóbarát.  A VisualMotion minden komponensérõl részletes információt az INDRAMAT GmbH által kiadott dokumentációkban találhatunk (ld. irodalom).
A PC-n Windows alatt futó VisualMotion Toolkit (VMT) szoftver mindazon szolgáltatásokat nyújtja, amelyek  a teljes mozgásvezérlõ rendszer létrehozásához szükségesek. VisualMotion-nal megmunkáló- és feldolgozó gépek,  automaták, robotok és még sok más, hajtást igénylõ berendezés számára építhetõ számítógépes mozgásvezérlõ. Egy CLC kártya maximálisan 40 intelligens digitális hajtás vezérlõt (és ugyan annyi villamos motort) képes vezérelni.

2. A VisualMotion rendszer áttekintése

A VisualMotion megnevezés tágabb értelemben nem csak a mozgásvezérlõ programok létrehozására alkalmas Windows alapú szoftvert takarja, hanem az összes komponenst, amelyek a mozgásvezérlõ létrehozásához szükségesek. E komponensek közé tartozik a számítógépbe építendõ CLC kártyától kezdve a kommunikációt megvalósító részeken át az összes külsõ komponens is.
A VisualMotion rendszerrel létrehozható alkalmazott mozgásvezérlõ a saját operációs rendszerrel rendelkezõ CLC vezérlõ kártyából, a VisualMotion Toolkit  programból, DDE Server-bõl (Windows-os alkalmazások közötti kommunikációs protokoll), fíber optikus gyûrûn SERCOS protokoll szerint kommunikáló digitális villamos hajtásokból épül fel.

                            1.  ábra

Az 1. ábra VisualMotion rendszerrel felépített mozgásvezérlõt szemléltet. A rendszerhez opcionálisan kézi vezérlõ is csatlakoztatható.

3. A mozgásvezérlõ rendszer hardver komponensei és kommunikációjuk

A CLC kártyával  épített mozgásvezérlõ hardver szempontból két, helyileg is elkülönülõ részét: a számítógépes vezérlõt és a digitális hajtásokkal felszerelt  vezérlendõ objektumot fíberoptikus kommunikációs gyûrû kapcsolja egybe. A mozgásvezérlõ számítógépes része hardver szempontból teljesen független a vezérlendõ objektumtól,  hajtásvezérlõ részét viszont teljes mértékben a vezérlendõ objektum határozza meg. A hajtásvezérlõ rész megtervezése (a komponensek teljesítmény-igénytõl, nyomatéktól, sebességtõl, pontosság-igénytõl, stb. függõ kiválasztása, összeállítási tervek elkészítése) alkalmazásonként egyedi és munkaigényes.

3.1 A CLC vezérlõ kártya

A CLC kártya a VisualMotion-nal  épített mozgásvezérlõ lelke, négy kiviteli változata közül kettõ IBM kompatíbilis számítógépekbe (CLC-P01, CLC-P02), egy  VME buszos architektúrájú gépbe (CLC-V) és egy közvetlenül DDS típusú Indramat intelligens hajtásvezérlõbe (CLC-D) építhetõ. A 2. ábrán   CLC-P01.1 kivitelû kártya képe látható.
A kiviteli változat azonban nem érinti a mûködési elvet, a továbbiakban IBM PC-s környezetet tételezünk fel, s erre utal az 1. ábra is.

            2.  ábra

A VisualMotion rendszer felépítését, mûködését könnyebb megérteni, ha a CLC kártyára úgy tekintünk, mint egy saját operációs rendszerrel rendelkezõ önálló célszámítógépre, amelyet egyszerûbb mûködtetni, ha van mellette egy kisegítõ hagyományos számítógép. Ezen a gépen Windows alatt fut a VisualMotion Toolkit szoftver, amely a CLC-s mozgásvezérlõ fejlesztõi környezete.
A CLC célszámítógép processzora a Motorola MC68000-as processzor családhoz tartozik, rezidens operációs rendszere  cserélhetõ  memóriában van. RAM memóriája saját teleppel védett, egy része duál-portos, amelyhez a PC is hozzáfér. Az ISA buszos CLC-P01 kivitelû kártya a PC alaplapjába dugható, ezen keresztül biztosított tápfeszültség ellátása és a duál- portos RAM területéhez való hozzáférés. A RAM területen van a kártya irányításában fontos szerepet játszó regiszter tömb és egy kommunikációs puffer terület.
A CLC kártya „szerver - kliens" elven kommunikál a VisualMotion Toolkit-tal, vagy más külsõ vezérlõvel. A kapcsolatban a CLC kártya a szerver, kliensei a VisualMotion Toolkit vagy más vezérlõ.
A CLC kártyának az ISA buszon kívül további ki- és bemenetei, illetve csatlakoztatási lehetõségei  vannak. Két soros portja (RS-232,422,485) közül az egyikhez opcionálisan PC, a másikhoz BT06 típusú kézi vezérlõ csatlakoztatható. SERCOS kommunikációs fíberoptikus ki- és bemeneti csatlakozója közé fíberoptikus gyûrûre kell felfûzni a VisualMotion rendszer intelligens digitális hajtásvezérlõinek SERCOS-os slave moduljait.  A CLC kártya SERCOS master szerepet is betölt.
Amíg a hagyományos számítógép „számításának eredményét" a képernyõre, a CLC célszámítógép a „számítási eredményt"  a SERCOS gyûrûre küldi. A CLC azonban nem csak küld információt a gyûrûre, de kap is onnan. Minden egyes átviteli ciklus alatt a CLC kártya és a hajtásvezérlõk információt cserélnek.
A hagyományos PC-nek egy „vezérlõ bemenete" van: a billentyûzete. A CLC-nek három bemenete van: a duál-portos RAM területe, és a két soros portja. A billentyûzet és a PC között egyirányú a kommunikáció, a CLC kártya bemenetein kétirányú.  A CLC három bemenete közül mindig csak egyet lehet aktívvá konfigurálni. A bemenetek „megfejelt" DDE (Dinamic Data Exchange) protokoll szerint kommunikálnak. Duál-portos RAM területéhez a WisualMotion Toolkit fér hozzá.  A soros portok közül az elsõ idegen számítógépen futó WisualMotion Toolkit protokolljára, a második BTC06 távvezérlõ protokolljára válaszol.
A PC bekapcsolásakor „normál számítógép" indulás zajlik: minden részegysége tápfeszültséget kap, kezdõdik a ROMBIOS program végrehajtása, a kijelölt drájvrõl az operációs rendszer (pl. Windows’98) töltõdik a PC RAM-jába, a rendszer „feláll". A képernyõn látható, hogy parancsot vár, vagy elindítja a kijelölt programot (pl. VisualMotion Toolkit).  Hasonló a CLC  célszámítógép viselkedése is. Mivel a CLC kártya a PC részegysége is, tápfeszültséget kap, indul operációs rendszere (a rezidens GPS firmver). Alap helyzetben aktuális bemenetérõl (pl. VisualMotion Toolkit) várja, hogy a regiszter tömb megfelelõ bitjeit beállítsák,  amelyek meghatározzák további mûködését. (ld. késõbb 4.3) A kártya SERCOS kimenetén  megkísérli a 0. kommunikációs fázisból a feljutást a normál kommunikációs fázisba (4. fázis). Ahhoz, hogy ez megtörténhessen, a mozgásvezérlõ konfigurációjának megfelelõ, lefordított (compilerelt) mozgásvezérlõ programot a PC-bõl a VisualMotion szoftver segítségével át kell küldeni a CLC-be és a megfelelõ vezérlõ regiszter bit értékek beállításával el kell érni, hogy a GPS futtassa azt.

 3.2  Intelligens digitális hajtások

A VisualMotionnal épített számítógépes mozgásvezérlõkhöz csak olyan hajtások alkalmazhatók, amelyek bemenete SERCOS interfész. Az Indramat által gyártott ilyen digitális hajtások hajtásvezérlõkbõl, s a hozzájuk tartozó motorokból állnak. A hajtásvezérlõket közös hajtás tápegységrõl látják el villamos energiával. A kiválasztott egységeknek egymással kompatibiliseknek kell lenniük.
A VisualMotion rendszerben a hajtásvezérlõk közül a DIAX03, DIAX04 és az ECODRIVE hajtás-család tagjai használhatók. Ezek helyi intelligenciája képes értelmezni a CLC mozgásvezérlõ kártya által SERCOS protokollal átvitt funkciókat. A DIAX03 hajtás család a 3 - 224 kW, a DIAX04 2,5 - 35 kW teljesítmény tartományt fogja át. A 3. ábra a DIAX04 hajtásvezérlõ családot, a 4. ábra a hozzájuk választható motor típusok sematikus képét szemlélteti.

                            3.  ábra


                            4. ábra

A vezérlendõ objektum tengelyeinek meghajtására alkalmas kivitelû és teljesítményû motorokat az Indramat motor sorozataiból lehet választani. A motor sorozatokban találhatók különbözõ pontosságú helyzetérzékelõvel felszereltek, (pl. a legnagyobb pozíció-felbontóképességûek az MHD sorozatba tartozó motorok: 4 194 304 jel/fordulat a tengelyen). A kiválasztott motornak illeszkednie kell az intelligens digitális hajtásvezérlõhöz. DIAX03 hajtásvezérlõhöz  MDD, MKD, 2AD, 1MB, MBW, LAR és LAF sorozat motorjai közül, míg DIAX04-hez MKE, MHD, MKD, 2AD, 1MB, MBW, LAR és LAF sorozat motorjai közül lehet választani.
Közös hajtás tápegységet a DIAX04 hajtásvezérlõkhöz a HVE és HVR típusú tápegység sorozatból, a DIAX03 hajtásvezérlõkhöz a TVM, TVD, TVR, KDV, és KDR tápegység sorozatból lehet választani. Az ECODRIVE hajtásvezérlõ-család tagjai saját belsõ tápegységgel rendelkeznek, nincs szükségük külsõ tápegységre.
A digitális hajtásvezérlõk, a tápegység és a motorok biztonságos mûködése érdekében villamos összekötéseiket a dokumentációkban leírtak szerint kell megvalósítani. Ahhoz, hogy a CLC kártyás mozgásvezérlõvel történõ együttmûködésük probléma mentes legyen, a szabványos SERCOS paraméterek mellett a gyártó-specifikusakat is azonosan kell értelmezniük.

3.3 SERCOS kommunikáció

A CLC vezérlõt – mint már említettük – az Indramat hajtásokkal fíber optikus SERCOS interfész kapcsolja össze. A SERCOS interfész nemzetközileg elfogadott valós-idejû, nagysebességû digitális kommunikációs szabvány, amely a vezérlõ kártya és a hajtások között csupán egy egyszerû daisy-chain típusú fíberoptikus kábelösszekötést kíván. A válaszidõt a szinkron adatátviteli  protokoll garantálja. A SERCOS lehetõséget teremt az összes készülék folytonos figyelésére, hiba diagnosztizálásra, a szabványosított zárt szabályozási  köri funkciók definiálására.
A SERCOS gyûrûben NRZ (No Return to Zero) kódolású szinkron módú adat átvitel zajlik.

                            5. ábra

A SERCOS interfészen zajló kommunikációt az 5. ábra vázolja. A gyûrûben a CLC a SERCOS „master",  az intelligens digitális hajtások interfészei „slave"-ek. A kommunikáció részvevõi  „adatcsomagokat" küldenek egymásnak. Minden csomagnak van kezdõ és lezáró azonosítója, címzése, valós és nem valós idejû része, vezérlõ és státusz szava, ellenõrzõ száma (checksum).
A ciklus kezdeteket a master által küldött szinkronizáló csomag (MST - Master Sincron Telegram) azonosítja. A master a hajtások számára közös csomagban (MDT - Master Data Telegram) küldi üzeneteit. A slavek (hajtások) a bemenetükön megjelenõ információt kimenetükön továbbadják, a master számára szolgáló üzeneteiket csomagok formájában (ADT1, ADT2, ... - Amplifier Data Telegram) a számukra biztosított „idõ-résbe" fûzik, az MDT csomagból a számukra érkezett üzeneteket kiolvassák.
Egy SERCOS ciklus ideje (Tcycl) a 4. kommunikációs fázisban fix (msec nagyságrendû), nagysága a kommunikációban résztvevõ hajtásvezérlõk számától és az üzenet-csomagok hosszától függ. A kommunikációban résztvevõ minden eszköznek a csomagokon belül két adatrésze (csatornája) van: egy a teljes üzenetet tartalmazó valós idejû és egy több ciklus alatt átvitt nem valós idejû.
 A kommunikáció a bekapcsolás pillanatától „fázis állapot"-okon (0.-tól a 4.-ig) keresztül épül ki. A kiépülés alatt a master ellenõrzi a gyûrû záródását, a hajtások címeit, kiküldi kommunikációs paramétereiket. Az 5. ábra a gyûrû két szelvényében a 4. fázis ciklusát szemlélteti.
A SERCOS törvényszerûségeit adatbázis szerûen, paraméterek formájában nemzetközi szabvány (IEC1491 ill. IEC61491) rögzíti. Egy paramétert azonosító száma (IDN), megnevezése, attribútuma, lehetséges legkisebb és legnagyobb értéke, valamint értéke (adat) jellemez.

4. A VisualMotion rendszer szoftverei

A VisualMotion rendszer fejlesztõ és tesztelõ környezete a PC-n Windows alatt futó VisualMotion Toolkit (VMT). A kifejlesztett programokat a CLC operációs rendszere (GPS firmver) futtatja. A CLC kártya által SERCOS protokoll szerint a hajtásvezérlõkhöz küldött információt az intelligens digitális hajtásvezérlõk szoftverei értékelik, s annak megfelelõen mûködtetik a motorokat.
Amíg a VisualMotion rendszer mindkét szoftvere – a VMT és a GPS – a rendszerrel épített mozgásvezérlõk számára megalkotott „CLC nyelv" koncepcióján alapul, a hajtásvezérlõk szoftverével való kapcsolatukat a SERCOS szabvány biztosítja.
A CLC nyelvû programozás a taszk, szubrutin, esemény, sorrendi végrehajtó (sequencer), táblák fogalmakra épül:
· A taszk önálló, legfelsõ szintû program feladat, amelybõl egy mozgásvezérlõ program négyet, hierarchikus sorrendben A, B, C és D tartalmazhat. Minden definiálást (táblák memória igénye, változók, tengelyek, stb.) a taszkban kell elvégezni. A taszkok egymástól függetlenek. A mozgásvezérlõ program végrehajtásakor a CLC operációs rendszere egymás után minden taszkból hierarchikus  sorrendjüknek megfelelõen ciklikusan egy - egy utasítást hajt végre.
· A szubrutin taszkból hívható olyan rész feladat, amely lehetõséget teremt program variációkra.
· Az esemény privilegizált szubrutin. Programból közvetlenül nem hívható, végrehajtása idõ-, vagy távolságalapú feltétel bekövetkezéséhez, illetve külsõ interrupthoz kapcsolható.
· A sorrendi végrehajtó lehetõséget ad a taszk szubrutinjainak listán rögzített sorrendben történõ végrehajtására.  A szubrutinok sorrendjének megváltoztatása nem igényli a program újrafordítását.
· A táblák adatbázisszerûen tartalmazzák a program végrehajtáshoz szükséges adatokat. A mozgásvezérlõ programban az adatokra pont-, illetve esemény-tábla indexekkel lehet hivatkozni. Ez a megoldás teszi lehetõvé, hogy a program végrehajtáshoz szükséges adatokat az utasításkódoktól elkülönítve tárolják.  Az abszolút és relatív ponttábla elemei a pont indexén kívül: x-, y-, z-koordináta,  átvezetõ sugár, sebesség, gyorsulás, lassulás, lökés, négy esemény azonosító, elfordulás, tekeredés, csavarodás, tengely maszk. Az eseménytábla elemei az esemény indexén kívül: status, tipus, referencia irány, argumens, az esemény szubrutin neve, üzenet.
A mozgásvezérlõbe beprogramozott útvonalak egyenes szakaszokból és körívekbõl állanak. A szakaszokat és köríveket az abszolút és relatív ponttábla pontjai tûzik ki. A CLC nyelvben a táblatételek, tétel-elemek jelölése rögzitett (pl. ABS[01], REL[3].x, EVT[3]).
A programban csak integer és lebegõ pontos változók szerepelhetnek. Számukra 4 bájt biztosított, tárolásuk tömbökben  történik. A programban hivatkozni rájuk típusukat megadó karakterrel (I, F) és indexükkel lehet, a változó globális voltát a „G" prefix  jelöli (pl.  I[12], F[6], GI[01], GF[3]).

                                                                            6.  ábra

 4.1 VisualMotion Toolkit (VMT)

A VisualMotion Toolkittel a fejlesztõ a CLC kártyával létrehozott mozgásvezérlõt a vezérlendõ objektumnak megfelelõen konfigurálhatja, paraméterezheti, fejleszthet számára mozgásvezérlõ programot (taszkok), lefordítathatja (compile), a gépi kódú alakot letöltheti a CLC memóriájába, s ott elindíthatja. A VisualMotion Toolkit felülete hasonló az ikonos programozást lehetõvé tevõ fejlesztõ szoftverek környezetéhez (6. ábra). A File, Edit, View, Setup, Tools, Data, Status, Options fõmenü pontokhoz tartozó menürendszer belépési pontjait az 1A és 1B táblázat tartalmazza.

1A táblázat
 
File Edit  View Setup
New 
Open 
Save 
Save as 
Save, compile, download 
Compile 
Display code 
Program Management 
    Archive 
    Transfer Cams 
    Transfer Events 
    Transfer I/O Mapper 
    Transfer Parameters 
    Transfer Points 
    Transfer Variables 
    Transfer Zones
Print
Current Task
Find, Find Next 
Add Subroutine 
Add Event Function 
Labels 
    User Labels 
    Register Labels 
    Bit Labels 
    Import User Label File 
    Export User Label File
 
 
 
 

 

Task 
Subroutines 
Event Functions 
Zoom Out
 
 
 
 
 
 
 
 
 
 

 

Card Selection 
Configuration Drives 
Drives Help Directories 
Coordinated Motion 
I/O Setup 
Overview 
Pendant Security 
CLC Serial Ports 
VME Configure
 
 
 
 
 

 

1B táblázat
 
Tools Data  Status Options 
Breakpoint Control 
CAM Builder 
Jogging 
Oscilloscope 
VisualMotion32, CLC_DDE   (Release 6 )
Show Program Flow
 
 

 

CAM Indexer 
Events 
Field Bus Mapper (CLC-D only) 
I/O Mapper 
PID Control Loops 
PLS
Points
Registers
Sequencer 
Variables 
Zones
Diagnostic Log 
Drives 
Drives on Ring 
System 
Tasks
 
 
 
 

 

Az Options almenüi: 
Icon Palette 
    Single Axis 
    Coordinated Motion 
    ELS 
    Utility 
Icon Labels
 
 

 

A mozgásvezérlõ  program fejlesztõje egy taszk ikonos fejlesztését a „File/New" úton kezdheti el. A VMT teljes ikonkészlete négy alcsoportra (paletta) van tagolva, a szükséges paletta az „Options/Icon Palette" útvonalon választható ki. A 7. ábra a koordinált mozgások palettáját szemlélteti. A fejlesztõ a taszk munkafelületére „vedd fel és ejtsd" technikával rakhatja fel a szükséges ikonokat és a végrehajtási sorrendnek megfelelõen összekapcsolhatja azokat. A 8. ábra egy egytengelyes hajtás lehetséges taszkját szemlélteti. Az ikonok a CLC nyelv egy, vagy több parancsának felelnek meg, a munkafelületre való felhelyezésükkor dialógus ablakok nyílnak meg, amelyekkel a ikonhoz tartozó argumenseket kell konzekvensen megadni.

A VisualMotion Toolkit menürendszerének néhány funkciója:
· A  „File" „Transfer ..." kezdetû almenü pontjai Windows-os programok szokásos funkcióin túl lehetõséget adnak a mozgásvezérlõ program egyes fogalmait reprezentáló adat csoportok (Cams, Events, I/O Mapper, Parameters, Points, Variables, Zones)  elkülönített kezelésére.
· A „Edit" menü segítségével új taszk, szubrutin és esemény függvény hozható létre,  megnevezéseket lehet rendelni változókhoz, regiszterekhez, bitekhez, a már meglevõket módosítani, törölni lehet.


                                                            7.  ábra


                                                            8. ábra

· A „View" teszi lehetõvé, hogy kiválasszuk a munkaterületen megjelenítendõ taszkot, szubrutint, eseményt.
· A „Setup" almenüpontjai segítségével lehet a vezérlendõ objektumnak megfelelõre konfigurálni a VMT-t. Pl. a „Card Selection" almenüponttal a duál-portos RAM címet ugyan arra az értékre kell állítani, mint amire a CLC kártya jumpereit állították. A „Setup" további almenüpontjainak helyes értelmezése a [2]-ben található.
· A „Tools" „Breakpoint Control" almenüpontja a fejlesztés közbeni tesztelést segíti.
· A „Data"   almenüpontjai  rávilágítanak a CLC nyelvnek arra a jellegzetességére, hogy nem kell a programban minden adatot részleteiben „elõre" megadni, elegendõ a hivatkozásnak szerepelnie. A hivatkozáshoz tartozó adatok „Data" almenüpontjaival megadhatók, vagy  megváltoztathatók. A  „Data" almenüpontjai arra is rávilágítanak, hogy a programfejlesztõknek milyen fogalmakkal kell tisztában lennie, (pl. „CAM  Indexer", „Events", „I/O Mapper", „PID Control Loop", „PLS", „Point", „Register", Sequencer", „Variable", „Zone", ld. részleteket  a  [2]-ben).
· A „Data/Registers" útvonalon érhetõk el a CLC duál-portos RAM területen levõ regiszterei, köztük a CLC mûködését irányító vezérlõ- és status regiszterek, I/O ki - és bemeneti puffer regiszterek.
· A „Data/I/O Mapper" útvonalon adhatók meg azok a logikai utasítások, amelyek az I/O ki - és bemeneti regiszterek bitjei között fennálló relációkat rögzítik. Az utasításokban a „!", „&", „|" operátorok, valamint a „( )" precedencia jelölés használható.

A mozgásvezérlõ számára CLC nyelvû szöveges program is irható, amelyet a VMT-vel lehet lefordíttatni. A program írásához olyan editort kell használni, amely nem alkalmaz formázó karaktereket. A CLC nyelv az assembly nyelvhez hasonló, egy sorának általános alakja:

mark: INSTRUCTION/OPTION arg1, arg2, .., argn ;text
ahol  mark – utasítás-sort jelölõ opcionális címke,
 INSTRUCTION – a CLC utasítás mnemonikja,
 OPTION – utasítás módosító,
 arg1, arg2, .., argn – az utasítás argumensei,
 text – magyarázó szöveg.
Pl.:
         MOVE/LINE ABS[5]
utasítás Cartesi koordináta rendszerben egyenes vonalú pálya mentén történõ mozgás az elõzõ mozgás végpontjától az abszolút pont tábla 5-ös indexû pontjáig.
A CLC nyelv utasításkészletének leírása a 7. fejezetében található [2].

4.2 A CLC kártya operációs rendszere

A CLC kártya operációs rendszere a mozgásvezérlõ mûködtetéséhez a duál-portos RAM területen levõ 512 darab 16 bites regiszter bitjeire támaszkodik. E 8192 bit mindegyikéhez a mozgásvezérlõ mûködéséhez fontos elemi logikai funkció van hozzárendelve. E bitek megfelelõ állításával vezérelhetõ a teljes rendszer. Pl. „Parameter Mode"-ról  „Run Mode"-ra lehet áttérni, indítani, megállítani lehet a taszkokat, stb. A mozgásvezérlõ programsorok végrehajtása is e bitekre épül. Az utasítás végrehajtása nem csak a mozgásvezérlõ hajtásaira van hatással, hanem közvetlenül, vagy közvetetten (a hajtásokon keresztül) a regiszter bitekre is. A regiszter bitek egy részének vezérlõ, más részüknek status jelzõ, ismét más részüknek ki- és bemeneti puffer szerepük van. A 2. táblázat a regiszterek funkcióit szemlélteti.

                    2.  táblázat
 

Regiszter Funkció
System Control
2-5  Task A-D Control
System Diagnostic Code
7-10  Task Jog Control
11-18, 209-240  Axis Control 1-8, 9-40
21  System Status
22-25  Task A-D Status
29  ELS Control
30  ELS Master Status
31-38, 309-340  Axis Status 1-8, 9-40
40-87  DEA (4/5/6) I/O
88 és 89  Task A Extend Event Control
90 és 91  Latch and Unlatch
95-97  BTC06 Teach Pendant Status
98 és 99  BTC06 Teach Pendant Control, Task A-B, C-D
100 és 101  User defined Inputs
120 és 121  User defined Outputs
400-405, 410-415  DEA (28/29/30) I/O

Pl. ha a System Control regiszter 1. bitjének  (R1.1), a „Paraméter mode/Run mode" bitnek az értékét „0"-ról „1"-re állítják, a CLC az összes taszk végrehajtását megállítja. A SERCOS kommunikáció a 2. fázisba esik vissza. A rendszer „paraméter módba" kerül és minden adat változtatható. A program folytatása viszont nem egyszerûen a bit értékének visszaállítása által történik, elõbb még más biteket is állítani kell! A regiszterek és bitjeik funkcióinak részletes leírása a „VisualMotion GPS 6.0 Reference Manual"-ben található.
Normál mozgásvezérlõ program végrehajtása közben a CLC operációs rendszere egy lefordított CLC nyelvû utasítást hajt végre. A fenti „MOVE/LINE ABS[5]" utasítás egy útszakasz megtételét írja elõ. Ennek az egyetlen utasításnak a végrehajtásához a CLC a ciklus idõnek megfelelõ gyakorisággal a SERCOS gyûrûre minden hajtás számára ki kell adja az aktuális útalapjel értékeket. A vázolt „egy utasítás - SERCOS kommunikációs folyam" a CLC operációs rendszerén belüli „útvonal tervezõ" munkájának eredménye. Az utasítás végrehajtása akkor fejezõdik be, amikor a rendszer  az „5"-ös indexû pont által kijelölt  koordinátájú helyre ér.
A CLC operációs rendszerének jellemzõje, hogy a memóriában a végrehajtandó taszkhoz tartozó adatokat (az utasítások argumenseit) az utasítás kódoktól elkülönítve tárolja. E tulajdonságot a VMT menü rendszere is tükrözi, lehetõvé téve a letöltött programok adataihoz történõ hozzáférést. A CLC nyelvû programok adatai mezõ, illetve „adatbázis" struktúrájúak, a CLC memóriájában táblázatos alakban tároltak.
A CLC operációs rendszerének részfeladata az „I/O Mapper" listáján szereplõ logikai utasítások „háttérben történõ"  ciklikus végrehajtása is.

4.3 Alkalmazói (operátori) interfész

A VisualMotion Toolkit segítségével a fejlesztõ a „Data/Registers" útvonalon a CLC kártyát vezérlõ regiszterek bitjeit állíthatja, megváltoztathatja, tehát tesztelheti, mûködtetheti az elkészült mozgásvezérlõt. A rendszert azonban ily módon mûködtetni nem csak kényelmetlen, de kockázatos is. Mozgásvezérlõ irányításáról lévén szó,  helytelen beavatkozás veszélyeztetheti az irányítandó objektumot és személyi sérülést is okozhat. Ezért az operátorok számára célszerû alkalmazói (operátori) interfész felületet (ember - gép kapcsolatot) kifejleszteni. A kapcsolatot CLC kártya mint szerver és az alkalmazói interfész szoftvere mint kliens között egy e célra fejlesztett CLC_DDE.exe szerver szoftver segítségével lehet megteremteni. („Tools/VisualMotion32, CLC_DDE Release 6" útvonal.)
A mozgásvezérlõ programmal már feltöltött CLC kártya második soros portján keresztül BTC06 távvezérlõvel is mûködtethetõ. A BTC06 (Teach Pendant) távvezérlõ maga is M68000 családhoz tartozó processzorral és kliens szoftverrel rendelkezik, amely menürendszert küld a távvezérlõ LCD ernyõjére. A rendszer operátora e menürendszer segítségével és a BTC06 funkciós gombjaival vezérelheti a rendszert. Egy ilyen alkalmazástól független ember - gép kapcsolat azonban csak program-fogalmakra (taszkok, táblázati adatok, stb) támaszkodhat.

5. Paraméterek

Adott mozgásvezérlõ alkalmazás konfigurációs adatait a „paraméterek" rögzítik. A mozgásvezérlõ akkor válik mûködõképessé,  ha a CLC kártya és  a digitális hajtások alapvetõ kommunikációs és inicializáló paramétereit megadták. A rendszer-építõnek a rendszer mechanikai jellemzõit is meg kell adnia. Ezek a paraméterek specifikálják a gép korlátait, pl. a maximális sebességet és gyorsulást, vagy a motor fordulatszám és a tengelyfordulat, illetve haladási sebesség közötti viszonyt.
 A paraméterek egyes csoportjai (típusai) a CLC kártyával, taszkkal, tengelyekkel, SERCOS kommunikációval kapcsolatosak, adatbázis szerû struktúrával rendelkeznek. Azonosítójukon (IDN) kívül megnevezésük, mértékegységük, adatuk (értékük) van.
Azonosítójuk alakja: X-s-nnnn, ahol
X a paraméter típusa:
  C - CLC rendszer (kártya) paraméter,
  T - CLC taszk paraméter,
  A - CLC axis (tengely) paraméter,
  S - SERCOS  hajtás paraméter,
  P - gyártó specifikus hajtás paraméter.
s 0 - 7 közé esõ készlet szám,
nnnn - 1 - 4095 közé esõ paraméter szám.
A rendszer, taszk és tengely paramétereket a CLC kártya memóriájában, a SERCOS paramétereket a digitális hajtásokban tárolják. A paraméterek kezelését a fenti azonosító rendszer teszi lehetõvé. Az összes paraméter elemhez hozzá lehet férni VisualMotion Toolkit-tal, vagy a CLC kártya soros portján keresztül, ASCII terminállal.

6.  Zavarelhárítás

A CLC kártyának és a SERCOS-os hajtásoknak a paramétereken alapuló széleskörû belsõ diagnosztikai rendszere van, amely folyamatosan ellenõrzi a rendszer mûködését és az eredményrõl „üzenetkódokkal" tájékoztat. A 600 üzenetkód
· státus üzenetekre,
· figyelmeztetõ üzenetekre és
· hibaüzenetekre
tagolódik. A státus üzenetek a rendszer állapotáról informálnak. A figyelmeztetõ üzenetek nem állítják le a programvégrehajtást, csupán nyugtázást igényelnek.  Hibaüzenetek esetén viszont leállnak a mozgások és a programvégrehajtás csak a zavarelhárítás után folytatható.   A VisualMotion Toolkit „Status" menüje nyújt segítséget a hajtások, taszkok és a CLC kártya zavarainak elhárításában. (ld. [3]) Az elõforduló zavarokról dátummal és idõponttal ellátott naplózás kérhetõ.  A programvégrehajtás a „Tools/Show Program Flow" úton figyelhetõ meg.

7. Összefoglalás

A CLC kártyával flexibilis mozgásvezérlõ hozható létre, amely széleskörûen alkalmazható az általános mozgásvezérlõtõl az elektronikus vezérlésû többgépes villamos tengelyek vezérlõin keresztül a robotok vezérléséig. A mozgásvezérlõ számítógépes szoftverkörnyezetét a VisualMotion Toolkit képezi.
A mozgásvezérlõ rendszer részét képezik digitális szervo hajtások és a SERCOS fíberoptikus kommunikációs rendszer is. A CLC-vel létrehozott soktengelyes koordinált és nem-koordinált mozgásvezérlõhöz szorosan integrálhatók logikai I/O vezérlõ funkciók.
A CLC nyitott busz architektúrája lehetõséget ad bármely gyártó PLC-jének és I/O kártyájának egyszerû csatlakoztatására. Digitális és analóg ki- és bemenet egyaránt lehetséges. Külsõ események minimális felismerési idejét interrupt típusú bemenetek biztosítják.
A VisualMotion rendszer túl bonyolult ahhoz, hogy egy cikkben lényegének ismertetésénél többre vállalkozzunk. A fejlõdés számítástechnikában és alkalmazási területein rohamos, a fentiekben leírtak a VisualMotion 6.0 verzióra igazak.

8. Irodalom

A VisualMotion rendszer megismerését az INDRAMAT GmbH-tõl beszerezhetõ részletes leírások, dokumentációk segítik, amelyek közül az alábbiakban felsorolunk néhányat (Az anyagok PDF formátumban CD-n is beszerezhetõk.):

[1] VisualMotion 6.0 Startup Guide
[2] VisualMotion GPS 6.0 Reference Manual
[3] VisualMotion 6.0 Trouble Shooting Guide
[4] DIAX04 HVE and HVR 2nd Generation Power supply Units
[5] DIAX03 DDS02.2/03.2 Drive Controller Basic Unit
[6] DIAX04 HDD and HDS Drive Controllers 2nd Generation
[7] DIAX04 Plugin modules for digital intelligent drive controllers - Projekt Planning Manual
[8] Digitale AC-Motoren, MKD - Projektirung
[9] Digital AC-Motors, MHD - Projekt Planning Manual