A.M. Dotazy k HW 15. 11. 2023 10:03 11. 12. 2023 15:41

Dobrý den,

 v poslední době dost často narážíme na následující problém:

najednou Foxtrot přestane komunikovat s určitou síťovou adresou (nejsem si jíst, jestli blokuje se MAC nebo IP adresa): nejde navázat ani TCP spojení, ani ping neprochází. Momentálně problém řešíme rebootem plcčka přes servisní stránku (teplý ani studený restart z Mosaicu problém neřeší). 

Zařízení, která Foxtroty takovým způsobem blokuje:

  • pár krát byl zablokován windows PC (komunikace s foxtrotem probíhá po HTTP REST API směrem od Foxtrotu k serveru)
  • V jedné sítě jeden Foxtort jako ModbusTCP master komunikoval s několika dalšími foxtroty, a 8 z 21 foxtrotů toho mastra najednou zablokovaly.
  • Nepamatuji, že by byla zablokována veřejná adresa, v obojích výše popsaných adresách komunikace probíhá v lokální sítě

Zbytek síťové komunikace při tom funguje bez problémů.  

Firmware PLC, na kterých jsme zaznamenali takový problém byly 5.8 až 6.0.

Celkem takový problém jsme zaregistrovali minimálně 12 krát na různých PLC.  

Prosím o reakcí a předem děkuji,

S pozdravem, Mishukov.

Odpovědi 4

Luboš Urban 15. 11. 2023 14:15

Dobrý den,

Tecomaty v sobě nemají žádný firewall nebo něco, co by mohlo jakkoliv blokovat komunikaci s nějakou MAC nebo IP adresou. To, že PLC přestane komunikovat, musí být způsobené nečím jiným. 

To, že PLC přestane posílat http requesty na server nebo že přestanou odcházet příkazy od Modbus mastera pro jednotlivé stanice slave, by mohlo být způsobeny tím, že se vyčerpají dostupná spojení (za předpokladu, že je otevíráte dynamicky z programu). To by ale nevysvětlilo, proč nechodí ani ping z PLC na server.

U současných PLC řady Foxtrot 2 se dá zapnout logování komunikace v režimu uni. Log se ukládá automaticky uvnitř systému, je cyklický, tzn. při jeho naplnění se začnou nejstarší záznamy přepisovat. Ve chvíli, kdy se komunikace zasekne a vy musíte PLC zrestartovat, tak by bylo zajímavé nejprve ten log stánout. Najdete ho na flashdisku v PLC v adresáři WWW/LOGS a je pojmenovaný podle konkrétního uni kanálu.

Pro analýzu komunikace Modbusem by bylo zajímavé zapnout logování na straně stanic Modbus TCP server.

A.M. 15. 11. 2023 14:54

Dobrý den, tak si pokusím nastavit ten log. Popsaný problém  vyskytuje náhodně v intervalech cca 1x měsíc, tak že chvilku to bude trvat, než to zachytíme.   

Zeptám se: když je zapnuté takovým způsobem, logování poběží i po případném výpadku napájení/restartu PLC? Nebo po každé musí být nastaveno znovu?

Luboš Urban 15. 11. 2023 16:44

Pokaždé se logování musí povolit znovu. Vůbec nejlepší bude použít v programu funkcí SetUniLog, kterou zavoláte v prvním cyklu po restartu a logování povolíte. V takovém případě můžete zvolit i vlastní jméno souboru. Funkce je součástí knihovny ComLib. V předešlé zprávě jsem uvedl špatně, že logy jsou uloženy na flashdisku. Ve skutečnosti jsou uloženy v RAM disku a po vypnutí napájení se ztratí. To znamená, že kdybyste kvůli obnově komunikace musel zrestartovat PLC, tak by bylo potřeba logy nejdříve odložit někam jinam, na flash disk. Nebo ještě lépe, ve chvíli, kdy komunikační blok zahlásí chybu, tak je potřeba od téhle chyby soubor s logem uložit. Na to se dá použít např. funkční blok ZipArchive z knihovny FileLib a vytvořený zip soubor se přesune do vašeho adresáře na flash disku pomocí funkce FileMove, opět z FileLib. Pak už to bude ošetřené, i kdyby došlo k výpadku napájení. Příklad na to napsaný nemám, když bude potřeba, ptejte se a my to dovysvětlíme .

A.M. 11. 12. 2023 15:41

Dobrý den, dle domluvy posílám soubory

Soubor "ETH1_UNI7beforerestart_fail.LOG" - většina slave-foxtrotů nekomunikuje.

Pak byl proveden restart Master-foxtrotu a slave s adresou 192.168.80.120 - komunikace s tímto slave se rozběhla, což je vidět v souboru ETH1_UNI7afterrestart1.LOG.

Pak byl proveden restart Foxtrotu-slave s adresou  192.168.80.128 (master se nerestartoval) a zase komunikace s touto adresou se po restartu rozběhla (soubor ETH1_UNI7afterrestart2.LOG).

Problém komunikace je pouze mezi foxtroty, Mosaicem na všechny adresy se připojím bez problémů.

Zbytek slave zařízení budeme restartovat zítra.

Vaše odpověď

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