Trying to figure out something I just encountered. If I have the robot inside a WZ, and do a reboot, the DO for that WZ does not turn on until I squeeze the deadman and get the motors on. After that, the WZDO works exactly as expected.
I have all my WZDOs set during the POWER_ON event, and they work fine, except for this one problem. This creates an issue if the robot has been rebooted at a "safe" position, but my cell PLC is waiting for one of the WZDOs before sending the MotOnStart signal.
]My WZs are all Joint, with the Delta value set to +/-2deg (and 10 or 100mm for EAX-A). All the WZDOs have been tested extensively and work as intended, it's just getting the DO after a reboot that's proving to be an issue. Is there a way I can fix this?
My WZ routine:
PROC WZ_Define()
VAR jointtarget jTemp;
!This routine defines World zones being used upon power on.
!Home Position
WZHomeJointDef\Inside,joint_space_home,JHOME,delta_pos;
WZDOSet\Stat,home\Inside,joint_space_home,do16_AtHome,1;
!Maintenace Position
WZHomeJointDef\Inside,joint_space_maint,jMaintenance,delta_pos;
WZDOSet\Stat,maint\Inside,joint_space_maint,do17_At_Maintenance,1;
!Dunnage Pounce
WZHomeJointDef\Inside,joint_space_dunnage,Dunnage_Pounce,delta_pos;
WZDOSet\Stat,dunnage_pounce_pos\Inside,joint_space_dunnage,do43_At_Dunnage_Pounce,1;
!Station 102 Pounce
WZHomeJointDef\Inside,joint_space_sta2,Sta2_Pounce,delta_pos;
WZDOSet\Stat,sta102_pounce\Inside,joint_space_sta2,do52_At_Sta102_Pounce,1;
!Station 103 Pounce
WZHomeJointDef\Inside,joint_space_sta3,Sta3_Pounce,delta_pos;
WZDOSet\Stat,sta103_pounce\Inside,joint_space_sta3,do62_At_Sta103_Pounce,1;
!Station 103 Dead Nest Pounce
WZHomeJointDef\Inside,joint_space_sta3_DN,Sta3_DeadNest_Pounce,delta_pos;
WZDOSet\Stat,sta103_dn_pounce\Inside,joint_space_sta3_DN,do64_At_Sta3_DeadNest_Pounce,1;
!Station 104 Pounce
WZHomeJointDef\Inside,joint_space_sta4,Sta4_Pounce,delta_pos;
WZDOSet\Stat,sta104_pounce\Inside,joint_space_sta4,do78_At_Sta104_Pounce,1;
!Station 104 Dead Nest Pounce
WZHomeJointDef\Inside,joint_space_sta4_DN,Sta4_DeadNest_Pounce,delta_pos;
WZDOSet\Stat,sta104_dn_pounce\Inside,joint_space_sta4_DN,do80_At_Sta4_DeadNest_Pounce,1;
!Station 105 Pounce
WZHomeJointDef\Inside,joint_space_sta5,Sta5_Pounce,delta_pos;
WZDOSet\Stat,sta105_pounce\Inside,joint_space_sta5,do86_At_Sta105_Pounce,1;
!Station 105 Dead Nest Pounce
WZHomeJointDef\Inside,joint_space_sta5_dn,Sta5_DeadNest_Pounce,delta_pos;
WZDOSet\Stat,sta105_dn_pounce\Inside,joint_space_sta5_dn,do88_At_Sta5_DeadNest_Pounce,1;
!Station 106 Pounce
WZHomeJointDef\Inside,joint_space_sta6,Sta6_Pounce,delta_pos;
WZDOSet\Stat,sta106_pounce\Inside,joint_space_sta6,do94_At_Sta106_Pounce,1;
!Station 106 Dead Nest Pounce
WZHomeJointDef\Inside,joint_space_sta6_dn,Sta6_DeadNest_Pounce,delta_pos;
WZDOSet\Stat,sta106_dn_pounce\Inside,joint_space_sta6_dn,do96_At_Sta6_DeadNest_Pounce,1;
!Station 107 Pounce
WZHomeJointDef\Inside,joint_space_sta7,Sta7_Pounce,delta_pos;
WZDOSet\Stat,sta107_pounce\Inside,joint_space_sta7,do106_At_Sta107_Pounce,1;
!Station 107 Dead Nest Pounce
WZHomeJointDef\Inside,joint_space_sta7_dn,Sta7_DeadNest_Pounce,delta_pos;
WZDOSet\Stat,sta107_dn_pounce\Inside,joint_space_sta7_dn,do109_At_Sta7_DeadNest_Pounce,1;
!End of Line Pounce
WZHomeJointDef\Inside,joint_space_EOL,EOL_Pounce,delta_pos;
WZDOSet\Stat,EndOfLine_pounce\Inside,joint_space_EOL,do107_At_EOL_Pounce,1;
!Tool Rack Pounce
WZHomeJointDef\Inside,joint_space_ToolRack,Tool_Rack_Pounce,delta_pos;
WZDOSet\Stat,ToolRack_pounce\Inside,joint_space_ToolRack,do32_Tool_Rack_Pounce,1;
! Upstream-pointing Transition Pounce
jTemp:=jTransitionUpStream;
jTemp.extax.eax_a:=9E9;
WZHomeJointDef\Inside,joint_space_TransitionUpstream,jTemp,delta_pos_noRail;
WZDOSet\Stat,TransitionUpstream_Pounce\Inside,joint_space_TransitionUpstream,do110_At_Upstream_Pounce,1;
! Downstream-pointing Transition Pounce
jTemp:=jTransitionDownStream;
jTemp.extax.eax_a:=9E9;
WZHomeJointDef\Inside,joint_space_TransitionDownstream,jTemp,delta_pos_noRail;
WZDOSet\Stat,TransitionDownstream_Pounce\Inside,joint_space_TransitionDownstream,do111_At_Downstream_Pounce,1;
ENDPROC
Display More