########################################################### # # IO HAL file for koppi's CNC # # Created 2015/05/09 by Jakob Flierl # # This file connects internal LCNC HAL signals with # external Haldware on the EtherCAT bus. # ########################################################### ########################################################### # Signals for monitorting of the connection state # and slave state ########################################################### net ec-slaves-responding <= lcec.slaves-responding net ec-link-up <= lcec.link-up net ec-all-op <= lcec.all-op ########################################################### # digital inputs ########################################################### net voltage-on <= lcec.0.3.din-3-not net estop-hw-button <= lcec.0.3.din-0 net probe-pin-in <= lcec.0.3.din-1 #net x-pos-lim-in <= lcec.0.3.din-1 #net x-neg-lim-in <= lcec.0.3.din-2 #net y-pos-lim-in <= lcec.0.3.din-3 #net y-neg-lim-in <= lcec.0.3.din-0-not #net z-pos-lim-in <= lcec.0.3.din-2 #net z-neg-lim-in <= lcec.0.3.din-2 #net z-home-sw-in <= lcec.0.3.din-2 ########################################################### # digital outputs ########################################################### #net coolant-on => lcec.0.2.dout-0 net spindle-cw <= lcec.0.9.dout-0 #net spindle-ccw <= lcec.0.2.dout-2 #net z-brake => lcec.0.2.dout-3 ########################################################### # servo controlers ########################################################### # X axis # # set motor position scale (default 1 motor revolution) setp lcec.0.4.srv-scale [JOINT_0]SCALE setp lcec.0.4.enc-pos-scale [JOINT_0]ENC_SCALE # switch on if joint is enabled # this signal is used for the fault autoreset feature, too net x-enable => lcec.0.4.srv-enable # enable operation if joint is enabled # The delta driver internally delay this signal # till switched-on feedback is set to 1 #net x-enable => lcec.0.3A1.srv-enable # check driver fault status net x-amp-fault <= lcec.0.4.srv-error # output velocity command from position control # the scale of this value respects the setting # of srv-pos-scale. if scale is set to 1.0 this # means 1 motor revolution per second. net x-vel-cmd => lcec.0.4.srv-cmd # motor encoder position is used as joint # position feedback net x-pos-fb <= lcec.0.4.enc-pos # Y axis - same logic as X axis setp lcec.0.5.srv-scale [JOINT_1]SCALE setp lcec.0.5.enc-pos-scale [JOINT_1]ENC_SCALE net y-enable => lcec.0.5.srv-enable net y-amp-fault <= lcec.0.5.srv-error net y-vel-cmd => lcec.0.5.srv-cmd net y-pos-fb <= lcec.0.5.enc-pos # Y axis - same logic as X axis setp lcec.0.6.srv-scale [JOINT_2]SCALE setp lcec.0.6.enc-pos-scale [JOINT_2]ENC_SCALE net y1-enable => lcec.0.6.srv-enable net y1-amp-fault <= lcec.0.6.srv-error net y1-vel-cmd => lcec.0.6.srv-cmd net y1-pos-fb <= lcec.0.6.enc-pos # Z axis - same logic as X axis setp lcec.0.7.srv-scale [JOINT_3]SCALE setp lcec.0.7.enc-pos-scale [JOINT_3]ENC_SCALE net z-enable => lcec.0.7.srv-enable net z-amp-fault <= lcec.0.7.srv-error net z-vel-cmd => lcec.0.7.srv-cmd net z-pos-fb <= lcec.0.7.enc-pos #net z-brake <= lcec.0.4A3.srv-oper-enabled