TwinCAT und SDO's allgemein

nwelling

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

Ich habe eine sehr grundlegende Frage. Ich versuche mit dem Funktionsbaustein FB_EcCoeSdoRead von Beckhoff ein Objekt aus dem Objektverzeichnis eines EtherCAT Slaves zu lesen. Nur wie kann ich das Datum dann lesen bzw. weiterverwenden in einer PLC? Als Rückgabewerte gibt es nur Status- oder Errorwerte, aber kein "Ergebnis", was ich in einer Variable weiterverwenden könnte.

Ich hoffe ich habe mich verständlich ausgedrückt, ich wäre sehr froh, wenn mich jemand auf die richtige Spur bringen könnte.
 
Hallo,
ich hätte da auch ein ähnliche Frage.
Ich möchte gerne den Lost Link Counter von einem EtherCat Slave auslesen.
Der soll im Register 0x310 - 0x313 (Port A-C) stehen vom Ethercat slave conroller.

Ich benutze den FB_ECPhysicalReadCmd, bekomme aber nicht zurück.
Weder einen Error oder irgendwelche nützlichen Werte.

Kann mir das jemand helfen?

fbEcPhysicalReadCmd(
sNetId:= F_CreateAmsNetId(sNetId_EtherCat_Master),
adp:= 16#03F0,
ado:= 16#0310,
LEN:= SIZEOF(uiCounter),
eType:= eAdressingType_AutoInc,
pDstBuf:= ADR(uiCounter),
bExecute:= bExecute,
tTimeout:= ,
bBusy=> ,
bError=> ,
nErrId=> ,
wkc=> );
 
eAdressingType_AutoInc => AutoInkrement-Nummer. Aus der Bausteinhilfe:
1.Slave adp = 0
2.Slave adp = 16#ffff (-1)
3.Slave adp = 16#fffe(-2)
4.Slave adp = 16#fffd(-3)

In deiner Code-Sequenz nutzt du aber vom Wertebereich den Typ eAdressingType_Fixed

Guga

P.S. Ich kenne eigentlich niemanden der diese Werte systematisch auswertet. Nur zum Betrachten kannst du das auch über den SystemManager (Online-Ansicht des EtherCAT-Masters, rechte Maustaste und Register auswählen/anticken).
Das Ganze funktioniert im laufenden Betrieb.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke,

jetzt hab ich es.
Diese Auswertung ist für den Kunden gedacht. Der darf und soll nicht an den SystemManager oder unseren Quellcode.
Hierfür wollte ich dem Kunden dann eine Visualisierung schreiben, um ihm eine Möglichkeit der Fehleranalyse zu geben.
 
na dann viel Spass.
Ich kapziere zwar nicht warum ein Endkunde in der Diagnose mehr Daten bekommt als die Default-Infos im SystemManager.
Daten sind schön - nur interpretieren muss du sie ja auch.
Ich persönlich hätte auf dem Level von "FB_EcGetAllSlaveStates" aufgefährt.

Und nur noch so als Nachsatz: In der TwinCAT2-EtherCAT Biblitohek gibt es ein Beispiel-Projekt wo einiges an Diagnose drinnen ist. Kannst du auch ohne Probleme nach TC3 umsetzen.

Guga
 
Zurück
Oben