Aktuální vydání

celé číslo

08

2022

MSV 2022

Projektování, konstruování a programování automatizačních a řídicích systémů

celé číslo

Přístroj pro měření a řízení pomocí PC

číslo 11/2004

Přístroj pro měření a řízení pomocí PC

Článek popisuje samostatný, rozměrově malý a snadno přenosný přístroj CTRL V3, určený zejména k laboratornímu měření a použití v automatizaci. Počítač nebo pracovní stanice doplněné tímto přístrojem mohou prostřednictvím komunikační linky s rozhraním RS-232, popř. USB, měřit nebo vysílat elektrické analogové nebo logické signály. Oproti použití klasických zásuvných karet přímo do počítače má tento způsob řešení několik výhod: snadnou přenositelnost mezi počítači, nezávislost na typu počítače, rychlé a pružné využití notebooků s omezenými možnostmi použití zásuvných karet, nízkou cenu i nenáročnou obsluhu.

1. Úvod

Měření a regulace jsou tradiční inženýrské disciplíny. Jejich nezbytnou součástí je i přímá práce s fyzikálními procesy. Na současných školních pracovištích proto nechybí fyzikální modely reálných procesů. Existuje dostatek zkušeností u nás [6] i v zahraničí [7], [8], [13], že např. výuka tradičních inženýrských disciplín je efektivnější a zajímavější, je-li orientována na praxi. Mimořádně úspěšné jsou také učebnice, jejichž základ tvoří aktivní práce s experimentálními modely [3].

Již na počátku 90. let dvacátého století se objevily pokusy [9] využít osobní počítač pro měření a ovládání fyzikálních procesů. Výhoda takového uspořádání je zřejmá. V počítači se s daty pracuje pohodlně, lze je snadno ukládat, vykonávat s nimi vědeckotechnické výpočty a zobrazovat je.

Během doby se ustálily dva odlišné přístupy k propojení počítače s přístroji měřícími nebo ovládajícími nějaký fyzikální proces. Jedno mají společné. Obvykle se mezi počítačem a procesem přenášejí elektrické signály. První způsob spočívá ve využití volného vnitřního slotu počítače, který se vybaví zásuvnou kartou umožňující měření a vysílání elektrických signálů. Druhý způsob se zakládá na použití samostatného měřicího nebo řídicího přístroje (např. PLC), který se připojí ke standardnímu vnějšímu portu počítače. Velmi často jsou to sériové porty RS-232 anebo USB. Podobná situace je např. u modemů pro připojení k internetu: jako modem lze použít kartu, která se zasune do počítače, ale také samostatnou jednotku, která se připojí k vnějšímu portu počítače.

Obě varianty mají své výhody a nevýhody a uživatel se rozhodne podle konkrétní situace. V době rozmachu notebooků s velmi omezenými možnostmi připojení karet do vnitřních slotů a také vzhledem k možnostem připojení na internet autor tohoto článku upřednostňuje spíše samostatné přístroje vně počítače. Taková jednotka především neomezí mobilitu počítače a není nutné do počítače jakkoliv zasahovat. Počítač se jednoduše přinese k modelu nebo zařízení, kde probíhá proces, který se má měřit nebo regulovat, standardním komunikačním kabelem se propojí s měřicím přístrojem nebo akčním členem, a je připraven k akci.

Na straně počítače je možné použít vlastní programové vybavení [2] nebo zavedený program. Pro oblast měření, regulace, vědeckotechnických výpočtů a vizualizací jsou to zejména programy LabView a Matlab. K druhému z nich má autor (z historických a dalších důvodů) blíže, proto se článek dále zaměří na použití popisovaného měřicího nebo řídicího přístroje právě s tímto programem. Připomeňme, že současná nejnovější verze je Matlab 7.0.1.

Myšlenkou vyvinout samostatný a snadno přenosný přístroj, který by Matlab propojil s okolním světem a tak rozšířil jeho možnosti o práci s fyzikálními procesy, se autor zabýval již dlouho. Byly vyvinuty a vyrobeny první prototypy takového přístroje na bázi mikroprocesoru Intel řady 8048 a Matlab 2 [10]. Přístroj, který dostal název CTRL (control), s počítačem komunikoval pomocí sériové linky RS-232. Byl schopen generovat i reálný čas, a proto bylo možné vytvářet plnohodnotné měřicí či regulační systémy. Měřicí ústředna nebo regulátor pracovaly v prostředí Matlab, proces byl reálný.

