Problem bei installation Ethercat

More
15 Nov 2021 20:13 #226601 by Columbo
Hallo,

nun bin ich wieder ein Stück weiter. Die ethercat_conf.xml hab ich etwas angepasst. Sodass nun das Statuswort bitweise in der HAL liegt. Das Steuerwort hab ich als u32 Variable gelassen und alle Variablennamen mal auf deutsch umbenannt. Mit dem HAL Konfigurator in LCNC lässt sich nun wunderbar mit "setp" mit dem Verstärker spielen. Ich kann "durchgreifen": Positionen anfahren und Referenzfahrt starten, im Interpolierten Modus, also 0x6060:00 = 7 fahren. Eigentlich alles machen, was man mit den in den PDOs gemappten Variablen so anstellen kann. Das gefällt mir schonmal sehr gut! Danke an alle im Forum, die dazu beigetragen haben!

Schlussendlich fehlen mir nun aber die finalen HAL Einstellungen. Also welcher PIN muss wohin verbunden werden, um GCode später nutzen zu können (wenn mal 3 Achsen dran sind, irgendwann also)

Vom Dominik hab ich das github gefunden:

github.com/dbraun1981/hal-cia402

Verstehe aber leider nicht, was es mit dem cia402 auf sich hat. Eigentlich hatte ich es so verstanden, dass ich nun über das "Klebe-layer" (HAL) LCNC beibringen muss, wie im ETHERCAT die "Schnittstellen" lauten und was wohon verbunden werden muss. ...dachte es ist ganz einfach, soooo viele sind es ja nicht.

Die PINS:

1. Steuerwort
2. Zielposition
3. Betriebsart
4. (dig. Ausgänge)

1. Statuswort
2. Istposition
3. angezeigte Betriebsart
4. (dig. Eingänge)

brauchen also entsprechende Kontakte zur Software...

Ich brauche keine fertige .hal aber einen Denkanstoß oder sone Art Objektverzeichnis der LCNC Pins wären super.

Grüße
Columbo

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

More
16 Nov 2021 06:08 #226625 by hozte
Guten Morgen Columbo,
Wenn die Betriebsart eingestellt ist,
Dann musst du zu Beginn bzw. beim einschalten von LCNC die State-machine durchgehen, damit die Antriebe eingeschaltet werden. Weiterhin musst du einfach Sollposition und Istposition mit dem joint.X.motor-pos-cmd und joint.X.motor-pos-fb Signal in deiner .hal verbinden. Schau einfach mal in die .hal rein, die 4 Posts weiter vorne steht.
Viel Erfolg
Gruß Matthias

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

More
16 Nov 2021 08:35 - 16 Nov 2021 08:35 #226635 by Columbo
Morgen Matthias,

das hilft! Toll, dass du Kommentare mit drinne hast. Aktuell kann ich deine HAL-Befehle nicht testen. Eins fällt mir aber sofort auf, mit dem ich auch gestern abend schon zu kämpfen hatte:

Will ich die Istposition (in Inkrementen) mit der joint.0.motor-pos-fb verbinden meckert LCNC, dass ich ne 32er Variable mit ner float verbinden möchte. Muss ich die typen casten? Es gibt ja HAL-Funktionen

8.2.4 Type conversion
conv_bit_s32
Convert a value from bit to s32.
conv_bit_u32
Convert a value from bit to u32.
conv_float_s32
Convert a value from float to s32.
1 When the input is a position, this means that the position is limited.
2 When the input is a position, this means that position and velocity are limited.
3 When the input is a position, this means that the position, velocity, and acceleration are limited.
HAL Manual V2.5, 2018-10-21 60 / 107
conv_float_u32
Convert a value from float to u32.
conv_s32_bit
Convert a value from s32 to bit.
conv_s32_float
Convert a value from s32 to float.
conv_s32_u32
Convert a value from s32 to u32.
conv_u32_bit
Convert a value from u32 to bit.
conv_u32_float
Convert a value from u32 to float.
conv_u32_s32
Convert a value from u32 to s32.

die das machen?! Du hast sie nicht gebraucht:

net Xachse_fb lcec.0.7.X-Pos => joint.0.motor-pos-fb

Grüße
Columbo[/code]
Last edit: 16 Nov 2021 08:35 by Columbo.

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

More
16 Nov 2021 09:24 #226639 by db1981
Moin,

du kannst in der ethercat_conf auch direkt als Haltype float wählen und eine Skalierungsfaktor angeben. Der Pdo wird dann als S32 gelesen und skaliert auf einen hal-float ausgegeben.

z.B.

<complexEntry bitLen="32" halPin="X-TargetPos" halType="float" scale="1000"/>

d.h. Lcnc Position 333 Machine Units -> 333000 (ink) S32

beim Feedback dann andersrum scale="0.001"

Feedback Value S32 444333 -> float 444.333 Machine Units
The following user(s) said Thank You: Columbo

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

More
16 Nov 2021 21:21 - 16 Nov 2021 21:22 #226679 by 0x2102
Hallo zusammen,

bin seit einiger Zeit stiller Mitleser am Project CoE. Ich wollte mich mit dem Thema EtherCAT einfach mal etwas beschaeftigen und habe mir dazu von Delta A3 EtherCAT Servo bestellt. Die sollten in 2 Wochen hier sein. Ich habe das ist dann einfacher als CoE.

Ferner habe ich noch Delta A3-M (CANopen / Puls und Dir) mit EK1100/EL6751 und ich dachte mir, so schlimm kann das ja nicht sein.....falsch gedacht. Habe bestimmt 20+ Stunden ueber die letzten 2 Wochen getestet, aber ich komme auch nicht wirklich ueber TwinCAT3 hinaus. In TC3 ist alles gut und auf gruen, aber in LinuxCNC will es einfach nicht. Zum Glueck fehlt mir jegliches Hintergrundwissen, sodass ich keine Ahnung habe was ich mache ;-)

