Problem bei installation Ethercat

More
27 Jul 2021 05:54 #216018 by andrax
Moin,

deine Konfiguration wird beim Start von Linuxcnc eingelesen.
Das müsste in der .hal in etwa so aussehen:
loadusr -W dein/Pfad/zu/deiner/Config.xml
loadrt lcec
...

Für die el6751 wirst du keine fertige Konfiguration finden, die musst du dir selbst erstellen.
Das hängt damit zusammen, das die el6751 genauso wie die el6731 mit Telegrammen arbeitet.
Sprich es werden Nachrichten hin und her geschickt, die du dir erst mal zusammenstellen musst.
Bei mir war es noch beschiss... Bei der el6731 war Low-byte mit high-Byte getauscht (Siemensdreck)
Langsam ist es auch, daher habe ich das weggebaut.
Wenn du eine Beispielkonfiguration hast, dann hast du schon eine perfekte Vorlage.
Der Weg ist folgendermaßen:
1. du brauchst eine Windowsinstallation mit
> Ethercatconfigurator ET9000 (1 Monat Trial)
oder
> Twincat (Kompaktible Netzwerkkarte mit Intel Chip notwendig)

2. Du liest die Topologie ein. Wichtig ist, das alles schon so zusammengesteckt ist, wie der finale aufbau ist.
3. Jetzt kannst du die PDO und SDO rausschreiben und dir deine .xml bauen.

Wertvolle Informationen findest du hier:
forum.linuxcnc.org/24-hal-components/223...t-hal-driver?start=0


Es gibt auch gute tutorials im Netz, must mal schauen.
PS: mein Umbau kommt auch langsam voran.
Ethercat für die IO's läuft und die MESA 7i97 für die analogen Steuersignale und Encoderauswertung bin ich gerade am einrichten.


Gruß

andre
 
 
The following user(s) said Thank You: Columbo

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

More
27 Jul 2021 06:22 #216020 by Columbo
Hallo Andre,

wow, danke für deine Nachricht!

Gestern bin ich gut vorangekommen. LinuxCNC hat beim Start immer einen Fehler geworfen (Invalid argument (-22) in rtape_app_main). Nach Bearbeiten meiner eigenen .ini Datei geht nun schon mehr, auch wenn LCNC immernoch nicht proper startet.

Ich habe alle .hal files rausgeworfen und eine eigene gebastelt, so ähnlich wie du das oben geschrieben hast. Muss ich eigentlich lcec.so und/oder lcec_conf irgndwann neu kompilieren oder kann die jeder so nehmen, wie sie nach der Installation von LCNC da ist?

Nun ist jedenfalls beim Start von linuxcnc myaxis.ini richtig Verkehr auf dem EtherCAT Bus (Die LEDs blinken wie verrückt.) und ich kann aus dmesg etliche Nachrichten auslesen, was mich erstmal weiter bringt!

TwinCAT 3 und Ethercat Configurator habe ich auf meinem Windows-Rechner installiert. TwinCAT an sich erschlägt mich förmlich mit den Möglichkeiten, das ist im EtherCAT Configurator übersichtlicher.

Im EC habe ich meine gewünschten RX PDOs und TX PDOs für LCNC schon konfiguriert (Statuswort, Kontrollwort, actual value, demand value, Betriebsart und IOs in gewünschter Konfiguration). Die Festlegung, wie der PDO Transfer geschieht wird ja, wenn ich richtig gelesen habe, via SDOs in der PREOP Phase verteilt.

Genau das macht der EtherCAT Configurator, wenn ich ihn starte auch. Ich sehe im Servoverstärker das angewiesene PDO Mapping! Leider funktioniert der Austausch (noch) nicht. EC bringt als Fehlermeldung, das TXPDO1 nicht ankommt.

Dort werde ich hoffentlich heute Abend weiter voran kommen.

Dein Aufbau scheint ja auch nicht trivial. EtherCAT zu Profibus und noch eine Mesa Karte... ;-0

Grüße
Columbo

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

More
27 Jul 2021 06:55 #216021 by andrax
Das deine XML nicht funktioniert, kann 2 Gründe haben.
1. Gehe noch mal den Threat vom Haldriver durch. Auf irgend einer Seite stand, dass bestimmte Bytes vertauscht werden müssen. (Schreib/Lese Reihenfolge)
2. Möglich das du alles richtig hast, du aber das System zig mal neu starten musst bevor der Controller der el6751 das schnackelt. Zumindest bei mir war das so. Gerade beim Umstellen von 6PD auf 3PD musste ich gefühlt 10x neustarten bevor es lief.
K.A. wieso....
Aber wenns einmal läuft, dann läufts ohne Probleme, auch ein Neustart ist dann kein Problem mehr. 

