-> Hier kostenlos registrieren
Hi zusammen,
Programmiert wird eine 1515F mit TIA V16.
Ich habe einen Palettenheber, der die Paletten immer genau so hoch heben soll, dass die oberste Lage Ware auf Hüfthöhe ankommt.
Das funktioniert in einer perfekten Welt auch schon, bei der die Werker die Palettenhöhe im Datensatz nach jeder Entnahme auch ordnungsgemäß reduzieren.
Weil wir eben in keiner perfekten Welt leben und das ganze mit einer Höhenkontrolle über Feinlichtschranke oder Ultraschall zu teuer ist, soll das im Hebevorgang mit einem TON und variabler Laufzeit geregelt werden, sobald die Ware eine Lichtschranke unterbricht.
Und da hab ich ein Problem. Wenn die LE die Lichtschranke beim heben unterbricht, gebe ich dem Timer die neue Zeit mit einer Variablen vor und starte den Timer.
Aber er übernimmt den neuen Zeitwert bisher nicht und läuft mit der Laufzeit vom letzten Vorgang weiter.
Muss ich eine spezielle Reihenfolge bei der Vorgabe einhalten?
Also, z.B. erst Zeit vorgeben, dann einen ganzen Zyklus warten und erst dann loslaufen lassen?
Aktuell gebe ich die Zeit vor und starte den Timer gleich danach.
Programmiert wird eine 1515F mit TIA V16.
Ich habe einen Palettenheber, der die Paletten immer genau so hoch heben soll, dass die oberste Lage Ware auf Hüfthöhe ankommt.
Das funktioniert in einer perfekten Welt auch schon, bei der die Werker die Palettenhöhe im Datensatz nach jeder Entnahme auch ordnungsgemäß reduzieren.
Weil wir eben in keiner perfekten Welt leben und das ganze mit einer Höhenkontrolle über Feinlichtschranke oder Ultraschall zu teuer ist, soll das im Hebevorgang mit einem TON und variabler Laufzeit geregelt werden, sobald die Ware eine Lichtschranke unterbricht.
Und da hab ich ein Problem. Wenn die LE die Lichtschranke beim heben unterbricht, gebe ich dem Timer die neue Zeit mit einer Variablen vor und starte den Timer.
Aber er übernimmt den neuen Zeitwert bisher nicht und läuft mit der Laufzeit vom letzten Vorgang weiter.
Muss ich eine spezielle Reihenfolge bei der Vorgabe einhalten?
Also, z.B. erst Zeit vorgeben, dann einen ganzen Zyklus warten und erst dann loslaufen lassen?
Aktuell gebe ich die Zeit vor und starte den Timer gleich danach.
Code:
//Zuweisung Laufzeit
If #sType <> #iType then
Case #iType of
3: #sTime := 12s350ms;
#sType := #iType;
4: #sTime := 13s120ms;
#sType := #iType;
5: #sTime := 11s100ms;
Else
;
End_Case;
End_if;
#stBervz1(IN := #sType = #iType,
PT := #sTime);