Martin JS Programování Mosaic 31. 10. 2024 11:24 31. 10. 2024 16:44

Po zásahu do GLOBAL RETAIN a následném opakovaném překladu programu dojde k posunu adres proměnných RETAIN bez "synchronizace hodnot"

Po online změně programu jsou pak u proměnných původních hodnoty registru, které nedávají smyal nebo nuly.

Chtěl jsem to řešit uložením a načtením RETAIN paměti. V knihovně SysLib jsou na to funkční bloky, ale pro novější jednotky.

Je řešení pro Foxtroty v.1 ?

Nebo je možnost iniciace nastavených hodnot jen některých REATAIN proměnných "dávkou" .

Ručně je to v případě delších polí oříšek.

 

Odpovědi 1

Luboš Urban 31. 10. 2024 16:44

Teplý restart programu znamená pouze to, že se neinicializují hodnoty zálohovaných proměnných. V případě Foxtrotů CP-10xx to znamená, že se nezmění hodnoty proměnných v zálohované zóně na začátku paměti. Pokud se nové proměnné přidají "doprostřed" zálohované zóny, tak to samozřejmě vede k tomu, že se hodnoty následujících proměnných ztratí a pomíchají. Tuto situaci řeší pouze režim on-line změny, samotný teplý restart žádnou synchronizaci nezajišťuje. 

Uložit a nahrát v libovolný okamžik hodnoty vybraných proměnných umožňuje nadefinování katalogu proměnných přes direktivu {OPEN_UP} a volání funkcí z příkladu v příloze. Nebyly vydány jako knihovna, ale řešit uživatelské ozálohování vybraných proměnných tím šlo.

 

 

 

Vaše odpověď

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