Gruß 

Andre
 

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

More
28 Jul 2021 20:55 #216149 by db1981
Hallo Columbo,

die config im Ethercat Configurator läuft noch nicht?
Hast du die Can Nodes selber erstellt oder waren das Hersteller Files?
CAN Adressen / Baud Rate richtig eingestellt ?

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

More
29 Jul 2021 12:52 #216214 by Columbo
Hallo db1981,

schön, dass wir auf deutsch schreiben können!

Der EC läuft immer noch nicht, kam aber gestern auch nicht dazu weiter zu machen. Heute abend gehts weiter.

Die CAN Nodes habe ich erstellt und die PDO Konfig gemäß Verstärkerhersteller durchgeführt (TX: Statuswort, Istwert, Betriebsart, Dig_Inputs)(RX: Steuerwort, Sollposition, Betriebsart, Dig_Outputs).

Meinst du mit "Hersteller Files" die .xml Dateien? Die hätte ich sogar, weiß aber auch nicht ob ich die zusätzlich zur ethercat_conf.xml im LCNC überhaupt brauche und falls ja, wie ich die in die Konfig einbinde. Im EC habe keine .xml des Herstellers eingefügt. Hätte aber auch eine .eds Datei, wenn die mir weiterhelfen sollte!?

CAN Adresse ist richtig eingestellt, vorausgesetzt die Angabe im EC ist dezimal und die Geschwindigkeit habe ich auf 1M gesetzt, da ich mich zur Diagnose per USB-CAN Dongle auch mit dieser Geschwindigkeit mit dem Verstärker verbinde.

Dass die SDO Konfiguration des Slaves funktioniert, weiß ich, denn die PDO Konfig wird auf den Verstärker übertragen(das kann ich kontrollieren, indem ich mich mit Herstellersoftware auf den Verstärker schalte und die Konfig auslese). Außerdem werden auch (wenn ich mit einem CAN Bus Schnüffeltool am CAN lausche) aller 10 s Daten übertragen. Im Reiter SDOs habe ich das Häkchen bei "Restart Node nach 10s, wenn keine TXPDOs empfangen werden" gesetzt.

Einen Task habe ich im EC auch hinzugefügt, wie es hier ab Seite 8 steht:

msl.robocup.org/wp-content/uploads/2018/...51_Configuration.pdf

Und nochmal ins Linux:

Was ich nicht verstehe, ob es normal ist, dass bei ethercat slaves -v beim EL6751 das hier stehen darf:

CoE details:
Enable SDO: yes
Enable SDO Info: yes
Enable PDO Assign: no
Enable PDO Configuration: no
Enable Upload at startup: no
Enable SDO complete access: yes

Muss vielleicht der EL6751 Klemme noch beigebracht werden, dass sie PDOs empfangen darf, oder kommt das aus einer unzureichend konfigurierten ethercat_conf.xml?

Danke schonmal

Columbo

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

More
29 Jul 2021 13:12 #216215 by andrax
Hallo Columbo,

Stelle mal deine XML ein, sowie die Logfiles von Linuxcnc und dmesg |grep ethercat.

Gruß 

Andre
 

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

More
29 Jul 2021 13:32 #216217 by Columbo
Hey Andre,

gerne! Wird aber erst heute Abend, wenn die Kleine schläft...

Grüße

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

More
29 Jul 2021 17:45 #216244 by Columbo
Hallo Andre,

die ethercat-conf.xml habe ich aus dem Thread:

forum.linuxcnc.org/24-hal-components/383...ervo-drives?start=20

und hatte gehofft, damit irgendwie rumspielen zu können. Am liebsten würde ich aber die .xml aus dem EC nehmen, wenn die Kommunikation dort fehlerfrei funktionieren würde.

Aus verschiedenen Threads habe ich mir die lcec_load.hal zusammengebaut, die aus der .ini aufgerufen wird

LinuxCNC sagt während des Starts:

LINUXCNC - 2.8.2
Machine configuration directory is '/home/arti/linuxcnc/configs/sim.axis'
Machine configuration file is 'fraese.ini'
Starting LinuxCNC...
Found file(REL): ./lcec_load.hal
Note: Using POSIX realtime
Component Pins:
Owner   Type  Dir         Value  Name
    20  u32   OUT    0x00000000  lcec.0.1.CanNode1StateBox
    20  u32   OUT    0x00000000  lcec.0.1.CanState
    20  bit   OUT         FALSE  lcec.0.1.DiagFlag
    20  bit   OUT         FALSE  lcec.0.1.DiagFlagBox
    20  u32   OUT    0x00000000  lcec.0.1.RxErrorCounter
    20  u32   OUT    0x00000000  lcec.0.1.TXErrorCounter
    20  u32   OUT    0x00000000  lcec.0.1.error
    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.EK1100.slave-online
    20  bit   OUT         FALSE  lcec.0.EK1100.slave-oper
    20  bit   OUT         FALSE  lcec.0.EK1100.slave-state-init
    20  bit   OUT         FALSE  lcec.0.EK1100.slave-state-op
    20  bit   OUT         FALSE  lcec.0.EK1100.slave-state-preop
    20  bit   OUT         FALSE  lcec.0.EK1100.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  7fd371e7936d  556de2c56e00  NO       0   lcec.0.read
 00020  7fd371e7866b  556de2c56e00  NO       0   lcec.0.write
 00020  7fd371e794ce  00000000  NO       1   lcec.read-all
 00020  7fd371e7870e  00000000  NO       1   lcec.write-all

