.. _struct_SAFETY_CONFIGURATION_EX2: SAFETY_CONFIGURATION_EX2 ======================== This structure provides the **current safety configuration snapshot** of the controller (DRCF v2 path). Compared to :ref:`SAFETY_CONFIGURATION_EX `, it uses :ref:`CONFIG_SAFETY_IO_OP ` (operation options) and expands the **User Coordinates** list to **100 items**. .. list-table:: :widths: 10 32 22 8 28 :header-rows: 1 * - **BYTE#** - **Field Name** - **Data Type** - **Value** - **Remarks** * - 0 - ``_iDataVersion`` - ``unsigned int`` - - - Data version * - 4 - ``_tJointRange`` - :ref:`CONFIG_JOINT_RANGE ` - - - Joint space range (Normal/Reduced) * - 148 - ``_tGeneralRange`` - :ref:`CONFIG_GENERAL_RANGE ` - - - Force/Power/Speed/Momentum limits * - 180 - ``_fCollisionSensitivity`` - ``float`` - - - Collision sensitivity * - 184 - ``_tSafetyFunc`` - :ref:`CONFIG_SAFETY_FUNCTION ` - - - Safety function map (SF05–SF17) * - 201 - ``_tTool`` - :ref:`CONFIG_TOOL_SYMBOL ` - - - Tool name & data * - 273 - ``_tTcp`` - :ref:`CONFIG_TCP_SYMBOL ` - - - TCP name & data * - 329 - ``_tInstallPose`` - :ref:`CONFIG_INSTALL_POSE ` - - - Install pose (gradient/rotation) * - 337 - ``_tSafetyIO`` - :ref:`CONFIG_SAFETY_IO_OP ` - - - Safety I/O with **operation options** (2×16 map + flags) * - 403 - ``_tSafetySpaceVF`` - :ref:`CONFIG_VIRTUAL_FENCE ` - - - Operation space (virtual fence) * - 515 - ``_tSafetySpaceSZ`` - :ref:`CONFIG_SAFE_ZONE ` - - - Safety zone * - 572 - ``_tSafetySpaceESZ`` - :ref:`ENABLE_SAFE_ZONE ` - - - Enable safety zone * - 575 - ``_tSafetySpacePZ`` - :ref:`CONFIG_PROTECTED_ZONE ` - - - Protected zone * - 1605 - ``_tSafetySpaceCM`` - :ref:`CONFIG_COLLISION_MUTE_ZONE ` - - - Collision mute zone * - 3015 - ``_tSafetySpaceTO`` - :ref:`CONFIG_TOOL_ORIENTATION_LIMIT_ZONE ` - - - Tool orientation limit zone * - 4205 - ``_tSafetySpaceTS`` - :ref:`CONFIG_TOOL_SHAPE ` - - - Tool shape * - 4720 - ``_tConfigNudge`` - :ref:`CONFIG_NUDGE ` - - - Nudge setting * - 4729 - ``_tCockPit`` - :ref:`CONFIG_COCKPIT_EX ` - - - Cockpit setting * - 4733 - ``_tIdleOff`` - :ref:`CONFIG_IDLE_OFF ` - - - Auto servo-off setting * - 4738 - ``_tConfigTCP`` - :ref:`CONFIG_TCP_LIST ` - - - TCP list setting * - 7542 - ``_tConfigTool`` - :ref:`CONFIG_TOOL_LIST ` - - - Tool list setting * - 11146 - ``_tConfigToolShape`` - :ref:`CONFIG_TOOL_SHAPE_LIST ` - - - Tool shape list setting * - 38500 - ``_szActiveTcp`` - ``char[32]`` - - - Active TCP name * - 38532 - ``_szActiveTool`` - ``char[32]`` - - - Active tool name * - 38564 - ``_szActiveToolShape`` - ``char[32]`` - - - Active tool-shape name * - 38596 - ``_tModbusList`` - :ref:`MODBUS_DATA_LIST ` - - - Modbus list * - 45698 - ``_tWorld2BaseRelation`` - :ref:`CONFIG_WORLD_COORDINATE ` - - - World coordinate setting * - 45723 - ``m_CwsSpeedRatio`` - ``float`` - - - CWS speed ratio * - 45727 - ``m_IoSpeedRatio`` - ``float`` - - - IO speed ratio * - 45731 - ``_iSafetyZoneCount`` - ``int`` - - - Number of safety zones * - 45735 - ``_tSafetyZone[20]`` - :ref:`CONFIG_SAFETY_ZONE ` - - - Safety zone array (max 20) * - 53835 - ``_iUserCoordCount`` - ``int`` - - - Number of user coordinates * - 53839 - ``_tUserCoordinates[100]`` - :ref:`CONFIG_USER_COORDINATE_EX ` - - - User coordinate array (max 100) * - 56439 - ``_tConfigurableIO`` - :ref:`CONFIG_CONFIGURABLE_IO ` - - - Configurable IO configuration Total size: 56,471 bytes **Defined in:** ``DRFS.h`` .. code-block:: cpp typedef struct _SAFETY_CONFIGURATION_EX2 { unsigned int _iDataVersion; CONFIG_JOINT_RANGE _tJointRange; CONFIG_GENERAL_RANGE _tGeneralRange; float _fCollisionSensitivity; CONFIG_SAFETY_FUNCTION _tSafetyFunc; CONFIG_TOOL_SYMBOL _tTool; CONFIG_TCP_SYMBOL _tTcp; CONFIG_INSTALL_POSE _tInstallPose; CONFIG_SAFETY_IO_OP _tSafetyIO; // operation options variant //CONFIG_SAFETY_IO_EX _tSafetyIO; // (unused here) 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 _tConfigTCP; 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 _tWorld2BaseRelation; float m_CwsSpeedRatio; float m_IoSpeedRatio; int _iSafetyZoneCount; CONFIG_SAFETY_ZONE _tSafetyZone[20]; int _iUserCoordCount; CONFIG_USER_COORDINATE_EX _tUserCoordinates[100]; CONFIG_CONFIGURABLE_IO _tConfigurableIO; } SAFETY_CONFIGURATION_EX2, *LPSAFETY_CONFIGURATION_EX2;