added example hal file
This commit is contained in:
72
example/cia402.hal
Normal file
72
example/cia402.hal
Normal file
@@ -0,0 +1,72 @@
|
||||
###########################################################
|
||||
#
|
||||
# CIA 402 example snippet Hal
|
||||
#
|
||||
###########################################################
|
||||
|
||||
###########################################################
|
||||
# Setup
|
||||
###########################################################
|
||||
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
|
||||
loadusr -W lcec_conf ethercat-conf.xml
|
||||
loadrt lcec
|
||||
loadrt cia402 count=3
|
||||
loadrt pid names=x-pid,y-pid,z-pid
|
||||
|
||||
|
||||
###########################################################
|
||||
# Functions servo-thread
|
||||
###########################################################
|
||||
|
||||
addf lcec.read-all servo-thread
|
||||
addf cia402.0.read-all servo-thread
|
||||
addf cia402.1.read-all servo-thread
|
||||
addf cia402.2.read-all servo-thread
|
||||
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
|
||||
addf x-pid.do-pid-calcs servo-thread
|
||||
addf y-pid.do-pid-calcs servo-thread
|
||||
addf z-pid.do-pid-calcs servo-thread
|
||||
|
||||
addf cia402.0.write-all servo-thread
|
||||
addf cia402.1.write-all servo-thread
|
||||
addf cia402.2.write-all servo-thread
|
||||
addf lcec.write-all servo-thread
|
||||
|
||||
#########################################
|
||||
#nets
|
||||
#########################################
|
||||
net emc-enable => iocontrol.0.emc-enable-in
|
||||
sets emc-enable 1
|
||||
|
||||
#config
|
||||
setp cia402.0.csp-mode 1
|
||||
setp cia402.0.pos-scale 3600
|
||||
|
||||
#from servo(ethercat) to cia402
|
||||
net x-statusword lcec.0.0.cia-statusword => cia402.0.statusword
|
||||
net x-opmode-display lcec.0.0.opmode-display => cia402.0.opmode-display
|
||||
net x-drv-act-pos lcec.0.0.actual-position => cia402.0.drv-actual-position
|
||||
net x-drv-act-velo lcec.0.0.actual-velocity => cia402.0.drv-actual-velocity
|
||||
|
||||
#from cia402 to servo(ethercat)
|
||||
net x-controlword cia402.0.controlword => lcec.0.0.cia-controlword
|
||||
net x-modes-of-operation cia402.0.opmode => lcec.0.0.opmode
|
||||
net x-drv-target-pos cia402.0.drv-target-position => lcec.0.0.target-position
|
||||
net x-drv-target-velo cia402.0.drv-target-velocity => lcec.0.0.target-velocity
|
||||
|
||||
#from motion to cia
|
||||
net x-enable <= joint.0.amp-enable-out => cia402.0.enable
|
||||
net x-amp-fault => joint.0.amp-fault-in <= cia402.0.drv-fault
|
||||
net x-pos-cmd <= joint.0.motor-pos-cmd => cia402.0.pos-cmd
|
||||
net x-pos-fb => joint.0.motor-pos-fb <= cia402.0.pos-fb
|
||||
|
||||
#homing
|
||||
net x-home-index <= joint.0.index-enable => cia402.0.home
|
||||
|
||||
|
||||
25
example/ethercat-conf.xml
Normal file
25
example/ethercat-conf.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<masters>
|
||||
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
|
||||
<slave idx="0" type="generic" vid="0000026C" pid="0000003C" configPdos="true">
|
||||
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
|
||||
<syncManager idx="2" dir="out">
|
||||
<pdo idx="1600">
|
||||
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
|
||||
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
|
||||
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
|
||||
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
|
||||
</pdo>
|
||||
</syncManager>
|
||||
<syncManager idx="3" dir="in">
|
||||
<pdo idx="1a00">
|
||||
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
|
||||
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
|
||||
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
|
||||
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
|
||||
<pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
|
||||
</pdo>
|
||||
</syncManager>
|
||||
</slave>
|
||||
</master>
|
||||
</masters>
|
||||
|
||||
Reference in New Issue
Block a user