TIA TON und TOF für gleichen Ein- und Ausgang verwenden

jugolate

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin der Suche nach einer Lösung für Verwendung der TON- und TOF-Bausteine zum gleichen Ein- und Ausgängen.
Plan: Ein Motor soll mit einem Funktionsbaustein gesteuert werden.
Wenn eine Ein- bzw. Ausschaltverzögerung gewüscht wird, kann die Zeit direkt in OB1 eingegeben werden.
Problem: Wenn TON und TOF in einem Baustein vorhanden sind, wird der Ausgang wegen TOF immer TRUE, daher funktioniert die Einschaltzeitverzögerung nicht mehr. Ich bitte um eine Lösung :)
CPU 15xx

Code.PNG

Main.PNG
 
TOF.IN mit TON.Q belegen(Temp Variable).
Laufsignal dann an TOF.Q

Fraglich wie sich dein Laufsignal verhalten soll, wenn Start oder notAus wiederkehren innerhalb der Laufzeit von TOF...
 
Vielen Dank für eure Antworten.
Die Code sieht jetzt so aus.

#IEC_Timer_0_Instance(IN:=#start,
PT:=#ton,
Q=>#uebergang);


#IEC_Timer_0_Instance_1(IN:=#start AND #uebergang,
PT:=#tof,
Q=>#hilfe);


Zu Ihrer Frage:

Der Freq.umrichter braucht zwei Signale. Die Frequenz bekommt er aus dem DB.
Ich habe vor, das Laufsignal so zu blockieren. Es funktioniert. Hoffentlich bin ich auf richtigem Weg :)

IF NOT #notAus AND #hilfe AND #sensor THEN
#laufsignal := 1;
ELSE
#laufsignal := 0;
END_IF;
 
IF NOT #notAus AND #hilfe AND #sensor THEN
#laufsignal := 1;
ELSE
#laufsignal := 0;
END_IF;
So umständlich wie das formuliert ist, wird es auch übersetzt und ergibt unperformanten Code mit Sprüngen und zwei Zuweisungen. Kürzer und klarer ist diese Formulierung:
Code:
#laufsignal := NOT #notAus AND #hilfe AND #sensor;


Tip: zum Programmcode posten den Code in [CODE]-Tags einfassen (der #-Button im Beitrags-Editor), das wird besser lesbar und es sind auch Einrückungen möglich.
Code:
IF NOT #notAus AND #hilfe AND #sensor THEN 
    #laufsignal := 1;
ELSE
    #laufsignal := 0;
END_IF;

Harald
 
Zurück
Oben