Hello, all!
I have a question regarding BullsEye system: how to set it up properly? The manual offers a pretty good step-by-step instruction but lacks clarity in some small details.
One particular thing really irritates me: after setting up TCP for the system, I get an error message saying:
Error 40165
Task MAIN: Reference to unknown entire data pInitial
No data (or other object) with the specified name is visible from this program position.
This error message pops up when open or close the program from which the TCP setup was initiated. pInitial is one of the robtarget points that is created by the BullsEye set-up program. I don’t understand where is that reference, because pInitial is only mentioned once in this code (see below). Should I just comment it out? Put a ! in front of it?
I have tried moving the robot to this position, and it started reaching the very base, the pedestal, and then I stopped it avoid a collision.
I deleted (moved actually) all user programs from the controller memory, and created a simple program (called ABB1400) with three simple moves, and started the TCP setup procedure. After the procedure was completed (which another interesting discussion!), I saved the program to a usb drive. Now when I opened the program on my desktop computer, I saw that I have two modules in one file (see below). My next question: do I have to have repeat the TCP set-up procedure for every program? Or should I just add new routines in this file (e.g. for new welding projects), and edit PROC main() by adding routine calls?
It feels like I am missing big chunks of conceptual stuff on the robot programming, so any input or suggestion is appreciated.
Here is the code of the only user program I have on the controller:
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE TcpData
! Version used with version 6.x and 7.x bullseye module
! Last revised: 000125 b.johnson
! tWeldGun might be a dublicated data
PERS tooldata tWeldGun:=[TRUE,[[2.15876,0.762009,321.109],[0.921634,0.00112893,0.388049,-0.0026795]],[3,[1.94081,2.06128,162.358],[1,0,0,0],0,0,0]];
! Pers array variables
PERS robtarget pInitial{3}:=[[[-1.60983,-3.28952,-0.868578],[1.74678E-05,0.415052,-0.909799,2.09999E-05],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]];
PERS robtarget pPointer{3}:=[[[-1.60018,-3.28159,-0.853121],[1.15631E-05,0.41504,-0.909804,-8.86171E-07],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]];
PERS robtarget pQuickCheck0{3}:=[[[-150.6,-176.114,245.093],[0.352556,-0.380091,0.839622,0.162082],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]];
PERS robtarget pQuickCheck1{3}:=[[[15.5362,-230.797,245.112],[0.263716,-0.672457,0.630255,0.284665],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]];
PERS robtarget pSetup{3}:=[[[233.546,436.346,737.78],[0.352532,-0.380219,0.839559,0.162159],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[0,0,0],[1,0,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]];
PERS wobjdata obBeamArr{3}:=[[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[384.074,612.508,512.703],[1,0,0,0.000172633]]],[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]],[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]]];
PERS pose peFacePlate{3}:=[[[0,0,0],[0.352577,-0.38009,0.839612,0.162089]],[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];
PERS pos psBeamDay1{3}:=[[-1.61861,0,19.137],[0,0,0],[0,0,0]];
PERS tooldata tBullsEyeArr{3}:=[[TRUE,[[2.15876,0.762009,321.109],[0.921634,0.00112893,0.388049,-0.0026795]],[3,[1.94081,2.06128,162.358],[1,0,0,0],0,0,0]],[TRUE,[[0,0,0],[1,0,0,0]],[1,[1,0,0],[1,0,0,0],0,0,0]],[TRUE,[[0,0,0],[1,0,0,0]],[1,[1,0,0],[1,0,0,0],0,0,0]]];
PERS tooldata tday1{3}:=[[TRUE,[[2.15876,0.762009,321.109],[0.921634,0.00112893,0.388049,-0.0026795]],[3,[1.94081,2.06128,162.358],[1,0,0,0],0,0,0]],[TRUE,[[0,0,0],[1,0,0,0]],[1,[1,0,0],[1,0,0,0],0,0,0]],[TRUE,[[0,0,0],[1,0,0,0]],[1,[1,0,0],[1,0,0,0],0,0,0]]];
PERS bool bSetupDone{3}:=[TRUE,FALSE,FALSE];
PERS num nRightSideUp{3}:=[1,1,1];
PERS num nAlignGun{3}:=[3,3,3];
PERS num nAlpha{3}:=[45,45,45];
PERS num nCupToWork{3}:=[12,12,12];
PERS num BlsEye_Param{3,12}:=[[0.3,5,50,6,6,6,300,8,0,8,50,0],[0.5,5,50,6,6,6,100,5,0,0,0,0],[0.5,5,50,6,6,6,100,5,0,0,0,0]];
!*
! SetupBullsEye
!
! Description: calls the bullseye setup routine and updates
! the standard TCP
!
! Parameters: none
!
! Returns: none
!*
PROC SetupBullsEye()
GetNewTCPData tWeldGun,1\DoSetup;
ERROR
TEST BullsEye_Error(ERRNO)
CASE 1:
!
Stop;
! Move the gun to the beam
! Restart the program
!
BlsEye_Param{1,12}:=1;
RETRY;
CASE 2:
!
Stop;
! Move the gun/tcp to the pointer
! Restart the program
!
BlsEye_Param{1,12}:=2;
RETRY;
CASE 3:
BlsEye_Param{1,12}:=3;
RETRY;
CASE 4:
RETRY;
CASE 5:
TRYNEXT;
ENDTEST
ENDPROC
!*
! CheckTcp
!
! Description: Checks the TCP and updates if needed
!
! Parameters: none
!
! Returns: none
!*
PROC CheckTcp()
IF NOT IsTCPOK(1) THEN
GetNewTCPData tWeldGun,1;
ENDIF
ERROR
TEST BullsEye_Error(ERRNO)
CASE 1:
!
Stop;
! Move the gun to the beam
! Restart the program
!
BlsEye_Param{1,12}:=1;
RETRY;
CASE 2:
!
Stop;
! Move the gun/tcp to the pointer
! Restart the program
!
BlsEye_Param{1,12}:=2;
RETRY;
CASE 3:
BlsEye_Param{1,12}:=3;
RETRY;
CASE 4:
RETRY;
CASE 5:
TRYNEXT;
ENDTEST
ENDPROC
ENDMODULE
MODULE ABB1400
CONST robtarget p02:=[[134.96,-912.74,967.96],[0.288128,0.621059,0.68105,-0.259691],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p01:=[[134.97,-412.08,968.08],[0.288191,0.621052,0.681012,-0.259739],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget pStart:=[[233.54,436.32,1037.75],[0.35249,-0.380239,0.839575,0.162124],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PROC main()
bullseye:
MoveJ pStart,v1000,z50,tool0;
MoveJ p01,v1000,z50,tool0;
MoveJ p02,v1000,z50,tool0;
ENDPROC
ENDMODULE
Display More