Hal-Pin - Werte aus dem Programm heraus in eine Datei schreiben lassen

More
19 Feb 2025 21:36 #322018 by zinsade
Hallo zusammen,
es gibt ja die Möglichkeit, Inhalte eines Parameters während dem das NC-Programm ausgeführt wird, in eine Textdatei schreiben zu lassen.
Zum Beispiel hier:
.......
N10 (LOGOPEN, ausgabeX.txt)          (Neue Logdatei erstellen oder bei vorhandener Datei die Inhalte löschen)
N20 (LOGAPPEND, ausgabeX.txt)     (Messwerte zu Logdatei hinzufügen)
N30 (LOG, <#5061> X-Achse)            (Werkzeugradius, aus dem Parameter #5061 in Logdatei schreiben)
N40 (LOGCLOSE)                               (Logdatei schließen)
.......
Meine Frage ist, ob es möglich ist den Wert des Pins "hm2_5i25.0.encoder.01.count" während der Programmausführung, also ähnlich wie oben in eine Textdatei schreiben zu lassen?
Oder alternativ den Wert des Pins "hm2_5i25.0.encoder.01.count" in einen freien Parameter ablegen zu können?

Gruß Peter

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

More
20 Feb 2025 08:45 #322039 by Aciera
Ja das sollte gehen mit '#<_hal[HAL item]>'

Für aktuelle Werte musst du jedoch vorher den read ahead mit einem queue buster synchronisieren. Zum Beispiel so:
M66 E0 L0
(LOG,  #<_hal[hm2_5i25.0.encoder.01.count]>)


linuxcnc.org/docs/html/gcode/overview.ht...:overview-parameters

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

More
20 Feb 2025 16:46 #322087 by zinsade
Vielen Dank
funktioniert wunderbar.
Wieder was gelernt
Auch vielen Dank für den Link:
linuxcnc.org/docs/html/gcode/overview.ht...:overview-parameters
Da sollte ich doch öfters mal reinschauen.
Wofür brauch ich das?
Ich möchte eine Pitch-Error-Datei bzw. Leadscrew-comp-Datei halbautomatisch erstellen lassen.
Das Programm funktioniert schon.
#100 = 0
G1 B-1 F1000
(LOGOPEN, ausgabe.txt)
(LOG, >>> ausgabe.txt <<<)
(LOG, ---)               
o100 repeat [181]
G1 B#100 F100                                      
G4 P1
M66 E0 L0
(LOG, #<_hal[axis.b.pos-cmd]> = PosB)
M66 E0 L0
(LOG, #<_hal[hm2_5i25.0.encoder.01.position]> = EncB-)
#100 = [#100-1]
G1 B#100 F100
G4 P1
#100 = [#100+1]
G1 B#100 F100
G4 P1
M66 E0 L0
(LOG, #<_hal[hm2_5i25.0.encoder.01.position]> = EncB+)
(LOG, ---)
#100 = [#100-0.5]
o100 endrepeat
(LOGCLOSE)
M30

Gruß Peter
The following user(s) said Thank You: Aciera

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

Time to create page: 0.053 seconds
Powered by Kunena Forum