cz
en

MiniPLC a záchrana dat

Procesní stanice MiniPLC jsou tu s námi od roku 2006. Ačkoli byly před několika lety vyřazeny ze sortimentu a přestaly být aktivně prodávány, stále pracují na několika tisících zakázek. Po bezmála dvaceti letech se ale každé zařízení blíží konci své životnosti a výjimkou nejsou ani tato PLC. Protože Domat usiluje u svých zákazníků o maximální ochranu investic, snažíme se udržet tato zařízení v chodu co nejdéle. Pojďme se proto podívat do MiniPLC trochu hlouběji a ukázat si, jaká můžeme udělat preventivní opatření proti ztrátě dat a co si počít, když MiniPLC začne mít problémy.

Následující řádky se týkají těchto typů: IPLC200, IPLC300, IPLC201, IPLC301 a MXPLC. Jde o procesní podstanice s operačním systémem firmy Beck IPC. Standardní způsob práce využíval vývojové prostředí SoftPLC IDE a jeho část Platform Config, což byl dialog, který umožňoval detekci PLC v síti, nastavení jeho IP adresy a dalších parametrů, a nahrání aplikačního softwaru včetně definice menu pro LCD displej, případně definice sériového Modbus serveru a webových stránek pro vestavěný web server. Jiné nástroje nebyly pro komunikaci s PLC v podstatě třeba.

Prevence

Jestliže PLC stále funguje, rozhodně stojí za to připravit se na možný výpadek. Pokud máme k dispozici zdrojový projekt pro SoftPLC IDE, je to dobrá zpráva. Pak stačí zkontrolovat, zda verze projektu je ta, co je nahrána v PLC. To vidíme v okně, které se otevře po navázání spojení s PLC:

 

V tomto případě je v PLC úplně jiný projekt, než z jakého jsme se připojili. Rozhodující je políčko Identification, které zobrazuje GUID projektu – unikátní identifikátor, který vzniká při založení projektu. Ostatní údaje nejsou rozhodující, projekt je jiný a nemá smysl pokračovat dále.

Při připojení na totožný projekt vypadá okénko takto:

 

Pravděpodobně bude Edit save time v levém sloupci novější než v pravém a rozdíl časů bude podbarven červeně. To může znamenat, že projekt byl mezi dřívějším nahráním a nynějším připojením pouze zkompilován a nebyly v něm provedeny žádné úpravy, ale i to, že na PC máme novější verzi projektu, která se od verze v PLC funkčně liší.

Dalším krokem bude stažení aktuálních dat do projektu na PC. To uděláme tlačítkem Retrieve values from SoftPLC. Po skončení operace je projekt občerstven aktuálními hodnotami (které mezitím nastavil uživatel), jako jsou časové programy, požadované hodnoty, parametry atd. Tím pádem po případném nahrání projektu z IDE do PLC budou tyto hodnoty zachovány.

Kompletní stažení obsahu z PLC

Veškerá data jsou v PLC uložena v paměti Flash. Paměť se chová jako disková jednotka, tedy po připojení přes FTP je možné do PLC zapisovat soubory (což se děje při změnách konfigurace a nahrávání programu) – ale i soubory kopírovat zpět do počítače. Právě toto využijeme pro zazálohování kompletního obsahu PLC.

Pomocí FTP klienta navážeme spojení s PLC. Doporučuje se například Total Commander nebo FTP klient v CHIPTOOLu, viz níže. FTP spojení používá konstantní jméno a heslo: 000FB0 / F51679. (To je také důvod, proč by PLC nemělo být přístupné ze sítě Internet.)

 

Po připojení máme přístup na „disk“ PLC, označený jako A:

 

Celý obsah disku zkopírujeme do PC.

 

Soubory specifické pro projekt jsou ty se jménem SOFTPLC. Veškeré nastavení PLC, jako IP adresa, hesla, SoftPLC Link port atd. jsou v souboru CHIP.INI. Ten je textový a lze ho normálně editovat. Adresář WEB obsahuje webové soubory pro vestavěný web server.

Jakmile vyrobíme zálohu, máme jistotu, že budeme schopni funkce PLC rekonstruovat k okamžiku tvorby zálohy. I když nemáme zdrojový projekt nebo zdrojový projekt je starý, při havárii PLC můžeme (i na jiný PLC hardware) obsah disku přes FTP nahrát zpět a po restartu se PLC bude chovat jako původní kus. Pokud dojde ke změně parametrů (časových programů atd.) a chceme obsah PLC zálohovat tímto způsobem, je nutné počkat tři hodiny, než se nové parametry permanentně zapíší do paměti FLASH (bezprostředně po změně jsou pouze v paměti RAM a po vypnutí napájení se změny ztratí).

