Jste zde

RS-232 komunikace u PLC Omron CP1L

Potřebujete řešit sériovou komunikaci u PLC Omron řady CP1L? Tak byste měli vědět několik dobrých informací. Jako například: jak zapojit konektor, protože vestavný RS-232 modul Omronu nedodržuje standardní zapojení, či kde provést nastavení parametrů komunikace. Vše přehledně v následujícím článku...

Jak jste se mohli již dozvědět z předchozích článků a příspěvků týkající se kompaktních PLC Omron CP1L, prodávají se standardně s USB programovacím rozhraním či nejnověji i s Ethernetem. Pokud tedy potřebuje pro komunikaci s jiným zařízením rozhraní RS-232 nebo RS-422/485 musíte si dokoupit rozšiřující modul. Stačí však jen v podobě zaklikávacího modulu do volného slotu CPU jednotky, který mají buď jeden u verze s 14 vývody nebo i dva u verzí s 20 či 30 vývody. V druhém případě tak může klidně nasadit i dvě sériová rozhraní a každé pak v programu zvlášť a rozdílně nastavit i provozovat. Měl jsem k dispozici jak PLC Omron CP1L-EM30DR, tak i RS-232 modul s typovým označením CP1W-CIF01, takže jsem mohl i prakticky vyzkoušet, jak se tím pracuje a zda zde existují nějaká úskalí při programování či zprovozňování.

  

Vestavný modul RS-232 komunikace CP1W-CIF01.

Zapojení konektoru

A hned na začátek se budu věnovat jednomu velkému úskalí, se kterým se můžete potýkat i několik hodin či dnů, pokud nezabrousíte do podrobných manuálů PLC či na OMRON stránky podpory programování. Totiž POZOR! Byť se RS-232 modul dodává s klasickým 9-pinovým canon konektorem typu samice, jeho zapojení vývodů není bohužel ani v nejmenším shodné s klasickým ustáleným a standardizovaným zapojením RS-232 komunikace. Hlavně zem (GND), která je u klasického RS-232 konektoru na vývodu č. 5, u OMRONu je až na vývodu č. 9. Pokud toto nevíte, tak Vám to prostě komunikovat nebude, i kdybyste se postavili na hlavu. Na vývodu č. 5 má totiž OMRON vyveden CTS handshake signál. Na vývodu č. 2 není příjem dat (RxD), ale naopak vysílání dat (TxD) a s vývodem 3 je to pak obráceně. Tedy pokud chcete například komunikovat na přímo s nějakým zařízením se standardním RS-232, tak nesmíte křížit RxD a TxD. Nakonec i ostatní handshake signály jsou u OMRONu úplně někde jinde. Takže nezbývá než si vzít páječku a udělat vlastní sériový kabel, nebo jako já, kompaktní RS-232 redukci OMRON - STANDARD a pak již používat standardní kabely, či při testování s notebookem převodník RS-232/USB. Sice osobně nechápu, co OMRON k takové zapeklité úpravě vývodů vedlo, ale budiž...

Popis pinů konektoru Canon v modulu PLC Omron.

Nastavení RS-232 v PLC

Režim funkce do příslušného slotu zasunutého sériového modulu, definuje nastavení řídících registrů PLC. Naštěstí však není nutné někde hledat, které to jsou, protože ve vývojovém a programovacím PC prostředí CX-Programmer můžete nastavení provést i výrazně pohodlněji prostřednictvím klikacího okna "Settings". Zde se nacházejí záložky "Serial Port 1" či případně i "Serial Port 2", pokud má CPU jednotka dva sloty, kde si všechny snadno vyberete a nastavíte. Navíc lze vyvolat i nápovědu, která Vám sice dost stručně ale alespoň něco řekne, co k čemu použít.

Pro variantu klasické RS-232 komunikace s jiným zařízením, například přenos příkazů v ASCII, se používá režim "RS-232 mode". Ostatní jsou pak pro vzájemnou komunikaci PLC, PLC <-> HMI panel atd. Také si zde rovnou můžete i nastavit úvodní a koncový ASCII znak či zvolit variantu ukončení paketu vysláním příkazu <CF><LF> nebo po nastaveném počtu přenosu znaků. Tedy v tomto směru je nastavení režimu RS-232 komunikace dost jednoduché.

V okně "Settings" a záložce "Serial Port 1" a "Serial Port 2" se odděleně nastavují komunikační parametry sériových komunikačních modulů vložených do slotu 1 či 2 v PLC Omron CP1L.

Programové ovládání RS-232

Pokud se veškeré nastavení režimu RS-232 komunikace provede ve výše zmíněním okně "Settings", pak v programu již stačí rovnou vložit a použít bloky RXD(235) a TXD(236), které přímo realizují RS-232 vysílání, resp. příjem dat. V nich je nutné definovat dva registry, přičemž jeden logicky slouží jako buffer příjmu či zdroj dat pro vysílání, zatímco druhý ještě k dodatečné konfiguraci přenosu (Control register). V něm se pomocí nahození či shození jednotlivých bitů 16bitového slova definuje číslo slotu (sériového portu), který se pro komunikaci má konkrétně použít, zapnout či vypnout používání handshake signálů a pak zda přenos slov bude probíhat stylem "big endian" či "low endian", tedy zda se z 16bitových dat budou vždy nejdříve přenášet horních či spodních 8 bitů. Vše je dost detailně a i s příklady popsáno v nápovědě k příslušnému funkčnímu bloku, a tak prakticky není s programováním sériové komunikace téměř žádný problém. 

Příklady RS-232 vysílání a příjmu uvedené v "helpu" k funkčním bloků TXD a RXD.

Pak už jen stačí sepnout vstup daného vysílacího či přijímacího bloku a komunikace již probíhá, tedy pokud máte správně vyrobený kabel či redukci (viz výše). Vzhledem k tomu, že do paměti PLC lze přistoupit pomocí okna "Memory", lze si zde například data pro vysílání předdefinovat a pak v programu PLC třeba měnit či doplňovat jen některé proměnné hodnoty a informace. Naopak přijatá data zde lze i uložit.

Monitorování v programovacím softwaru CX-Programmer - bit A392.06 definuje, zda je sériový port připraven.

Zkoušky přenosu ASCII znaků z a do PC přes terminál "Hercules".

Závěr

Pokud si tedy správně zapojíte komunikační kabel, tak pak je už vše bez problémů. Nastavení díky "klikacímu" menu je jednoduché a následné použití sériových komunikačních bloků je i díky dobrým příkladům v helpu také jednoduché. Pokud tedy potřebujete použít sériovou komunikaci RS-232, v případě PLC Omron to není složité realizovat...

Odkazy:

Přílohy: 
PřílohaVelikost
Package icon CP1L_E_test_send_receive_final.zip5.49 KB
Hodnocení článku: