ADSWRITE auf EL6731-0010

msauerpb

Level-2
Beiträge
207
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich muss über das PLC Programm die Slave Adresse meiner Profibus Klemme ändern. Auf nachfrage bei Beckhoff habe ich die Info bekommen, dass das über einen ADSWRITE geht. Ich habe dazu dann folgende Code verwendet:

Code:
// ADSWRITE mit NETID=NetId der EL6731-0010, PPORT=200, IDXGRP=16#F480, IDXOFFS=0, LEN=4,DATA[0]=16#45,DATA[1]=16#23,DATA[2]=Stationsadresse,DATA[3]=0, wird von der aktuellen Version V00.75 unterstützt
_fbPbAdressWrite(NETID   := EL6731NetID,
                          PORT    := 200,
                          IDXGRP  := 16#F480,
                          IDXOFFS := 0,
                          LEN     := SIZEOF(_DataPbAdressWrite),
                          SRCADDR := ADR(_DataPbAdressWrite),
                          WRITE   := _WriteSlaveAdr,
                          TMOUT   := T#5S,
                          ERR     => _ErrorWriteSlaveAdr,
                          ERRID   => _ErrorIdWriteSlaveAdr);

Allerdings bekomme ich immer den Fehler

[TABLE="width: 681"]
[TR]
[TD="class: TableCellLeft"]0x712[/TD]
[TD="class: TableCellLeft"]1810[/TD]
[TD="class: TableCellLeft"]ADSERR_DEVICE_INVALIDSTATE[/TD]
[TD="class: TableCellLeft"]Gerät im ungültigen Zustand[/TD]
[/TR]
[TR]
[TD="class: TableCellLeft"][/TD]
[/TR]
[/TABLE]

Muss ich davor noch etwas anderes machen? Könntet Ihr mir dazu einen Tip geben.

Danke für Eure Hilfe.
gruss
martin
 
Ich glaub ich hab den Fehler gefunden. Ich hatte vor dem ADS Zugriff die Klemme in den INIT Zustand gesetzt. Nachdem ich den State Wechsel von Init -> OP nach dem schreiben der Adresse gemacht hatte ging es.
 
Zurück
Oben