Commit 54655b9f authored by electrolab's avatar electrolab

Manage homing with ladder

parent a780425a
gmoccapy_preferences
linuxcnc.var
old/*
*.pref
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="generic" vid="0000060A" pid="00000001" configPdos="true">
<sdoConfig idx="6060" subIdx="0"><sdoDataRaw data="08"/></sdoConfig>
<sdoConfig idx="6098" subIdx="0"><sdoDataRaw data="23"/></sdoConfig>
<sdoConfig idx="6093" subIdx="1"><sdoDataRaw data="00 80 00 00"/></sdoConfig>
<sdoConfig idx="6093" subIdx="2"><sdoDataRaw data="E2 04 00 00"/></sdoConfig>
<syncManager idx="0" dir="out"></syncManager>
<syncManager idx="1" dir="in"></syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1602">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="drivecontrol" halType="bit"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="poscommand" halType="special32" scale="100"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A02">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="special32" scale="100"/>
</pdo>
</syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/>
<watchdog divider="2498" intervals="1000"/>
</slave>
<slave idx="1" type="generic" vid="0000060A" pid="00000001" configPdos="true">
<sdoConfig idx="6060" subIdx="0"><sdoDataRaw data="08"/></sdoConfig>
<sdoConfig idx="6098" subIdx="0"><sdoDataRaw data="23"/></sdoConfig>
<sdoConfig idx="6093" subIdx="1"><sdoDataRaw data="00 80 00 00"/></sdoConfig>
<sdoConfig idx="6093" subIdx="2"><sdoDataRaw data="E2 04 00 00"/></sdoConfig>
<syncManager idx="0" dir="out"></syncManager>
<syncManager idx="1" dir="in"></syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1602">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="drivecontrol" halType="bit"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="poscommand" halType="special32" scale="100"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A02">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="special32" scale="100"/>
</pdo>
</syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/>
<watchdog divider="2498" intervals="1000"/>
</slave>
<slave idx="2" type="generic" vid="0000060A" pid="00000001" configPdos="true">
<sdoConfig idx="6060" subIdx="0"><sdoDataRaw data="08"/></sdoConfig>
<sdoConfig idx="6098" subIdx="0"><sdoDataRaw data="23"/></sdoConfig>
<sdoConfig idx="6093" subIdx="1"><sdoDataRaw data="00 80 00 00"/></sdoConfig>
<sdoConfig idx="6093" subIdx="2"><sdoDataRaw data="E2 04 00 00"/></sdoConfig>
<syncManager idx="0" dir="out"></syncManager>
<syncManager idx="1" dir="in"></syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1602">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="drivecontrol" halType="bit"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="poscommand" halType="special32" scale="100"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A02">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="special32" scale="100"/>
</pdo>
</syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/>
<watchdog divider="2498" intervals="1000"/>
</slave>
</master>
net X-homed => halui.joint.0.home
net Z-homed => halui.joint.2.home
_FILES_CLASSICLADDER
_FILE-modbusioconf.csv
#VER=1.0
_/FILE-modbusioconf.csv
_FILE-ioconf.csv
#VER=1.0
_/FILE-ioconf.csv
_FILE-rung_4.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=-1
#NEXTRUNG=-1
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_4.csv
_FILE-sequential.csv
#VER=1.0
_/FILE-sequential.csv
_FILE-timers_iec.csv
1,1,0
2,1,0
1,1,0
2,1,0
1,1,1
1,1,1
1,0,0
1,0,0
1,0,0
1,0,0
_/FILE-timers_iec.csv
_FILE-monostables.csv
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-monostables.csv
_FILE-arithmetic_expressions.csv
#VER=2.0
_/FILE-arithmetic_expressions.csv
_FILE-symbols.csv
#VER=1.0
%I0,XStatHome,
%I1,XStatPos,
%I2,XHomingOk,
%I3,XAtHome,
%I4,ZStatHome,
%I5,ZStatPos,
%I6,ZHomingOk,
%I7,ZAtHome,
%I8,HomeAll,
%I9,HomeX,
%I10,HomeZ,
%I11,%I11,
%I12,%I12,
%I13,%I13,
%I14,%I14,
%Q0,XHomed,
%Q1,ZHomed,
%Q2,XHoming,
%Q3,ZHoming,
%Q4,XCtrlHome,
%Q5,XCtrlPos,
%Q6,ZCtrlHome,
%Q7,ZCtrlPos,
%Q8,XHomStart,
%Q9,ZHomStart,
%Q10,%Q10,
%Q11,%Q11,
%Q12,%Q12,
%Q13,%Q13,
%Q14,%Q14,
%B0,XToHome,
%B1,ZToHome,
%B2,%B2,
%B3,%B3,
%B4,%B4,
%B5,%B5,
%B6,%B6,
%B7,%B7,
%B8,%B8,
%B9,%B9,
%B10,%B10,
%B11,%B11,
%B12,%B12,
%B13,%B13,
%B14,%B14,
%B15,%B15,
%B16,%B16,
%B17,%B17,
%B18,%B18,
%B19,%B19,
%W0,%W0,
%W1,%W1,
%W2,%W2,
%W3,%W3,
%W4,%W4,
%W5,%W5,
%W6,%W6,
%W7,%W7,
%W8,%W8,
%W9,%W9,
%W10,%W10,
%W11,%W11,
%W12,%W12,
%W13,%W13,
%W14,%W14,
%W15,%W15,
%W16,%W16,
%W17,%W17,
%W18,%W18,
%W19,%W19,
%IW0,%IW0,
%IW1,%IW1,
%IW2,%IW2,
%IW3,%IW3,
%IW4,%IW4,
%IW5,%IW5,
%IW6,%IW6,
%IW7,%IW7,
%IW8,%IW8,
%IW9,%IW9,
%QW0,%QW0,
%QW1,%QW1,
%QW2,%QW2,
%QW3,%QW3,
%QW4,%QW4,
%QW5,%QW5,
%QW6,%QW6,
%QW7,%QW7,
%QW8,%QW8,
%QW9,%QW9,
%IF0,%IF0,
%IF1,%IF1,
%IF2,%IF2,
%IF3,%IF3,
%IF4,%IF4,
%IF5,%IF5,
%IF6,%IF6,
%IF7,%IF7,
%IF8,%IF8,
%IF9,%IF9,
%QF0,%QF0,
%QF1,%QF1,
%QF2,%QF2,
%QF3,%QF3,
%QF4,%QF4,
%QF5,%QF5,
%QF6,%QF6,
%QF7,%QF7,
%QF8,%QF8,
%QF9,%QF9,
%T0,%T0,Old Timer
%T1,%T1,Old Timer
%T2,%T2,Old Timer
%T3,%T3,Old Timer
%T4,%T4,Old Timer
%T5,%T5,Old Timer
%T6,%T6,Old Timer
%T7,%T7,Old Timer
%T8,%T8,Old Timer
%T9,%T9,Old Timer
%TM0,%TM0,New Timer
%TM1,%TM1,New Timer
%TM2,%TM2,New Timer
%TM3,%TM3,New Timer
%TM4,%TM4,New Timer
%TM5,%TM5,New Timer
%TM6,%TM6,New Timer
%TM7,%TM7,New Timer
%TM8,%TM8,New Timer
%TM9,%TM9,New Timer
%M0,%M0,One-shot
%M1,%M1,One-shot
%M2,%M2,One-shot
%M3,%M3,One-shot
%M4,%M4,One-shot
%M5,%M5,One-shot
%M6,%M6,One-shot
%M7,%M7,One-shot
%M8,%M8,One-shot
%M9,%M9,One-shot
%C0,%C0,Counter
%C1,%C1,Counter
%C2,%C2,Counter
%C3,%C3,Counter
%C4,%C4,Counter
%C5,%C5,Counter
%C6,%C6,Counter
%C7,%C7,Counter
%C8,%C8,Counter
%C9,%C9,Counter
%E0,%E0,Error Flag Bit
%E1,%E1,Error Flag Bit
%E2,%E2,Error Flag Bit
%E3,%E3,Error Flag Bit
%E4,%E4,Error Flag Bit
%E5,%E5,Error Flag Bit
%E6,%E6,Error Flag Bit
%E7,%E7,Error Flag Bit
%E8,%E8,Error Flag Bit
%E9,%E9,Error Flag Bit
_/FILE-symbols.csv
_FILE-general.txt
PERIODIC_REFRESH=50
SIZE_NBR_RUNGS=100
SIZE_NBR_BITS=20
SIZE_NBR_WORDS=20
SIZE_NBR_TIMERS=10
SIZE_NBR_MONOSTABLES=10
SIZE_NBR_COUNTERS=10
SIZE_NBR_TIMERS_IEC=10
SIZE_NBR_PHYS_INPUTS=15
SIZE_NBR_PHYS_OUTPUTS=15
SIZE_NBR_ARITHM_EXPR=100
SIZE_NBR_SECTIONS=10
SIZE_NBR_SYMBOLS=160
_/FILE-general.txt
_FILE-counters.csv
0
0
0
0
0
0
0
0
0
0
_/FILE-counters.csv
_FILE-rung_2.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=-1
#NEXTRUNG=3
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_2.csv
_FILE-rung_0.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=1
#NEXTRUNG=-1
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/2
9-0-0/0 , 1-0-0/0 , 9-0-0/0 , 2-0-60/0 , 9-0-0/0 , 9-0-0/0 , 9-1-0/0 , 99-0-0/0 , 13-0-0/4 , 50-0-60/4
0-0-0/0 , 1-1-60/2 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 13-0-0/0 , 99-0-0/0 , 99-0-0/0 , 51-1-60/5
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-0-0/0 , 99-0-0/0 , 9-1-0/0 , 9-0-0/0 , 50-0-60/8
9-0-0/0 , 1-0-50/0 , 2-0-50/1 , 9-0-0/0 , 1-0-50/2 , 99-0-0/0 , 13-0-0/1 , 9-0-0/0 , 9-0-0/1 , 50-0-60/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-0-0/0 , 99-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_0.csv
_FILE-com_params.txt
MODBUS_MASTER_SERIAL_PORT=
MODBUS_MASTER_SERIAL_SPEED=9600
MODBUS_MASTER_SERIAL_DATABITS=8
MODBUS_MASTER_SERIAL_STOPBITS=1
MODBUS_MASTER_SERIAL_PARITY=0
MODBUS_ELEMENT_OFFSET=0
MODBUS_MASTER_SERIAL_USE_RTS_TO_SEND=0
MODBUS_MASTER_TIME_INTER_FRAME=100
MODBUS_MASTER_TIME_OUT_RECEIPT=500
MODBUS_MASTER_TIME_AFTER_TRANSMIT=0
MODBUS_DEBUG_LEVEL=0
MODBUS_MAP_COIL_READ=0
MODBUS_MAP_COIL_WRITE=0
MODBUS_MAP_INPUT=0
MODBUS_MAP_HOLDING=0
MODBUS_MAP_REGISTER_READ=0
MODBUS_MAP_REGISTER_WRITE=0
_/FILE-com_params.txt
_FILE-timers.csv
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-timers.csv
_FILE-sections.csv
#VER=1.0
#NAME000=HomingLadder
#NAME001=ToolPostLadder
000,0,-1,2,0,0
001,0,-1,4,4,0
_/FILE-sections.csv
_FILE-rung_3.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=2
#NEXTRUNG=1
9-0-0/0 , 9-0-0/0 , 1-0-50/9 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-0-0/0
9-0-0/0 , 1-0-50/8 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 2-0-60/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-1-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 3-1-60/0 , 2-0-60/1 , 9-0-0/0 , 9-0-0/0 , 50-0-0/1
9-0-0/0 , 9-0-50/9 , 1-0-50/10 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-1-60/0
0-0-0/0 , 0-0-50/10 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-60/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_3.csv
_FILE-rung_1.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=3
#NEXTRUNG=0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/3
9-0-0/0 , 1-0-0/1 , 9-0-0/0 , 2-0-60/1 , 9-0-0/0 , 9-0-0/0 , 9-1-0/0 , 99-0-0/0 , 13-0-0/5 , 50-0-60/6
0-0-0/0 , 1-1-60/3 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 13-0-50/2 , 99-0-0/0 , 99-0-0/0 , 51-1-60/7
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-0-0/0 , 99-0-0/0 , 9-1-0/0 , 9-0-0/0 , 50-0-60/9
9-0-0/0 , 1-0-50/4 , 2-0-50/5 , 9-0-0/0 , 1-0-50/6 , 99-0-0/0 , 13-0-0/3 , 9-0-0/0 , 9-0-0/0 , 50-0-60/1
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-0-0/0 , 99-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_1.csv
_/FILES_CLASSICLADDER
...@@ -11,6 +11,7 @@ loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EM ...@@ -11,6 +11,7 @@ loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EM
addf motion-command-handler servo-thread addf motion-command-handler servo-thread
addf motion-controller servo-thread addf motion-controller servo-thread
loadusr halui -ini maurice.ini
#========================================== #==========================================
# Global machine logic # Global machine logic
...@@ -28,8 +29,12 @@ net X-fault => joint.0.amp-fault-in ...@@ -28,8 +29,12 @@ net X-fault => joint.0.amp-fault-in
net X-poscmd <= joint.0.motor-pos-cmd net X-poscmd <= joint.0.motor-pos-cmd
net X-posfb => joint.0.motor-pos-fb net X-posfb => joint.0.motor-pos-fb
net X-homed => joint.0.home-sw-in #net X-homed => joint.0.home-sw-in
net X-homing <= joint.0.homing #net Home-X <= joint.0.homing
net X-inhibit => motion.feed-inhibit
#net X-PoT => joint.0.pos-lim-sw-in
#net X-NoT => joint.0.neg-lim-sw-in
#========================================== #==========================================
# Z axis # Z axis
...@@ -41,8 +46,12 @@ net Z-fault => joint.2.amp-fault-in ...@@ -41,8 +46,12 @@ net Z-fault => joint.2.amp-fault-in
net Z-poscmd <= joint.2.motor-pos-cmd net Z-poscmd <= joint.2.motor-pos-cmd
net Z-posfb => joint.2.motor-pos-fb net Z-posfb => joint.2.motor-pos-fb
net Z-homed => joint.2.home-sw-in #net Z-homed => joint.2.home-sw-in
net Z-homing <= joint.2.homing #net Home-Z <= joint.2.homing
#net Z-inhibit => motion.feed−inhibit
#net Z-PoT => joint.2.pos-lim-sw-in
#net Z-NoT => joint.2.neg-lim-sw-in
############################################ ############################################
# Hardware section # Hardware section
...@@ -52,6 +61,10 @@ net Z-homing <= joint.2.homing ...@@ -52,6 +61,10 @@ net Z-homing <= joint.2.homing
# Components declaration # Components declaration
#========================================== #==========================================
loadrt classicladder_rt
addf classicladder.0.refresh servo-thread
loadusr classicladder maurice.clp
loadusr -W lcec_conf maurice.xml loadusr -W lcec_conf maurice.xml
loadrt lcec loadrt lcec
...@@ -68,14 +81,6 @@ setp lcec.0.0.modecontrol-4 0 ...@@ -68,14 +81,6 @@ setp lcec.0.0.modecontrol-4 0
setp lcec.0.1.modecontrol-0 0 setp lcec.0.1.modecontrol-0 0
setp lcec.0.1.modecontrol-4 0 setp lcec.0.1.modecontrol-4 0
loadrt and2 count=2
loadrt not count=2
addf and2.0 servo-thread
addf and2.1 servo-thread
addf not.0 servo-thread
addf not.1 servo-thread
#========================================== #==========================================
# Global machine logic # Global machine logic
#========================================== #==========================================
...@@ -91,18 +96,17 @@ net X-poscmd => lcec.0.0.poscommand ...@@ -91,18 +96,17 @@ net X-poscmd => lcec.0.0.poscommand
net X-posfb <= lcec.0.0.pos net X-posfb <= lcec.0.0.pos
net X-fault <= lcec.0.0.drivestatus-3 net X-fault <= lcec.0.0.drivestatus-3
net X-modehome <= lcec.0.0.modestatus-3 net X-stat-pos <= lcec.0.0.modestatus-3
net X-stat4 <= lcec.0.0.drivestatus-12 net X-stat-home <= lcec.0.0.modestatus-2
net X-homingok <= lcec.0.0.drivestatus-12
net X-modehome => and2.0.in0 net X-athome <= lcec.0.0.drivestatus-10
net X-stat4 => and2.0.in1
net X-homed <= and2.0.out
net X-homing => not.0.in net X-ctrl-home => lcec.0.0.modecontrol-1 => lcec.0.0.modecontrol-2
net X-position <= not.0.out net X-homestart => lcec.0.0.drivecontrol-4
net X-ctrl-pos => lcec.0.0.modecontrol-3
net X-homing => lcec.0.0.modecontrol-1 => lcec.0.0.modecontrol-2 => lcec.0.0.drivecontrol-4 net X-PoT <= lcec.0.0.inputs-1
net X-position => lcec.0.0.modecontrol-3 net X-NoT <= lcec.0.0.inputs-0
#========================================== #==========================================
# Z axis # Z axis
...@@ -113,15 +117,45 @@ net Z-poscmd => lcec.0.1.poscommand ...@@ -113,15 +117,45 @@ net Z-poscmd => lcec.0.1.poscommand
net Z-posfb <= lcec.0.1.pos net Z-posfb <= lcec.0.1.pos
net Z-fault <= lcec.0.1.drivestatus-3 net Z-fault <= lcec.0.1.drivestatus-3
net Z-modehome <= lcec.0.1.modestatus-3 net Z-stat-pos <= lcec.0.1.modestatus-3
net Z-stat4 <= lcec.0.1.drivestatus-12 net Z-stat-home <= lcec.0.1.modestatus-2
net Z-homingok <= lcec.0.1.drivestatus-12
net Z-athome <= lcec.0.1.drivestatus-10
net Z-ctrl-home => lcec.0.1.modecontrol-1 => lcec.0.1.modecontrol-2
net Z-homestart => lcec.0.1.drivecontrol-4
net Z-ctrl-pos => lcec.0.1.modecontrol-3
net Z-PoT <= lcec.0.1.inputs-1
net Z-NoT <= lcec.0.1.inputs-0
#==========================================
# ClassicLadder
#==========================================
# Inputs
net Z-modehome => and2.1.in0 net X-stat-home => classicladder.0.in-00
net Z-stat4 => and2.1.in1 net X-stat-pos => classicladder.0.in-01
net Z-homed <= and2.1.out net X-homingok => classicladder.0.in-02
net X-athome => classicladder.0.in-03
net Z-stat-home => classicladder.0.in-04
net Z-stat-pos => classicladder.0.in-05
net Z-homingok => classicladder.0.in-06
net Z-athome => classicladder.0.in-07
net Home-All => classicladder.0.in-08
net Home-X => classicladder.0.in-09
net Home-Z => classicladder.0.in-10
net Z-homing => not.1.in # Outputs
net Z-position <= not.1.out
net Z-homing => lcec.0.1.modecontrol-1 => lcec.0.1.modecontrol-2 => lcec.0.1.drivecontrol-4 net X-homed <= classicladder.0.out-00
net Z-position => lcec.0.1.modecontrol-3 net Z-homed <= classicladder.0.out-01
net X-inhibit <= classicladder.0.out-02
net Z-inhibit <= classicladder.0.out-03
net X-ctrl-home <= classicladder.0.out-04
net X-ctrl-pos <= classicladder.0.out-05
net Z-ctrl-home <= classicladder.0.out-06
net Z-ctrl-pos <= classicladder.0.out-07
net X-homestart <= classicladder.0.out-08
net Z-homestart <= classicladder.0.out-09
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# The version string for this INI file. # The version string for this INI file.
VERSION = 1.1 VERSION = 1.1
MACHINE = EtherCAT Machine MACHINE = Maurice
DEBUG = 1 DEBUG = 1
[DISPLAY] [DISPLAY]
...@@ -85,10 +85,10 @@ MAX_LIMIT = 500 ...@@ -85,10 +85,10 @@ MAX_LIMIT = 500
HOME_DELAY = 5 HOME_DELAY = 5
HOME_VEL = 1 HOME_VEL = 1
HOME_OFFSET = 0 HOME_OFFSET = 0
HOME_SEARCH_VEL = 0 HOME_SEARCH_VEL = 1
HOME_LATCH_VEL = 0 HOME_LATCH_VEL = 1
HOME_USE_INDEX = NO HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0 HOME_SEQUENCE = 0
[JOINT_1] [JOINT_1]
...@@ -117,9 +117,9 @@ MAX_LIMIT = 200 ...@@ -117,9 +117,9 @@ MAX_LIMIT = 200
HOME_DELAY = 5 HOME_DELAY = 5
HOME_VEL = 1 HOME_VEL = 1
HOME_OFFSET = 0 HOME_OFFSET = 0
HOME_SEARCH_VEL = 0 HOME_SEARCH_VEL = 1
HOME_LATCH_VEL = 0 HOME_LATCH_VEL = 1
HOME_USE_INDEX = NO HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1 HOME_SEQUENCE = 1
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/> <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="modestatus" halType="bit"/> <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="modestatus" halType="bit"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="float" scale="0.00005"/> <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="float" scale="0.00005"/>
<pdoEntry idx="60FD" subIdx="00" bitLen="32" halPin="inputs" halType="bit"/>
</pdo> </pdo>
</syncManager> </syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/>
...@@ -43,6 +44,7 @@ ...@@ -43,6 +44,7 @@
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/> <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="drivestatus" halType="bit"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="modestatus" halType="bit"/> <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="modestatus" halType="bit"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="float" scale="0.0001"/> <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="float" scale="0.0001"/>
<pdoEntry idx="60FD" subIdx="00" bitLen="32" halPin="inputs" halType="bit"/>
</pdo> </pdo>
</syncManager> </syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/>
......
...@@ -10,6 +10,11 @@ DEBUG = 1 ...@@ -10,6 +10,11 @@ DEBUG = 1
[DISPLAY] [DISPLAY]
DISPLAY = gmoccapy DISPLAY = gmoccapy
EMBED_TAB_NAME = right_side_panel
EMBED_TAB_LOCATION = box_custom_4
EMBED_TAB_COMMAND = gladevcp -x {XID} -H vcp_box.hal vcp_box.glade
PREFERENCE_FILE_PATH = gmoccapy_preferences PREFERENCE_FILE_PATH = gmoccapy_preferences
LATHE = 1 LATHE = 1
BACK_TOOL_LATHE = 1 BACK_TOOL_LATHE = 1
...@@ -49,6 +54,7 @@ CYCLE_TIME = 0.005 ...@@ -49,6 +54,7 @@ CYCLE_TIME = 0.005
[HAL] [HAL]
HALUI = halui HALUI = halui
HALFILE = maurice.hal HALFILE = maurice.hal
POSTGUI_HALFILE = gmoccapy_postgui.hal
[HALUI] [HALUI]
...@@ -89,11 +95,11 @@ MIN_LIMIT = -2000 ...@@ -89,11 +95,11 @@ MIN_LIMIT = -2000
MAX_LIMIT = 2000 MAX_LIMIT = 2000
HOME_DELAY = 5 HOME_DELAY = 5
HOME_VEL = 1 HOME_VEL = 1
HOME_OFFSET = 100.0 HOME_OFFSET = 0
HOME_SEARCH_VEL = 9.9 HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 9.9 HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0 HOME_SEQUENCE = 0
[AXIS_Z] [AXIS_Z]
...@@ -121,10 +127,10 @@ MIN_LIMIT = -2000 ...@@ -121,10 +127,10 @@ MIN_LIMIT = -2000
MAX_LIMIT = 2000 MAX_LIMIT = 2000
HOME_DELAY = 5 HOME_DELAY = 5
HOME_VEL = 1 HOME_VEL = 1
HOME_OFFSET = 150.0 HOME_OFFSET = 0
HOME_SEARCH_VEL = 9.9 HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 9.9 HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1 HOME_SEQUENCE = 1
<?xml version="1.0"?>
<interface>
<!-- interface-requires gladevcp 0.0 -->
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="window1">
<property name="default_width">64</property>
<property name="default_height">724</property>
<child>
<object class="GtkVButtonBox" id="vbuttonbox1">
<property name="visible">True</property>
<property name="homogeneous">True</property>
<property name="layout_style">spread</property>
<child>
<object class="HAL_Button" id="home-all">
<property name="label" translatable="yes">Home All</property>
<property name="width_request">80</property>
<property name="height_request">56</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="HAL_Button" id="home-x">
<property name="label" translatable="yes">Home X</property>
<property name="width_request">56</property>
<property name="height_request">56</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>