ProfiBus Kommunikation zwischen CM1243-5 und Festo MTR-DCI

HarryHirn

Level-1
Beiträge
15
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Moin,

ich versuche gerade eine Kommunikation über ProfiBus aufzubauen.
Dabei sind mir noch ein paar Dinge unklar und ich komme auch durch Lektüre nicht wirklich weiter...


Ich habe eine S7-1200 mit einem CM1243-5.
Das CM ist per Profibus verbunden mit einem Festo MTR-DCI Servomotor.


In TIA ist alles projektiert, übersetzt und in die Geräte geladen.
Alle Lampen auf grün an allen Geräten.
Also sollte der MTR-DCI mit dem CM kommunizieren können.


Nun mein Problem, was evtl einfach ein Verständnis Problem ist:
Ich möchte den Motor konfigurieren, dazu muss ich ein paar Bytes in einer bestimmten Reihenfolge rüberschaufeln.


Daten vom CM zum Slave zu schicken mache ich doch mit WRREC, oder?
Oder muss ich für das Festo Handhabungs Positionierungs Protokoll (FHPP) noch irgendwie einen Baustein installieren?



Werden Quittierungs- oder Statusdaten, die der Motor sendet daraufhin in dem RECORD Eintrag nieder gelegt?


Oder muss ich dafür separat den RDREC ausführen?


In welcher Reihenfolge verschickt WRREC die Daten?
Ich habe ein WORD mit den Konfigurationsbits, welches Byte wird zuerst verschickt?


Muss ich REQ vor dem konfigurieren auf FALSE setzen und dann wieder auf TRUE zum versenden?


Hier mal einen Ausschnitt von meinem jetzigen Versuch, der allerdings nicht viel macht...
Ich habe die WRREC_DB in Beobachtung und es scheint nie BUSY oder DONE auf TRUE zu gehen...




Code:
[COLOR=#000000][FONT=arial]IF "WRREC_DB_1".BUSY = FALSE THEN[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]    "WRREC_DB_1".REQ := FALSE;[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]    "PB_WORD" := 2#0000_0000_0000_0000;[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]    "WRREC_DB_1"(REQ := TRUE,[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]                 ID:=2,[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]                 INDEX:=0,[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]                 LEN:=2,[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]                 RECORD:="PB_WORD");[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]    "Axis_State" := 5;[/FONT][/COLOR]

[COLOR=#000000][FONT=arial]  END_IF;[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]  IF "WRREC_DB_1".DONE = TRUE THEN[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]    "Axis_State" := 55;[/FONT][/COLOR]
[COLOR=#000000][FONT=arial]  END_IF;[/FONT][/COLOR]




Axis_State ist nach Aufruf auf 5, erreicht aber nie den Status 55.


Und dann noch eine Frage zum WRREC.STATUS, wo kann man dafür mal leicht lesbare Erläuterungen finden? Der steht bei mir immer auf 16#C080_9000, aber mit dem Handbuch kriege ich das nicht enträtselt...


Vielen Dank schonmal für eure Hilfe :)
 
Zurück
Oben