[ 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):
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
Der Fehler muss in den Bit-Operatoren liegen.

[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

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325