TIA TIA V13 TOF als Multiinstanz

Zuviel Werbung?
-> Hier kostenlos registrieren
Nein, das sperrt er bzw. meldet er nen Fehler. Das ist aber mE nichts Neues...

@TE: Wo ist das Problem mit den Variablen als stat/temp? Ich meine das bisher noch nie anders gemacht zu haben. Es handelt sich bei TON/TOF ja um eine Input Variable. Wenn du FBs als Multinstanz aufrufst legst du dann auch an Input den Input dran, wenn du in innerhalb des FBs nochmal beschreiben willst:confused:
 
Zuletzt bearbeitet:
TOF für S7-1500 ist kein FB, sondern eine Siemens-super-special-construct-"Anweisung", wo Siemens es nicht schafft, mal vollständig und korrekt das wirkliche Verhalten zu dokumentieren, was zu keinem bisher mit S7 verwendeten Timer kompatibel ist.

Verwirrendes aus der Hilfe zu TOF (TIA V13 SP1): AWL (S7-1500) / TOF: Ausschaltverzögerung erzeugen (S7-1500)
TIA Informationssystem - TOF: Ausschaltverzögerung erzeugen schrieb:
Der Parameter Q wird gesetzt, wenn das Verknüpfungsergebnis (VKE) am Parameter IN von "0" auf "1" wechselt (positive Signalflanke).
1) in AWL ist am Eingang IN kein Verknüpfungsergebnis verschaltet sondern eine boolsche Variable oder Konstante
2) Ist das mit der Flanke nur falsch formuliert oder ist es wirklich so realisiert, daß an IN eine positive Flanke nötig ist?
Muß nach einem Reset des Timers (z.B. RESET_TIMER) der IN erst auf 0 und wieder auf 1 gehen, damit Q wieder 1 wird?
Ich meine, Q muß immer 1 sein wenn IN 1 ist. Unabhängig von einer Flanke.
Oder ist damit gemeint, daß die Anweisung überhaupt nur "ausgeführt wird" wenn an IN eine positive Flanke festgestellt wird und deshalb bei nicht-Flanke der Zustand von Q nicht aktualisiert wird??

TIA Informationssystem - TOF: Ausschaltverzögerung erzeugen schrieb:
Das folgende Beispiel zeigt die Funktionsweise der Anweisung:
Code:
CALL TOF, "TOF_DB"  // Die Anweisung wird aufgerufen. Der Datenbaustein "TOF_DB" wird der Anweisung zugeordnet.
TIME
IN := "Tag_Start"   // Bei einer positiven Signalflanke am Operanden [COLOR="#FF0000"]wird die Anweisung ausgeführt.[/COLOR]
PT := ...
Was heißt "wird die Anweisung ausgeführt"? Ist das nur falsch formuliert (oder falsch übersetzt) oder ist es die unauffällige Erklärung für das hier festgestellte nicht-Funktionieren des TOF, wenn IN mit sich selber verschaltet ist und deshalb am/beim CALL keine positive Signalflanke festgestellt werden kann?
Und was ist bei den anderen Fällen (IN ist 0 oder 1, außer 0-1-Flanke) - bewirkt die Anweisung dann gar nichts weil dann "wird die Anweisung nicht ausgeführt"??


Funktioniert folgender Code?
Code:
U "test"
= #tmp_Bool
= #tof_MP.IN

CALL  #tof_MP
   IN :=#tmp_Bool
   PT :=#timeval
   Q  :=#O_ComActiv
   ET :=

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, ich bleibe bei S5-Timern bzw. meinen selbstgebauten Zeitgliedern...

kann doch nicht sein, dass fuer solch essentielle und simple Dinge wie ner Ein-, Ausschaltverzoegerung hier schon der x-te Bug-Thread aufgemacht wird.

Nebenbei bin ich jetzt auch schon fuer den Atomausstieg, bevor noch jemand auf die Idee kommt, in ner Atomanlage ne 1500er einzubauen...

man fasst es nicht...
 
wir haben uns nen "Aktualwertrettungsmechanismus" selbst gebaut, um Reservevariablen in DBs stossfrei umbenennen zu koennen. Aber muss man halt immer dtan denken, wenn man den DB mal verlaengern will. Und braucht doppelt Speicher und extra Zeit fuers Retten...

schoene neue Welt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe letztens auch schon in Erwägung gezogen wieder auf Merker im S5-Stil umzuschwenken, da ich diese im Gegensatz zu DBs oder sonstigen Variablen umbenennen kann ohne dass der komplette Speicher reinitialisiert werden muss.

Könnte man UDTs auf Merkerbereiche Legen hätte ich das schon lange gemacht.

mfG René
 
Zurück
Oben