RS-Flipflops in FCs mit Eingangsvariablen

sk1rie

Level-1
Beiträge
108
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute !

Ich habe gestern mit einem Problem gekämpft wozu ich noch keine Lösung gefunden habe und gern mal Eure Meinung hören wollte.

Ich habe eine Funktion, die ausschließlich mit Eingangs/Ausgangsvariablen arbeitet. Diese Variablen dienen letztlich dazu, ein RS-Flipflop zu setzen.

Wenn ich diese Funktion aufrufe und Parametriere, sind alle angelegten Parameter Datenworte in einem DB, die jedoch stark schwanken (Analogwerte).

Das Problem ist nun, dass der RS-FF nicht gesetzt bleibt sondern ständig flackert, obwohl die Rücksetzbedingung nicht erfüllt ist.

Wenn ich den Code aus dem FC direkt dort einfüge, wo der FC normalerweise aufgerufen wird, und ihn exakt so parametriere, dann funktioniert es genau so wie es sein soll. Weiß jemand Rat dazu ?

Sinnbildlich soll der folgende Code das mal darstellen. Bei dem echten Programm sieht die Funktion weit komplexer aus. Falls das wichtig sein sollte, stell ich das auch nochmal mit hinein.

Funktion:
Code:
 U     #IN1
      S     #OUT
      U     #IN2
      R     #OUT
      NOP   0

Funktionsaufruf
Code:
 U     DB240.DBX    0.1
      =     L      0.0
      BLD   103
      U     DB240.DBX    0.2
      =     L      0.1
      BLD   103
      CALL  FC   240
       IN1:=L0.0
       IN2:=L0.1
       OUT:=DB240.DBX0.3

Danke für Eure Mühe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... vielleicht als Ergänzung zu dem Beitrag von Crash :

Bei einer Funktion berücksichtigt OUT nicht den letzten Zustand der zugeordneten Variablen. Im Unterschied dazu verwendet IN_OUT (außer bei Pointern) direkt die zugewiesene Variable und deren Zustand ...

Gruß
LL
 
Zurück
Oben