B&R Maschinencode

maru2648

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

ich arbeite an der Uni gerade mit einer B&R X20CP0483. Dabei soll anhand des Maschinencodes der Energieverbrauch prognostiziert werden. Ich hab bereits ein Strommessgerät erstellt welches die Daten pro Sekunde in eine csv-File plottet, hier soll simultan der Maschinencode reingeschrieben werden.
Mit der Steuerung hab ich noch so meine Probleme, da ich neu auf dem Gebiet bin. Ich weiß ich muss in Automation Runtime mein Anwenderprogramm erstellen, welches dann kompiliert auf die Steuerung übertragen werden kann.
Jetzt meine Frage was kann ich aus der Steuerung auslesen? Bit-Folge oder Variablenzustand? Und wie komme ich an diese Daten?

Ich freue mich über jede Antwort die ein wenig Informationen über den Maschinencode und das Auslesen hiervon haben. :)

Beste Grüße
maru
 
Ist dir bekannt, das auf der CPU ein Realtimebetriebsystem läuft?

Schau dir mal die Daten im Profiler an, dann wirst du sehen, dass dort noch einiges mehr läuft und deine Aufgabenstellung eventuell nicht wirklich zielführend ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist mir bewusst. Das muss auch der Fall sein, da ich sonst keine Echtzeitdaten erhalten kann. Leider komme ich aktuell aufgrund der Pandemie nicht an die CPU und kann nur von zuhause aus die CPU simulieren.

Wie muss ich das nicht zielführend verstehen? Kurze Randinformation noch: Es wird ein Bauteil mittels CPU gesteuert, von dem der Stromverbrauch erfasst werden soll, CPU spielt bzgl. Verbrauch keine Rolle. Eig war es angedacht an einer alten Werkzeugmaschine das Ganze aufzubauen, aber aufgrund der freizugänglichen CPU wird das erst an der B&R Steuerung getestet.
Die gewonnenen Daten also Steuerdaten und Verbrauch werden für eine anschließende Simulation genutzt, mehr Informationen sind für die Simulation nicht notwendig.
Aber schonmal vielen Dank für deine Antwort!

Beste Grüße
maru
 
Guten Morgen Erich,

mit Maschinencode ist das Programm der CPU gemeint (Anwenderprogramm). Nur weiß ich leider da nicht welche Daten ich wie aus der CPU bekomme. Ob das Variablenzustände sind oder nur Binärdaten.

Und der Energieverbrauch soll von einem Förderband aufgenommen werden, welches durch die CPU mit einem Anwenderprogramm gesteuert wird.

Beste Grüße
maru
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Normalerweise würde man das Messgerät an eine SPS - Baugruppe anschließen (z.Bsp. Analogbaugruppe) und die Werte des Messgerätes zum Beispiel jede Sekunde erfassen, in einem Array speichern und anschließend in eine Textdatei schreiben. Beim Wegspeichern der Werte könnte man diese noch mit einem Zeitstempel versehen und/oder der Schrittnummer der Bearbeitung.
 
Dabei soll anhand des Maschinencodes der Energieverbrauch prognostiziert werden. Ich hab bereits ein Strommessgerät erstellt welches die Daten pro Sekunde in eine csv-File plottet, hier soll simultan der Maschinencode reingeschrieben werden.
Prognosen sind schon schwierig, besonders wenn sie die Zukunft betreffen ;), aber noch besonderserer bis unsinnig, wenn sie anhand des MaschinenCodes erstellt werden sollen, sofern es sich um ein SPS-Programm im üblichen Sinne handelt.
Du willst also Befehl für Befehl protokollieren oder prognostizieren, welchen EnergieVerbrauch der einzelne Befehl jeweils auslöst?
Energie ist aber Leistung mal Zeit. Woher nimmst Du die Komponente Zeit?

Bei einem NC-Programm könnte man eher anhand des G-Codes etwas prognostizieren. Aus den programmierten VorschubGeschwindigkeiten und Verfahrwegen kann man immerhin Zeitwerte ermitteln, die aber der Bediener mit dem "OverRide" oder mit "Vorschub-Halt" erheblich verfälschen kann. Ferner müsste man voraussetzen, dass die Verfahrwege bzw. die Anfangs- und EndPositionen und die VorschubGeschwindigkeiten und ggfs die Anzahl von ProgrammschleifenDurchläufen nicht allzu undurchsichtig aus R-Parametern zusammengebastelt werden.

Es ist zwar denkbar, dass im Programm Zeiten vorgegeben werden, aber wovon hängt denn sonst noch ab, wie lange welcher "Verbraucher" eingeschaltet ist bzw. pausiert?

Was ein zyklisches Programm ist, scheint Dir nicht allzu sehr bewusst zu sein.
Einflüsse von "aussen", die bestimmte Zeiten zur Folge haben und auf die das Programm nur reagiert, kann man nicht aus dem MaschinenCode allein ermitteln.

Ohne Deine B&R näher zu kennen, behaupte ich mal, dass das Reinschreiben des MaschinenCodes in eine CSV-Datei mit Zeitstempel, wann gerade welcher Befehl durchlaufen wird, nicht möglich ist. Etwas drumherum zu programmieren, das einen entsprechenden bzw. ähnlichen Zweck erfüllen könnte, würde das Programm locker um mindestens das Dreifache aufblähen. Ohne jeden wirklichen Nutzen.
 
Der/die/das TE schrieb von einem Förderband, dessen Energieverbrauch bestimmt werden soll. Da kommt es auch noch auf die Massen an, die auf dem Band liegen.
Wenn die nicht konstant und bekannt sind, wirds noch unbestimmter.
Gruß
Erich
 
Zurück
Oben