Proměna programátora desktop → PLC

Ferda

Proměna programátora desktop → PLC
« kdy: 11. 03. 2016, 14:08:53 »
Dobre odpoledne vazene kolegyne a kolegove,

Zhruba 15 let se zivim programovanim pro desktop, casto proti nejakemu HW zarizeni. Tzn. nastudovat noty k danemu zarizeni, pripadne implementovat nejaky proprietarni komunikacni protokol. Vystupem muze byt knihovna/API, nad kterou se udela nejake to UI. Nic svetoborneho.

Nejsem technicky uplny levak (tim nemyslim PC, ale ostatni prakticke veci). Uvazuji nad praci programatora PLC kontroleru. Nicmene vubec nevim, v cem takova prace spociva. Vim jen, ze zminene kontrolery podle programu ovladaji nejakeho robota ve strojarske vyrobe.

Ma otazka - v cem takova prace programatora spociva? Ma smysl nad tou praci uvazovat vzhledem k me pracovni historii?

Predem diky za nazory.
« Poslední změna: 13. 03. 2016, 22:15:14 od Petr Krčmář »


eiffel

Re:Promena programatora Desktop -> PLC
« Odpověď #1 kdy: 11. 03. 2016, 18:42:54 »
Zadek  otlačený z letadel a aut, bolavá záda ze špatných hotelových postelí, žaludeční vředy z hospodské stravy.
Programování PLC (pokud Vás nenutí být prase a neprogramuje se to ve strukturovaném textu) je vcelku triviální.
Grafiku na OP řešíte taháním myší, o komunikaci se nestaráte, to si řeší PLC sama implementovanými průmyslovými protokoly, takže pokud víte, co má technologie dělat, jste v podstatě sakra velmi dobře placený úředník.
Stačí se naučit základní pravidlo, že :
1. PLC načte vstupy
2. Interpretuje program (program běží shora dolů a zleva doprava)
3. Nastaví výstupy
4. Komunikuje
... a tak stále dokola ...

Re:Promena programatora Desktop -> PLC
« Odpověď #2 kdy: 11. 03. 2016, 20:31:06 »
Tohle mě taky zajímá, protože o tom vůbec nic nevím :)

Je to teda tak, že je to jednoduchá práce a je dobře placená jenom proto, že lidí s touhle znalostí je málo? Proč se to teda víc lidí nenaučí? Protože je to opruz nebo protože lidi vůbec netuší, že něco takového existuje a že by to mohli dělat?

A ještě jedna obecnější, možná hloupá otázka: je to perspektivní technologie nebo spíš relikt minulosti, který bude postupně ustupovat plnohodnotnějším kontrolerům na nějakém RTOSu? Má to nějaké zásadní výhody? (jako třeba nějakou možnost formálního ověřování korektnosti nebo jánevímco...)

kkjan

Re:Promena programatora Desktop -> PLC
« Odpověď #3 kdy: 11. 03. 2016, 20:31:35 »
Pisem z vlastnej skusenosti. Takze da sa suhlasit s eiffel-om. Programovanie PLC nie je ziadna veda. Vyuziva sa graficke programovanie LAD/FBD (Nieviem ako sa to nazyva inde ja som robil zo Simaticmi-> Siemens). Niektori programuju v niecom podobnom ako asembler (STL). Jedine z cim nesuhlasim s eiffel-om je ze preco je prasacke programovat v strukturarnom texte (SCL). Ja som v tom dost robil, a naprilklad recepty umiestnene v poli sa v tom robia docela lahko (struktura a pole zo struktury). Inac je to o tom ze sa nacitaju vstupy, spracuju sa v programe a zapisu sa na vystup. Sranda zacina ak tych vstupov zacina byt 500 a viac a do toho nejaky analog a   PID/PSD regulator. T To zacina byt i sranda/veda o nastaveni toho regulatora. Taktiez su potrebne znalosti z elektrotechniky a orientacie v schemach :-D Napr. ak nejaky signal nechodi:-D A  je tu aj otazka zodpovednosti/bezpecnosti prevadzky napr. pri blokaciach nejakych veci co sa nesmu v danom momente robit (napr. blokovanie otvorenia nejakej nadrze ak je v nej horuce medium a pod.) aby sa obsluhe daco nestalo;-D

