Problem bei installation Ethercat

More
10 Aug 2021 05:30 #217374 by Columbo
Hallo Andre,

habe am WE und gestern auch noch weiter rum probiert. Leider steht das nächste Problem an, das sich an deiner Eingangsfrage orientiert.

Ich nutze (neuerdings) das Skynet Image:

sourceforge.net/projects/skynet-software/files/

bisher aber ohne Zusatzsoftware aus dem tar.gz

Wie du schon geschrieben hast, fehlt nach dem Ausführen des beiden .sh Skripte von Grotius die lcec.so und lcec_conf im /linuxcnc-ethercat/src Verzeichnis. Unabhängig von deinem Post habe ich das auch mit

make clean und make install

geradegezogen (hätte ich mal früher in diesen Thread geschaut, hätte ich mir ne Stunde Sucherei erspart)

Ordne ich nun ethercat_conf.xml und die dazugehörige el6751_init.xml in meinem configs/sim.axis/ Ordner ein (wo auch meine .ini liegt)(Dank db1981 sollten die ja auch funktionieren) kommt ein

lcec_conf: ERROR: Parse error at line 87: mismatched tag

und

lcec_conf: ERROR: Parse error at line 6: parsing aborted

Gestern hatte ich, unabhängig von diesem Fehler, mit einem Standard LCNC 2.8.2 Image von der LCNC Website und Grotius-Shellskript Installation einen Fehler, dass in Zeile 2 meiner ethercat_conf.xml ein 'newline unexpected' in der zweiten Zeile auftritt.

Kann mir jemand zu beiden Fehlern etwas schreiben?!

Grüße
Columbo

P.S. parallel dazu habe ich von Slavs Problem

hier:
forum.linuxcnc.org/ethercat/35591-beckho...to-install?start=220

gelesen, der ja versucht auf den generischen Treiber (DEVICE_MODULES="generic") zu verzichten. In meinem Fall ist es ein e1000 Chipsatz, der perspektivisch genutzt werden (soll) kann. Aber das ist erstmal Nebenkriegsschauplatz.

Grüße

Please Log in or Create an account to join the conversation.

More
10 Aug 2021 07:35 #217381 by db1981
upps....

lcec_conf: ERROR: Parse error at line 6: parsing aborted

bezieht sich auf die zeile in der ethercat.conf in welcher die initcmd datei eingelesen wird. -> kann nicht abgeschlossen werden.

lcec_conf: ERROR: Parse error at line 87: mismatched tag

bezieht sich auf das initcmd file. dort steht in zeile 87 ein nicht erwarteter tag....

des Rätsels Lösung:

bitte </CoE> als vorletzte Zeile vor dem </EtherCATMailbox> in der initcmd.xml einfügen....

So Sachen bekommt man leider im normal windows editor nicht mit.
The following user(s) said Thank You: andrax, Columbo

Please Log in or Create an account to join the conversation.

More
13 Aug 2021 18:27 #217697 by Columbo
Hallo db1981,

Danke für den Hinweis!

Die el6751_init.xml hatte tatsächlich diesen Fehler. In der ethercat_conf.xml waren wohl auch syntaktische Fehler (sagte LCNC), die ich aber selber beheben konnte (glaub ich zumindest). Folgende Fehler kommen nun, nachdem die parsing Fehler verschwunden sind:

Das sagt dmesg:
[ 4580.658565] EtherCAT: Requesting master 0...
[ 4580.658569] EtherCAT: Successfully requested master 0.
[ 4580.658769] EtherCAT 0: Domain0: Logical address 0x00000000, 18 byte, expected working counter 3.
[ 4580.658772] EtherCAT 0:   Datagram domain0-0-main: Logical offset 0x00000000, 18 byte, type LRW at 0000000098c21702.
[ 4580.661251] EtherCAT 0: Master thread exited.
[ 4580.661258] EtherCAT 0: Starting EtherCAT-OP thread.
[ 4580.661335] EtherCAT WARNING 0: 1 datagram UNMATCHED!
[ 4580.726451] EtherCAT 0: Slave states on main device: INIT, PREOP.
[ 4580.738506] EtherCAT 0: Slave states on main device: PREOP.
[ 4580.763108] EtherCAT 0: Slave states on main device: PREOP, OP.
[ 4580.775200] EtherCAT 0: Slave states on main device: INIT, OP.
[ 4580.859569] EtherCAT 0: Slave states on main device: PREOP, OP.
[ 4580.907809] EtherCAT WARNING 0-main-1: CoE Emergency Request received:
               Error code 0xFF00, Error register 0x01, data:
[ 4580.907812] EtherCAT DEBUG: 10 06 07 1D 20
[ 4580.915861] EtherCAT ERROR 0-main-1: SDO download 0x8000:00 (76 bytes) aborted.
[ 4580.915867] EtherCAT ERROR 0-main-1: SDO abort message 0x06040043: "General parameter incompatibility reason".
[ 4580.915869] EtherCAT ERROR 0-main-1: SDO configuration failed.
[ 4586.660792] EtherCAT WARNING 0: 4 datagrams UNMATCHED!
[ 4586.716379] EtherCAT WARNING: Datagram 0000000098c21702 (domain0-0-main) was SKIPPED 3 times.
[ 4587.662895] EtherCAT WARNING 0: 4 datagrams UNMATCHED!
[ 4587.719983] EtherCAT WARNING: Datagram 0000000098c21702 (domain0-0-main) was SKIPPED 1 time.
[ 4587.872942] EtherCAT 0: Master thread exited.
[ 4587.872966] EtherCAT 0: Starting EtherCAT-IDLE thread.
[ 4587.873101] EtherCAT 0: Releasing master...
[ 4587.873103] EtherCAT 0: Released.
[ 4587.885398] EtherCAT 0: Slave states on main device: INIT, PREOP.
[ 4587.910187] EtherCAT 0: Slave states on main device: PREOP.
[ 4587.934323] EtherCAT 0: Slave states on main device: INIT, PREOP.
[ 4588.018793] EtherCAT 0: Slave states on main device: PREOP.
[ 4747.845612] perf: interrupt took too long (3149 > 3137), lowering kernel.perf_event_max_sample_rate to 63500

und das zeigt die Kommandozeilenausgabe nach linuxcnc:
LINUXCNC - 2.8.0-77-ge6cfcfa39
Machine configuration directory is '/home/arti/Desktop/linuxcnc_axis/configs/sim.qtvcp_screens'
Machine configuration file is 'fraese_2021-08-02.ini'
Starting LinuxCNC...
emc/iotask/ioControl.cc 702: can't load tool table.
Found file(REL): ./lcec_load.hal
Note: Using POSIX realtime
Component Pins:
Owner   Type  Dir         Value  Name
    20  bit   OUT         FALSE  lcec.0.0.slave-online
    20  bit   OUT         FALSE  lcec.0.0.slave-oper
    20  bit   OUT         FALSE  lcec.0.0.slave-state-init
    20  bit   OUT         FALSE  lcec.0.0.slave-state-op
    20  bit   OUT         FALSE  lcec.0.0.slave-state-preop
    20  bit   OUT         FALSE  lcec.0.0.slave-state-safeop
    20  bit   OUT         FALSE  lcec.0.1.can-node15-diagstate
    20  u32   OUT    0x00000000  lcec.0.1.can-node15-nodestate
    20  u32   IN     0x00000000  lcec.0.1.node1-control-word
    20  u32   OUT    0x00000000  lcec.0.1.node1-dig-inputs
    20  u32   IN     0x00000000  lcec.0.1.node1-dig-outputs
    20  s32   OUT             0  lcec.0.1.node1-mode-of-op-fb
    20  s32   IN              0  lcec.0.1.node1-modes-of-op
    20  s32   IN              0  lcec.0.1.node1-pos-demand-value
    20  s32   OUT             0  lcec.0.1.node1-pos-fb
    20  u32   OUT    0x00000000  lcec.0.1.node1-status-word
    20  bit   OUT         FALSE  lcec.0.1.slave-online
    20  bit   OUT         FALSE  lcec.0.1.slave-oper
    20  bit   OUT         FALSE  lcec.0.1.slave-state-init
    20  bit   OUT         FALSE  lcec.0.1.slave-state-op
    20  bit   OUT         FALSE  lcec.0.1.slave-state-preop
    20  bit   OUT         FALSE  lcec.0.1.slave-state-safeop
    20  bit   OUT         FALSE  lcec.0.all-op
    20  bit   OUT         FALSE  lcec.0.link-up
    20  s32   OUT             0  lcec.0.read.time
    20  u32   OUT    0x00000000  lcec.0.slaves-responding
    20  bit   OUT         FALSE  lcec.0.state-init
    20  bit   OUT         FALSE  lcec.0.state-op
    20  bit   OUT         FALSE  lcec.0.state-preop
    20  bit   OUT         FALSE  lcec.0.state-safeop
    20  s32   OUT             0  lcec.0.write.time
    20  bit   OUT         FALSE  lcec.all-op
    16  u32   OUT    0x00000001  lcec.conf.master-count
    16  u32   OUT    0x00000002  lcec.conf.slave-count
    20  bit   OUT         FALSE  lcec.link-up
    20  s32   OUT             0  lcec.read-all.time
    20  u32   OUT    0x00000000  lcec.slaves-responding
    20  bit   OUT         FALSE  lcec.state-init
    20  bit   OUT         FALSE  lcec.state-op
    20  bit   OUT         FALSE  lcec.state-preop
    20  bit   OUT         FALSE  lcec.state-safeop
    20  s32   OUT             0  lcec.write-all.time

Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name
 00020  7f09df89c36d  55e4bd3d9e00  NO       0   lcec.0.read
 00020  7f09df89b66b  55e4bd3d9e00  NO       0   lcec.0.write
 00020  7f09df89c4ce  00000000  NO       1   lcec.read-all
 00020  7f09df89b70e  00000000  NO       1   lcec.write-all