Další typ CTRL V92 byl postaven na bázi mikroprocesorů řady 51 [4] a určen pro Matlab 4, následující CTRL V94 [11] pracoval na bázi mikroprocesoru Philips 80C552. Obě verze se rychle rozšířily do laboratoří vysokých škol i na další pracoviště. Aby mohly pracovat také pro Matlab 6, bylo vyvinuto zcela nové programové vybavení [5].

Protože vývoj elektroniky a související techniky zaznamenal za poslední roky ohromný pokrok a potřeba měření a řízení skutečných fyzikálních procesů je stále aktuální [13], jevilo se jako účelné vyvinout a postavit jednotku CTRL zcela nově. Dalším impulsem byla také skutečnost, že od verze Matlab 6 je standardní součástí Matlabu podpora komunikace se zařízením prostřednictvím sériové linky. To bylo nutné v předchozích verzích doplňovat pomocí tzv. souborů MEX [10]. Vznikl tak moderní, rozměrově minimalizovaný a kompaktní přístroj (obr. 1) a byla vyřešena jeho podpora pro Matlab verze 6 i 7 [12]. S jeho pomocí lze poměrně snadno z prostředí Matlabu řídit skutečné fyzikální procesy a sbírat data. Nově vyvinutý přístroj byl pojmenován CTRL V3. V dalším textu jsou popsány jeho základní vlastnosti i některé možnosti použití.

Obr. 1.

2. Základní parametry nového přístroje

Základem CTRL V3 je mikroprocesor PIC 16F876A. Přístroj má:

  • čtyři analogové vstupy (0 až 10 V),
  • dva analogové výstupy (0 až 10 V, 50 mA),
  • čtyři logické vstupy a výstupy.

Logické výstupy jsou přizpůsobeny k přímému ovládání 12V relé. Celý přístroj je umístěn v běžném sériově vyráběném krytu mezi dvěma konektory Canon 25. Na jedné straně je konektor pro připojení signálů a na druhé konektor pro sériovou linku, která má optoelektronické oddělení. Při připojení k počítači není nutné instalovat žádné ovladače. K signálovému konektoru je možné připojit speciální svorkovnici, která může usnadnit připojení k vnějšímu procesu. CTRL V3 se napájí z univerzálního nestabilizovaného 12V zdroje (min. 300 mA). Má-li se použít port USB, je k dispozici ještě převodní konektor USB/RS-232.

Přístroj CTRL V3 stačí připojit k sériovému portu počítače a je připraven k činnosti. Pouze pro připojení k portu USB je třeba použít ovladač, který je možné volně získat z internetu. Přístroj může kromě měření a vysílání elektrických analogových a logických signálů také na požádání posílat obraz vstupů a výstupů periodicky a tím pro Matlab vytvářet reálný čas.

Sériová komunikace má následující parametry: 19 200 b/s, osm datových bitů, bez parity a jeden stop bit. Signál DTR (Data Terminal Ready) musí být ve stavu on, jinak jednotka neodpovídá; ale výstupní povely vykonává. Komunikační protokol s jednotkou CTRL V3 je znakový (sedm bit US-ASCII) a je navržen s ohledem na možnosti Matlabu 6 a 7. Je využita funkce terminátoru CRLF. K vysílaným příkazům se terminátor automaticky přidává. CTRL V3 na každý příkaz odpoví potvrzovací zprávou, popř. chybovým hlášením. Každý povel začíná řetězcem @01. Následuje vlastní příkaz, který je zakončen terminátorem CRLF. Na začátku odpovědi od přístroje je řetězec #01. Následují data (popř. chybové hlášení) a opět terminátor CRLF.

Skript Funkce
open_port( ) vytvoří sériový port
get_msg( ) měří všechny vstupy
set_u( ) vybavuje výstupy
set_t( ) nastaví periodu reálného času
close_port( ) zavře sériový port

Lze tak vytvářet skripty, ve kterých se používají standardní příkazy programu Matlab 6 nebo 7 pro komunikaci se zařízením přes sériovou linku a pro práci s textovými řetězci. Některé ze základních skriptů popisuje článek [12]. Jsou mezi nimi zejména skripty nezbytné pro fungování měření a regulace uvedené v tab. 1.

