Timer Oder abgefragt Awl SCL

Zuviel Werbung?
-> Hier kostenlos registrieren
Bei mir:

IF
Bool
OR Bool
OR Timer
OR Timer
THEN
...
END_IF;

Da sagt TIA "Operator OR ist nicht kompatibel mit den Datentypen von Bool und Timer."

Kommentier ich die timer aus dann funktionierts.
Kommentier ich die Bools aus dann gleiche Fehlermeldung nur mit "Datentypen von Timer und Timer"...

..auch als direkte Anweisung kommt der gleiche Fehler :/
 
Zuletzt bearbeitet:
Wozu IF? Du willst einem BOOL TRUE oder FALSE zuweisen. Das kann direkt per Verknüpfung erfolgen. Das macht ein sinnloses IF-Konstrukt sicher nicht übersichtlicher.

Das zweite Problem liegt an Deinem verwendeten Timer. Ist das kein Hardware(S5)- sondern ein Software(FB)-Timer, muss natürlich dessen Ausgang "Timer.Q" verwendet werden. Soll dieser Timer mehrmals im Zyklus abgefragt werden, muss auch ggf. ein Zwischenspeicher verwendet werden. Das hängt aber von der verwendeten CPU ab. Dazu gibt's schon genügend Threads hier.
 
Wozu IF? Du willst einem BOOL TRUE oder FALSE zuweisen. Das kann direkt per Verknüpfung erfolgen. Das macht ein sinnloses IF-Konstrukt sicher nicht übersichtlicher.

Das zweite Problem liegt an Deinem verwendeten Timer. Ist das kein Hardware(S5)- sondern ein Software(FB)-Timer, muss natürlich dessen Ausgang "Timer.Q" verwendet werden. Soll dieser Timer mehrmals im Zyklus abgefragt werden, muss auch ggf. ein Zwischenspeicher verwendet werden. Das hängt aber von der verwendeten CPU ab. Dazu gibt's schon genügend Threads hier.

der Timer ist wohl noch aus s5 zeiten...


Vielen Dank für die Antworten! :-)
Wühle mich dann nochmal tiefer durchs Forum.
 
Bei mir:

IF
Bool
OR Bool
OR Timer
OR Timer
THEN
...
END_IF;
Das entspräche in AWL:
Code:
IF:   [COLOR=#333333]A Bool[/COLOR]
      [COLOR=#333333]O Bool[/COLOR]
      [COLOR=#333333]O Timer[/COLOR]
      [COLOR=#333333]O Timer
[/COLOR]      SPBN ELSE
THEN: SET
      [COLOR=#333333]= Bool
[/COLOR]      SPA END
ELSE: CLEAR
      = Bool
END:  NOP 0
Würde man doch für 'ne einfache Zuweisung auch nicht machen, oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider sagt er dann "Der Operand T_Bla.Q ist nicht definiert" :/

Der wurde irgendwo in awl mit sd erzeugt.
Was für 'ne CPU? Wie sieht der Timeraufruf aus? Gleicher FB/FC oder nicht? Wenn nicht, Timerausgang auf globale Variable übertragen? ...
;)
 
Danke hucki :D für die "richtigen Fragen".
Cpu: 1512-f (et 200sp)
Timeraufruf bzw schreibende cross reference nicht gefunden oO
Verschiedene fc/fbs
Umweg über globale var wäre halt ein umweg.
Datentyp is nornal der timer, direkt adressiert auf %T9
Und das if then else konstrukt ist natürlich nicht nur für ne einfache Zuweisung :D aber darum sollte es hier ja nicht gehen. Müsste/Sollte ja beides gehen...
 
Zurück
Oben