PLC nemůže načíst projekt nebo projekt nelze nahrát

Ke ztrátě dat v PLC může dojít z několika důvodů: poškození vlivem přepětí, kdy se na PLC již nedá spojit, protože dojde ke zničení procesoru nebo komunikačních obvodů, ale i jen „únava“ paměti a poškození některých sektorů. Právě PLC s poškozenou pamětí je často poměrně snadno opravitelné, stačí interní disk zformátovat, čímž se poškozené sektory označí a nejsou dále využívány.

Nejprve ale můžeme zkusit méně destruktivní metodu: uvést PLC do továrního nastavení v menu Platform Config, Advanced Servicing, Reset to factory defaults. Tato operace smaže projekt a nastaví výchozí IP adresu (192.168.1.37) a další parametry. Může se stát, že po následném nakonfigurování PLC a nahrání programu se runtime úspěšně spustí.

Po uvedení do továrního nastavení zůstanou v PLC pouze čtyři soubory:

autoexec.bat (po startu PLC spustí službu pro konfiguraci splccfg.bex a runtime softplc.bex)
CHIP.INI (obsahuje konfigurační údaje ve výchozím nastavení)
splccfg.bex (program pro konfiguraci PLC, umožňuje nastavení PLC přes Platform Config)
softplc.bex (MiniPLC runtime – otevře a spustí aplikační program SOFTPLC.PRG, je-li nahrán)

Nastavení výchozí IP adresy může způsobit, že PLC nebude v síti přístupné. Pozor na operace prováděné na dálku, přes namapované porty na routerech, za VPN a podobně. Mohlo by se stát, že s PLC definitivně ztratíme spojení. Je vždy lepší takto fatální zásahy provádět přímo u PLC – i proto, abychom mohli případně ručně vypnout a zapnout napájení.

Po uvedení do továrního nastavení by PLC mělo jít normálně nakonfigurovat pomocí Platform Config a měl by do něj jít nahrát program, web, PLC menu či definice Modbus sériového serveru.

Jestliže uvedení do továrního nastavení nepomůže, zkusíme zformátovat disk. Formátování disku ale nenávratně zničí všechna data: projekt i konfiguraci PLC. Pokud projekt nemáme nebo neznáme podrobnosti konfigurace a nemáme ani kompletní zálohu souborů z PLC, je lépe se formátování vyhnout.

Jak tedy zformátujeme disk?

Formátování disku v PLC

Nejprve si připravíme záložní obsah PLC – výše uvedené předem zazálohované soubory. Pokud je nemáme, můžeme použít zálohu z jiného PLC, po znovuoživení se pak nastavení dá změnit a program přehrát. Záloha z jiného PLC je také ke stažení v příloze tohoto článku.

Připojíme se k PLC, tentokrát pomocí terminálu (např. Hyperterminal) na TCP port 23.

 

Je také možné použít program CHIPTOOL výrobce procesorů Beck IPC. Program již není ke stažení na stránkách výrobce, ale je k dispozici např. zde https://beck-chiptool.software.informer.com/6.1/ . CHIPTOOL umožňuje jak detekci PLC, tak komunikaci pomocí terminálu, navíc obsahuje FTP klienta, takže by měl stačit pro všechny zde popsané operace.

Jméno a heslo pro připojení je pevné, tel / tel. Opět platí, že tento port nesmí být dostupný z veřejné sítě. Napadení by bylo otázkou minut.

Po připojení v terminálu zadáme příkaz

format a:

a na dotaz „Sure? (Y/N)” potvrdíme „y“.

Postup je indikován přibývajícími tečkami na obrazovce. Po skončení formátování se vypíše informace

.............................................................................................................................................................
Formatted drive A:

Může se stát, že proces selže na vypršení watchdogu:

….WDT expired ! Reset !

Pak se přihlásíme znovu a formátování opakujeme.