Běžný uživatel nemusí vůbec nic vědět o komunikaci s přístrojem, může pracovat pouze s několika skripty z tab. 1, které Matlab rozšiřují a jež jsou dodávány spolu s přístrojem. Ty slouží jako stavební bloky při vytváření vlastních aplikací. Skripty jsou vykonávány jako funkce s parametry. Použitím funkcí se zlepší přehlednost programu, je zabezpečena kontrola jejich parametrů (povolených hodnot), konverze na konkrétní příkaz pro CTRL V3, jeho vyslání, dekódování přijaté odpovědi a převod do číselného formátu nebo generování chybového hlášení.

Následuje přehled základních funkcí jednotky CTRL V3. Všechny lze využívat přímo z prostředí programu Matlab verze 6 nebo 7. Ke zjednodušenému používání některých z nich jsou vytvořeny zvláštní skripty [12]. Čtenář tak získá přehled, co všechno je možné s přístrojem dělat.

Ovládání výstupů:

  • nastavení nebo vypnutí digitálního výstupu, popř. všech současně,

  • zjištění stavu digitálního výstupu, popř. všech,

  • podmíněný časový bitový výstup: při stavu 1 vybraného digitálního vstupu (nebo také okamžitě po vydání příkazu) se na požadovanou dobu sepne digitální výstup (modifikací příkazu lze vypnout čítač, popř. zajistit, že se digitální výstup nerozepne; příkazem lze zjistit stav sestupného čítače, popř. všech),

  • generování impulsů na digitálním výstupu (parametry příkazu jsou počet impulsů, jejich šířka, šířka mezery a koncový stav),

  • nastavení analogového výstupu.

Načítání vstupů:

  • zjištění stavu digitálního vstupu, popř. všech (kromě aktuální hodnoty lze také detekovat existenci impulsů 0-1-0 nebo 1-0-1 od posledního čtení; příkazem však lze zjistit pouze změny digitálních vstupů od posledního čtení),

  • volba vstupů čítačů programově z digitálních vstupů (lze zjistit stav čítače, popř. všech, nebo nastavit jeho hodnotu),

  • přečtení analogového vstupu.

Operace s pamětí:

  • načtení a zápis do paměti EEPROM (lze nastavovat různé parametry ovlivňující funkce CTRL V3, např. povolení či zakázání automatického vysílání změn digitálních vstupů, parametry kalibrace analogových vstupů, přednastavený stav digitálních výstupů po resetu, hodnoty čítačů, zdrojové vstupy pro čítače, periodu automatického vysílání obrazu vstupů a výstupů apod.).

Obr. 2.

3. Příklad použití přístroje k testování regulátoru

Častou úlohou je regulace procesů na různých laboratorních modelech určených k tréninku studentů i k ověřování teoretických výsledků. Počítač se zde chová jako regulátor, regulovaný proces je skutečný, vně počítače. K tomu je třeba vytvořit vlastní skript při použití funkcí z tab. 1. Pořadí jejich použití bude v tomto případě následující: Regulace probíhá při předem nastavené periodě a žádané hodnotě w. Použije se funkce get_msg, která čeká na nastavenou časovou periodu a přečte všechny vstupy a výstupy přístroje CTRL V3. Změřená regulovaná veličina se převede do stejného rozsahu, v jakém se udává žádaná hodnota. Vypočte se regulační odchylka e = w – y. Ta se dosadí do použitého vzorce regulátoru. Výsledkem je akční zásah u, který se normuje do rozsahu 0 až 10 V a za použití funkce set_u se na přístroji CTRL V3 nastaví odpovídající výstupní napětí. Opět se použije funkce get_msg a celý cyklus se opakuje.

Obr. 2. Testování regulace pomocí přístroje CTRL V3. Zaznamenané odezvy regulace vodních nádrží: nahoře průběhy akčních veličin, dole průběhy regulované veličiny