note: MAXV     max: 5.000 units/sec 300.000 units/min
note: LJOG     max: 5.000 units/sec 300.000 units/min
note: LJOG default: 0.250 units/sec 15.000 units/min
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
USRMOT: ERROR: command timeout
emcMotionInit: emcTrajInit failed
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
Waiting for component 'inihal' to become ready...........USRMOT: ERROR: command timeout
emcMotionInit: emcTrajInit failed
waiting for s.joints<0>, s.kinematics_type<0>
...................USRMOT: ERROR: command timeout
emcMotionInit: emcTrajInit failed
......A configuration error is preventing LinuxCNC from starting.
More information may be available when running from a terminal.
Shutting down and cleaning up LinuxCNC...
..............USRMOT: ERROR: command timeout
emcMotionInit: emcTrajInit failed
..............
<commandline>:0: milltask exited without becoming ready
Note: Using POSIX realtime
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/arti/linuxcnc_debug.txt
and
    /home/arti/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal

Bitte gebt mir noch einen Hinweis wo ich weitermachen kann.

Außerdem habe ich noch eine Verständnisfrage: Wenn ich

ethercat sdos

ausführe, erscheinen verschiedene Objekte. Diese Objekte kommen mir aber so unbekannt vor. Da ist kein Steuerwort (0x60400010), keine Istposition (0x60630020) oder ähnliches dabei. Ich hätte gedacht, ich kann "durch" die EL6751 direkt auf den Regler schreiben/lesen???

Danke
Grüße
Columbo

P.S.

ethercat pdos  bringt:
== Master 0, Slave 1 ===
SM0: PhysAddr 0x1800, DefaultSize  558, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1a2e, DefaultSize  558, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1000, DefaultSize    0, ControlRegister 0x26, Enable 1
SM3: PhysAddr 0x1400, DefaultSize    0, ControlRegister 0x22, Enable 1

...da sollte doch (wenn ich richtig recherchiert habe) bei SM2 und SM3 mehr stehen oder?

Please Log in or Create an account to join the conversation.

More
13 Aug 2021 21:58 #217711 by db1981
Hallo,

da scheint noch was anderes in deiner config buggy zu sein, beim starten hängt
sich der thread auf, weil er auf irgendeinen prozess wartet. Das hat aber nichts direkt mit ethercat zu tun, wahrscheinlich können die sdo dann nicht innerhalb des timeouts geschrieben werden, da der thread hängt. Die ersten 3 aus der config gehen auf jeden Fall mal fehlerfrei durch....

bitte stell nochmal deine hal und ini hier ein.

ethercat pdos : nutzt bei den konfigurierbaren Klemmen nichts, das was dort angezeigt wird entspricht den infos im SII Eeprom des Slaves, in dem Fall der Werksconfig.... Wenn diese Klemmen beim startup dann umkonfiguriert werden, macht der etherlab master kein update mehr. Hat mich auch oft auf den holzweg geführt

Please Log in or Create an account to join the conversation.

More
14 Aug 2021 17:55 #217755 by Columbo
Hallo db1981,

