Robot studio isn't telling me where my syntax errors are

I'm working on some code in Rapid, but RobotStudio doesn't tell where or why my code doesn't work.
I think the line below might be the problem.
checkpoint := IsReachable(point, printhead, wobj0);
I'm not sure how to fix it

Below is the rest of the code

MODULE MainModule
    ! (name), started 11 27 2018
    ! This code read a file of eight positions per set and checks if the robot can reach each set
    ! This done for a workspace analysis
    VAR iodev reader;
    VAR iodev writer;
    VAR pos corner;
    VAR string word;
    VAR bool check;
    VAR bool checkpoint;
    VAR robtarget point;
    PERS tooldata printhead := [ TRUE, [[ 85.22, 0, 79.57], [0.707170, 0, 0.707170, 0]], [0.79496, [16.02,9.4,44.26],  [1, 0, 0, 0], 0, 0, 0]];
    
    ! This function is from msalminen on the ABB forums
    FUNC bool IsReachable(robtarget pReach, PERS tooldata ToolReach, PERS wobjdata WobjReach)

      ! Check if specified robtarget can be reach with given tool and wobj.
      ! 
      ! Output:
      !  Return TRUE if given robtarget is reachable with given tool and wobj
      !  otherwise return FALSE
      !
      ! Parameters:
      !  pReach     - robtarget to be checked, if robot can reach this robtarget
      !  ToolReach  - tooldata to be used for possible movement
      !  WobjReach  - wobjdata to be used for possible movement

         VAR bool bReachable;
         VAR jointtarget jntReach;
  
         bReachable := TRUE;
  
         jntReach := CalcJointT(pReach, ToolReach\Wobj:=WobjReach);
  
         RETURN bReachable;
  
         ERROR
             IF ERRNO = ERR_ROBLIMIT THEN
                bReachable := FALSE;
                TRYNEXT;
            ENDIF
     ENDFUNC
    
    
PROC main()  
        Open "U:/RAMSeniorDesign/RobotStudio Stations/Workspace/ReadTest1.txt", reader \Read;
        Rewind reader;
        Open "U:/RAMSeniorDesign/RobotStudio Stations/Workspace/ReadTest1b.txt", writer \Append;
        word := ReadStr(reader);
        check := StrToVal(word,corner);
        point := [ [ corner.x, corner.y, corner.z], [0.707170, 0, 0.707170, 0], [0,0,0,0], [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9]];
        checkpoint := IsReachable(point, printhead, wobj0);
       
        Write writer, ""\Pos:=corner;
        Write writer, ""\Bool:=checkpoint;
        Close reader;
        Close writer;        
ENDPROC
ENDMODULE

Comments

Sign In or Register to comment.