Domů Nápověda Vyhledávání Přihlásit Registrovat
Novinky:               PROSÍME VŠECHNY UŽIVATELE, PŘED POUŽITÍM DISKUSÍ ČTĚTE MÍSTNÍ PRAVIDLA! ZDE ...!


+  Diskuse Elektrika.cz
|-+  VEŘEJNÁ ZÓNA
| |-+  Témata ještě nezařazená do příslušných rubrik
| | |-+  Lze programovat PLC v jazyce C/C++/C# ?
0 uživatelů a 1 Host prohlíží toto téma. « předchozí další »
Stran: [1] Dolů Poslední příspěvky Tisk

Upozornění!
Odpovědi na témata nejsou právně závazné!
Na elektrickém zařízení smí pracovat pouze osoba s příslušnou kvalifikací dle nařízení vlády 194/2022 Sb. Podrobnosti zde!

Autor Téma: Lze programovat PLC v jazyce C/C++/C# ?  (Přečteno 753 krát)
Jakub Horváth
Neverifikovaný uživatel @4
***
Offline Offline



« kdy: 14.09.2022, 14:10 »

Projektuji řízení pro lisovací stroj a dostal jsem od zákazníka zajímavý požadavek - řízení musí být naprogramované v programovacím jazyce C (nespecifikoval jakém). Netuším zatím, od kud ten požadavek plyne nebo kam směřuje. Chci se jenom zeptat na jednoduchou otázku - Mám zkušenosti programování PLC pouze v jazycích, které jsou definovány standardem IEC61131-3. Je vůbec možné programovat PLC v jazyce C, nebo je třeba volit nějaké jiné zařízení než je PLC ?

Řízení stroje nebude nijak sofistikované. V podstatě se jedná jen o pár koncáků a tlačítek + analogové měření teploty a tlaku.
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Martin Kurka
*
Offline Offline



Projektant automatizace a strojů


« Odpověď #1 kdy: 15.09.2022, 13:30 »

Některá PLC (Simatic, B&R...) mají možnost programování úseků pomocí "Síšarpů" jako nadstavbu pracující v koexistenci s "paralelně" běžícími bloky programů v IEC61131-3.

V tom problém není. Problém je v bezpečnosti programového vybavení. PLC byly původně vymyšlené tak, aby program běhal pravidelně v jedné odladěné smyčce se zaručeným koncem. Na začátku smyčky vždy načetl vstupy nacucnul si jejich otisk do lokálních proměnných, provedl výpočty v jednom cyklu a na jeho konci otisknul vnitřní proměnné do výstupů. Tomu celému průběhu se říkalo otočka.
Dopředné skoky byly zakázány, cykly byly většinou hlídány na maximální čas. Mezní doba otočky, byla posvátná a dodnes je jedním z parametru rychlosti PLC.

Nemohlo se tedy stát, že by
- program zabloudil v nekonečné smyčce
- vstupy a výstupy se v jedné smyčce měnily podle stavu a času zpracování mezivýpočtů uvnitř cyklu
- v programu byla syntaktická chyba, která by cykl úkonů zastavila
- podmínka větvení byla nezacílena nebo neošetřena
-  nedostupná volaná periferie (tiskárna apod.) program zasekla

 Ale když výkonné kroky budete volně programovat v C jazycích, musíte skoro vše výše uvedené ošetřit ručně a napsat a odladit kvalitní program.

Jako zákazník a investor bych do toho nešel ani náhodou. Úroveň bezpečnost stroje bude dána úrovní a hlubokými znalostmi bezpečného návrhu a zkušenostmi programátora.
Už samotné programování v IEC61131-3 vyžaduje obrovskou úroveň zkušeností a znalostí, aby nedošlo k logickým chybám v algoritmu programu. Už jen odladění algoritmu najde tytp chyby, protože nedomyslíte všechny možné eventuality a kombinace. A zdánlivě nemožné kombinace v reále nastávají (jednopólový přepínač zapnutý do obou poloh najednou, nebo ani do jedné atd. výtah není v 1. ani v 2. patře, ale mezi nimi a přijel ze 3. atd.)
 A k tomu najednou ještě musíte hlídat, ošetřit samotný postup programu v C a to i  podle HW nuancí daného PLC. 

Buď bude program kvalitní a velmi drahý, nebo bude laciný s nemalými bezpečnostními riziky.
Jakákoliv změna nebo doplnění programu jiným programátorem, může způsobit nebezpečné chování stroje z jiných důvodů než logické chyby.

Jazyky C jsou v PLC určeny pro snadné programování HMI. Grafické vizualizace, WEB stránek a WEB serverů, tisku, datové komunikace.... Tam je jejich síla a potřebnost.
Ale na výkonné kroky a bezpečné řízení stroje je určen jazyk na bázi IEC61131-3.

A jestli zákazník stále požaduje jen C ,tak jste-li zodpovědný, musíte mu napálit cenu za programování nejméně na trojnásobek a i tak si sotva vyděláte na slanou vodu.




 
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno

Nikdy není dost času,aby se to udělalo dobře. Ale pak je dost času, aby se to udělalo znovu

Teorie=vše víme ale nic nefunguje
Praxe=vše funguje a nevíme proč
Teorie spojena s praxí=nic nefunguje a nikdo neví proč

Vysoce odborných omylů se dopouští jen specialisté

Ďábel je skryt v detailu
Petr Chalupa_
Neverifikovaný uživatel @5
*****
Offline Offline



« Odpověď #2 kdy: 15.09.2022, 17:10 »