anbei die beiden Dateien und noch ein paar Infos und Fragen von mir:

Mein erster Versuch mit LCNC war mit einem Einkern Intel und Druckerschnittstelle. Da habe ich sehr auf die Latenzzeiten geachtet und die Takt- Richtungsfräse läuft auch (sehr) gut. Nun mit Ethercat habe ich nen Quadcore mit jeder Menge Mainboard Hokuspokus, der bei dem Latenztest seeeehr schlecht abschneidet. Sollte es daran vielleicht liegen?

...und nochmal ein Push zur Frage mit den Objekten unter >ethercat sdos<. Kann ich mit dem ethercat Befehl direkt SDO aus dem CanOpen Verzeichnis (Steuerwort, Dig. Outputs, Sollposition, etc.) in Richtung Servoverstärker schreiben (und auch lesen)?

Grüße
Columbo

Please Log in or Create an account to join the conversation.

More
14 Aug 2021 17:56 #217756 by Columbo

File Attachment:

File Name: lcec_load_...8-14.hal
File Size:0 KB

File Attachment:

File Name: fraese_202...8-14.ini
File Size:5 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
14 Aug 2021 18:12 #217757 by db1981
Hallo Columbo,

quadcore: du kannst mal probieren nur einen Kern für linuxcnc zu benutzten, suche mal im forum nach "isolcpus". wie schlecht sind denn die latenzen ?

Sdos: direkter zugriff auf die SDOs im Regler ist fast nicht möglich, bzw. mega umständlich, du müsstest dann eine spezielle Konfig dafür basteln und dann geht das nicht im direkt Zugriff, da die can klemme das alles in bytearrays zusammen packt...

Aber Sachen wie Steuerwort, Sollpostion etc. könntest du eh nur lesen über sdo. (kein Realtime).
The following user(s) said Thank You: Columbo

Please Log in or Create an account to join the conversation.

More
14 Aug 2021 18:29 - 14 Aug 2021 18:31 #217760 by db1981
anbei ein korriegiertes Hal file. Der Motion Controller muss geladen werden, damit lcnc startet. (Axis Oberfläche muss erscheinen)bitte mit dem file einmal probieren, wenn das dann laufen sollte die auskommentierten ethercat zeilen wieder rein nehmen,und schauen was passiert....

 

File Attachment:

File Name: lcec_load_...8-14.hal
File Size:0 KB
Attachments:
Last edit: 14 Aug 2021 18:31 by db1981.

Please Log in or Create an account to join the conversation.

More
15 Aug 2021 18:38 #217837 by Columbo
Hallo db1891,

habe die .hal Datei eingespielt.

Der Fehler lag im Parameter num_joints=1 (num_joints=3 funktioniert). Auch ist der PC nun ein anderer, bei dem nicht ständig Latenzzeitverletzung im LCNC angezeigt wird.

Starte ich LCNC blinkt die EL6751 Klemme grün und rot. Rot blinkt sie schnell(10Hz) und lässt auf ein Hängenbleiben im Konfigurationsmodus schließen. LCNC startet aber und ich könnte mich theoretisch endlich mit der .hal Konfig (wovon ich ehrlich gesagt keinen Dunst habe) beschäftigen.

Leider hängt die SDO Konfig halt immernoch am Konfig. Die ersten drei SDO laufen und bei 0x8000:00 ist immernoch Feierabend.

[ 4580.915861] EtherCAT ERROR 0-main-1: SDO download 0x8000:00 (76 bytes) aborted.
[ 4580.915867] EtherCAT ERROR 0-main-1: SDO abort message 0x06040043: "General parameter incompatibility reason".
[ 4580.915869] EtherCAT ERROR 0-main-1: SDO configuration failed.

Diese Message riecht doch stark nach 0x60400010, also Steuerwort, oder?! Mich wundert auch, dass ich diesen Wert "0x06040043" in der el6751_init.xml unter diesem initcmd nicht finden kann...

Grüße
Columbo

Please Log in or Create an account to join the conversation.

More
15 Aug 2021 19:29 #217839 by db1981
hi,

nein "0x06040043" ist die Can Open Fehler nummer für "General parameter incompatibility reason",

bitte tippe vorm nächsten linuxcnc start mal "ethercat debug 1".
und stelle dann nochmal das dmesg hier ein

Please Log in or Create an account to join the conversation.

Time to create page: 0.166 seconds
Powered by Kunena Forum