[ TAG 132 ][31.08.2021] -Fehlgeschlagen -IAP-20210601-20210722-1145
Nachtrag[01.09.2021][2051]. Es geht um den Fehler im Beitrag [T131].
[Fehlerhafte STAND_BY-Methode]
def FLAG_STATE_STAND_BY(SHM_MKI0=None, set_=None):
global SYSTEM_INDX
global FLAG_STATE_STAND_BY_BIN
flg = FLAG_STATE_INIT_BIN
if set_ is None and SHM_MKI0 is not None:
b = SHM_MKI0.buf[SYSTEM_INDX] & flg
if b == flg: # [Fehler]
return True # [Fehler]
else:
return False # [Fehler]
elif set_ is True and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] & ~flg
elif set_ is False and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] | flg
Am [30.08.2021] habe ich Kontrollstrukturen zum Setzen des FLAGs überarbeitet. Ich habe den Fehler analysiert und das Ergebnis meiner Fehleranalyse bestand darin, dass der [STAND_BY-Null-Byte] so wie ich mir die Umsetzung vorgestellt habe, nicht umgesetzt werden kann. Es gab keine andere Möglichkeit als den Bit für INIT/STAND_BY auf [1] zu setzen. Letztendlich machte es einfach keinen Sinn einen Byte für STAND_BY-FLAG zu führen.
Den Setzungsmechanismus habe ich richtig umgesetzt. Weil ich jedoch den [FLAG_STATE_INIT_BIN]-Byte benutzte, habe ich vergessen den Auslesemechanismus der Methode zu aktualisieren.
[AUSGABE - Falsch]
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0): False [Fehler]
shm_mki0.buf[4]: 10000001 [Richtig]
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, False)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0): True [Fehler]
shm_mki0.buf[4]: 10000011 [Richtig]
[Berichtigte - Methode]
def FLAG_STATE_STAND_BY(SHM_MKI0=None, set_=None):
global SYSTEM_INDX
global FLAG_STATE_STAND_BY_BIN
flg = FLAG_STATE_INIT_BIN
if set_ is None and SHM_MKI0 is not None:
b = SHM_MKI0.buf[SYSTEM_INDX] & flg
if b == flg:
return False
else:
return True
elif set_ is True and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] & ~flg
elif set_ is False and SHM_MKI0 is not None:
SHM_MKI0.buf[SYSTEM_INDX] = SHM_MKI0.buf[SYSTEM_INDX] | flg
[Richtige - Ausgabe]
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0): True [Richtig]
shm_mki0.buf[4]: 10000001 [Richtig]
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, False)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0): False [Richtig]
shm_mki0.buf[4]: 10000011 [Richtig]
Ich beende den Nachtrag um [01.09.2021][2123]
Kommentare
Kommentar veröffentlichen