PLC, které by primárně používalo jazyk C jsem ještě neviděl. Na vašem místě bych zákazníkovi předvedl, jak třeba vypadá codesys. Používají ho např. PLC bosch, beckhof a další. Nebo pokud děláte se siemensem, přepněte v TIA jazyk na "SCL". Pokud ten člověk ovládá C-čko, pak pro něj tento jazyk bude velice příjemný a rychle se v něm zorientuje. Je možné, že lpí na tomto požadavku jen proto, že neví, co dnešní PLC umožňují a představuje si třeba, že musí na PLC mít program pouze v ladderu.

Jinak znám jednoho pána, který vyrabí pro truhlárny lisy na brikety a řízení si dělá atmegou. Dělá si na to DPS, krabičku, no prostě komplet. Tam nejspíš program v C-čku má. Nicméně za mě už je to bastl, kde je potřeba řešit spoustu zbytečných problémů, takže bych do toho taky nešel.
Pravidla diskusí   Nahlásit moderátorovi   Stěžovat si na moderátora   Zaznamenáno
Stran: [1] Nahoru Poslední příspěvky Tisk 
« předchozí další »
SLEDUJTE PODOBNÁ TÉMATA ZDE!

Příbuzné diskuse a články z Elektrika.cz

 Nezná někdo relé podobné LOGU?
 Vztahují se na aplikační programy PLC právní předpisy o autorských právech?
 Jaké jsou rozdíly v programování mezi automaty Siemens Logo! a Step7?
 Bude možno řídit zavlažování pomocí SIEMENS LOGO?
 Tecomat Foxtrot - Od programovatelného automatu k inteligentní elektroinstalaci
 Co to je PLC a k čemu?
 Když se projekt s PLC netrefí do reality
 Když se PLC slibuje víc, než je možné získat
 Když PLC o něčem neví
 Pozná niekto automatizačné moduly Loxone ?
 Když programátor PLC nerespektuje omezení
 Tecomat Foxtrot - Od programovatelného automatu k inteligentní elektroinstalaci 3
 TECO: 67 Foxtrotů tvoří páteř telemetrického a řídicího systému vodáren měst Nicosie a Larnaky
 Jak ovládat plc systém přes android/ počítač s wifi?
 Jaká může být maximální délka kabelu digitálního vstupu PLC?
 EATON: Nová aplikace easyParameter App
 Zaznamenali jste někdy problém/závadu způsobenou přechodem letní/zimní čas?
 Jak zapojit 4 tlačítka s 4x 3LED pro soutěžní hru Videostop?
 Jak správně zapojit svorky ochranné a pracovní země na PLC?
 Akým spôsobom napájať periférne moduly PLC systému ?
 PROFCOM: Startovací balíček s PLC od Delta Electronics
 Jaký typ PLC zvolit pro chytřejší schodišťový automat?
 Poradíte cenovo dostupné zariadenie pre vzdialené spínanie relé výstupov?
 EATON: Nový modulární PLC XC300 pomůže výkonem a novými funkcemi
 FOXTROT lze ovládat i hlasem!
 PHXC: Propojení PLC a PROFICLOUDu
 PLC pro sledování aktuálních dat a zpráv FP-e
 WAGO: Cloudový sběr dat z PLC systémů
 Výhody PLCnext Store, nákup a prodej aplikací
 Nové modulární PLC XC300 od společnosti Eaton
 Věříte spíše teoretickým nebo praktickým produktovým manažerům?
 Jaký je rozdíl mezi režimem komunikace PLC versus PLC NET?
 PLC řídicí modul Controllino MEGA
 ŽHAVÉ !!! PHOENIX CONTACT aktuálně uvádí na trh novou, přelomovou službu - PLC Next Store!
 Flexibilní a efektivní realizace řídicích úloh s easyE4
  Siemens představuje možnosti umělé inteligence pro PLC Simatic
 Výkonný počítač DX-1000 vybavený technologiemi CMI a CFM
 Co říkáte vy, na nový Foxtrot 2?
 Kompaktní přenosný průmyslový počítač Getac UX10
 Řídící relé easy E4
 Jaké je uplatnění FOXTROTu v průmyslu?
 PODCAST LIVE TECO: Pokud majitel domu přemýšlí o chytré elektroinstalaci
 LIVE TECO: Uplatnění FOXTROTu v projektech bytových domů DNES ŽIVĚ ve 13:00
 LIVE EATON: Aplikace s easyE4 – malý, ale šikovný (kontrolér)
 Způsobil vám restart systému řízení domu nějaký problém?
 Sbírka odborných setkání TECO roku 2020
 Kdo realizuje vzdálené monitorování PLC?
 Kde se dají sehnat PLC založené na hradlovém poli FPGA ?
 Hledám inkrementální enkodér do panelu. Znáte nějaký?
 Co je to LOGO? K čemu je a kde se využije?
 Jak připojit výstup z meřiče tepla hydrocal-m3 na digitální vstup Loxone?
 EATON ONLINE: Přehled programovatelných automatů a dotykových panelů
 Oč se na Elektrické spojce 22 soutěžilo se značkou TECO?
 Novinka 2022 WAGO Compact Controller 100
 Preferujete drátovat PLC digitální výstupy přímo na řízený prvek nebo přes relé?
 Pomocí jakého PLC lze realizovat dispečerské řízení pro výrobny EE?

Příbuzné diskuse a články z Kutil.elektrika.cz

Aktuální slova (1)



Poháněno MySQL Poháněno PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Validní XHTML 1.0! Validní CSS!
+420 910 100 100
Stránka vytvořena za 0.034 sekund, 22 dotazů.