Ankündigung

Einklappen
Keine Ankündigung bisher.

Entwicklung von HS-Bausteinen: Bedeutung der Arrays AA[x], AN[x] und AC[x]?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS Entwicklung von HS-Bausteinen: Bedeutung der Arrays AA[x], AN[x] und AC[x]?

    Hallo alle!

    Ich würde gerne in einem Baustein die Arrays AA[x], AN[x] und AC[x] verwenden. Lt. Baustein-Doku ist:
    AA: Der Wert des Ausgangs vor der Berechnung.
    AN: Der aktuelle Wert des Ausgangs.
    AC: 1 == Der Wert des Ausgangs hat sich geändert. 0 == Der Wert des Ausgangs hat sich nicht geändert.

    Hintergrund: Ich möchte damit ähnliches Verhalten wie "send by change" erreichen, jedoch mit anderem Startverhalten. Ausgang 1 ist in meinem Baustein manchmal gleich und manchmal geändert zum vorherigen Durchlauf des Bausteins.

    1. Problem:
    Wenn ich AA[1] und AN[1] auf weitere Ausgänge lege, also z.B. 2 und 3, dann ist das Verhalten wie erwartet. AA[1] gibt immer den Ausgabewert der letzen Berechung an, AN[1] gibt immer den aktuellen Ausgabewert aus (der einige Zeilen vorher auf Ausgang 1 ausgegeben wurde.) Soweit ist das ok.
    ABER: Der Ausdruck AA[1] <> AN[1] ergibt immer True!

    2. Problem:
    AC[1] ist immer True, egal ob sich Ausgang 1 gegenüber dem letzen Durchlauf geändert hat oder nicht!

    Wo liegt hier der Fehler? Ist die Beschreibung in der Baustein-Doku ungenau? Mache ich etwas falsch? Oder gibt es im HS einen Fehler?

    Gruß
    GKap

    #2
    Hallo alle!

    Mittlerweile habe ich das Problem selbst gelöst:

    AA[x] und AN[x] funktionieren schon richtig! Wenn die KOs am Ausgang kleiner als 4 Byte sind, kann es durch Quantisierung passieren, dass gleiche Werte beim Vergleich als ungleich erkannt werden! Wenn man probeweise die Ausgänge auf 4-Byte KOs legt und diese im Gruppenmonitor beobachtet, kann man das erkennen.

    AC[x] funktioniert auch, aber anders als es die Beschreibung in der Doku vermuten lässt! AC[x] ist nur dann 0, wenn der betreffende Ausgang im aktuellen Durchlauf noch nicht beschrieben wurde. Wenn der Ausgang beschrieben wurde (auch wenn das der gleiche Wert wie im letzten Durchlauf ist!), wird AC[x] auf 1 gesetzt. Dies ist meiner Meinung nach in der Doku nicht genau genug beschrieben!

    Gruß
    GKap

    Kommentar

    Lädt...
    X