Problem bei installation Ethercat
Ich glaube das mit den Adressen habe ich gefunden. Mit ethercat -p1 pdos bekomme ich das mit 1600 --> 7000 und 1A00 --> 6000 angezeigt.
Attachments:
Please Log in or Create an account to join the conversation.
lcec_conf: ERROR: unexpected node complexEntry found
lcec_conf: ERROR: unexpected close tag complexEntry found
lcec_conf: ERROR: Parse error at line 10: parsing aborted
Finde aber noch keinen Fehler. Die Tags sind eigentlich geschlossen. Habe ich korrigiert ein Tag war nicht geschlossen ich habe es unten geändert.
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="5">
<slave idx="0" type="EK1100" name="EK1100"/>
<slave idx="1" type="generic" vid="00000002" pid="1a5f3052" configPdos="true">
<syncManager idx="0" dir="out"> </syncManager>
<syncManager idx="1" dir="in"> </syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="7000" subIdx="01" bitLen="64" halType="complex"/>
<complexEntry bitLen="16" halPin="node1-control-word" halType="u32"/>
<complexEntry bitLen="32" halPin="node1-pos-demand-value" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-modes-of-op" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-dig-outputs" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6000" subIdx="01" bitLen="64" halType="complex"/>
<complexEntry bitLen="16" halPin="node1-status-word" halType="u32"/>
<complexEntry bitLen="32" halPin="node1-pos-fb" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-mode-of-op-fb" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-dig-inputs" halType="u32"/>
<pdoEntry/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
Please Log in or Create an account to join the conversation.
LCNC startet Klemme geht auf OP
Noch mal ein Screenshot von TC kann es sein das beim 1A00 noch die einträge für 1A82 bis 84 rein müssen?
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="5">
<slave idx="0" type="EK1100" name="EK1100"/>
<slave idx="1" type="generic" vid="00000002" pid="1a5f3052" configPdos="true">
<syncManager idx="0" dir="out"> </syncManager>
<syncManager idx="1" dir="in"> </syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="7000" subIdx="01" bitLen="64" halType="complex">
<complexEntry bitLen="16" halPin="node1-control-word" halType="u32"/>
<complexEntry bitLen="32" halPin="node1-pos-demand-value" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-modes-of-op" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-dig-outputs" halType="u32"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
</master>
</masters>
LCNC startet Klemme geht auf OP
Attachments:
Please Log in or Create an account to join the conversation.
evtl. geht die Karte aber auf Störung weil sie von den eingängen die Pakete nicht rechtzeitig empfängt.
Wenn deine Servoperiode 1ms (1000000) ist und der ethercat threat auch mit 1ms läuft. Musst du die Can Cycle time im Master und den Slaves auch auf 1ms bringen.
Please Log in or Create an account to join the conversation.
wenn du einen >lcec_conf: ERROR: Parse error at line 10: parsing aborted< bekommst, obwohl du alles richtig geschrieben hast,
deutet das auf einen Codierungsfehler vom Editor hin.
Welchen Editor benutzt du?
Nimm mal die 1A00, 1A82, 1A83, 1A84 auch mit rein.
Weiterhin stört mich der Fehler 0x001E invalid input configuration
Da stimmt was mit deinen Prozessdaten nicht
Please Log in or Create an account to join the conversation.
(eine Antwort von Steffen ist in nem falschen Thread gelandet).
In dem letzten Screenshot sind 2 Aufstartversuche enthalten, der zweite in dem nur die Ausgänge gemappt werden geht ohne probleme.
Beim ersten Versuch wo er die Eingänge (1a00) noch drin hatte läuft das Mapping nach ein paar Warnings auch durch und der RT Thread wird gestartet.
Im Safe OP State (in dem die zyklische Kommunikation gestartet wird) geht der Node dann auf Error.
Da für die Klemme DC Clock aktiviert ist, erwarten wir hier zyklische Daten und ein Toogle State Bit innerhalb eines Sync Cycles. Da scheint aber nichts zu kommen....
Ich vermute jetzt mal das dies durch die Can Kommunikation von 4ms ausgelöst wird.
Please Log in or Create an account to join the conversation.
Ich schau heute Abend mal nach dem 4ms. Das könnte es sein.
Und ja den </pdoentry> habe ich recht schnell gefunden, nach dem ich ein paar Beispiele bei google gefunden haben.
Die 1A82, 1A83, 1A84 hatte ich schon mal mit drin, ändert nichts an den Meldungen.
Ich ändere jetzt erst mal die Zeiten im Servotreiber, da stehen definitiv 4ms drin. Und schaue mal in der hal was da für Zeiten drin steht beim Servothread und ob der ethercat auch auf dem Servothread läuft.
Folgende Fragen, zur reinen Info wären mal nicht schlecht.
Muss man bei den Sperrzeiten was beachten? Da steht bei mir bei TC eine 0 drin bei TXPDO1. ?
Was sagen mir die Zeiten bei TC Zykluszeit und Sync Zykluszeit bei der Klemmen Konfiguration (siehe Bild).
Please Log in or Create an account to join the conversation.
Die SyncCycletime sollte im Regefall deiner Zykluszeit entsprechen, da wir ja in jedem Cycle auch einen DC-Sync haben wollen.
Diese Zeiten werden normal automatisch eingestellt. Ich gehe im Moment davon aus, das deine Ethercat I/O time auch auf 4ms steht.
Die I/O Task time und die Basis Time kannst du unter "System" verändern, danach die Konfig nochmal neu aktivieren und den Kram wieder in die Karte laden...
Please Log in or Create an account to join the conversation.
ich bekomme die sync im Verstärker nicht umgestellt und auch beim el6751 kann ich die 4000 nicht ändern. Der Verstärker spring von 1ms sofort wieder auf 4ms wenn er ein paar Telegramme verarbeitet hat.
Die Zeiten stehen aber alle auf 1ms. siehe Bild. Wo ist die Möglickeit beim EL6751 das zu ändern?
Der Servothread im LCNC und Ethercat im Linuxcnc steht auf 1ms
Please Log in or Create an account to join the conversation.
wenn ich den freerun cycle auf 1ms verringere, wird die can cycle time auch angepasst (Konfig Mode), heißt das im Run Mode dort wahrscheinlich auch 1ms gezeigt wird.
Please Log in or Create an account to join the conversation.