Preco som to nechal je cestovanie (kvoli rodine), inac praca je to zaujmava. Bud budes robit pre nejaku vacsiu vyrobnu spolocnost, v ktorej sa budes starat o technologiu (cestovanie az tak nehrozi) alebo pre spolocnost dodavajucu technologie (vtedy sa nacestujes az moc a na dlhsie doby, hlavne ak sa technologia spusta v zahranici). ak si myslis ze ta cestovanie bavi a aspon co to uvidis, tak to nie je az tak pravda. Z celeho cestovania vidis akurat fabriku, najblizsi hotel a potraviny alebo nejaku restiku. Inac si na place a programujes, ladis spustas pripadne zaucas obsluhu:-D.

kkjan

Re:Promena programatora Desktop -> PLC To Mirek Prýmek
« Odpověď #4 kdy: 11. 03. 2016, 20:38:16 »
Perspektivu to ma. Ide hlavne o bezpecnost prevadzky preto sa pouzivaju tie PLC. RTOS je fajn ale iba ako dohliadaci system napr. SCADA alebo pre prevadzky kde nie je az tak kladeny dpraz na bezpecnost technologie. Resp. pri velkych technologiach RTOS riadi menej kriticke casti alebo je pouzity ako dohliadaci a vizaualizacny system pre tie PLC. A cena PLC nie je vobec mala. Je to prave kvoli tej ich odolnosti, testovaniu a bezpecnosti. Najlacnejsi model Simaticu S7-200 vyjde sice na cca 250 EUR ale to je cisto na zaklad kedy mas par vstupov/vystupov. vyssie rady ako S7-300 S7-400 sa splhaju vyssie min 2000eciek a ktomu si prirataj V/V karty nejake priferie a pod.


Re:Promena programatora Desktop -> PLC
« Odpověď #5 kdy: 11. 03. 2016, 20:51:32 »
Díky, je to zajímavý.

A to neexistuje třeba nějaký způsob, jak PLC programy převádět nějak definovaně na procesy pod RTOS? Ty RTOS-y jsou pořád ještě docela slušně deterministické, tak by to docela dobře mohlo jít, ne? (jak říkám, nic o tom nevím, nejspíš si to představuju jak Hurvínek válku ;) )

eiffel

Re:Promena programatora Desktop -> PLC
« Odpověď #6 kdy: 11. 03. 2016, 20:58:21 »
Niektori programuju v niecom podobnom ako asembler (STL).
To je u SIMATICu to nejlepší, co může být. V ničem jiném simatica neprogramuji.

Z celeho cestovania vidis akurat fabriku, najblizsi hotel a potraviny alebo nejaku restiku. Inac si na place a programujes, ladis spustas pripadne zaucas obsluhu:-D.
Svatá pravda. Ale dá se "urvat" a něco vidět ... Ono se ale nechce ...

Je to teda tak, že je to jednoduchá práce a je dobře placená jenom proto, že lidí s touhle znalostí je málo? Proč se to teda víc lidí nenaučí? Protože je to opruz nebo protože lidi vůbec netuší, že něco takového existuje a že by to mohli dělat?
PLC a jejich programovací styl vznikl proto, aby se dřívější logika postavená na relé a stykačích dala snadno implementovat. (viz. Ladder Logic)
Je dobré být i trochu elektrikářem, protože se musíte vyznat v elektroprojektu a také snáz opravíte chyby po elektrikářích (anebo jim aspoň řeknete co mají chybně zapojené)
Jinak stran programování:
Dnes už to jde tak daleko, že můžete u některých typů porovnávat klidně float s integerem, PLC si s tím poradí (i když je to prasečina)...
RTOS je příliš "nízký" level... Sice na PLC většinou běží, ale vy jako programátor jste o mnoho pater výše ...
Vše máte předpřipravené, "blikací" bity různých frekvencí, datum, čas, komunikační buffery, bity o stavu baterie, retentivované proměnné ...


