Hello everyone,
I'm currently working on a cell containing two ABB robots and a IRBP positionner, using the multimove system, one of the robot is the master and the IRBP is connected on the same controller, the other robot have his own controller.
Since i have to control all the movements of the positionner, i have to check often on his current position then see what i have to do according to what the PLC is asking me, and then execute my MoveExtJ...
After searching on the ABB technical reference manual, i found the CJointT function, the positionner work with the external axes eax_d/eax_e/eax_f and doesn't have any TCP associated so i decided to use this function in my program.
Excerpt from my program:
--------------------------------------------------------------------------------------------------------------------------------------
(Task: T_POS1)
MODULE MainModule_POS1
...
...
! Jointtarget de lecture position actuelle du positionneur
PERS jointtarget JntT_POS_IRBP:=[[0,0,0,0,0,0],[9E+09,9E+09,9E+09,0,0,0]];
...
...
...
!
PROC main()
Initialisation;
Rapp_Mvts_Axes;
!
! Renvoi position actuelle à l'API
JntT_POS_IRBP := CJointT (\TaskRef:=T_POS1Id);
IF JntT_POS_IRBP.extax.eax_d=0 THEN
etc... ...
--------------------------------------------------------------------------------------------------------------------------------------
Problem is, when i test it with robotstudio, the jointarget always give me the same result:
PERS jointtarget JntT_POS_IRBP:=[[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
I tried to change the argument "\TaskRef:=T_POS1Id" by the "Taskname" argument and tried with "JntT_POS_IRBP := CJointT ();" but the result is the same.
Does any of you have an idea of the actual problem? Is that a limitation of Robostudio? Did i declare something wrong? Is there something i ignore about how to use this function?
In advance, thank you very much!