Aktualizováno v červenci 2019

      
 

   ProfiLab Expert - nejen měřicí ústředna z vašeho Windows PC ...
 
Úvod

ProfiLab expert je zajímavý produkt od německé společnosti Abacom Electronic Software, která mimochodem vyvinula vynikající SW Bascom (Basic) pro programování jednočipových mikropočítačů Atmel (Atmega), či SW pro návrh desek plošných spojů a kreslení schémat. Zvažoval jsem, zda ProfiLab expert uvedu na stránkách o základech programování nebo někde jinde. Nakonec jsem volil variantu v kapitole užitečných aplikací pro desktopy.

Charakteristika programu Abacom Expert z mého pohledu

Licence: Placený program, kategorie levných programů pro jednotlivce, licence na uživatele, cena cca 99 Euro.
Druh: Vývojové prostředí. Program je objektově orientovaný. Grafické prostředí obsahuje obrovské množství objektů (displeje, spínače, zdroje signálu, generátory, analogové a logické objekty, nástroje pro komunikaci). Objekty se vkládají na pracovní plochu, obdobně, jako schématické značky a jejich vizuální interpretace se po vložení zobrazuje také na tzv. front panelu (čelní panel). Objekty se spojují logickými spoji, tak, jako piny součástí ve schématu. Demoverze umožňuje spustit nakreslený program po dobu 3 minut. Projekt nelze uložit ani exportovat. Placená verze umožňuje projekt nejen ukládat, ale také kompilovat (jedno kliknutí). Po kompilaci se vytvoří jediný spustitelný soubor (.exe), který lze spustit pod Windows. Proto, na rozdíl od některých systémů typu SCADA, považuji ProfiLab za vývojové prostředí.
Ovládání: Ovládání je velice intuitivní. Na rozdíl od jiných programů jste schopni po jeho instalaci schopni nakreslit svůj první program, spustit ho a vyzkoušet si jeho chování.
Webový server: ProfiLab Expert obsahuje jakousi demoverzi www serveru. Pokud ve vývoj. prostředí nastavíme, aby byla aplikace přístupná na webu, program vytvoří a spustí stránku s ovládacími prvky, které lze zobrazovat, případně jimi ovládat aplikaci pouze s www prohlížečem.

Silné stránky: Jednoduché kreslení programu, mnoho použitelných objektů, komunikační rozhraní pro různá zařízení (od RS 232, přes různá rozhraní PLC), vytvoření spustitelného exe souboru pod Windows.
Slabé stránky: Považujte mé hodnocení jako velice subjektivní. Jako neprogramátor jsem se naučil základy procedurálního i objektového programování v různých vývojových prostředích (Visual Basic, Gambas) a s pomocí různých jazyků (Visual C++, Visual Basic, Gambas). Nikdy jsem však neprogramoval např. v jazyce C, ale rovněž jsem ani neprogramoval systémy SCADA. Přestože jsem rychle přivykl myšlení a filosofii použité v systému ProfiLab, stejně rychle jsem začal postrádat nějaký hezký skriptovací jazyk (např. Basic), pro psaní vlastních procedur. Také jsem si nevšiml, zda má ProfiLab nástroje pro tvorbu vlastních objektů. Předpokládám, že nemá.

Zkoušky

První program:


 

První program je jednoduchý. Jsou použity dva generátory (systémový čas a systémový datum), které generují čas a datum. Tyto objekty jsou propojeny se dvěma displeji. Po spuštění programu běží na front panelu datum a čas (viz obrázek vpravo).  

 

Objekty

Vývojové prostředí obsahuje mnoho užitečných objektů. Jsou rozčleněné do několika kategorií a zobrazují se v levém menu. Obsahují prvky pro zobrazování veličin a jejich hodnot nebo průběhů. A to od signalizačních LED diod, přes bargrafy, displeje, až po simulátory osciloskopů, plotrů (X, Y, Y(t)) nebo vícekanálový logický analyzátor. Menu obsahuje rovněž prvky pro zadávání vstupů, a to od tlačítek, spínačů, přepínačů, přes potenciometry a slidery až po generátory. V jiných kategoriích jsou pak objekty různých analogových obvodů (hradla, invertory, kombinační obvody, sekvenční obvody, registry, čítače ...). Ale lepší než spousta slov je pár obrázků. Vždy se snažím ukázat namalované schéma a spuštěný program:

 
Vpravo na obrázku je menu, ve kterém jsou vidět kategorie objektů a podrobné menu s tzv. HW komponety, které obsahují jednak komponenty např. pro komunikaci RS-232, Modbus/TCP nebo komunikaci s multimetrem Metex.

Ve spodní části jsou rozdělené objekty pro použití se zařízením různých výrobců.

Na obrázku dole je v menu ukázané tlačítko, které zkompiluje projekt do spustitelného exe souboru:

 

Příklad osciloskopu (vlevo schéma, zleva slidery na nastavení frekvence amplitudy, uprostřed schéma funkčního generátoru, vpravo objekt osciloskopu). Na pravé straně je spuštěný program. Vlevo nahoře jsou slidery na nastavování f a A, vpravo zobrazení průběhu výstupů funkčního generátoru na dvou kanálech.
 

 
Obdobně pracuje plotter - schéma vpravo, záznam dole:

 
Objektů je opravdu mnoho. Některé jsou nevizuální, provádějí nám např. to, kvůli čemu programujeme v jiných jazycích procedury a funkce. Dole je ukázka použití tzv. objektu Formula, který provádí aritmetickou operaci (nebo matematickou funkci) se vstupní hodnotou. Způsob zadávání je v nápovědě. Příklady: 10-E0, 3*E0, E0 + E1 ....E0, E1, atd. jsou vstupy objektů, asi od Eingang, A, je výstup, asi Ausgang ...
 

 
Sériová komunikace

