dodalem probe basic
This commit is contained in:
69
configs/rack_atc_sim/vmc.hal
Normal file
69
configs/rack_atc_sim/vmc.hal
Normal file
@@ -0,0 +1,69 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS unlock_joints_mask=16 num_dio=6 num_aio=3
|
||||
# load 6 differentiators (for velocity and accel signals)
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
#net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
#net Bpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
#net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
#net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
|
||||
#net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
|
||||
#net Wpos joint.8.motor-pos-cmd => joint.8.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-axis velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# estop loopback
|
||||
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in
|
||||
|
||||
# probe input
|
||||
net probe-in => motion.probe-input
|
||||
|
||||
# create signals for tool loading loopback
|
||||
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
|
||||
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
# net lube iocontrol.0.lube # deprecated in lcnc 2.10
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
net tlo motion.analog-in-01 <= halui.tool.length_offset.z
|
||||
Reference in New Issue
Block a user