Was ich eigentlich sagen, wollte:

@db1981 (Dominik): falls du Lust und Zeit hast, koennte ich dir EK1100/EL6751 und 1 Delta A3-M (CANopen) fuer ein paar Wochen zur Verfuegung stellen. Evtl. ist das fuer dich einfacher und es hilft anderen auch. 0x2102 (at) gmx (punkt) net

Gruss
Markus
Last edit: 16 Nov 2021 21:22 by 0x2102.

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

More
17 Nov 2021 16:00 #226754 by Sviper

Hallo,

nun bin ich wieder ein Stück weiter. Die ethercat_conf.xml hab ich etwas angepasst. Sodass nun das Statuswort bitweise in der HAL liegt. Das Steuerwort hab ich als u32 Variable gelassen und alle Variablennamen mal auf deutsch umbenannt. Mit dem HAL Konfigurator in LCNC lässt sich nun wunderbar mit "setp" mit dem Verstärker spielen. Ich kann "durchgreifen": Positionen anfahren und Referenzfahrt starten, im Interpolierten Modus, also 0x6060:00 = 7 fahren. Eigentlich alles machen, was man mit den in den PDOs gemappten Variablen so anstellen kann. Das gefällt mir schonmal sehr gut! Danke an alle im Forum, die dazu beigetragen haben!

Schlussendlich fehlen mir nun aber die finalen HAL Einstellungen. Also welcher PIN muss wohin verbunden werden, um GCode später nutzen zu können (wenn mal 3 Achsen dran sind, irgendwann also)

Vom Dominik hab ich das github gefunden:

github.com/dbraun1981/hal-cia402

Verstehe aber leider nicht, was es mit dem cia402 auf sich hat. Eigentlich hatte ich es so verstanden, dass ich nun über das "Klebe-layer" (HAL) LCNC beibringen muss, wie im ETHERCAT die "Schnittstellen" lauten und was wohon verbunden werden muss. ...dachte es ist ganz einfach, soooo viele sind es ja nicht.

Die PINS:

1. Steuerwort
2. Zielposition
3. Betriebsart
4. (dig. Ausgänge)

1. Statuswort
2. Istposition
3. angezeigte Betriebsart
4. (dig. Eingänge)

brauchen also entsprechende Kontakte zur Software...

Ich brauche keine fertige .hal aber einen Denkanstoß oder sone Art Objektverzeichnis der LCNC Pins wären super.

Grüße
Columbo
 


Hallo Columbo

stell doch bitte immer deine Datein xml hal und ini mit ein.
Dann kann ich auch gleich ein paar Schritte weiter vorne Anfangen ;-)
Habe gerade mal ein paar Minuten Zeit. Das hätte ich jetzt gebrauchen können. ;-)

LG Steffen

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

More
17 Nov 2021 19:24 #226775 by Sviper

Weiter, solltet ihr unbedingt Distiributed Clocks einbauen für die CAn Klemme, damit die Regler später auch alle zum gleichen Zeitpunkt ihre Soll Positionen bekommen. Ansonsten könnte das Verschliff in der Bahn geben....

Hallo db1981

könntest du noch mal genau erklären wo man was einstellen muss. Welche Zeilen müssen in die XML ? Oder muss man unbedingt was in TC einstellen? Ich hatte das ja schon mal gesucht und etwas eingestellt. Ich bin mir aber nicht sicher ob das alles so stimmt. Eventuell kannst du das für die Nachwelt noch mal festhalten. 

Danke 
Steffen

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

More
17 Nov 2021 19:31 #226778 by Sviper
Hallo Columbo,

Wie stellst du den Regler auf Betriebsart 7? Durch ein Sdo in der XML oder hast du ihn über TC umgestellt? Kannst du mir noch ein paar Regler Einstellungen schicken. 
Ich habe mit Matthias hal ini und XML den Regler anschalten können. Aber bewegt hat sich da noch nichts. Es änder sich zwar die soll Position aber die  Ist Position bleibt. Denke es sind noch die Rampen Einstellungen etc..
Über deinen Maschinenordern würde ich mich freuen wenn du Zeit findest.
die Aktivierung des Verstärkers über die State Maschine funktioniert erst mal. 

Lg Steffen

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

More
17 Nov 2021 19:57 #226780 by Columbo
Hallo Steffen,

sitz gerade noch kurz dran und spiele mit der .hal noch rum. Die .hal Konfig vom Matthias hat so noch nicht gepasst. Vielleicht habe ich auch einen Fehler gemacht. Jedenfalls schaltet er den Regler nicht ein. Ich befürchte, dass die ELMO Regler anders reagieren, als die JAT Teile, aber keine Ahnung...probieren halt...

Spielen kannst du mit dem Regler durchs Starten von LCNC und aufrufen von

<<HAL-Konfiguration anzeigen>>

aus dem Menu <<Maschine>>

Dort kannst du mit <<setp>> deinem PIN direkt nen Wert zuweisen. Bei mir ist das z.B.

setp lcec.0.1.X-Betriebsart 7

Vorraussetzung dafür ist, dass du das gemappte PDO in der ethercat_conf auch mit dem PIN lcec.0.1.X-Betriebsart verbunden hast.

Lässt du parallel zum JAT-Regler noch nen EcoStudio mit am CAN Bus laufen, kannst du via EcoStudio zugucken, wie die Betriebsart auf die 7 wechselt.

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

More
17 Nov 2021 19:59 #226781 by Columbo

Attachment not found

Attachment not found

Attachment not found

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

Time to create page: 0.103 seconds
Powered by Kunena Forum