Při nasazení pokojových ovladačů UI011, regulátorů UC/FC…, ale i zařízení třetích stran integrovaných protokolem Modbus často narazíme na problém, jak elegantně a uspokojivě vyřešit zápis do proměnných, které jsou ovládány i místně – přes otočný knoflík, displej nebo jiný manuální prvek.
Čtení do PLC je bezproblémové. PLC se periodicky ptá serveru a komunikační driver hodnotu zapíše do globální proměnné:
Konfigurovat proměnnou pro zápis se nám asi také podaří snadno:
Ve chvíli, kdy bychom ale chtěli hodnotu nastavit jak místně knoflíkem, tak přes webové rozhraní PLC, stojíme před problémem: přes web se ovládá proměnná pro zápis, v té se ale nereflektují změny, provedené knoflíkem místně. Uživatel webu tedy neví, jak je hodnota nastavena pomocí knoflíku. Museli bychom ji zobrazit zvlášť. Ani toto však neřeší situaci, kdy z webu (nebo z vizualizace či jiného klienta PLC) chceme hodnotu nastavovat přírůstkově, tedy například „přidat 0.5 K“. K tomu totiž potřebujeme proměnnou pro zápis občerstvovat aktuálně nastavenou hodnotou v ovladači.
Je proto vhodné mít v PLC proměnnou, která umí jak aktualizovat svou hodnotu z ovladače, tak po změně svou hodnotu do ovladače zapsat. K tomu dobře poslouží tzv. vazba neboli couple, propojení dvou hardwarových I/O bodů. Vazba zároveň představuje globální proměnnou.
Skupina, která obsahuje proměnnou pro zápis, musí mít definován Zápis pouze při změnách.
Proměnná SetpointRW je pak použita k zobrazení i nastavování v LCD menu, webových stránkách apod., stejně, jako kdyby šlo o běžnou globální proměnnou s požadovanou hodnotou.
Více snímků obrazovek a postup při konfiguraci včetně poznámek k funkci Autogen najdete v nápovědě k Merbon IDE – v rejstříku hledejte „Vazby mezi HW I/O“.
Jeho výchozí hodnota je 10 s. Jedná se o čas, po který je zablokován zápis do registrů po každém manuálním zásahu. Je to opatření proti nechtěnému přepsání hodnoty z PLC dříve, než po nastavení knoflíkem stačilo dojít k jejímu načtení (aktualizaci) do PLC a následnému propsání nové hodnoty zpět do ovladače. Problém se ale týká pouze PLC, u nichž programátor nemůže ovlivnit frekvenci zápisu. Pokud použijeme Zápis pouze při změnách, nemělo by k přepsání dojít.