SimSet Statement
Set properties of each object of simulator. Operate the robot motion, objects, and simulator settings.
Syntax
(1) Property setting for object
SimSet Object.Property, Value
SimSet Robot.Hand.Property, Value
(2) Motion settings for robot (Pick & Place)
SimSet Robot.Pick, Object [,Tool]
SimSet Robot.Place, Object [, ParentObject]
(3) Operation settings for objects (specify the parent object)
SimSet Object.SetParent [, ParentObject]
(4) Simulator settings (reset the collision detect)
SimSet ResetCollision
(5) Operation setting of the conveyor (Starting and stopping operation)
SimSet Conveyor.Start [, Distance]
SimSet Conveyor.Stop
Parameters
(1) Property setting for object
Object
String variable that indicates object names acquiring the property values.Robot
String variable that indicates the robot name which the hand specified by “Hand” is installed.Hand
String variable that indicates the hand name which acquires the property values.Property
Property name that sets the value. Descriptions of properties are described later.Value
Formula with new values. Data type depends on properties.
(2) Motion settings for robot (Pick & Place)
Robot
String variable that indicates the robot name to Pick or Place.Object
String variable that indicates the object name to be Picked or Placed.Tool
Formula that indicates Tool number which is used at the time of Picking.ParentObject
String variable that indicates the parent object name.
(3) Operation settings for objects (specify the parent object)
Object
String variable that indicates the object name which sets the parent object.ParentObject
String variable that indicates the parent object name.
(4) Operation setting of the conveyor (Starting and stopping operation)
Conveyor
String variable that indicates the conveyor object name.Distance
A formula that indicates the stopping distance when the the workpiece (part) on the conveyor has moved after a command is executed. The unit is millimeters.
Description
Use this command to set properties of each object of simulator.
(1) Property setting for object
You can set the objects by specifying the properties shown below.
| Property | Descriptions | Unit | Data type | Return value |
|---|---|---|---|---|
| PositionX | Set a position of X coordinate. | (mm) | Double | Max: 100000 Min: -100000 |
| PositionY | Set a position of Y coordinate. | (mm) | Double | Max: 100000 Min: -100000 |
| PositionZ | Set a position of Z coordinate. | (mm) | Double | Max: 100000 Min: -100000 |
| RotationX | Set rotation angle of X axis. | (degree) | Double | Maximum value: 180 Minimum value: -180 |
| RotationY | Set rotation angle of Y axis. | (degree) | Double | Maximum value: 180 Minimum value: -180 |
| RotationZ | Set rotation angle of Z axis. | (degree) | Double | Maximum value: 180 Minimum value: -180 |
| OffsetPositionX | Sets the offset position of the X coordinate | Millimeter (mm) | Double | Max: 100000 Min: -100000 |
| OffsetPositionY | Sets the offset position of the Y coordinate | Millimeter (mm) | Double | Max: 100000 Min: -100000 |
| OffsetPositionZ | Sets the offset position of the Z coordinate | Millimeter (mm) | Double | Max: 100000 Min: -100000 |
| OffestRotationX | Sets the offset rotation angle of the X axis | (degree) | Double | Maximum value: 180 Minimum value: -180 |
| OffsetRotationY | Sets the offset rotation angle of the Y axis | (degree) | Double | Maximum value: 180 Minimum value: -180 |
| OffsetRotationZ | Sets the offset rotation angle of the Z axis | (degree) | Double | Maximum value: 180 Minimum value: -180 |
| CollisionCheck | Set enable/disable of collision detect. | - | Boolean | True or False |
| CollisionCheckSelf | Set enable/disable of self-collision detect of the robot. | - | Boolean | True or False |
| Visible | Set state of display/non-display. | - | Boolean | True or False |
| ShowLabel | Sets whether to display or hide the object label | - | Boolean | True or False |
| ShowOrigin | Sets whether to display or hide the object’s origin coordinate system (center) | - | Boolean | True or False |
| HalfSizeX | Sets the X direction’ s length of the Box object, monitoring area object, and detection area object | Millimeter (mm) | Double | Max: 100000 Min: 0.001 |
| HalfSizeY | Sets the Y direction’ s length of the Box object, monitoring area object, and detection area object | Millimeter (mm) | Double | Max: 100000 Min: 0.001 |
| HalfSizeZ | Sets the Z direction’ s length of the Box object, monitoring area object, and detection area object | Millimeter (mm) | Double | Max: 100000 Min: 0.001 |
| HalfSizeHeight | Sets the length of the Plane object, monitoring area object, and the detection area object | Millimeter (mm) | Double | Max: 100000 Min: 0.001 |
| HalfSizeWidth | Sets the width of the Plane object, monitoring area object, and the detection area object | (mm) | Double | Max: 100000 Min: 0.001 |
| PlaneType | Acquire a type of Plane object. | - | Integer | Horizontal: 0 Vertical: 1 |
| Radius | Acquire a radius of Sphere object or Cylinder object. | (mm) | Double | Max: 100000 Min: 0.001 |
| Height | Acquire a height of Cylinder object. | (mm) | Double | Max: 100000 Min: 0.001 |
| Name | Acquire an object name. | - | String | |
| Color | Acquire a display color of an object. | - | String | Color name or hexadecimal color code (ARGB) |
The following properties can only be set for conveyor objects.
| Property | Descriptions | Unit | Data type | Return value |
|---|---|---|---|---|
| OperationType | Sets the operation type of the conveyor | - | Integer | Independent: 0 LinkTracking: 1 |
| ConveyorID | Sets the number of the conveyor that has the tracking motion set | - | Integer | Maximum value: 16 Minimum value: 1 |
| ConveyorSpeed | Sets the conveyor’s operating speed | Millimeter/seconds(mm/s) | Double | Max: 100000 Minimum value: 0 |
| ConveyorAccel | Sets the conveyor’s acceleration | Millimeter/seconds2(mm/s2) | Double | Max: 100000 Minimum value: 0 |
| ConveyorDecel | Sets the conveyor’s deceleration | Millimeter/seconds2(mm/s2) | Double | Max: 100000 Minimum value: 0 |
| Forward | Sets the conveyor’s operating direction | - | Boolean | True or False |
| TriggerIO | Sets the I/O output number that latches the encoder count When -1 is set, the I/O output will be disabled | - | Integer | Maximum value: 7167 Minimum value: -1 |
| Supply | Sets whether to enable or disable the workpiece’s (parts) supply setting | - | Boolean | True or False |
| BaseObject | Sets the object which becomes a reference for the workpiece (part) | - | String | - |
| MaxObject | Sets the maximum number of workpieces (parts) | - | Integer | Maximum value: 1000 Minimum value: 1 |
| IntervalMin | Sets the minimum time interval for workpiece (part) supply | Seconds (s) | Double | Maximum value: 1000 Minimum value: 0.1 |
| IntervalMax | Sets the maximum time interval for workpiece (part) supply | Seconds (s) | Double | Maximum value: 1000 Minimum value: 0.1 |
| RemoveType | Sets the method to delete workpieces (parts) | - | Integer | None: 0 ReachEnd: 1 |
| RandomPlacement | Sets whether to enable or disable the random placement of workpieces (parts) | - | Boolean | True or False |
| RandomDistance | Sets the distance of the random placement of workpieces (parts) | Millimeter (mm) | Double | Maximum value: 1000 Minimum value: 0 |
| RandomAngle | Sets the angle of the random placement of workpieces (parts) | (degree) | Double | Maximum value: 180 Minimum value: 0 |
| ArrangementType | Sets the type of random placement of workpieces (parts) | - | Integer | One: 0 Grid: 1 Circle: 2 |
| SupplyOffsetX | Sets the X coordinate offset position of the workpiece’s (parts) random placement | Millimeter (mm) | Double | Max: 100000 Min: -100000 |
| SupplyOffsetY | Sets the Y coordinate offset position of the workpiece’s (parts) random placement | Millimeter (mm) | Double | Max: 100000 Min: -100000 |
| SupplyOffsetZ | Sets the Z coordinate offset position of the workpiece’s (parts) random placement | Millimeter (mm) | Double | Max: 100000 Min: -100000 |
| SupplyOffsetU | Sets the U axis (Z axis) offset position of the workpieces (parts) random placement | (degree) | Double | Maximum value: 180 Minimum value: -180 |
| RowNum | Sets the number of rows when the random placement is Grid | - | Integer | Maximum value: 10 Minimum value: 1 |
| RowSpacing | Sets the row spacing when the random placement is Grid | Millimeter (mm) | Double | Maximum value: 1000 Minimum value: 0 |
| ColNum | Sets the number of the columns when the random placement is Grid | - | Integer | Maximum value: 10 Minimum value: 1 |
| ColSpacing | Sets the column spacing when the random placement is Grid | Millimeter (mm) | Double | Maximum value: 1000 Minimum value: 0 |
| CircleNum | Sets the number of placement when the random placement is Circle | - | Integer | Maximum value: 10 Minimum value: 1 |
| CircleRadius | Sets the radius when the random placement is Circle | Millimeter (mm) | Double | Maximum value: 1000 Minimum value: 0 |
The following properties can only be set for the detection area object.
| Property | Descriptions | Unit | Data type | Return value |
|---|---|---|---|---|
| IOType | Sets the I/O output destination when an object is detected | - | Integer | Input: 0 Output: 1 Memory: 2 |
| IONumber | Sets the I/O number of the I/O output destination specified in [IOType] When -1 is set, the I/O output will be disabled | - | Integer | Maximum value: 7167 Minimum value: -1 |
| Action | Sets the output value of I/O | - | Boolean | True or False |
| Trigger | Sets the timing of the trigger output | - | Integer | LeadingEdge: 0 TrailingEdge: 1 |
| Duration | Sets how long the I/O output will be connected | Seconds (s) | Double | Maximum value: 10 Minimum value: 0 |
| Delay | Sets how long the I/O output will be delayed | Seconds (s) | Double | Maximum value: 10 Minimum value: 0 |
| EnableVirtualOnly | Sets whether to enable or disable when the virtual controller is connected | - | Boolean | True or False |
You can set the property by combinations shown in the list below.
| Property | Object | |||||||
|---|---|---|---|---|---|---|---|---|
| Robot | Hand | Box | Sphere | Cylinder | Plane | CAD | Camera | |
| PositionX | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| PositionY | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| PositionZ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| RotationX | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| RotationY | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| RotationZ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OffsetPositionX | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OffsetPositionY | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OffsetPositionZ | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OffsetRotationX | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OffsetRotationY | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OffsetRotationZ | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| CollisionCheck | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| CollisionCheckSelf | ✓ | - | - | - | - | - | - | - |
| Visible | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ShowLabel | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ShowOrigin | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| HalfSizeX | - | - | ✓ | - | - | - | - | - |
| HalfSizeY | - | - | ✓ | - | - | - | - | - |
| HalfSizeZ | - | - | ✓ | - | - | - | - | - |
| HalfSizeHeight | - | - | - | - | - | ✓ | - | - |
| HalfSizeWidth | - | - | - | - | - | ✓ | - | - |
| PlaneType | - | - | - | - | - | ✓ | - | - |
| Radius | - | - | - | ✓ | ✓ | - | - | - |
| Height | - | - | - | - | ✓ | - | - | - |
| Name | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Color | - | - | ✓ | ✓ | ✓ | ✓ | - | - |
| OperationType | - | - | - | - | - | - | - | - |
| ConveroyID | - | - | - | - | - | - | - | - |
| ConveyorSpeed | - | - | - | - | - | - | - | - |
| ConveyorAccel | - | - | - | - | - | - | - | - |
| ConveyorDecel | - | - | - | - | - | - | - | - |
| Forward | - | - | - | - | - | - | - | - |
| TriggerIO | - | - | - | - | - | - | - | ✓ |
| Supply | - | - | - | - | - | - | - | - |
| BaseObject | - | - | - | - | - | - | - | - |
| MaxObject | - | - | - | - | - | - | - | - |
| IntervalMin | - | - | - | - | - | - | - | - |
| IntervalMax | - | - | - | - | - | - | - | - |
| RemoveType | - | - | - | - | - | - | - | - |
| RandomPlacement | - | - | - | - | - | - | - | - |
| RandomDistance | - | - | - | - | - | - | - | - |
| RandomAngle | - | - | - | - | - | - | - | - |
| ArrangementType | - | - | - | - | - | - | - | - |
| SupplyOffsetX | - | - | - | - | - | - | - | - |
| SupplyOffsetY | - | - | - | - | - | - | - | - |
| SupplyOffsetZ | - | - | - | - | - | - | - | - |
| SupplyOffsetU | - | - | - | - | - | - | - | - |
| RowNum | - | - | - | - | - | - | - | - |
| RowSpacing | - | - | - | - | - | - | - | - |
| ColNum | - | - | - | - | - | - | - | - |
| ColSpacing | - | - | - | - | - | - | - | - |
| CircleNum | - | - | - | - | - | - | - | - |
| CircleRadius | - | - | - | - | - | - | - | - |
| IOType | - | - | - | - | - | - | - | - |
| IONumber | - | - | - | - | - | - | - | - |
| Action | - | - | - | - | - | - | - | - |
| Trigger | - | - | - | - | - | - | - | - |
| Duration | - | - | - | - | - | - | - | - |
| Delay | - | - | - | - | - | - | - | - |
| EnableVirtualOnly | - | - | - | - | - | - | - | - |
| Property | Object | |||
|---|---|---|---|---|
| SurveillanceArea | SurveillancePlane | Conveyor | DetectionArea | |
| PositionX | ✓ | ✓ | ✓ | ✓ |
| PositionY | ✓ | ✓ | ✓ | ✓ |
| PositionZ | ✓ | ✓ | ✓ | ✓ |
| RotationX | ✓ | ✓ | ✓ | ✓ |
| RotationY | ✓ | ✓ | ✓ | ✓ |
| RotationZ | ✓ | ✓ | ✓ | ✓ |
| OffsetPositionX | ✓ | ✓ | ✓ | ✓ |
| OffsetPositionY | ✓ | ✓ | ✓ | ✓ |
| OffsetPositionZ | ✓ | ✓ | ✓ | ✓ |
| OffsetRotationX | ✓ | ✓ | ✓ | ✓ |
| OffsetRotationY | ✓ | ✓ | ✓ | ✓ |
| OffsetRotationZ | ✓ | ✓ | ✓ | ✓ |
| CollisionCheck | ✓ | ✓ | ✓ | ✓ |
| CollisionCheckSelf | - | - | - | - |
| Visible | ✓ | ✓ | ✓ | ✓ |
| ShowLabel | ✓ | ✓ | ✓ | ✓ |
| ShowOrigin | ✓ | ✓ | ✓ | ✓ |
| HalfSizeX | - | - | - | ✓ |
| HalfSizeY | - | - | - | ✓ |
| HalfSizeZ | - | - | - | ✓ |
| HalfSizeHeight | - | ✓ | ✓ | - |
| HalfSizeWidth | - | ✓ | ✓ | - |
| PlaneType | - | - | - | - |
| Radius | - | - | - | - |
| Height | - | - | - | - |
| Name | ✓ | ✓ | ✓ | ✓ |
| Color | ✓ | ✓ | ✓ | ✓ |
| OperationType | - | - | ✓ | - |
| ConveroyID | - | - | ✓ | - |
| ConveyorSpeed | - | - | ✓ | - |
| ConveyorAccel | - | - | ✓ | - |
| ConveyorDecel | - | - | ✓ | - |
| Forward | - | - | ✓ | - |
| TriggerIO | - | - | ✓ | - |
| Supply | - | - | ✓ | - |
| BaseObject | - | - | ✓ | - |
| MaxObject | - | - | ✓ | - |
| IntervalMin | - | - | ✓ | - |
| IntervalMax | - | - | ✓ | - |
| RemoveType | - | - | ✓ | - |
| RandomPlacement | - | - | ✓ | - |
| RandomDistance | - | - | ✓ | - |
| RandomAngle | - | - | ✓ | - |
| ArrangementType | - | - | ✓ | - |
| SupplyOffsetX | - | - | ✓ | - |
| SupplyOffsetY | - | - | ✓ | - |
| SupplyOffsetZ | - | - | ✓ | - |
| SupplyOffsetU | - | - | ✓ | - |
| RowNum | - | - | ✓ | - |
| RowSpacing | - | - | ✓ | - |
| ColNum | - | - | ✓ | - |
| ColSpacing | - | - | ✓ | - |
| CircleNum | - | - | ✓ | - |
| CircleRadius | - | - | ✓ | - |
| IOType | - | - | - | ✓ |
| IONumer | - | - | - | ✓ |
| Action | - | - | - | ✓ |
| Trigger | - | - | - | ✓ |
| Duration | - | - | - | ✓ |
| Delay | - | - | - | ✓ |
| EnableVirtualOnly | - | - | - | ✓ |
(2) Motion settings for robot (Pick & Place)
You can set the following robot motions.
Pick
The robot specified by “Robot” grasps the object specified by “Object”.
Grasped object is registered as the part of the robot. Also, if any tool number is specified to “Tool”, you can operate grasped motion by using the specified tool number. If the “Tool” settings are omitted, use Tool0 to operate grasped motion.
However, cameras, monitoring area, monitoring plane, conveyor, and detection area cannot be grasped.Place
The robot specified by “Robot” places the object specified by “Object”. The placed object is deregistered as the part of the robot. Also, by specifying an object to the “ParentObject”, the parent object of a part can be set during placement.
You can grasp or place the object by combinations shown in the list below.
Motion Objects Robot Hand Box Sphere Cylinder Plane CAD Camera Pick - - ✓ ✓ ✓ ✓ ✓ - Place - - ✓ ✓ ✓ ✓ ✓ - Motion Objects SurveillanceArea SurveillancePlane Conveyor DetectionArea Pick - - - - Place - - - -
(3) Operation settings for objects (specify the parent object)
You can set operations for the following objects
SetParent
Set the object specified by “ParentObject” as the parent object for the object specified by “Object”. “ParentObject” can be omitted. In that case, the object specified by “Object” will be the parent object. If the object specified by “Object” is a child object of some object, the setting as the child object is deregistered.
The objects that can specify the SetParent are as follows. For the camera object, only the object set as a fixed camera can use the SetParent.
Operation Objects Robot Hand Box Sphere Cylinder Plane CAD Camera SetParent - - ✓ ✓ ✓ ✓ ✓ ✓ Operation Objects SurveillanceArea SurveillancePlane Conveyor DetectionArea SetParent ✓ ✓ ✓ ✓ You can use SetParent by combinations shown in the list below.
ParentObject Robot Hand Box Sphere Cylinder Plane CAD Camera Child Object Robot - - - - - - - - Hand - - - - - - - - Box - - ✓ ✓ ✓ ✓ ✓ ✓ Sphere - - ✓ ✓ ✓ ✓ ✓ ✓ Cylinder - - ✓ ✓ ✓ ✓ ✓ ✓ Plane - - ✓ ✓ ✓ ✓ ✓ ✓ CAD - - ✓ ✓ ✓ ✓ ✓ ✓ Camera - - ✓ ✓ ✓ ✓ ✓ ✓ SurveillanceArea - - ✓ ✓ ✓ ✓ ✓ ✓ SurveillancePlane - - ✓ ✓ ✓ ✓ ✓ ✓ Conveyor - - ✓ ✓ ✓ ✓ ✓ ✓ DetectionArea - - ✓ ✓ ✓ ✓ ✓ ✓ ParentObject (Parent object) SurveillanceArea SurveillancePlane Conveyor DetectionArea Object (Child object) Robot - - - - Hand - - - - Box ✓ ✓ ✓ ✓ Sphere ✓ ✓ ✓ ✓ Cylinder ✓ ✓ ✓ ✓ Plane ✓ ✓ ✓ ✓ CAD ✓ ✓ ✓ ✓ Camera ✓ ✓ ✓ ✓ SurveillanceArea ✓ ✓ ✓ ✓ SurveillancePlane ✓ ✓ ✓ ✓ Conveyor ✓ ✓ ✓ ✓ CameraDetectionArea ✓ ✓ ✓ ✓
(4) Simulator settings (reset the collision detect) You can change the following simulator settings.
ResetCollision
Reset the collision detect. If the robot and the object do not collide after executing ResetCollision, reset the collision state and update the 3D display on the simulator. If the robot and the object collide, the collision state does not be reset and 3D display of the simulator will not be updated.
(5) Operation setting of the conveyor (Starting and stopping operation)
Operation of the following conveyor objects can be set and executed.
Start
Start the conveyor’s operation. The conveyor’s moving direction, speed, acceleration, deceleration, follows the Forward, ConveyorSpeed, ConveyorAccel, ConveyorDecel property of the conveyor object.
Also, when “Distance” is specified, the workpiece moves and stops at the specified distance after the command has been executed. When “Distance” is omitted, the workpiece (part) does not stop until Stop, which will be described next, is executed.Stop
Stops the conveyor’s operation. After executing the command, the workpiece (part) that moving due to the Start command will stop. The deceleration until it stops follows the ConveyorDecel property of the conveyor object.
See Also
SimGet
SimSet Statement Example
‘Set the X coordinate value of SBox_1 object to 100.0mm
SimSet SBox_1.PositionX, 100.0
‘Grasp SBox_1 by Tool1 in Robot1
SimSet Robot1.Pick, SBox_1, 1
‘Place SBox_1 grasped by Robot1
SimSet Robot1.Place, SBox_1
‘Place Sbox_1 grasped by Robot1, set CAD_1 to parent object
SimSet Robot1.Place, SBox_1, CAD_1
‘Set CAD_1 to the parent object of SBox_1
SimSet SBox_1.SetParent, CAD_1
‘Set SBox_1 as the parent object
SimSet SBox_1.SetParent
‘Reset the collision detect
SimSet ResetCollision
‘Start Conveyor_1 operation, set workpiece travel distance to 100 mm
SimSet Conveyor_1.Start, 100
‘Stop Conveyor_1 operation
SimSet Conveyor_1.Stop