TIA Lagerprogrammierung

Frozen19

Level-2
Beiträge
50
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ich habe als Aufgabe ein Lager mit 40 Plätzen zu programmieren mit TIA V13 der Code für das einlagern ist:

Code:
(*----------Flankenauswertung--------------*)
#T_Einlagern_Start := #I_Einlagern AND NOT #Stat_FP_Merker1;
#Stat_FP_Merker1 := #I_Einlagern;
(*-----------------------------------------*)

//Nächsten Freien Lagerplatz Suchen

IF #T_Einlagern_Start AND NOT #Stat_Timer AND NOT (#I_Chargennummer = 0) THEN
    
    FOR #T_index := 1 TO 40 DO
        
        IF "Lager".Platz[#T_index].Chargennummer = 0 THEN
            "Lager".Platz[#T_index].Bezeichnung := #I_Bezeichnung;
            "Lager".Platz[#T_index].Chargennummer := #I_Chargennummer;
            "Lager".Platz[#T_index].Datum_Uhrzeit := #I_Datum_Uhrzeit;
            "Lager".Platz[#T_index].Gewicht := #I_Gewicht;
            #O_Eingelagert := True;
            
            RETURN;
            
        END_IF;
    END_FOR;
    // Wenn kein Platz frei ist wird eine Fehlermeldung augegeben
    #O_Fehler := True;
END_IF;

//Timer: Wenn nach 2sek Schleifendurchlaufdurchlauf die Auschaltverzögerung abfällt dann = Fehler
#T_Timer_AusVerz := S_OFFDT(T_NO := #I_Timer1, S := #I_Einlagern, TV := s5t#2s, Q => #Stat_Timer);

IF NOT #Stat_Timer THEN
    #O_Fehler := false;
    #O_Eingelagert := false;
END_IF;

Meine Frage wie kann ich da jetzt über eine Variable an den Roboter übergeben das er bsp. Auf Lagerplatz Nr. x einlagert?
 
Direkt nach Platzfindung den ganzen Baustein zu verlassen ist ja schon etwas hardcore. Damit überspringst du den Timeraufruf du ja auch.
Wieso verlässt du nicht nur die Schleife, und belegst die Variable für den Roboter mit der Indexnummer?

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Vollmi,

Danke für deine Antwort.
Du meinst nach der For schleife den index auf die Roboter Variable für seinen Befehl zum einlagern auf Lagerplatz x zuweisen.

Bsp.:
#Out_Roboter:= #T_index

Und die Roboter Programmierung ist dann ein Case wo dann diese #Out_Roboter Variable abgefragt wird und je nach Index er dann die Koordinaten x,y,z zum Lagerplatz anfährt?
 
Joa das wäre z.B. ein Ansatz. Aber deren gibt es viele.
Aber eben unbedingt drauf achten das du keine FB aufrufe überspringst wie z.B. den Timer in deinem FB oder womöglich diesen FB nur bedingt aufrufst.

mfG René
 
Zurück
Oben