MarekSys SW ostatní 8. 10. 2025 21:03 31. 10. 2025 15:18

Dobrý den,

mám problém s komunikací pomocí IEC 104. Někdy nastává situace, že se nelze k PLC připojit pomocí iec 104. Nepomůže ani restart nadřízeného systému, ani restart PLC. Až po přehřátí softwaru se komunikace spustí a běží po určitou nahodnou dobu. Řádově měsíce a poté opět nastane stejný problém. Za případné rady předem dekuji.

Odpovědi 2

T.M. 7. 10. 2025 13:13

Některé knihovny vyžadují, aby byl v PLC naprogramovaný aplikační profil pro příslušnou knihovnu (licence pro použití knihovny). Aplikační profily nejsou součástí standardního PLC a je třeba je objednat zvlášť ke každému PLC. Bez aplikačního profilu budou funkce a funkční bloky z knihovny fungovat pouze omezenou dobu (4 hodiny pro testovací a ladicí účely). Poté  přestanou fungovat a vyhlásí chybu aplikačního profilu. K obnovení funkce dojde po vypnutí a zapnutí napájení PLC (opět na omezenou dobu) nebo po uložení příslušného aplikačního profilu do PLC (bez časového omezení).
AP nemáte koupený, že?

Luboš Urban 31. 10. 2025 15:18

Dobrý den,

omlouvám se za pozdní reakci. Používáte funkční blok z knihovny IEC104sLib nebo IEC870Lib? Ta IEC870Lib je novější a navazuje na knihovnu předchozí. Doporučil bych přechod na tuto verzi, tu starší už nebudeme dál upravovat a rozvíjet. Ale funkční blok samotný nejspíš příčinou nebude, to spíš jen tak na okraj.

Ještě bych se přeptal, funkční blok má chybový výstup ErrCode. Když ta komunikace nefunguje, je v té výstupní proměnné zaznamenaná nějaká chyba? 

Komunikaci můžeme logovat do souboru. Funkční blok je spojen s uni kanálem a v řídicím slově tohoto uni kanálu je možné zapnout cyklické logování.nastavením bitů LOG_ON, LOG_CYCLIC a asi i LOG_HEX_ONLY. Ve chvíli, kdy se nahodí výstup IsError, tak lze logování z programu ukončit a zůstane pořízený záznam komunikace, který končí tou zmiňovanou chybou.

Stejně tak při použití funkce OpenUniChannel nebo OpenUniSocket, kdy by se kanál nedefinoval dopředu, ale přiděloval by se dynamicky přímo z programu, by bylo možné pomocí SetUniLog opět zaznamenat komunikaci do souboru. Z těchto logů bychom mohli vyjít při hledání příčin výpadku komunikace.  

 

Vaše odpověď

Pro vložení odpovědi je nezbytné být přihlášený. Pokračujte na přihlášení.