cleanup and commission wedge mover
This commit is contained in:
@@ -6,65 +6,62 @@ define(PLC_Homing='1')
|
||||
//move both mottors at same time
|
||||
|
||||
//move to limit switch, gather data, move to other limit switch, gather stop. move back to first limit switch
|
||||
//motID :P0 : Motor Number
|
||||
//direction :P1 : Motion direction to first limit switch: -1 -> #1j- ,+1 -> #1j+
|
||||
//status :P100: local status
|
||||
//timer :P101: local timer
|
||||
//timer :L0: local timer
|
||||
|
||||
open plc PLC_Homing
|
||||
define(motID='L0',direction='P1',status='P100',timer='P101')
|
||||
jog-1; jog-2; jog-3; jog-4;
|
||||
Motor[1].HomeVel=0.5
|
||||
Motor[2].HomeVel=0.5
|
||||
Motor[3].HomeVel=0.5
|
||||
Motor[4].HomeVel=0.5
|
||||
status=10
|
||||
while(1)
|
||||
{
|
||||
if((Motor[1].MinusLimit==1 || Motor[1].FeFatal==1)){
|
||||
if((Motor[2].MinusLimit==1 || Motor[2].FeFatal==1)){
|
||||
if((Motor[3].MinusLimit==1 || Motor[3].FeFatal==1)){
|
||||
if((Motor[4].MinusLimit==1 || Motor[4].FeFatal==1)){
|
||||
status=11
|
||||
break
|
||||
}}}}
|
||||
}
|
||||
timer = Sys.RunTime + 2
|
||||
status=100
|
||||
while (Sys.RunTime < timer){} //wait 2 sec
|
||||
status=101
|
||||
jog1:1000; jog2:1000; jog3:1000; jog4:1000;
|
||||
timer = Sys.RunTime + 2
|
||||
status=200
|
||||
while (Sys.RunTime < timer){} //wait 2 sec
|
||||
status=201
|
||||
while(1)
|
||||
{
|
||||
if(Motor[1].DesVelZero==1 && Motor[2].DesVelZero==1 && Motor[3].DesVelZero==1 && Motor[4].DesVelZero==1)
|
||||
define(status='P100',timer='L0')
|
||||
jog-1; jog-2; jog-3; jog-4;
|
||||
Motor[1].HomeVel=0.5
|
||||
Motor[2].HomeVel=0.5
|
||||
Motor[3].HomeVel=0.5
|
||||
Motor[4].HomeVel=0.5
|
||||
status=1
|
||||
|
||||
while(1)
|
||||
{
|
||||
status=12
|
||||
if((Motor[1].MinusLimit==1 || Motor[1].FeFatal==1)){
|
||||
if((Motor[2].MinusLimit==1 || Motor[2].FeFatal==1)){
|
||||
if((Motor[3].MinusLimit==1 || Motor[3].FeFatal==1)){
|
||||
if((Motor[4].MinusLimit==1 || Motor[4].FeFatal==1)){
|
||||
status=2
|
||||
break
|
||||
}}}}
|
||||
}
|
||||
}
|
||||
timer = Sys.RunTime + 2
|
||||
while (Sys.RunTime < timer){}
|
||||
home 1; home 2; home 3; home 4
|
||||
status=13
|
||||
while(1) //wait homing index found done
|
||||
{
|
||||
if(Motor[1].HomeComplete==1 && Motor[2].HomeComplete==1 && Motor[3].HomeComplete==1 && Motor[4].HomeComplete==1)
|
||||
timer = Sys.RunTime + 2
|
||||
while (Sys.RunTime < timer){} //wait 1 sec
|
||||
status=3
|
||||
jog1:1000; jog2:1000; jog3:1000; jog4:1000;
|
||||
timer = Sys.RunTime + .1
|
||||
while (Sys.RunTime < timer){} //wait 1 sec
|
||||
status=4
|
||||
while(1)
|
||||
{
|
||||
status=14
|
||||
break
|
||||
if(Motor[1].DesVelZero==1 && Motor[2].DesVelZero==1 && Motor[3].DesVelZero==1 && Motor[4].DesVelZero==1)
|
||||
{
|
||||
status=5
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
while(1) //wait moving to zero position done
|
||||
{
|
||||
if(Motor[1].DesVelZero==1 && Motor[2].DesVelZero==1 && Motor[3].DesVelZero==1 && Motor[4].DesVelZero==1)
|
||||
timer = Sys.RunTime + .1
|
||||
while (Sys.RunTime < timer){}
|
||||
home 1; home 2; home 3; home 4
|
||||
status=6
|
||||
while(1) //wait homing index found done
|
||||
{
|
||||
status=15
|
||||
break
|
||||
if(Motor[1].HomeComplete==1 && Motor[2].HomeComplete==1 && Motor[3].HomeComplete==1 && Motor[4].HomeComplete==1)
|
||||
{
|
||||
status=7
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
disable plc PLC_Homing
|
||||
while(1) //wait moving to zero position done
|
||||
{
|
||||
if(Motor[1].DesVelZero==1 && Motor[2].DesVelZero==1 && Motor[3].DesVelZero==1 && Motor[4].DesVelZero==1)
|
||||
{
|
||||
status=8
|
||||
break
|
||||
}
|
||||
}
|
||||
disable plc PLC_Homing
|
||||
close
|
||||
|
||||
Reference in New Issue
Block a user