eiffel

Re:Promena programatora Desktop -> PLC
« Odpověď #7 kdy: 11. 03. 2016, 21:00:50 »

robotron

Re:Promena programatora Desktop -> PLC
« Odpověď #8 kdy: 11. 03. 2016, 21:07:35 »
Díky, je to zajímavý.

A to neexistuje třeba nějaký způsob, jak PLC programy převádět nějak definovaně na procesy pod RTOS? Ty RTOS-y jsou pořád ještě docela slušně deterministické, tak by to docela dobře mohlo jít, ne? (jak říkám, nic o tom nevím, nejspíš si to představuju jak Hurvínek válku ;) )

To je dotaz zcela ignorujici myslenku predchozich odpovedi. Samozrejme, ze to jde. Jde to prelejt do programovaciho jazyka, do HDL, do MCU. Ale pointa soudobeho nasazeni PLC je prave v tom, ze se dana skupina lidi vedome a zamerne omezi na

1. konkretni HW od dodavatele, oplyvajiciho vymluvnymi razitky, casto i slusnou referenci, kolik desetileti bez vymeny to kde chodi (bylo by prima, kdyby se dokazal pochlubit i slusnou technologii a dobrym navrhem, ale to uz tak jednoznacny nebejva)

2. programovani s pouzitim velmi osekanejch vyrazovejch prvku.

Projektu nahrady resp. implementace PLC v ruznejch RTOSech, MCU aj. jsou hromady.

Re:Promena programatora Desktop -> PLC
« Odpověď #9 kdy: 11. 03. 2016, 21:12:31 »
Zhruba 15 let se zivim programovanim pro desktop, casto proti nejakemu HW zarizeni. Tzn. nastudovat noty k danemu zarizeni, pripadne implementovat nejaky proprietarni komunikacni protokol. Vystupem muze byt knihovna/API, nad kterou se udela nejake to UI. Nic svetoborneho.

Ma otazka - v cem takova prace programatora spociva? Ma smysl nad tou praci uvazovat vzhledem k me pracovni historii
Nevim co si představit pod popisem tvé práce.  Jako v čem programuješ? Co za zařízení? Jak je připojuješ? Kdo a jak používá ty aplikace? ... ale asi je to jedno.

PCL jsou dnes strašně jednoduché systémy. V podstatě všechno naklepeš v grafickém ovládacím programu s logikou vstup se sepnul něco udělej. je několik základních systémů které se liší logem a trochu přeházenýma ovládacíma prvkama.

Co je potřeba? Základní elektrikářský znalosti, hodně ligické uvažování a trochu základní práce s pc a to je všechno. Osobně se divim že to nedělá víc lidí protože programátoři PCL jsou královsky přeplacení.

Re:Promena programatora Desktop -> PLC
« Odpověď #10 kdy: 11. 03. 2016, 21:14:14 »
PLC a jejich programovací styl vznikl proto, aby se dřívější logika postavená na relé a stykačích dala snadno implementovat. (viz. Ladder Logic)
Jo, to jsem pochopil, zběžně jsem na to koukal shodou okolností nedávno.

RTOS je příliš "nízký" level... Sice na PLC většinou běží, ale vy jako programátor jste o mnoho pater výše ...
Vše máte předpřipravené, "blikací" bity různých frekvencí, datum, čas, komunikační buffery, bity o stavu baterie, retentivované proměnné ...
Aha, chápu.

Jukněte třeba sem ...
http://www.tecon.cz/prod_automaty_click.php
Díky, ale moc mi to neřekne :) A nějak podrobněji to studovat nechci, chtěl jsem jenom slyšet od lidí, co v tom dělají, vo co vlastně go :)

Re:Promena programatora Desktop -> PLC
« Odpověď #11 kdy: 11. 03. 2016, 21:17:45 »
To je dotaz zcela ignorujici myslenku predchozich odpovedi. Samozrejme, ze to jde. Jde to prelejt do programovaciho jazyka, do HDL, do MCU. Ale pointa soudobeho nasazeni PLC je prave v tom, ze se dana skupina lidi vedome a zamerne omezi na