Pozor! Nyní je disk prázdný a po rebootu PLC bychom se na ně již přes FTP nepřipojili – chybí soubor CHIP.INI a PLC by si nenastavilo IP adresu (resp. v síti by musel být DHCP server), FTP server by neměl definované jméno a heslo. Nedošlo by ani ke spuštění konfigurační služby pro Platform Config. V tuto chvíli nesmí dojít k vypnutí napájení nebo zadání příkazu reboot!

Dále se s PLC spojíme přes FTP a nahrajeme zpět do adresáře A: záložní soubory. Po úspěšném nahrání teprve můžeme PLC restartovat.

Revitalizace CHIP.INI

Pokud by se nám přece jen povedlo čerstvě zformátované PLC bez konfiguračního souboru vypnout a zapnout, není nic ztraceno:

PLC připojíme do sítě s DHCP serverem. Po restartu PLC obdrží IP adresu a lze je detekovat v Platform Configu.

 

Na detekované adrese se s PLC spojíme terminálem přes TCP port 23, jméno / heslo je jako předtím tel / tel.

Příkazem

edit

otevřeme textový editor s prázdným souborem.

Do schránky zkopírujeme obsah záložního CHIP.INI a v terminálu vložíme tento obsah do editovaného souboru (v Hyperterminálu funkcí Úpravy – Vložit k hostiteli). Schránka má omezený počet znaků, může být nutné text kopírovat po částech.

Uložíme soubor (v Hyperterminálu Esc pro menu, 3 = Uložit soubor jako) pod názvem CHIP.INI

Opustíme editor (v Hyperterminálu Esc pro menu, X = Ukončit editor)

Zkontrolujeme, že se obsah souboru uložil:

type chip.ini

(pokud ne, znovu otevřeme editor a v krajním případě obsah opíšeme ručně) a restartujeme PLC příkazem reboot nebo vypnutím a zapnutím napájení.

Pak by již mělo být možné se s PLC spojit přes FTP a nahrát do něj všechny výše uvedené soubory. Detekce v Platform Configu zatím nebude možná, resp. PLC bude nalezeno, ale označeno červeným vykřičníkem – zatím na něm neběží konfigurační služba ani runtime. Má již ale adresu definovanou v CHIP.INI a je vidět i název PLC.

 

Po nahrání souborů a dalším rebootu již by mělo být vše v pořádku

 

a s PLC by mělo jít normálně pracovat, nahrávat program a spojit se s ním ze SoftPLC IDE.

V případě, že po spuštění programu nefunguje komunikace na sériových portech, runtime chybně detekoval hardwarovou platformu, na níž běží. Rozlišujeme mezi IPLC201/301 a MXPLC s integrovaným I/O modulem. Metoda detekce je dána nastavením parametru PLATFORM v CHIP.INI v sekci DEVICE:

[DEVICE]
PLATFORM=1   

Hodnota má následující význam:

1 – automatická detekce
0 – MiniPLC (201/301)
2 - MXPLC

Pokud nefunguje automatická detekce, nastavíme napevno příslušnou platformu, soubor CHIP.INI uložíme a restartujeme PLC.

Platforma by ale měla také jít nastavit ze SoftPLC IDE v sekci Advanced Servicing:

 

Nová hodnota se do souboru CHIP.INI uloží hned, ale projeví se až po restartu PLC.

Několik tipů na závěr

Na závěr několik tipů pro to, aby vše proběhlo hladce:

Máme-li záložní PLC, vyzkoušíme si celou proceduru nejdříve na něm v klidu na stole. Vyhneme se tak stahování programů na poslední chvíli atd.

Záložní PLC, je-li stejného typu, vezmeme s sebou na akci. Přinejhorším je tam můžeme nechat a původní PLC odvézt.

Akci plánujeme – pokud to jde – na všední den a běžnou pracovní dobu.

Pokud pracujeme na dálku, je dobré, když na místě je někdo, kdo je schopen alespoň vypnout a zapnout napájení a hlásit stavy LED a další chování PLC.

Zálohy, stažené z PLC, opatříme názvem zakázky a datem zálohování a uchováváme tak, aby byly dostupné.

Pokud se s PLC nelze nijak spojit nebo se PLC chová jinak, než je popsáno, kontaktujte technickou podporu Domat.

S technickou podporou je možné si domluvit i termín předem, přispívá to k většímu klidu při práci. Technik tak bude připraven případně pomoci na dálku.

Pokud si vůbec nevěříme, je možné objednat celý zásah u servisního oddělení Domat.

A_.zip - Zabalený obsah disku A: v PLC