SPS-Totalizer
Level-1
- Beiträge
- 173
- Reaktionspunkte
- 40
-> Hier kostenlos registrieren
Transition von Zustand "läuft nicht" nach "läuft", dann bräuchte man keine eigene Flanke außerhalb des Zustandsdiagramms und es kann keinen undefinierten Zustand geben. Oder dieses Verhalten ist durch die IEC festgelegt, kann ich mir aber auch kaum vorstellen, da sich die TIA-TONs ja schon sehr grundlegend anders verhalten.
IEC-Timer benötigen meistens einen Trigger um den Ablauf zu starten
(bei Siemens ganz sicher).
Mir ist zwar der Sinn der Logic mit dem TRUE nicht ganz klar, aber
wenns so benötigt wird dann einfach folgendes Programmieren:
// Entweder
#t_in := NOT "TempStabilityTON".TON.Q // kann direkt ausserhalb des BST-Aufrufes erfolgen
"TempStabilityTON".TON(IN := #t_in,
PT := #Delay,
Q => #t_out,
ET => #t_et);
IF #t_out THEN
// Programm (Einmaliger Durchlauf alle n Zeiteinheiten )
END_IF;
// Alternativ:
#t_in := NOT "TempStabilityTON".TON.Q // kann direkt ausserhalb des BST-Aufrufes erfolgen
"TempStabilityTON".TON(IN := #t_in,
PT := #Delay);
// weitere Parameter sind hier nicht erforderlich (Q;ET) !
// Nachfolgendes kann an belibiger Programmstelle stehen.
IF "TempStabilityTON".TON.Q
// Programm (Einmaliger Durchlauf alle n Zeiteinheiten)
END_IF;
Es sei darauf hingewiesen, dass der TON-Baustein Zyklisch
aufgerunfen werden muß, da die Zeit (Systemzeit) zwar witerläuft,
jedoch keine Auswertung erfolgen kann (Ausgaben).
Es wäre evtl. auch ratsam den TON in der Instanz und nicht
mit Festem DB zu benutzen.
Gruß
A.