Znaleziono 4 wyniki

autor: Segitarius
11 sie 2023, 06:44
Forum: LinuxCNC (dawniej EMC2)
Temat: Diagnostyka w Linux CNC
Odpowiedzi: 5
Odsłony: 725

Re: Diagnostyka w Linux CNC

Dobra działa :)

To dla przyszłych krótka wskazówka. Do wygenerowanego stepconfem pliku hal. trzeba dorzucić zmienne Tuxa ale w odpowiednie miejsca kodu i w odpowiedniej kolejności. Fragment:

loadrt charge_pump
addf charge-pump base-thread
net emcOn motion.motion-enabled => charge-pump.enable
net cpump charge-pump.out-2 => parport.0.pin-17-out


Trzeba rozbić na poszczególne zdania i dorzucić na koniec akapitów opisujących poszczególne sekcje kodu. Dla przykładu akapit addf.

Kod: Zaznacz cały

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread
[b]addf charge-pump base-thread[/b]
Tux jeszcze raz serdeczne dzięki za pomoc.
autor: Segitarius
10 sie 2023, 20:29
Forum: LinuxCNC (dawniej EMC2)
Temat: Diagnostyka w Linux CNC
Odpowiedzi: 5
Odsłony: 725

Re: Diagnostyka w Linux CNC

Dziękuję za odpowiedź.

Nie jestem pewien czy dobrze zrozumiałem zamysł. Z przytoczonego kodu powinienem do swojego hal'a wrzucić tylko pierwszy akapit dotyczący pompy? pozostałe składowe konfiguracji maszyny są w halu dobrze opisane bo osie działają jak należy.

Próbowałem użyć kodu w różnych konfiguracjach. Łącznie z podmianą 1 do 1. Zworek natomiast nie ruszam, bo to jest maszyna, która już chodziła, więc wątek błędnej pozycji zworki wykluczam.


Kod: Zaznacz cały

# Generated by stepconf 1.1 at Thu Aug 10 21:40:40 2023
# Jeśli zmodyfikujesz ten plik zmainy zostaną
# nadpisane gdy uruchomisz ponownie Stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0
loadrt pwmgen output_type=1

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 0.0
setp pwmgen.0.scale 21000.0
setp pwmgen.0.offset -0.142857142857
setp pwmgen.0.dither-pwm true
net spindle-cmd-rpm     <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps     <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed    => motion.spindle-at-speed
net coolant-flood <= iocontrol.0.coolant-flood

net spindle-on      => parport.0.pin-01-out
net xstep           => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1
net xdir            => parport.0.pin-03-out
net ystep           => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net ydir            => parport.0.pin-05-out
net zstep           => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net zdir            => parport.0.pin-07-out
net coolant-flood   => parport.0.pin-14-out
net spindle-pwm     => parport.0.pin-16-out
net xenable         => parport.0.pin-17-out
net estop-ext       <= parport.0.pin-10-in
net home-x          <= parport.0.pin-11-in
net home-y          <= parport.0.pin-12-in
net home-z          <= parport.0.pin-13-in

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 70000
setp stepgen.0.dirsetup 70000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
net home-x => axis.0.home-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 70000
setp stepgen.1.dirsetup 70000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net home-y => axis.1.home-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 70000
setp stepgen.2.dirsetup 70000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
net home-z => axis.2.home-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

autor: Segitarius
10 sie 2023, 12:52
Forum: LinuxCNC (dawniej EMC2)
Temat: Diagnostyka w Linux CNC
Odpowiedzi: 5
Odsłony: 725

Re: Diagnostyka w Linux CNC

Od tego zacząłem, ale dziękuję że sprawdziłeś. Tu już ta zworka której ściągnięcie ostatnio pomogło była ściągniętą. Startuję teraz z etapu gdy wszystko jest już fizycznie podłączone, działało, tylko komp się zjarał.
autor: Segitarius
10 sie 2023, 08:02
Forum: LinuxCNC (dawniej EMC2)
Temat: Diagnostyka w Linux CNC
Odpowiedzi: 5
Odsłony: 725

Diagnostyka w Linux CNC

Cześć.

Padł mi komputer sterujący maszyną. Nie miałem backupu .ini oraz .hal.
Teraz stawiam na nowym kompie sterowanie. Zawisłem na etapie konfigurowania wrzeciona. Nie mogę go włączyć. Moj sterownik (Zelrp) wyposażony jest w pompę ładunkową. Nie pamiętam jak to ustawić lub coś się skopało fizycznie w sterowniku że nie mogę włączyć wrzeciona. Stąd pytania:

1) czy mogę sztucznie wysterować w trybie diagnostycznym stan wysoki na przekaźniku załączenia wrzeciona? Wykluczę spalenie przekaźnika i potwierdzę prawidłowe przyporządkowanie pinów.

2) czy moglibyście spojrzeć na listę moich pinów czy to ma sens? U mnie zgodnie z instrukcją załączanie wrzeciona jest na pinie 1 a pompa ładunkowa na pinie 17. Ale:

Mogę ustawić opcje takie jak:
a) włączenie wrzeciona
b) wrzeciono CW
c) włączenie zasilania

Na pinie 17 włącza się chyba włączanie wzmacniaczy. Kompletnie nie pamiętam jak to było. Pomożecie?

Serdeczne dzięki.

Obrazek

Obrazek

Wróć do „Diagnostyka w Linux CNC”