Hallo,
Ich habe als Aufgabe ein Lager mit 40 Plätzen zu programmieren mit TIA V13 der Code für das einlagern ist:
Meine Frage wie kann ich da jetzt über eine Variable an den Roboter übergeben das er bsp. Auf Lagerplatz Nr. x einlagert?
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;