a.k. Programování Mosaic 6. 9. 2021 8:51 12. 9. 2021 14:07

Dobry den,

mam vytvorenu udalostni kolekci, pod kterou mam definovane jednotlive signaly. Mam nastaveno logovani na zaklade definovane BOOL promenne. V definici udalosti mam zatrzeno "sledovat urovne/vysoka 3, hodnota1". Jen takto jsem byl schopen docilit toho, aby se udalost logovala jen pri dosazeni hodnoty true. Pokud zvolim "sledovat zmeny" a hodnotu nastavim na 1, log se provede pri prechodu do true stavu a znovu pri prechodu z true do false. 

Nicmene pri startu programu se vzdy vytvori zapis udalosti i pres to, ze ridici promenna je ve stavu false. Je toto vlastnost?

Odpovědi 5

Luboš Urban 6. 9. 2021 8:59

Dobrý den,

ano, to je vlastnost, protože změna hodnoty o 1 znamená jak změnu z log. 0 na 1, tak změnu z log. 1 na 0. Dvě změny, dva zápisy. Při sledování úrovně se rozlišuje událost překročení hodnoty směrem nahoru a překročení hodnoty směrem dolů, které zachytí dosažení nastavené úrovně a přechod přes ni. Při použití tohoto pravidla tedy lze oddělit náběžnou a sestupnou hranu logického signálu. Při použití pravidla sledovat změnu se nedá ze zápisu určit, jestli šlo o změnu při náběžné nebo sestupné hraně.

a.k. 6. 9. 2021 18:07

OK, dekuji za vysvetleni. 

Nicmene, proc se objevuje zapis pri startu systemu, pokud je hodnota stale false? Z logiky veci pri startu programu dochazi k inicializaci promennych ( a ridici promennou tak inicializuji ), tudiz ta by mela byt stale false.  Ridici promenna neni ted ani do programu zapsana, tudiz ji nema co zmenit.

Luboš Urban 7. 9. 2021 9:00

Toto ještě prověříme. U předchozí generace systémů Foxtrot docházelo při každém restartu k založení nového souboru a tedy i k uložení prvotní hodnoty. U Foxtrotu 2 by to asi šlo zařídit tak, aby při restartu nebyla hodnota zapsána a docházelo by k zápisu jen při tom založení souboru, ale ne při každém restartu.

a.k. 7. 9. 2021 9:48

Stejne chovani je i pri vytvareni zalohy retain blokem fbSaveRemToFile. Kazde vytvoreni zalohy generuje radek ve vsech kolekcich. 

 

a.k. 12. 9. 2021 14:07

Restart po zalohovani jsem reportoval v oddelenem vlakne, to je nejspise zpusobeno chybou ve FW 4.5. Nicmene jsem schopen uzivatelsky zabranit zapisu do dataloggeru po startu programu. Zkousel jsem blokovat vstupy v plnem rozhrani dataloggeru po startu, nicmene jakmile dtalogger aktivuji, k zapisu i tak dojde. 

Vaše odpověď

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