by Jiri Kadlec » Tue 28. Feb 2023 8:46:39
Tak jsem nejspíš na problém přišel sám...
V komunikaci S7_1200 je parametr "Max. délka PDU". Ta je defaultně nastavená na 960. Chápu to tak, že čím větší, tím víc dat najednou přenese. A tam je kámen úrazu. Po změně parametru na 240 už se to tváří, že by to mohlo fungovat. Zatím mi čte všechny proměnné, na které se v komunikaci dotazuji.
Problém vidím ve vysvětlení této funkce v nápovědě.
Píše se tam:
1. "Standardní délky jsou 240, 480 nebo 960. Obvykle lze zadat maximum, tzn. 960. Při inicializaci komunikace s PLC ovladač zjistí jakou délku podporuje PLC a pokud podporuje menší, pak tuto hodnotu automaticky zmenší. " - Toto se evidentně neděje, protože při zadaných 960 nefungovalo nic a po manuálním snížení na 240 se to rozběhlo.
2. "V praxi se však zjistilo, že někdy PLC v jedné zprávě posílá menší počet dat (např. posílá jen 240) i když při inicializaci sdělilo, že může posílat větší počet dat (např. 480). Projeví se to tak, že po příjmu dat se v objektu PmaCommGroup naplní jen část proměnných, zbytek proměnných nebude komunikován." - Toto je také nepřesné. Nám se to projevilo tak že to nenaplnilo NIC. Pokud bylo dotazovaných proměnných do 82 tak vše bylo OK. Nad 82 komunikace spadla úplně.
Dá se někde detekovat kolik dat je PLC schopno přenést v jedné zprávě?
Nicméně můj problém je, doufám, tímto vyřešen... Možná by stálo za to nápovědu nějak lépe upřesnit. Děkuji..