Vyzkoušíme si ji na jednoduchém schématu (viz pod textem). Ke zkoušce potřebujeme USB - RS232 převodník (obr. vpravo) s tzv. nulovým modemem, což v praxi znamená, že jsou propojené špičky TX do RX (č. pinů 2 a 3), obrázek vpravo.

Na Windows PC, kde to zkouším, tak už byl převodník dříve zasunut. Tento, s čipem FTDI se ve správci zařízení hlási jako COM3.

Na mém PC se jiný čip FTDI hlásí na COM4, čipy CH340 na COM5, další čipy na COM6 a COM7, ale to není důležité.

 

Podíváme se však do správce zařízení, kde náš COM máme a ve vlastnostech objektů COM ho nastavíme stejně.

Vlastnosti objektů (Properties) umožňují nastavit také tzv. preambuli přenosu. Schéma jsem zapojil takto (obrázek pod textem). Použil jsem generátory konstant (řetězců), do jednoho jsem dal konstantu "Ahoj", do druhého "Nazdar". Generátory jsem připojil k objektům COM, které umí vysílat řetězec znaků - viz levá část schématu.

V pravé části jsem spojil objekt COM, který umí přijímat řetězec ze sériového portu. Všechny objekty musí mít nastavený stejný COM, tj. zde COM3 a také stejnou preambuli, tj. bajty, které se přenesou před znaky dat (já jsem zadal posloupnost 254 254 118 224), což reprezentuje hodnoty bajtů (0 až 255 je přípustné a odpovídá to 00 až FF hexadecimálně).

Na COM přijímače jsem připojil generátor na hodiny. To způsobí, že to vyčítá příjem z portu periodicky s ohledem na takt generátoru.

Na COM vysílačů jsem přidělal tlačítko. Když ho dvakrát stiskneme, odešle řetězec do portu COM3. Proč dvakrát, na to jsem nepřišel. Zkoušel jsem to jen v demoverzi ProfiLab, která neumožňuje ukládat projekt. Takže jsem si nemohl dát na špičku SND u objektu COM analyzátor, abych se podíval, co se děje. Možná tlačítko nedá celý pulz s náběžnou i sestupnou hranou, možná jsou objekty naprogramované opravdu tak, že se jednou hranou vyčte vstup a druhou se odešle do portu. Objekty jsou zapouzdřené, proto do jejich algoritmů nevidíme. A ani si to autoři nepřejí. Pro nás, uživatele se chovají jako černé skříňky.

Důležité je, že sériová komunikace funguje.
 

Chyby?

Také jsem nějaké našel. Možná jsem dobře neprozkoumal použité objekty, ale např. v tomto schématu (dole) jsem použil dva generátory (systémový čas a systémový datum) a jeden displej. S tím, že si budu vstup displeje přepínat páčkovým přepínačem. No, když jsem dal na každý výstup z generátorů displej, byly tam datum a čas spřávně (viz první příklad, tedy 15:59:43 a 15.07.2019). Když jsem to prohnal skrz přepínač, byl řetězec pošahaný (zobrazovalo se 1507 místo 15.07.2019). Tož, není to drát, ale zapouzdřený SW objekt, který za mě naprogramoval programátor (asi v C, C++) a testem na to nepřišel, protože to možná na přenos řetězce netestoval, hi.

 
Webový server

Webový server se prodává samostatně (asi za 80 Euro) a v ProfiLab Expert je pouze jakási demoverze. Samozřejmě, že jsem vyzkoušel. Upřímně, nenadchla mě až tak. Viz příklad dole. Udělal jsem si zdroj, kde na každý slider, kterým nastavuji napětí jsem připojil voltmetr. Jednou digitální (nahoře), podruhé analogový (měřák dole). Program jsem nastavil tak, aby byl publikován na webu během jeho chodu. To se stalo. Byl na mém PC spuštěn webový server, který běžel na IP adrese 127.0.0.1 a na stránce v prohlížeči jsem měl použité komponenty z front panelu. Pomocí sliderů se dalo štelovat napětí, voltmetry ukazovaly to, co na hlavním panelu spuštěné aplikace. No, stránku moc editovat nešlo. Je to demoverze, lepší, než drátem do oka. Znám však systémy SCADA, které umí hezčí prezentaci na webu.
 

 
Webový server obsahuje také zkompilovanou demoverzi hodin od tvůrců programu. Vypadá takto nějak:
 

 

Závěr

I když je Profilab Expert verze 4. placeným programem (jedním z levnějších), obsahuje veliké množství naprogramovaných objektů, se kterými snadno a doslova během několika minut vytvoříme použitelnou aplikaci pro ovládání měřicích přístrojů, pro zobrazování naměřených dat, a to včetně grafické a tabulkové prezentace výsledků. Program má mnoho komunikačních rozhraní, včetně RS-232. Jedná se o skutečně vývojový prostředek, který nám po kompilaci dá oblíbený stand alone exe program, který můžeme spouštet pod systémy Windows.

Poznámka:

Na této stránce vidíte, co jsem stihnul otestovat na demoverzi programu v expresu, který jede z Budějovic do Prahy a zpátky. Tedy souhrnem asi za 4 hodiny. Aniž bych kdykoliv předtím ProfiLab viděl. USB převodník s nulovým modemem jsem si připravil předem, protože právě zkouška komunikace mě zajímala nejvíc.

 
TU 73, Mira, ok1ufc