Profibus Fragen

HarryHirn

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

ich gestehe gleich zu Anfang, dass ich ein totaler Neuling bin ;)
Ich versuche mich mit diversen Lektüren und PDFs in die Kommunikation per Profibus einzulesen, aber so wirklich klappt das noch nicht.


Das Problem:
Ich habe ein Device (Festo MTR-DCI) welches ich über Profibus steuern will (S7-1200 + CM1243-5).
Allerdings gibt es da von Festo nur FBs für Step7 V5.3, läuft also nicht.


Ich dachte dann ich schicke die Pakete einfach selber zum Gerät.


Meiner Meinung nach müsste das ja mit WRREC gehen.
In TIA ist alles projektiert, alle LEDS sind auf grün.


Erstmal eine grundlegende Frage:
In dem Handbuch vom Device steht was von 8 Eingangs und 8 Ausgangsbytes.
Wenn ich dem jetzt also per WRREC 8 Bytes schicke, werden die zurückkommenden Bytes (Statusbytes) dann im meinem RECORD gespeichert?
Ich habe nirgendwo etwas über die wirkliche Datenkommunikation auf dem Bus gefunden...



Ich habe mal folgendes programmiert:


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


#PB_RECORD ist ein Byte Array der länge 8.
Was dann passiert ist ERROR geht auf TRUE und STATUS ist 16#C080_9000.


Was läuft da schief?
Laut S7-1200 Handbuch ist da die Anfangsadresse unültig?
Wie bekomme ich ERROR wieder auf FALSE?


Danke schonmal :)
 
Zurück
Oben