1. konkretni HW od dodavatele, oplyvajiciho vymluvnymi razitky, casto i slusnou referenci, kolik desetileti bez vymeny to kde chodi (bylo by prima, kdyby se dokazal pochlubit i slusnou technologii a dobrym navrhem, ale to uz tak jednoznacny nebejva)

2. programovani s pouzitim velmi osekanejch vyrazovejch prvku.

Projektu nahrady resp. implementace PLC v ruznejch RTOSech, MCU aj. jsou hromady.
Buď jsem to nepochopil, nebo můj dotaz mířil jinam: tak jako kdysi PLCčka nahradily nějaké relé, tak se ptám, jestli se neblíží doba, kdy specializovaná PLCčka nenahradí nějaké obecnější stroje.

Ani jeden z těch dvou bodů mi nepřijde, že by na to nějak odpovídal.

Re:Promena programatora Desktop -> PLC
« Odpověď #12 kdy: 11. 03. 2016, 21:19:51 »
Buď jsem to nepochopil, nebo můj dotaz mířil jinam: tak jako kdysi PLCčka nahradily nějaké relé, tak se ptám, jestli se neblíží doba, kdy specializovaná PLCčka nenahradí nějaké obecnější stroje.
Ufff, to jsem to napsal nesrozumitelně a ještě s hrubkama. Prostě se ptám, jestli je vývoj takovýhle: relé -> PLC -> (něco obecnějšího softwarově definovaného) nebo ne.

v

Re:Promena programatora Desktop -> PLC
« Odpověď #13 kdy: 11. 03. 2016, 21:31:03 »
To je dotaz zcela ignorujici myslenku predchozich odpovedi. Samozrejme, ze to jde. Jde to prelejt do programovaciho jazyka, do HDL, do MCU. Ale pointa soudobeho nasazeni PLC je prave v tom, ze se dana skupina lidi vedome a zamerne omezi na

1. konkretni HW od dodavatele, oplyvajiciho vymluvnymi razitky, casto i slusnou referenci, kolik desetileti bez vymeny to kde chodi (bylo by prima, kdyby se dokazal pochlubit i slusnou technologii a dobrym navrhem, ale to uz tak jednoznacny nebejva)

2. programovani s pouzitim velmi osekanejch vyrazovejch prvku.

Projektu nahrady resp. implementace PLC v ruznejch RTOSech, MCU aj. jsou hromady.
Buď jsem to nepochopil, nebo můj dotaz mířil jinam: tak jako kdysi PLCčka nahradily nějaké relé, tak se ptám, jestli se neblíží doba, kdy specializovaná PLCčka nenahradí nějaké obecnější stroje.

Ani jeden z těch dvou bodů mi nepřijde, že by na to nějak odpovídal.
PLC dneska znamená hlavně IEC61131-3, na čem program běží je druhá věc, byl tady zmíněný simatic, který je v evropě asi nejrozšířenější hw, pak tady jsou soft PLC, na krabicích se, kterýma já pracuju běží CoDeSys

v

Re:Promena programatora Desktop -> PLC
« Odpověď #14 kdy: 11. 03. 2016, 21:34:06 »
Buď jsem to nepochopil, nebo můj dotaz mířil jinam: tak jako kdysi PLCčka nahradily nějaké relé, tak se ptám, jestli se neblíží doba, kdy specializovaná PLCčka nenahradí nějaké obecnější stroje.
Ufff, to jsem to napsal nesrozumitelně a ještě s hrubkama. Prostě se ptám, jestli je vývoj takovýhle: relé -> PLC -> (něco obecnějšího softwarově definovaného) nebo ne.
já jsem to asi taky nenapsal dobře, vy jste na ty analogie, tak třeba takto: programátor PLC +- znamená programátor jazyků IEC61131-3, je to skoro jako programátor JVM - programátor jazyka Java/Scala/apod.