Jak ovládat kompaktní pohon ILx pomocí M221 přes RS-485 s ASCII. 1.3.2016 Klíčová slova: Somachine Basic, M221, ILx, RS-485, kompaktní pohon, ASCII Cíl: Pomocí M221 přes RS-485 spustit kompaktní pohon ILx. OEM solution 1
NEŽ ZAČNETE Tento manuál předpokládá, že máte základní znalosti práce s vývojovým prostředím SoMachine Basic. Je nutná znát, jak se připojit k PLC a jak provést stažení aplikace. Pokud těmito znalostmi nedisponujete, doporučujeme nastudovat dokumentaci k Somachine Basic. V tomto dokumentu bude popsáno, jak vytvořit jednoduchý program ovládající kompaktní pohon ILx s RS485 pomocí zpráv v ASCII kódování. POUŽITÝ HARDWARE PLC z řady M221 Modbus kabel Kompaktní pohon ILx s RS-485 OEM solution 2
KROK 1 KOMUNIKACE Nejprve je potřeba zajistit samotnou RS-485 komunikaci. Takže nastavíme parametry sériové linky (rychlost, parita ), aby odpovídali kompaktnímu pohonu ILx. V nastavení protokolu vybereme ASCII. Dále je potřeba nastavit komunikační funkční blok. Nejprve je potřeba poslat příkaz pro výběr kompaktního pohonu obsahující jeho adresu (3 byty odeslat, 2 byty přijmout). Dále je do kompaktního pohonu potřeba přenášet příkazovou zprávu a pohon odpovídá stavovou zprávou (17 bytů odeslat a 16 bytů přijmout). Nastavíme si tedy komunikační bloky %Send_recv_msg podle následujícího obrázku: Když jsou komunikační bloky nastaveny, můžeme začít vytvářet program. OEM solution 3
KROK 2 GRAFCET Ovládání pohonu můžeme snadno řešit pomocí GRAFCETu. Nejjednodušší případ může vypadat například takto: POZNÁMKA 1 ASCII, DECIMÁLNÍ A HEXADECIMÁLNÍ ZÁPIS Standardně používáme zápis čísel v desítkové soustavě, ale pro počítače využívající binární kód je výhodné používat zápis hexadecimální (jeden byte, je zapsán jen 2 znaky). Jedná se tedy o rozdílnou reprezentaci uspořádané skupiny bitů. Příklad: Decimální hexadecimální binární ASCII Aby bylo možné snáze interpretovat obsah zprávy, komunikuje pohon v ASCII podobě a platí následující převodní tabulka: 0 = 30 h 8 = 38 h 1 = 31 h 9 = 39 h 2 = 32 h A = 41 h 3 = 33 h B = 42 h OEM solution 4
4 = 34 h C = 43 h 5 = 35 h D = 44 h 6 = 36 h E = 45 h 7 = 37 h F = 46 h KROK 3 VÝBĚR OVLÁDANÉHO POHONU Nejprve musíme poslat pohonu zprávu, že s ním chceme komunikovat. Tato zpráva je ve tvaru #n<cr> (n je adresa pohonu). Když máme nastavenou adresu motoru 1, je nutné poslat zprávu #1<CR>. To odpovídá 23 h 31 h 0D h, jak je uvedeno na obrázku níže. Tato zpráva obsažená v %MW30 a %MW31 se bude opakovaně posílat každých 200 ms (pro jistotu je kontrolována, zda blok nepracuje, když je posílán příkaz k aktivaci). POZNÁMKA 2 TVAR ZPRÁVY Posílaná zpráva se skládá z 16 ASCII znaků, což odpovídá 16 bytům. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Flag+ typ příkazu subindex index data OEM solution 5
KROK 4 PŘEHAZOVÁNÍ FLAG BITU Řídicí systém pohonu identifikuje novou zprávu podle změny začátku zprávy. Je tedy potřeba vytvořit podprogram, který bude začátek zprávy měnit například takto: První byte se mění z 8 (38 h ) na 0 (30 h ). Neostrá nerovnost v prvním porovnávání je kvůli nulové hodnotě po startu programu. KROK 5A PŘECHOD NA RESET POHONU Když dojde k aktivaci vstup %I0.0 nebo paměťového bitu %M10 (pro účely testování), přejde Grafcet do kroku aktivace pohonu OEM solution 6
KROK 5B RESET POHONU Pohon resetujeme tak, že zapíšeme 08 (3038h) do paměti s indexem 1C (3143h) a subindexem 01 (3031h). Viz následující obrázek: KROK 5C PŘECHOD NA AKTIVACI POHONU Když je odeslán příkaz pro rest, můžeme přejít k aktivaci pohonu podle následujícího obrázku: OEM solution 7
KROK 5D AKTIVACE POHONU Pohon aktivujeme tak, že zapíšeme 02 (3032h) do paměti s indexem 1C (3143h) a subindexem 01 (3031h). Viz následující obrázek: Zpráva obsažená v %MW10 až %MW18 se bude opakovaně posílat každých 200 ms (pro jistotu je kontrolována, zda blok nepracuje, když je posílán příkaz k aktivaci). KROK 6A PŘECHOD NA ŘÍZENÍ OTÁČEK POHONU K přechodu na další krok dojde, pokud není aktivní komunikace a motor je zapnutý (je aktivní bit %MW23:X1). OEM solution 8
KROK 6B OVLÁDÁNÍ OTÁČEK Otáčky pohonu lze ovládat zápisem požadované hodnoty do indexu 24 (3234 h ) se subindexem 1 (3031 h ) Vstupem %I0.0 budeme volit, zda se bude pohon otáčet v kladném nebo záporném směru. Podle toho zapíšeme do %MW16 a %MW17 07DO (3037 h 4430 h ) nebo F830 (4638 h 3330 h ). Pro záporná čísla se používá dvojkový doplněk. Zpráva obsažená v %MW10 až %MW18 se bude opakovaně posílat každých 200 ms (pro jistotu je kontrolována, zda blok nepracuje, když je posílán příkaz k aktivaci). KROK 7A PŘECHOD VYPNUTÍ POHONU Pokud není aktivní vstup %I0.0 ani paměťový bit %M10 dojde k přechodu na krok vypínající motor. OEM solution 9
KROK 7B VYPNUTÍ POHONU Pohon aktivujeme tak, že zapíšeme 01 (3031h) do paměti s indexem 1C (3143h) a subindexem 01 (3031h). Viz následující obrázek: Zpráva obsažená v %MW10 až %MW18 se bude opakovaně posílat každých 200 ms (pro jistotu je kontrolována, zda blok nepracuje, když je posílán příkaz k aktivaci). OEM solution 10
KROK 8 PŘECHOD DO POČÁTEČNÍHO STAVU Pokud je pohon vypnutý dojde k přechodu do počátečního stavu. Tato podmínka je vyjádřena neaktivním bitem %MW23:X1. OEM solution 11
Schneider Electric CZ, s. r. o. U Trezorky 921/2 158 00 Praha 5 Zákaznické centrum Tel.: 382 766 333 E-mail: podpora@schneider-electric.com Schneider Electric Slovakia, s. r. o. Karadžičova 16 821 08 Bratislava Zákaznícke centrum Tel.: 02 4552 4010 E-mail: sk.schneider@schneider-electric.com www.schneider-electric.cz www.schneider-electric.sk 02 2016. S1545CZ_03 OEM solution 12 2016 Schneider Electric. Všechna práva vyhrazena. Všechny ochranné známky jsou ve vlastnictví společnosti Schneider Electric Industries SAS nebo jejích přidružených společností.