Category: HAL Examples
Thank you but i have seemingly stumbled upon an issue with estop i cannot resolve in any way. Even without any further hal functionality, just ini, configuring a basic gmoccapy and a base hal doing nothing but estop logic i can´t reset estop.
# base.hal – Minimalstart für Weiler XZ (V10)
# --- components ---
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT
loadrt hostmot2
loadrt hm2_pci config="num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=000XXXXX"
loadrt estop_latch count=1
# --- Motion in den Servo-Thread einhängen ---
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf hm2_5i25.0.read servo-thread
addf estop-latch.0 servo-thread
# --- Loopback pro Joint, damit Motion ohne Feedback auskommt ---
net joint-0-pos-loop joint.0.motor-pos-cmd => joint.0.motor-pos-fb
net joint-1-pos-loop joint.1.motor-pos-cmd => joint.1.motor-pos-fb
# Enable-Leitungen/Faults – aktuell ohne Verdrahtung (werden später ergänzt)
addf hm2_5i25.0.write servo-thread
# --- ESTOP CHAIN (single latch) ---
net latch-reset <= iocontrol.0.user-request-enable
net latch-ok-in <= iocontrol.0.user-enable-out
net latch-ok-in => estop-latch.0.ok-in
net latch-reset => estop-latch.0.reset
net latch-out iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-out estop-latch.0.fault-out
# External E-Stop input (single source)
# For testing: fix the external signal to TRUE (fault active)
net external-estop => estop-latch.0.fault-in
sets external-estop TRUE
# --- ESTOP CHAIN ENDS ---
# doormagnet and relay for 24V supply
setp hm2_5i25.0.7i84.0.2.output-02 TRUE
setp hm2_5i25.0.7i84.0.2.output-03 TRUE
Current version i am trying. I can set external estop via halcmd to either states and try to reset estop with F1 GUI estop
I have built pretty elaborate estop logics with debouncing of external estop time delays and everything, but can´t get emc-task 3 (OFF but no estop) to show.