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