• Blaja
  • Archiv
  • Čtečka DataMatrix kódu DataMan100X do PLC Simatic S7 přes RS232

Čtečka DataMatrix kódu DataMan100X do PLC Simatic S7 přes RS232

  • úterý, 11 listopad 2008 03:00

Logo pohon Čtečka DataMatrix kódu DataMan100X do PLC Simatic S7 přes RS232.

Tyhle a jim podobné čtečky jsou vybaveny rozhraním RS232. Potřeboval jsem ji připojit do PLC a nějak vyčíst a zpracovat sejmutý kód. Jednalo se o datamatrixový kód, ale čtečka se dá nastavit i na ostatní kódy včetně čárových. Nakonec to nebylo tak složité, spíš zajímavé, připadal jsem si jak na pokladně v obchodě (samé pípání). Čtečka výrobce Cognex, typ Datman100X, tedy to "nejsilnější" co bylo nabídnuto. České zastoupení firmy má Applic Liberec. Odtud mě ochotně jeden kus na týden půjčili k vyzkoušení, neboť jsem nevěděl jak to bude s protokolem a vytvářet něco u stroje stojí za ...

Celá čtečka je dost malá, ale umí prakticky vše. K nastavení je nezbytný software "DataMan Setup Tool" ve verzi 3.1.1, není placený, takže se dá stáhnout z netu. Bez samotné čtečky je na nic, neboť celé menu je přístupné, až po připojení čtečky. Příjemné je, že po nainstalování nástroje se na disk rozbalí i nějaké manuály a popisy, takže už nemusíte nic moc dále stahovat.

Takhle to vypadá, červené světlo je na zlepšení rozpoznávání, má nějakou ideální vlnovou délku.

18kB

Komunikace, napájení a ostatní je vyvedeno na 15-ti pinovým VGA konektoru. K tomu je třeba další kablík z 15pina VGA na 9pin Cannon, kde na straně VGA je v konektoru vyveden vstup pro napájení. Ten byl tak atypický, že jsem musel od kolegy získat nějaký vietnamský univerzální zdroj a ten jeho konektor ještě zmáčknout kleštěma. Vnější průměr byl totiž dobrý, ale malý moc tenký.

Dá se ale koupit přímo originál zdroj i se správným konektorem.

22kB

Takhle to vypadalo kompletně na stole pro zkoušení. Čtečku je vhodné nejdříve připojit přímo do COMu v PC se softwarem, až se nastaví a funguje, tak pak do PLC.

60kB

Patřičný software je balík cca 200MB, ale nainstaluje se bez problémů. Několi ukázek je níže, jsou dost zajímavé. 

5kB

Tohle je menu při připojené čtečce. Bez ní je viditelné a přístupné jen první "Connect to Reader". 11kB

Jakmile čtečka přečte kód, okamžitě se zobrazí jeho obsah (je níže a není teď vidět) a i pozice kde byl kód zachycen. To je výborné pro seřízení vzdálenosti a okna záběru. Vše je vidět "on-line".

Můj datamatrixový kód byl velikosti asi 5x5mm a jeho čtení je podstatně složitějsí než čárový kód třeba v obchodě. Je to vše ale otázka čtečky, ta jej buď přečte, nebo ne. Jak mě informovali z Applicu, jiná varianta neexistuje.

22kB

Tady je vidět okno s nastavením kamery. Důležité je triggrování, čtečka má totiž i externí digitální vstupy, ktarými se dá čtení spouštět nebo synchronizovat. Pro mou aplikaci, ale potřebuji interní triggr, viz dále.

Samozřejmě software umožňuje spoustu dalších nastavení, které se dají uložit do souboru.

Poznámka, při změně některého z parametrů, je třeba nastavení uložit do čtečky a tu pak vypnout a zapnout. 

21kB

Sestava Simatic S7-300, jen CPU314 a komunikační procesor RS232 CP340-1AH02-0AE0. Stačí, neboť data je třeba jen číst. 27kB

V HW konfiguraci nastavit protokol ASCII a přijatý telegram na čas, neboť pokaždé je zpráva jinak dlouhá, záleží na délce znaků v damaxu kódu. 10kB

Příjem znaků v PLC zajistí standardní blok Siemens, kde je jen nutno nastavit kam se přijaté data "vrhnou", tedy nějaký datový blok dostatečně dlouhý, aby dokázal přijmout patřičnou délku dat.

Všechny tyto bloky jsou na CD s komunikačním procesorem, ale z minulých pokusů i tady na Odkazy+Down.

7kB

Takhle vypadal datamatrixový kód který jsem četl. Ten se dá vygenerovat a vytisknout buď speciálním softwarem (ten je ovšem placený), nebo přímo "on-line" na netu a vytisknout. Těchto generátorů je dost, mě stačil tento zde, ikdyž vložil do kódu vždy na začátek znaky DEMO. Dokonce i Siemens má svůj generátor tady. 15kB

Ve stausu jsou vidět přijaté data. Ještě jsem si udělal pro sebe počítání přijatých telegramů, všechny jsou dobré a obsahují znaky "DEMO abcd".

V podstatě, pokud je kód na papíře, tak stačí před čtečkou mávnout papírem, ta pípne a data jsou na místě. Funguje to perfektně. Akorát při skutečné aplikaci si bude potřeba pohrát s nastavením čtečky, záleží totiž na podkladu kódu, jeho kvalitě a i velikosti.

Ve čtečce se dá nastavit zajímavá funkce, a to, nečíst stejný kód dvakrát. To je fajn, nemusí se ošetřovat vícenásobné čtení, neboť když je kód před čtečkou, tak ta data chrlí ven rychlostí "atomové reakce". což někdy není to pravé, stačí jednou a dost.

14kB

Ještě jsem vyzkoušel porovnat přijaté telegramy. V knihovně Stepu7 je blok pro komparování stringů (jak mě poradil kolega J.B.) a ten je pro to jak dělaný. Jen si musíte přijaté telagramy uložit do statických proměných v DB (viz. obrázek), neboť blok neumí porovnat stringy v různých DB pomocí pointeru, tedy např. příkazu P#DB10.DBX0.0 BYTE20.  10kB

Závěr : Nakonec se přijmutí dat ze čtečky ukázalo jako jednodušší než jsem čekal. Větší práce je s nastavením samotné čtečky, kde je nastavovací software nezbytný.


Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209