SAFETY_CONFIGURATION_EX2_V3
This structure provides the current safety configuration snapshot of the controller for DRCF v3. Compared to SAFETY_CONFIGURATION_EX2 (v2 path), this version adopts the new “_EX” data types for TCP, world coordinates, user coordinates, safety I/O, and configurable I/O:
CONFIG_USER_COORDINATE_EX2(100 entries)
BYTE# |
Field Name |
Data Type |
Value |
Remarks |
|---|---|---|---|---|
0 |
|
|
Data version |
|
4 |
|
Joint space range (Normal/Reduced) |
||
232 |
|
Force/Power/Speed/Momentum limits |
||
280 |
|
|
Collision sensitivity |
|
284 |
|
Safety function map (SF05-SF17) |
||
318 |
|
Tool name & data |
||
390 |
|
TCP name & data (supports POSITION_EX) |
||
495 |
|
Install pose (gradient/rotation) |
||
503 |
|
Safety I/O map (extended 2x16) |
||
535 |
|
Operation space (virtual fence) |
||
684 |
|
Safety zone |
||
1086 |
|
Enable safety zone |
||
1089 |
|
Protected zone |
||
2119 |
|
Collision mute zone |
||
3519 |
|
Tool orientation limit zone |
||
6349 |
|
Tool shape |
||
6864 |
|
Nudge setting |
||
6873 |
|
Cockpit setting |
||
6877 |
|
Auto servo-off setting |
||
6882 |
|
TCP list setting (EX entries) |
||
12136 |
|
Tool list setting |
||
15740 |
|
Tool shape list setting |
||
43094 |
|
|
Active TCP name |
|
43126 |
|
|
Active tool name |
|
43158 |
|
|
Active tool-shape name |
|
43190 |
|
Modbus list |
||
54392 |
|
World ↔ Base relation (EX) |
||
54424 |
|
|
CWS speed ratio |
|
54428 |
|
|
IO speed ratio |
|
54432 |
|
|
Number of safety zones |
|
54436 |
|
Safety zone array (max 20) |
||
62476 |
|
|
Number of user coordinates |
|
62480 |
|
|
User coordinate array (EX2, max 100) |
|
65680 |
|
Configurable IO mapping (extended) |
Total size : 65,744 bytes
Defined in: DRFS.h
typedef struct _SAFETY_CONFIGURATION_EX2_V3
{
unsigned int _iDataVersion;
CONFIG_JOINT_RANGE _tJointRange;
CONFIG_GENERAL_RANGE _tGeneralRange;
float _fCollisionSensitivity;
CONFIG_SAFETY_FUNCTION _tSafetyFunc;
CONFIG_TOOL_SYMBOL _tTool;
CONFIG_TCP_SYMBOL_EX _tTcp; // v3
CONFIG_INSTALL_POSE _tInstallPose;
CONFIG_SAFETY_IO_EX _tSafetyIO; // v3
CONFIG_VIRTUAL_FENCE _tSafetySpaceVF;
CONFIG_SAFE_ZONE _tSafetySpaceSZ;
ENABLE_SAFE_ZONE _tSafetySpaceESZ;
CONFIG_PROTECTED_ZONE _tSafetySpacePZ;
CONFIG_COLLISION_MUTE_ZONE _tSafetySpaceCM;
CONFIG_TOOL_ORIENTATION_LIMIT_ZONE _tSafetySpaceTO;
CONFIG_TOOL_SHAPE _tSafetySpaceTS;
CONFIG_NUDGE _tConfigNudge;
CONFIG_COCKPIT_EX _tCockPit;
CONFIG_IDLE_OFF _tIdleOff;
CONFIG_TCP_LIST_EX _tConfigTCP; // v3
CONFIG_TOOL_LIST _tConfigTool;
CONFIG_TOOL_SHAPE_LIST _tConfigToolShape;
char _szActiveTcp[MAX_SYMBOL_SIZE];
char _szActiveTool[MAX_SYMBOL_SIZE];
char _szActiveToolShape[MAX_SYMBOL_SIZE];
MODBUS_DATA_LIST _tModbusList;
CONFIG_WORLD_COORDINATE_EX _tWorld2BaseRelation; // v3
float m_CwsSpeedRatio;
float m_IoSpeedRatio;
int _iSafetyZoneCount;
CONFIG_SAFETY_ZONE _tSafetyZone[20];
int _iUserCoordCount;
CONFIG_USER_COORDINATE_EX2 _tUserCoordinates[100]; // v3
CONFIG_CONFIGURABLE_IO_EX _tConfigurableIO; // v3
} SAFETY_CONFIGURATION_EX2_V3, *LPSAFETY_CONFIGURATION_EX2_V3;
Note
_EX/EX2fields in v3 expand pose/orientation representations and lists.If you want a byte-accurate table (BYTE# offsets and total size) like earlier sections, we can compute it precisely once the sizes for the following dependent types are fixed in your build:
POSITION_EX, CONFIG_WORLD_COORDINATE_EX,CONFIG_USER_COORDINATE_EX2. The rest (e.g., CONFIG_SAFETY_IO_EX = 32 bytes, CONFIG_CONFIGURABLE_IO_EX = 64 bytes) are already stable in this manual.