Re: Linux jako PLC (MaR, SCADA, ...)

Jan Kasprzak <[email protected]>
Newsgroups gmane.linux.region.czech
Message-ID <[email protected]>
Milan Kratochvíl wrote:
: Dobrý den,
: 
: Ze zkušenosti bych řekl, že vše má svá úskalí či jiné objemy prací a
: samozřejmě i jiné ceny.
: 
: U nakupovaných IO modulů a PLC budete řešit zda vám stačí a jak
: obejít nedostatečná zabezpečení, jak obejít, že nemůžete udělat
: vlastní protokol a další a další a to nemluvím o ceně, která bude u
: kusovky astronomická. Faktem je, že pokud do dáte slušně dohromady
: tak to bude běhat i několik let bez jediného zaseknutí.

	Moje zkušenost je jiná. Řešili jsme třeba PLC, které se někdy
jednou za několik měsíců "náhodně" zaseklo. A zaseklo se tak, že operační
systém se rebootoval, PLC tedy vypnulo všechny vstupy, a pak nenaběhl program.
Řádově 100 kW tepelného zisku datacentra bylo najednou bez chlazení.
Zvýšení teploty o 1-2°C za minutu, čili tak za čtvrt hodiny game over.
Výměna PLC nepomohla, byla to zřejmě SW chyba v operačním systému.

	Podle mých zkušeností nejsou "hardwarové" PLC o mnoho
spolehlivější než to Raspberry. Možná dokonce naopak jsou méně spolehlivé.

: U nakupovaných IO modulů a vlastním řízení budete řešit jakou
: sběrnici použít aby to stíhala řídící deska a možná se dostanete do
: stadia kdy nejvíce práce zabere komunikace s moduly a odladění všech
: částí programu tak aby se nesekal po měsíci provozu.
: 
: Nakonec bych řekl, že záleží na počtech IO co potřebujete a na
: prostředí ve kterém budou běhat. Poslední dobou používám moduly od
: Balluffa (IOlink nebo EtherCat) nebo od Beckhofa (Ethercat). Jako
: řízení mám nařízeno Beckhoff což je softwarové PLC běžící na Windows
: (což asi nechcete slyšet). Programuje se to pomocí TwinCat3 což je
: Codesys ve VisualStudiu a tak si můžete udělat skoro cokoli, ale ta
: cena je šílená.
: Pro změnu doma jsem udělal řízení vytápění (včetně kotle na uhlí) na
: Arduinu Mini a byl jsem spokojen dokud jsem nekoupil nový kotel.
: Jakmile padne záruka tak vyhodím Siemense co tam mají osazeného a
: udělám si něco co bude fungovat. Asi opráším Mini jen rozšířím
: hardware, což zase přináší jiná úskalí.
: 
: Shrnul bych to tak, že pokud se primárně chcete věnovat pouze
: vlastnímu programu pro řízení technologie tak je to verze PLC + IO
: moduly, ale ta cena.
: Pokud použijete vlastní desku + IO moduly bude cena menší, ale
: strávíte spoustu času programováním a odlaďováním komunikace s
: moduly.

Ono to má ještě tu výhodu, že když budu mít program pod kontrolou,
tak ho kdykoli budu moct upravit. Zatímco takto jsem byl vázaný
na externí dodavatele, a za čas se dozvíte "tohle už se nevyrábí,
tohle už nepodporujeme".

Samozřejmě je to víc práce a netroufl bych si to zadat externí firmě,
ale zase možná ten výsledek a to, že to celé mám pod kontrolou,
bude ve součtu lepší.

: Pokud použijete vlastní desku + vlastní IO moduly bude cena nejmenší
: (možná) a strávíte opravdu spoustu času na vlastním zprovozněním
: hardware a vlastní program pro řízení technologie bude jen mizivá
: část práce.

	Jo, asi do vlastních modulů bych nešel.

: PS: právě mne ještě napadla varianta použít nakupované PLC + IO pro
: řízení technologie a přidat desku (třeba právě Raspberry) pro
: komunikaci s vnějším světem. Takto jsem to měl před cca 10 lety, ale
: tehdy ještě nebylo Raspberry tak jsem tam měl normální počítač s UPS
: a na něm Debian, který tahal data z PLC pomocí sériové linky a
: Apache + PHP pro přístup z internetu. Web jsem si napsal sám a tak
: bylo zabezpečení jen na mne.

	Já jsem právě chtěl mít pod kontrolou i ten program, nejen
komunikaci. To je prostě zoufalé když chodíte kolem té vizualizace
a přímo vidíte, že "teď by to mohlo dělat něco trochu jiného a ušetřil bych
energii", vidíte, že ta změna by byla pár řádků, ale buďto to nemůžete
zadat dodavateli, nebo by to bylo příliš drahé.

	Tož tak. Díky za názor.

-Y.