Skutečným fyzikálním modelem byla soustava dvou propojených vodních nádrží. Cílem regulace byla změna hladiny ve druhé z nich, přičemž v této nádrži soustavně působí porucha v podobě stálého odtoku vody. Byla porovnávána dvě různá nastavení regulace. Jedno nové a jedno klasické (Zieglerovo-Nicholsovo). S pomocí přístroje CTRL V3 byla provedena regulace pro obě nastavení regulátoru a změřeny odezvy na skok žádané hodnoty. Jejich porovnání je na obr. 2, nahoře pro akční veličiny a dole pro hladinu ve druhé nádrži jako regulovanou veličinu. Průběhy nového nastavení jsou uvedeny plnou čarou, průběhy klasického Zieglerova-Nicholsova nastavení čárkovanou. Z porovnání průběhů je zřejmá koncepce obou nastavení. Klasické Zieglerovo-Nicholsovo nastavení je agresivní, což vede k relativně rychlému vyregulování, avšak s překmitem. Nové nastavení je opatrnější a tím i pomalejší, nezpůsobuje však žádný překmit. To se projevuje i ve vynaložené energii akčních zásahů i menším opotřebením akčních členů.

Zmíněný experiment byl uskutečňován postupně, nejdříve pro jeden regulátor, pak pro druhý. Naměřená data byla ukládána do paměti a později vynesena do grafů. Testované regulátory přitom pracovaly ve zcela reálné situaci, podobně jako v praxi. Tento postup je daleko lepší než se pohybovat pouze v ideálním prostředí počítače. Je tomu tak proto, že regulaci zde negativně ovlivňují zcela samozřejmé součásti digitální regulace, jakými jsou vzorkování (jde vlastně o přidané dopravní zpoždění), zaokrouhlení při měření A/D a D/A převodníkem (jde vlastně o přidaný šum) apod. Proto tyto reálné experimenty mají svou nezastupitelnou úlohu při převádění teorie do praxe.

4. Závěr

Článek stručně představil nový přístroj pro propojení PC se skutečným prostředím. Přístroj se může uplatnit hlavně v laboratořích, kde pro účely měření či regulace rychle a nenáročně propojí počítač se skutečným fyzikálním procesem. Přitom je vyřešeno jeho propojení s programem Matlab, kde lze s naměřenými daty dále pracovat.

Poděkování
Práce byla vytvořena za finanční podpory grantového projektu GA ČR registrovaného pod číslem 102/03/0625.

Literatura:

[1] BISSELL, C.: Control engineering education for the information age. Measurement & Control, 1998, 31, 5, p. 150–154.

[2] BURKHARD, K.: Měření, řízení a regulace pomocí PC. Vývoj hardwaru a softwaru pro praxi. BEN – technická literatura, Praha, 2003.

[3] DORF, R. C. – BISHOP, R. H.: Modern Control Systems. 8th edition. Addison-Wesley, 1998.

[4] DUŠEK, F. – KLÁN, P.: Laboratorní jednotka styku s prostředím pro počítače. Automatizace, 1993, 36, s. 294–296.

[5] DUŠEK, F. – HONC, D.: Využití sériové linky pod Matlabem verze 6. In: Sborník konference Matlab, Praha, 2002.

[6] HORÁČEK, P.: Laboratory Experiments for Control Theory Courses. A Survey. Annual Reviews in Control, 2000, 24, p. 151–162.

[7] JOVAN, J. – PETROVCIC, J.: Process laboratory – A neccessary resource in control engineering education. Computers Chemical Engineering, 1996, 20, p. 1335–1340.

[8] KHEIR, N. A.: Control systems Engineering Education. Automatica, 1996, 32, 2, p. 147–166.

[9] KLÁN, P. a kol.: Adaptivní PID regulátory s monolitickými µ-počítači. Praha, ÚTIA ČSAV, 1990.

[10] KLÁN, P. – GÖRNER, V. – MARŠÍK, J.: Technické a programové nástroje pro práci CADCS systémů v reálném čase a fyzikálním prostředí. [Výzkumné zprávy 1706 a 1731.] ÚTIA ČSAV, Praha, 1991.

[11] KLÁN, P.: Akviziční přístroj CTRL V94 pro PC a pracovní stanice. Příručka uživatele. ÚTIA ČSAV, Praha, 1994.

[12] KLÁN, P. – HONC, D. – JINDŘICH, J.: Nová měřicí jednotka CTRL V3. In: Sborník konference Matlab, Praha, 1992, vol. 1, s. 292–298.

[13] LEE, P. L. a kol.: A modular laboratory for process control and process engineering. Journal of Process Control, 2003, 13, p. 283–289.

doc. Ing. Mgr. Petr Klán, CSc.,
Ústav informatiky AV ČR, Praha
(pklan@cs.cas.cz)

Inzerce zpět