[ TAG 131 ][30.08.2021] -Erfolgreich -IAP-20210601-20210722-1145
Ich beginne meine Worksession um [30.08.2021][2000]. Ich möchte die Tests vom [29.08.2021] noch einmal durcharbeiten. Zu diesen Zeitpunkt vermute ich, dass die FLAG-STATE-Methode [FLAG_STATE_STAND_BY] nicht funktioniert.
Das ist die Ausgabe, die analysiert werden muss. Der [MKI-SYSTEM-BYTE] wird wie folgt für Testzwecke initialisiert. Der achte bzw. siebte Bit[0b1] dient zu dazu, dass die Ausgabe einen vollständigen Byte mit Nullen anzeigt.
SYSTEM_BYTE = 0b10000001 # 0 0 0 0 0 0 0 1
mki_glb.SHM_MKI0_NAME(1): SHMM-MKI0-250821-000
mki_glb.FLAG_STATE_INIT(shm_mki0, True)
mki_glb.FLAG_STATE_INIT(shm_mki0): True
shm_mki0.buf[4]: 10000011 [Richtig]
mki_glb.FLAG_STATE_INIT(shm_mki0, False)
mki_glb.FLAG_STATE_INIT(shm_mki0): False
shm_mki0.buf[4]: 10000001 [Richtig]
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0): True
shm_mki0.buf[4]: 10000011 [Fehler 1]
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, False)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0): True
shm_mki0.buf[4]: 10000001 [Fehler 2]
mki_glb.FLAG_MWL(shm_mki0, False)
mki_glb.FLAG_MWL(shm_mki0): False
shm_mki0.buf[4]: 10000010 [Richtig]
mki_glb.FLAG_MWL(shm_mki0, True)
mki_glb.FLAG_MWL(shm_mki0): True
shm_mki0.buf[4]: 10000011 [Richtig]
[Fehler 1]:
mki_glb.FLAG_STATE_INIT(shm_mki0, True)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)
print("")
print("mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)")
print(f"mki_glb.FLAG_STATE_STAND_BY(shm_mki0): "
f"{mki_glb.FLAG_STATE_STAND_BY(shm_mki0)}")
print(f"shm_mki0.buf[4]: {shm_mki0.buf[4]:b}")
Hier wird in der ersten Zeile [FLAG-1] wieder auf [1] gesetzt. Die [FLAG_STATE_STAND_BY]-Methode muss wegen den [True-Attribut] den [FLAG-1] wieder auf [0] setzen.
[Fehler 2]:
mki_glb.FLAG_STATE_INIT(shm_mki0, False)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, False)
print("")
print("mki_glb.FLAG_STATE_STAND_BY(shm_mki0, False)")
print(f"mki_glb.FLAG_STATE_STAND_BY(shm_mki0): "
f"{mki_glb.FLAG_STATE_STAND_BY(shm_mki0)}")
print(f"shm_mki0.buf[4]: {shm_mki0.buf[4]:b}")
In der ersten Zeile wird der [FLAG-1] wieder auf [0] gesetzt. Die Methode [FLAG_STATE_STAND_BY] mit dem Attribut [False] soll den [FLAG-1] wieder auf [1] setzen.
[Fehlerhafte FLAG-Methode]
def FLAG_STATE_STAND_BY(SHM_MKI0=None, set_=None):Der Fehler muss in den Bit-Operatoren liegen.
global SYSTEM_INDX
global FLAG_STATE_STAND_BY_BIN
#hier ist ein Fehler!!!
flg = FLAG_STATE_STAND_BY_BIN
if set_ is None and SHM_MKI0 is not None:
b = SHM_MKI0.buf[SYSTEM_INDX] & flg
if b == flg:
return True
else:
return False
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
[Korrektur der FLAG-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: # Nachtrag[01.09.2021][2023] - Fehler - Bedingungumk.
return True # Nachtrag[01.09.2021][2023] Hier soll False sein
else:
return False # Nachtrag[01.09.2021][2023] Hier soll True sein
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
Ausgabe:
mki_glb.FLAG_STATE_STAND_BY(shm_mki0, True)
mki_glb.FLAG_STATE_STAND_BY(shm_mki0): False [Fehler 1 - 01.09.2021]
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 2 - 01.09.2021]
shm_mki0.buf[4]: 10000011 [Richtig]
[Fehler 1 - 01.09.2021] und [Fehler 2 - 01.09.2021]
werden im [T132] bearbeitet.
Kommentare
Kommentar veröffentlichen