: Dne 13.12.2017 v 15:17 Jan Kasprzak napsal(a):
: >	Dobrý den,
: >
: >TL;DR: jak byste řídili průmyslové procesy v Linuxu? Jakým hardwarem
: >	a jakým softwarem?
: >
: >Podrobně: možná budu specifikovat nebo i nakupovat a třeba i programovat
: >řídící systém pro nějaké technologické procesy (nic realtimového,
: >představte si třeba chlazení/topení, řádově větší desítky I/O),
: >a protože z pozice zákazníka a uživatele už bohužel mám s pár takovými
: >systémy zkušenosti, a z pozice programátora a uživatele Linuxu by se tyto
: >zkušenosti daly povětšinou shrnout do zkratky "WTF", přemýšlím o tom,
: >jestli jde toto toto dělat lépe.
: >
: >Jedna věc je fyzická stránka - kde vzít nějaké elektricky a fyzicky
: >robustní vstupy a výstupy - jednak rozumně spravovatelné, na DIN lištu,
: >odolné proti rušení i elektrostatice, digitální i analogové (0-10V, třeba).
: >
: >Druhá věc je "procesorový modul". Tady jsem potkal jen brutálně předražené
: >a poddimenzované proprietární věci, ke kterým často potřebujete proprietární
: >IDE, někdy i s HW klíčem, a u kterých brzo narazíte na to, že "tohle
: >už neupočítáme". A přitom máte dost jasnou představu, že Raspberry Pi
: >za tisícovku toho v Perlu nebo Pythonu zvládne daleko víc, než proprietární
: >PLC v kompilovaném jazyce. A to nemluvím o bezpečnosti typu "nezměnitelné
: >implicitní heslo", nešifrované HTTP, nebo "webové rozhraní bez kontroly
: >parametrů"[1]. Ale zase Raspberry není přímo napájitelné ze standardních 24 V.
: >
: >Třetí věc je software: já bych to asi programoval v Perlu protože proč ne,
: >ale radši se zeptám, jestli jsou reálně použitelné i jiné možnosti,
: >kde by ta věc byla lépe připravená na "událostní" řízení, generování
: >vizualizací, ladění za běhu, atd.
: >
: >No a poslední věc je komunikace: protokolů je spousta, jeden horší než
: >druhý :-)
: >
: >- SNMP nemá transakčnost, v3 skoro nikdo neposkytuje, načítat třeba každou
: >	vteřinu stovku hodnot není rozumně realizovatelné.
: >- MODBUS je jednoduchý, ale RTU (a některé implementace TCP) poskytují
: >	jen jednu session, nelze k tomu přistupovat zvlášť třeba Nagiosem
: >	a zvlášť nějakou vizualizací. Taky není samodokumentující se
: >	a nemá "push" notifikace, je nutný polling
: >- BACnet je samodokumentující se, událostně řízený, se sofistikovaným
: >	skládáním skutečných hodnot z různých automatick nastavených a ručně
: >	přenastavených priorit, ale je to obrovský mastodont, který navíc
: >	každý výrobce implementuje trochu jinak a navzájem nejsou příliš
: >	kompatibilní. Některá BACnetová PLC (Delta) ale mají programy přímo
: >	čitelné jako zdroják a editovatelné přes samotný BACnet, což je pěkné.
: >- s CAN jsem zatím nepracoval, takže nevím
: >
: >Zatím mi jako nejlepší vychází koupit něco proprietárního, co má rozumně
: >elektricky a mechanicky udělané vstupy a výstupy, a tyto jen tupě překládat
: >třeba na MODBUS/RTU (něco takového dělá třeba WAGO), a vedle toho postavit
: >Rasberry nebo jiný obecný počítač, a na něm dělat tu inteligenci,
: >jejíž výsledky dál posílat jako SNMP/JSON/cokoli dalšího. Toto by mohlo mít
: >výhodu lepší napojitelnosti i na další věci, které třeba samy komunikují přes
: >SNMP nebo jiné protokoly.
: >
: >Máte někdo nějaké zkušenosti s takovýmito systémy? Jak byste tohle dělali?
: >
: >-Yenya
: >
: >[1] Potkal jsem například zařízení, kde ve webovém rozhraní se četl logovací
: >soubor na URL http://to_zarizeni/log?file=/var/log/log.txt. A skutečně se
: >to tak chovalo, při změně parametru "file" to bylo ochotné poskytnout
: >jakýkoli soubor :-(
: >
: 
: _______________________________________________
: Linux mailing list
: [email protected]
: http://www.linux.cz/mailman/listinfo/linux

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
> That's why this kind of vulnerability is a concern: deploying stuff is  <
> often about collecting an obscene number of .jar files and pushing them <
> up to the application server.                          --pboddie at LWN <
_______________________________________________
Linux mailing list
[email protected]
http://www.linux.cz/mailman/listinfo/linux
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.