Display MoreNot offhand, but it's documented in the Programming Manual, which is available in the Manuals, Software and Tools sub-forum.
All the WorkSpaces can be set as Inside or Outside, and are linked to system outputs that can be mapped to hardware outputs ($WORKSTATE1, $WORKSTATE2, etc). The Mode setting defines if the output is True when the TCP is inside, or outside, of the cartesian space.
Code$WORKSPACE[8]={X 243.053284,Y -1538.72668,Z -690.748,A -90.0000,B 0.0,C 0.0,X1 -300.000,Y1 -300.000,Z1 -500.000,X2 300.000,Y2 300.000,Z2 200.000,MODE #INSIDE}
The XYZABC values define the "reference point" of the WS, then the X1, X2, Y1, Y2, etc define the limits of the WS relative to that reference point. While each WS can only be a rectangular box, using the ABC values makes it possible to rotate the box to any desired angle.
However, $WORKSPACES are based on the currently active $TOOL and $BASE values, which means that any program relying on the $WORKSTATE outputs needs to take that into account.
Code$AXWORKSPACE[1]={A1_N 40.7060890,A1_P 56.9037781,A2_N -50.2982979,A2_P 7.12609768,A3_N 7.60147619,A3_P 97.2806702,A4_N -27.4916801,A4_P 9.14436531,A5_N 8.54063606,A5_P 85.9086838,A6_N 32.6100616,A6_P 76.0128937,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #INSIDE,STATE FALSE}
For an AWS, the _N and _P values are the Negative and Positive extents of the WS for each axis, including the Arm axes (A1-A6) and the External axes (E1-E6). And the AWS signals are $AXWORKSTATE1 through 8.
I've never used the Cylinder WSs, but
Code$CYLWORKSPACE[1]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,Z1 0.0,Z2 0.0,R 0.0,MODE #OFF,REFERENCE #WORLD,STATE FALSE}
they look pretty straightforward. Set a "reference point", including any rotations, then the Cylinder runs along the Z axis between Z1 and Z2, with a Radius of R.
To use them, you'd simply use a series of IF statements checking each ...STATE output, and selecting a particular motion path to Home based on which one the robot was in.
Thank you, that makes more sense! I'm going to try this one