RobotStudio event

IO triggering (TriggL) help

Hello all,

I'm trying to trigger a digital output by using TriggIO and TriggL. For some reason robot (ABB IRB 6400 S4C) got a fatal error during the execution.
Error log reads: "INTERNAL rltrig.c 4094 Not possible to read stoppointtime persistent value in SDB"

Motion program worked before modifications for triggering, i.e. trajectory is correct. Robot has loaded the program without errors - I assume that it can handle Trigg commands. Hence I assume that there is something wrong with triggering commands.

Program segement:

VAR triggdata LDTR;

    FOR i FROM 1 TO regPasses DO
      IF i/2=Trunc(i/2) THEN
        pts:=Offs(pts,0,phaseShift,0);
        pte:=Offs(pte,0,phaseShift,0);
        regStep:=-regIndex;
      ELSE
        pts:=pRightBot;
        pte:=pRightTop;
        regStep:=regIndex;
      ENDIF
      FOR j FROM 1 TO regIndexes DO
        IF regDirection=1 THEN
          TriggIO LDTR,50DOp:=do1,1;
          MoveL pts,speed1,z5,tool0;
 >>     TriggL pte,speed1,LDTR,z5,tool0; (execution stopped here)
        ELSE
          TriggIO LDTR,50DOp:=do1,0;
          MoveL pte,speed1,z5,tool0;
          TriggL pts,speed1,LDTR,z5,tool0;
        ENDIF
        regDirection:=-regDirection;
        pts:=Offs(pts,0,regStep,0);
        pte:=Offs(pte,0,regStep,0);
      ENDFOR
    ENDFOR
Distance between endpoints (pts to pte) is about 250 mm; speed1.v_tcp:=190.

Can anybody help with proper use of triggering commands?

Thanks,
Andrei

aivanov2006-9-11 20:14:9

Comments

  • Hi Andrei.

    Try defining two different triggdata variables, one for setting the signal and the other one to resetting.

    VAR triggdata LDTROn
    VAR triggdata LDTROff

    TriggIO LDTROn,50DOp:=do1,1;
    TriggIO LDTROff,50DOp:=do1,0;

    ...

    This way, you don't need to redefine continuosly the LDTR variable while moving. I expect that, since execution is parallel to the motion, the program is trying to redefine the trigger while a TriggL is using it, causing the problem.

    Bye