Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
Hallo,
ich habe einen EtherCat - Slave umgesetzt. Nun versuche ich Objekte/Variablen auf dem Slave mit den Funktionsbausteinen ETC_CO_SdoXXX zu schreiben bzw. zu lesen.
Ich habe Objekte/Variable die keine subindex haben
aber auch Objekte mit Subindex einträgen.
Nun zu den Problemen:
Write : ETC_CO_sdoWrite;
WriteAccess : ETC_CO_SdoWrite_Access;
Schreiben des Objekts 16#8000 subindex 16#01 oder 16#02 oder ... Mit FB ETC_CO_SdoWrite_Access
WriteAccess(xExecute := TRUE, uiDevice := 1001 , wIndex:= 16#2008, bySubindex := 16#01, udiTimeOut := 500, pBuffer := ADR(subIndex1) , szSize := SIZEOF(subIndex1), eMode := ETC_CO_MODE. ETC_CO_AUTO, xCompleteAccess := TRUE); --> Es wird Subindex 16#01 richtig geschrieben, aber es wird auch Subindex 16#04 mit irgendwas beschrieben... sehr seltsames Verhalten
Auch ein Zugriff mit ETC_CO_sdoWrite.Write(...) mit allen möglichen Eingaben schlägt ebenfalls fehl.
Ein Schreibzugriff mit ETC_CO_SdoWrite_Access ist erfolgreich wenn ein Array (TestArray[0..3]) deklariert wird und folgendem: Beachte Subindex:= 16#01 und nicht 16#00
Leider werde ich durch die Informationen des Ethercat Example und die Beschreibung in der Bibliotheke nicht schlau. Ich persönlich findes es auch Schade das ich dort den Quellcode nicht einsehen kann... Liegt der nicht zu Verfügung würde ich eine ausführliche Erklärung jeder Variable Eingang/Ausgang erwarten... Es ist teilweise rätselraten angesagt was in den FB reinzugeben gilt... bespw. szSize ? Länge des zu erwarteten Strings? nee hier in dem Fall wohl eher eine Absicherung der lokalen Variable um nicht ins nirgendwo zu schreiben.
Was ist ein Datentyp CAA.PVOID (pBuffer) und was ist ein Datentyp CAA.SIZE (szSize)? Wieso kann ich keinen Datentyp CAA.PIVOD deklarieren aber der FB nimmt diese entgegen? Ja es handelt sich wahrscheinlich um einen Void Pointer aber dann stellt sich mir die Frage warum ich keinen deklariern kann...
Hallo,
ich habe einen EtherCat - Slave umgesetzt. Nun versuche ich Objekte/Variablen auf dem Slave mit den Funktionsbausteinen ETC_CO_SdoXXX zu schreiben bzw. zu lesen.
Ich habe Objekte/Variable die keine subindex haben
aber auch Objekte mit Subindex einträgen.
Nun zu den Problemen:
Write : ETC_CO_sdoWrite;
WriteAccess : ETC_CO_SdoWrite_Access;
Leider werde ich durch die Informationen des Ethercat Example und die Beschreibung in der Bibliotheke nicht schlau. Ich persönlich findes es auch Schade das ich dort den Quellcode nicht einsehen kann... Liegt der nicht zu Verfügung würde ich eine ausführliche Erklärung jeder Variable Eingang/Ausgang erwarten... Es ist teilweise rätselraten angesagt was in den FB reinzugeben gilt... bespw. szSize ? Länge des zu erwarteten Strings? nee hier in dem Fall wohl eher eine Absicherung der lokalen Variable um nicht ins nirgendwo zu schreiben.
Ich freue mich auf Hilfe.
Viele Grüße
Florian
Related
Talk.ru: 1
Last edit: fweber 2021-06-18