Marco_ET12
Level-1
- Beiträge
- 25
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo liebe Community,
ich habe bezüglich eines Mini-Projektes in der Uni einmal ein paar Fragen.
Gearbeitet wird mit einem SIEMENS PC System SIMATIC S7 Open Controller ET200SP, CPU1515SP
Und war geht es um ein Fließband, welches verschiedene Bauteile, die immer 50mm lang sind, per Sensor erkennen und am Ende durch einen Auswerfer in eine Kiste werfen soll. Die Bandgeschwindigkeit kann sich durch Spannungsregelung ändern, somit auch die Zeit vom Sensor zum Auswerfer.
Mein Lösungsansatz war nun folgender: Dadurch, dass jedes Bauteil IMMER 50 mm lang ist, kann ich den Sensor zur V_Band Messung verwenden. Unterbricht das Bauteil den Sensor, speichere ich diese Flanke in eine Variable. Dieser weise ich dann mit der Funktion TIME_TCK() die aktuelle Laufzeit seit Start zu. Verlässt das Bauteil den Sensor wieder, fange ich diese Flanke ebenso ab und speichere sie in einer anderen Variablen.
Die Differenz dieser Zeiten entspricht genau der Zeit die das Bauteil gebraucht hat um am Sensor entlang zu fahren. Teile ich diesen Wert nun durch 50mm, so habe ich V_Band in mm/s. Durch Messung des Astandes Sensor-Auswerfer, kann ich nun einen TON so programmieren, dass nach Ablauf der Zeit, die das Bauteil bis zum Auswerfer braucht, dieser aktiv wird. PT des TON hängt also von t=S(Sensor-Auswerfer)/V_Band ab. So zumindest in der Theorie, damit ihr eine Vorstellung habt worum es geht.
Nun kommt jedoch meine eigentliche Frage:
Der Weg s ist eine Variable vom Datentyp REAL. Die Differenzzeit ist eine Variable vom Datentyp TIME. Ich kann ja nicht einfach REAL durch TIME teilen. Wie würdet ihr das am besten lösen? Wenn ich TIME_TO_REAL konvertiere wird der Wert doch nicht wirklich so bleiben, wie ich ihn brauche oder? Leider habe ich erst ab Freitag wieder die Möglichkeit im Labor praxisnah zu testen. ( Danke CORONA). Allerdings möchte ich mir schon vorher einen Lösungsschritt überlegen, dem ich meinem PROF vorlegen kann.
Ich kann mir nur nich ganz vorstellen, wie ich die richtige Einheit von V_Band bekomme durch die Arithmetik.
Ich hoffe, dass jemand Lust hat mir etwas zu helfen und freue mich auf tolle und hilfreiche Antworten.
Liebe Grüße und sonnige Tage,
Marco
ich habe bezüglich eines Mini-Projektes in der Uni einmal ein paar Fragen.
Gearbeitet wird mit einem SIEMENS PC System SIMATIC S7 Open Controller ET200SP, CPU1515SP
Und war geht es um ein Fließband, welches verschiedene Bauteile, die immer 50mm lang sind, per Sensor erkennen und am Ende durch einen Auswerfer in eine Kiste werfen soll. Die Bandgeschwindigkeit kann sich durch Spannungsregelung ändern, somit auch die Zeit vom Sensor zum Auswerfer.
Mein Lösungsansatz war nun folgender: Dadurch, dass jedes Bauteil IMMER 50 mm lang ist, kann ich den Sensor zur V_Band Messung verwenden. Unterbricht das Bauteil den Sensor, speichere ich diese Flanke in eine Variable. Dieser weise ich dann mit der Funktion TIME_TCK() die aktuelle Laufzeit seit Start zu. Verlässt das Bauteil den Sensor wieder, fange ich diese Flanke ebenso ab und speichere sie in einer anderen Variablen.
Die Differenz dieser Zeiten entspricht genau der Zeit die das Bauteil gebraucht hat um am Sensor entlang zu fahren. Teile ich diesen Wert nun durch 50mm, so habe ich V_Band in mm/s. Durch Messung des Astandes Sensor-Auswerfer, kann ich nun einen TON so programmieren, dass nach Ablauf der Zeit, die das Bauteil bis zum Auswerfer braucht, dieser aktiv wird. PT des TON hängt also von t=S(Sensor-Auswerfer)/V_Band ab. So zumindest in der Theorie, damit ihr eine Vorstellung habt worum es geht.
Nun kommt jedoch meine eigentliche Frage:
Der Weg s ist eine Variable vom Datentyp REAL. Die Differenzzeit ist eine Variable vom Datentyp TIME. Ich kann ja nicht einfach REAL durch TIME teilen. Wie würdet ihr das am besten lösen? Wenn ich TIME_TO_REAL konvertiere wird der Wert doch nicht wirklich so bleiben, wie ich ihn brauche oder? Leider habe ich erst ab Freitag wieder die Möglichkeit im Labor praxisnah zu testen. ( Danke CORONA). Allerdings möchte ich mir schon vorher einen Lösungsschritt überlegen, dem ich meinem PROF vorlegen kann.
Ich kann mir nur nich ganz vorstellen, wie ich die richtige Einheit von V_Band bekomme durch die Arithmetik.
Ich hoffe, dass jemand Lust hat mir etwas zu helfen und freue mich auf tolle und hilfreiche Antworten.
Liebe Grüße und sonnige Tage,
Marco