# core HAL config file for simulation - 6 axis # load RT modules loadrt genhexkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[TRAJ]AXES loadrt ddt count=9 # add motion controller functions to servo thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf ddt.0 servo-thread addf ddt.1 servo-thread addf ddt.2 servo-thread addf ddt.3 servo-thread addf ddt.4 servo-thread addf ddt.5 servo-thread addf ddt.6 servo-thread addf ddt.7 servo-thread addf ddt.8 servo-thread # create HAL signals for position commands from motion module newsig Xpos float linksp Xpos <= axis.0.motor-pos-cmd newsig Ypos float linksp Ypos <= axis.1.motor-pos-cmd newsig Zpos float linksp Zpos <= axis.2.motor-pos-cmd newsig Apos float linksp Apos <= axis.3.motor-pos-cmd newsig Bpos float linksp Bpos <= axis.4.motor-pos-cmd newsig Cpos float linksp Cpos <= axis.5.motor-pos-cmd # loop position commands back to motion module feedback linksp Xpos => axis.0.motor-pos-fb linksp Ypos => axis.1.motor-pos-fb linksp Zpos => axis.2.motor-pos-fb linksp Apos => axis.3.motor-pos-fb linksp Bpos => axis.4.motor-pos-fb linksp Cpos => axis.5.motor-pos-fb # send the position commands thru differentiators to # generate velocity and accel signals # define the signals, and hook them up newsig Xvel float newsig Xacc float newsig Xjerk float linksp Xpos => ddt.0.in linkps ddt.0.out => Xvel linksp Xvel => ddt.1.in linkps ddt.1.out => Xacc linksp Xacc => ddt.2.in linkps ddt.2.out => Xjerk newsig Yvel float newsig Yacc float newsig Yjerk float linksp Ypos => ddt.3.in linkps ddt.3.out => Yvel linksp Yvel => ddt.4.in linkps ddt.4.out => Yacc linksp Yacc => ddt.5.in linkps ddt.5.out => Yjerk newsig Zvel float newsig Zacc float newsig Zjerk float linksp Zpos => ddt.6.in linkps ddt.6.out => Zvel linksp Zvel => ddt.7.in linkps ddt.7.out => Zacc linksp Zacc => ddt.8.in linkps ddt.8.out => Zjerk # estop loopback net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in # 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 # amp control newsig xena bit linksp xena axis.0.amp-enable-out newsig yena bit linksp yena axis.1.amp-enable-out newsig zena bit linksp zena axis.2.amp-enable-out newsig aena bit linksp aena axis.3.amp-enable-out newsig bena bit linksp bena axis.4.amp-enable-out newsig cena bit linksp cena axis.5.amp-enable-out newsig xflt bit linksp xflt axis.0.amp-fault-in newsig yflt bit linksp yflt axis.1.amp-fault-in newsig zflt bit linksp zflt axis.2.amp-fault-in newsig aflt bit linksp aflt axis.3.amp-fault-in newsig bflt bit linksp bflt axis.4.amp-fault-in newsig cflt bit linksp cflt axis.5.amp-fault-in