USRMOT: ERROR: command timeout
emcMotionInit: emcTrajInit failed
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>
Waiting for component 'inihal' to become ready...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>
............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
....................USRMOT: ERROR: command timeout
HAL: ERROR: exit called before init
<commandline>:0: waitpid failed milltask inihal

<commandline>:0: milltask exited without becoming ready
kill: (1462): Kein passender Prozess gefunden
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


und dmesg:

[  197.962849] EtherCAT: Requesting master 0...
[  197.962853] EtherCAT: Successfully requested master 0.
[  197.963082] EtherCAT 0: Domain0: Logical address 0x00000000, 3 byte, expected working counter 1.
[  197.963086] EtherCAT 0:   Datagram domain0-0-main: Logical offset 0x00000000, 3 byte, type LRD at 00000000cb5793af.
[  197.966543] EtherCAT 0: Master thread exited.
[  197.966555] EtherCAT 0: Starting EtherCAT-OP thread.
[  198.060279] EtherCAT 0: Slave states on main device: INIT, PREOP.
[  198.072469] EtherCAT 0: Slave states on main device: PREOP.
[  198.097096] EtherCAT 0: Slave states on main device: PREOP, OP.
[  198.109286] EtherCAT 0: Slave states on main device: INIT, OP.
[  198.182991] EtherCAT 0: Slave states on main device: PREOP, OP.
[  198.260687] EtherCAT WARNING 0-main-1: Slave does not support changing the PDO mapping!
[  198.260693] EtherCAT WARNING 0-main-1: Currently mapped PDO entries: (none). Entries to map: 0xA000:01/8 0xF100:01/8 0xF100:03/1 0xF100:05/1 0xF100:04/1 0xF100:02/1 0xA000:02/1
[  198.260713] EtherCAT WARNING 0-main-1: Slave does not support assigning PDOs!
[  198.260716] EtherCAT WARNING 0-main-1: Currently assigned PDOs: (none). PDOs to assign: 0x1A80
[  198.281162] EtherCAT 0: Slave states on main device: PREOP, OP + ERROR.
[  198.281171] EtherCAT ERROR 0-main-1: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[  198.285230] EtherCAT ERROR 0-main-1: AL status message 0x001E: "Invalid input configuration".
[  198.293379] EtherCAT 0: Slave states on main device: PREOP, OP.
[  198.293384] EtherCAT 0-main-1: Acknowledged state PREOP.
[  207.538997] EtherCAT 0: Master thread exited.
[  207.539018] EtherCAT 0: Starting EtherCAT-IDLE thread.
[  207.539122] EtherCAT ERROR 0-main-1: Failed to receive AL state datagram: Datagram initialized.
[  207.539183] EtherCAT 0: Releasing master...
[  207.539188] EtherCAT 0: Released.
[  207.555515] EtherCAT 0: Slave states on main device: INIT, PREOP.
[  207.567948] EtherCAT 0: Slave states on main device: PREOP.
[  207.605315] EtherCAT 0: Slave states on main device: INIT, PREOP.
[  207.680112] EtherCAT 0: Slave states on main device: PREOP.
[  207.977907] EtherCAT WARNING: Datagram 00000000e676bf40 (master-fsm) was SKIPPED 1 time.


Grüße
Columbo
Attachments:

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

More
29 Jul 2021 17:47 #216245 by Columbo

File Attachment:

File Name: ethercat-c...7-29.xml
File Size:2 KB

File Attachment:

File Name: lcec_load_...7-29.hal
File Size:0 KB
Attachments:

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

More
29 Jul 2021 18:18 #216248 by db1981
Hi,

Linuxcnc:

da ist noch irgendwas anderes bugy das nicht mit lcec im Zusammenhang steht, stell mal das ini file hier ein.

Twincat / EC
eds hört sich doch nicht schlecht an...
Poste doch mal das ec file und die eds vom Drive dann schau ich da mal drüber....

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

Time to create page: 0.195 seconds
Powered by Kunena Forum