-> Hier kostenlos registrieren
Hallo zusammen.
Ich habe wieder mal ein paar Probleme mit den Beckhoff Komponenten
Momentan sind folgende Komponenten verbaut
Im System Manager sind alle Geräte vorhanden und es ist auch möglich per ADS Online Zugriff im Systemmanager Daten zu lesen.
Nun hab ich mit der PLC Control ein kleines Programm geschrieben um per SDO Read den Gerätenamen auszulesen.
bei der nSlaveAddr bin ich mir allerdings nicht ganz sicher ob die Adresse des Gerätes stimmt, vielleicht weiß jemand wo ich diese Adresse des Gerätes finden kann.
Logge ich mich auf der Steuerung ein und Starte das Programm erhalte ich auf der nErrId des Funktionsbausteines FB_EcCoESdoRead immer einen Wert, zuerst war es eine 0x6 was auf einen fehlerhaften Target Port hinweist und nun erhalte ich nur noch Werte die in der Fehlerbeschreibung nicht mehr beschrieben sind.
Zudem erhalte ich im System Manager immer eine Meldung das der CANopen Master, also meine EL6751, eine Verknüpfung zu einer Task braucht, ich glaube da stand etwas mit Sync Unit.
Ich hoffe die Infos reichen erstmal fürs Erste, ansonsten würde ich noch ein paar Screenshots hochladen.
Wäre toll wenn mir jemand behilflich sein könnte.
Ich habe wieder mal ein paar Probleme mit den Beckhoff Komponenten
Momentan sind folgende Komponenten verbaut
- CX9010 mit TwinCAT PLC Runtime
- CANopen Master EL6751
Im System Manager sind alle Geräte vorhanden und es ist auch möglich per ADS Online Zugriff im Systemmanager Daten zu lesen.
Nun hab ich mit der PLC Control ein kleines Programm geschrieben um per SDO Read den Gerätenamen auszulesen.
Code:
PROGRAM MAIN
VAR
Read_Data : STRING;
ReadSdo : FB_EcCoESdoRead;
END_VAR
Code:
IF ReadSdo.bBusy = FALSE THEN
ReadSdo(bExecute := TRUE);
ELSE
ReadSdo(
sNetId := '5.16.31.202.5.1', (* AMS-NET ID vom Master *)
nSlaveAddr :=16#1002 , (* EtherCAT-Adresse vom Slave PORT ???? *)
nIndex := 16#1008, (* Index im Objektverzeichnis der ausgelesen werden soll DEVICE NAME*)
nSubIndex := 0, (* Subindex im Objektverzeichnis *)
pDstBuf :=ADR(Read_Data),
cbBufLen := 7, (* Anzahl an Bytes des Index *)
bExecute := FALSE,
tTimeout := T#500ms,
);
END_IF
bei der nSlaveAddr bin ich mir allerdings nicht ganz sicher ob die Adresse des Gerätes stimmt, vielleicht weiß jemand wo ich diese Adresse des Gerätes finden kann.
Logge ich mich auf der Steuerung ein und Starte das Programm erhalte ich auf der nErrId des Funktionsbausteines FB_EcCoESdoRead immer einen Wert, zuerst war es eine 0x6 was auf einen fehlerhaften Target Port hinweist und nun erhalte ich nur noch Werte die in der Fehlerbeschreibung nicht mehr beschrieben sind.
Zudem erhalte ich im System Manager immer eine Meldung das der CANopen Master, also meine EL6751, eine Verknüpfung zu einer Task braucht, ich glaube da stand etwas mit Sync Unit.
Ich hoffe die Infos reichen erstmal fürs Erste, ansonsten würde ich noch ein paar Screenshots hochladen.
Wäre toll wenn mir jemand behilflich sein könnte.