SimSet
用于设置模拟器的各种目标的属性。另外,也用于进行机器人动作、目标操作、模拟器设置等相关操作。
格式
(1) 目标的属性设置
SimSet Object.Property, Value
SimSet Robot.Hand.Property, Value
(2) 机器人的动作设置(Pick与Place)
SimSet Robot.Pick, Object [,Tool]
SimSet Robot.Place, Object [, ParentObject]
(3) 目标的操作设置(父目标的指定)
SimSet Object.SetParent [, ParentObject]
(4) 模拟器的设置(碰撞检测的重置)
SimSet ResetCollision
(5) 传送带的操作设置(动作开始和停止)
SimSet Conveyor.Start [, Distance]
SimSet Conveyor.Stop
参数
(1) 目标的属性设置
·Object
表示要设置属性值的项目名称的字符串变量
·Robot
表示已安装由“Hand”指定的末端夹具的机器人名称的字符串变量
·Hand
表示要设置属性值的末端夹具名称的字符串变量
·Property
是要重新设置值的属性名称。有关属性,将在后文叙述。
·Value
新值的表达式。数据类型取决于属性。
(2) 机器人的动作设置(Pick与Place)
·Robot
表示要进行Pick或Place的机器人名称的字符串变量
·Object
表示已进行Pick或Place的目标名称的字符串变量
·Tool
表示Pick时要利用的Tool编号的表达式
·ParentObject
表示父目标名称的字符串变量
(3) 目标的操作设置(父目标的指定)
·Object
表示要设置父目标的目标名称的字符串变量
·ParentObject
表示父目标名称的字符串变量
(4) 传送带的操作设置(动作开始和停止)
·Conveyor
表示传送带目标名称的字符串变量
·Distance
表示在执行命令后传送带上的工件(部件)移动并停止的距离的表达式,单位为mm
说明
该命令用于变更模拟器的各种目标的属性设置、操作、机器人动作、模拟器设置。
(1) 目标的属性设置
可通过指定如下所示的属性,获取目标的设置。
| 属性 | 说明 | 单位 | 数据类型 | 设置值 |
|---|---|---|---|---|
| PositionX | 用于设置X坐标位置 | 毫米 (mm) | Double | 最大值:100000 最小值:-100000 |
| PositionY | 用于设置Y坐标位置 | 毫米 (mm) | Double | 最大值:100000 最小值:-100000 |
| PositionZ | 用于设置Z坐标位置 | 毫米 (mm) | Double | 最大值:100000 最小值:-100000 |
| RotationX | 用于设置X轴旋转角度 | 度 (degree) | Double | 最大值:180 最小值:-180 |
| RotationY | 用于设置Y轴旋转角度 | 度 (degree) | Double | 最大值:180 最小值:-180 |
| RotationZ | 用于设置Z轴旋转角度 | 度 (degree) | Double | 最大值:180 最小值:-180 |
| OffsetPositionX | 用于设置X坐标的偏移位置 | 毫米(mm) | Double | 最大值:100000 最小值:-100000 |
| OffsetPositionY | 用于设置Y坐标的偏移位置 | 毫米(mm) | Double | 最大值:100000 最小值:-100000 |
| OffsetPositionZ | 用于设置Z坐标的偏移位置 | 毫米(mm) | Double | 最大值:100000 最小值:-100000 |
| OffestRotationX | 用于设置X轴的偏移旋转角度 | 度 (degree) | Double | 最大值:180 最小值:-180 |
| OffsetRotationY | 用于设置Y轴的偏移旋转角度 | 度 (degree) | Double | 最大值:180 最小值:-180 |
| OffsetRotationZ | 用于设置Z轴的偏移旋转角度 | 度 (degree) | Double | 最大值:180 最小值:-180 |
| CollisionCheck | 用于设置碰撞检测的有效/无效 | - | Boolean | True或False |
| CollisionCheckSelf | 用于设置机器人自身碰撞检测的有效/无效 | - | Boolean | True或False |
| Visible | 用于设置显示/隐藏 | - | Boolean | True或False |
| ShowLabel | 用于设置目标的标签显示/隐藏 | - | Boolean | True或False |
| ShowOrigin | 用于设置目标的原点坐标系(中心)显示/隐藏 | - | Boolean | True或False |
| HalfSizeX | 用于设置Box对象、监控区域对象、检测区域对象在X方向的长度 | 毫米(mm) | Double | 最大值:100000 最小值:0.001 |
| HalfSizeY | 用于设置Box对象、监控区域对象、检测区域对象在Y方向的长度 | 毫米(mm) | Double | 最大值:100000 最小值:0.001 |
| HalfSizeZ | 用于设置Box对象、监控区域对象、检测区域对象在Z方向的长度 | 毫米(mm) | Double | 最大值:100000 最小值:0.001 |
| HalfSizeHeight | 用于设置Plane对象、监控区域对象、检测区域对象的长度 | 毫米(mm) | Double | 最大值:100000 最小值:0.001 |
| HalfSizeWidth | 用于设置Plane对象、监控区域对象、检测区域对象的宽度 | 毫米(mm) | Double | 最大值:100000 最小值:0.001 |
| PlaneType | 获取Plane对象的类型 | - | Integer | Horizontal: 0 Vertical: 1 |
| Radius | 获取Sphere对象或Cylinder对象的半径 | 毫米(mm) | Double | 最大值:100000 最小值:0.001 |
| Height | 获取Cylinder对象的高度 | 毫米(mm) | Double | 最大值:100000 最小值:0.001 |
| Name | 获取对象名称 | - | String | |
| Color | 获取对象的显示颜色 | - | String | 颜色名称或十六进制颜色代码(ARGB) |
下述属性仅可对传送带目标设置。
| 属性 | 说明 | 单位 | 数据类型 | 设置值 |
|---|---|---|---|---|
| OperationType | 设置传送带的动作类型 | - | Integer | Independent: 0 LinkTracking: 1 |
| ConveyorID | 设置已设置跟踪动作的传送带编号 | - | Integer | 最大值:16 最小值:1 |
| ConveyorSpeed | 设置传送带的动作速度 | 毫米/秒(mm/s) | Double | 最大值:100000 最小值:0 |
| ConveyorAccel | 设置传送带的加速度 | 毫米/秒2(mm/s2) | Double | 最大值:100000 最小值:0 |
| ConveyorDecel | 设置传送带的减速度 | 毫米/秒2(mm/s2) | Double | 最大值:100000 最小值:0 |
| Forward | 设置传送带的动作方向 | - | Boolean | True或False |
| TriggerIO | 设置锁定编码器计数的I/O输出编号 如果设置-1,则I/O输出将被禁用 | - | Integer | 最大值:7167 最小值:-1 |
| Supply | 设置工件(部件)供给设置的有效/无效 | - | Boolean | True或False |
| BaseObject | 设置作为工件(部件)基准的目标 | - | String | - |
| MaxObject | 设置工件(部件)的最大数 | - | Integer | 最大值:1000 最小值:1 |
| IntervalMin | 设置工件(部件)供给时间间隔的最小值 | 秒(s) | Double | 最大值:1000 最小值:0.1 |
| IntervalMax | 设置工件(部件)供给时间间隔的最大值 | 秒(s) | Double | 最大值:1000 最小值:0.1 |
| RemoveType | 设置工件(部件)的删除方法 | - | Integer | None: 0 ReachEnd: 1 |
| RandomPlacement | 设置工件(部件)随机配置的有效/无效 | - | Boolean | True或False |
| RandomDistance | 设置工件(部件)在随机配置中的距离 | 毫米(mm) | Double | 最大值:1000 最小值:0 |
| RandomAngle | 设置工件(部件)在随机配置中的角度 | 度(degree) | Double | 最大值:180 最小值:0 |
| ArrangementType | 设置工件(部件)随机配置的类型 | - | Integer | One: 0 Grid: 1 Circle: 2 |
| SupplyOffsetX | 设置工件(部件)在随机配置中X坐标的偏移位置 | 毫米(mm) | Double | 最大值:100000 最小值:-100000 |
| SupplyOffsetY | 设置工件(部件)在随机配置中Y坐标的偏移位置 | 毫米(mm) | Double | 最大值:100000 最小值:-100000 |
| SupplyOffsetZ | 设置工件(部件)在随机配置中Z坐标的偏移位置 | 毫米(mm) | Double | 最大值:100000 最小值:-100000 |
| SupplyOffsetU | 设置工件(部件)在随机配置中U轴(Z轴)的偏移角度 | 度(degree) | Double | 最大值:180 最小值:-180 |
| RowNum | 设置随机配置为Grid时的行数 | - | Integer | 最大值:10 最小值:1 |
| RowSpacing | 设置随机配置为Grid时的行间距 | 毫米(mm) | Double | 最大值:1000 最小值:0 |
| ColNum | 设置随机配置为Grid时的列数 | - | Integer | 最大值:10 最小值:1 |
| ColSpacing | 设置随机配置为Grid时的列间距 | 毫米(mm) | Double | 最大值:1000 最小值:0 |
| CircleNum | 设置随机配置为Circle时的配置数 | - | Integer | 最大值:10 最小值:1 |
| CircleRadius | 设置随机配置为Circled时的半径 | 毫米(mm) | Double | 最大值:1000 最小值:0 |
下述属性仅可对检测区域对象设置。
| 属性 | 说明 | 单位 | 数据类型 | 设置值 |
|---|---|---|---|---|
| IOType | 设置检测到目标时的I/O输出位置 | - | Integer | Input: 0 Output: 1 Memory: 2 |
| IONumber | 设置由[IOType]指定的I/O输出位置的I/O编号 如果设置-1,则I/O输出将被禁用 | - | Integer | 最大值:7167 最小值:-1 |
| Action | 设置I/O的输出值 | - | Boolean | True或False |
| Trigger | 设置触发输出的时序 | - | Integer | LeadingEdge: 0 TrailingEdge: 1 |
| Duration | 设置I/O输出的持续时间 | 秒(s) | Double | 最大值:10 最小值:0 |
| Delay | 设置I/O输出的延迟时间 | 秒(s) | Double | 最大值:10 最小值:0 |
| EnableVirtualOnly | 设置连接虚拟控制器时的有效/无效 | - | Boolean | True或False |
可通过下表所示的组合设置属性。
| 属性 | 目标 | |||||||
|---|---|---|---|---|---|---|---|---|
| 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 | - | - | - | - | - | - | - | - |
| 属性 | 目标 | |||
|---|---|---|---|---|
| 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) 机器人的动作设置(Pick与Place)
可设置如下所示的机器人动作。
Pick
由“Robot”指定的机器人对由“Object”指定的目标进行夹持动作。
被夹持的目标将被注册为该机器人的部件。另外,可通过在“Tool”中指定任意工具编号,利用指定的工具进行夹持动作。省略“Tool”指定时,利用Tool0进行夹持动作。
对于摄像机、监控区域、监控平面、传送带、检测区域,则无法夹持。Place
由“Robot”指定的机器人对由“Object”指定的目标进行配置的动作。被配置的目标将被解除作为该机器人部件注册的状态。此外,通过指定目标到“ParentObject”,可在配置时设置部件的父目标。
可通过下表所示的组合对目标进行夹持或配置。
动作 目标 Robot Hand Box Sphere Cylinder Plane CAD Camera Pick - - ○ ○ ○ ○ ○ - Place - - ○ ○ ○ ○ ○ - 动作 目标 SurveillanceArea SurveillancePlane Conveyor DetectionArea Pick - - - - Place - - - -
(3) 目标的操作设置(父目标的指定)
可设置如下所示的目标操作。
SetParent
相对于由“Object”指定的目标,将由“ParentObject”指定的目标设为父目标。可省略“ParentObject”。在这种情况下,由“Object”指定的目标变为父目标。比如,由“Object”指定的目标为某些目标的子目标时,将被解除作为子目标的设置。
下表所示为可指定SetParent的目标。针对摄像机目标,仅限于被设为固定摄像机的目标方可利用SetParent。
操作 目标 Robot Hand Box Sphere Cylinder Plane CAD Camera SetParent - - ○ ○ ○ ○ ○ ○ 操作 目标 SurveillanceArea SurveillancePlane Conveyor DetectionArea SetParent ○ ○ ○ ○ 另外,可按下表所示的组合利用SetParent。
ParentObject(父目标) Robot Hand Box Sphere Cylinder Plane CAD Camera Object (子目标) Robot - - - - - - - - Hand - - - - - - - - Box - - ○ ○ ○ ○ ○ ○ Sphere - - ○ ○ ○ ○ ○ ○ Cylinder - - ○ ○ ○ ○ ○ ○ Plane - - ○ ○ ○ ○ ○ ○ CAD - - ○ ○ ○ ○ ○ ○ Camera - - ○ ○ ○ ○ ○ ○ SurveillanceArea - - ○ ○ ○ ○ ○ ○ SurveillancePlane - - ○ ○ ○ ○ ○ ○ Conveyor - - ○ ○ ○ ○ ○ ○ DetectionArea - - ○ ○ ○ ○ ○ ○ ParentObject(父目标) SurveillanceArea SurveillancePlane Conveyor DetectionArea Object (子目标) Robot - - - - Hand - - - - Box ○ ○ ○ ○ Sphere ○ ○ ○ ○ Cylinder ○ ○ ○ ○ Plane ○ ○ ○ ○ CAD ○ ○ ○ ○ Camera ○ ○ ○ ○ SurveillanceArea ○ ○ ○ ○ SurveillancePlane ○ ○ ○ ○ Conveyor ○ ○ ○ ○ CameraDetectionArea ○ ○ ○ ○
(4)模拟器的设置(碰撞检测的重置)可变更如下所示的模拟器设置。
ResetCollision
用于对碰撞检测进行重置。执行ResetCollision之后,如果机器人与目标之间未发生碰撞,碰撞状态将被解除,并更新模拟器的3D显示。如果机器人与目标之间发生碰撞,不解除碰撞状态,也不更新模拟器的3D显示。
(5)传送带的操作设置(动作开始和停止)
可设置、执行如下所示的传送带目标操作。
Start
开始传送带的动作。传送带的移动方向和速度、加速度、减速度分别遵循传送带目标的Forward、ConveyorSpeed、ConveyorAccel、ConveyorDecel属性。
此外,如果指定“Distance”,执行命令后工件(部件)将移动指定距离并停止。如果省略“Distancet”,则工件(部件)在执行后面说明的Stop前不会停止。Stop
停止传送带的动作。执行命令后,通过Start命令移动的工件(部件)停止。停止前的减速度遵循传送带目标的ConveyorDecel属性。
参阅
SimGet
SimSet使用示例
'将SBox_1目标的X坐标值设为100.0 mm
SimSet SBox_1.PositionX, 100.0
'在Robot1上利用Tool1夹持SBox_1
SimSet Robot1.Pick, SBox_1, 1
'配置由Robot1夹持的SBox_1
SimSet Robot1.Place, SBox_1
'配置由Robot1夹持的SBox_1,并将CAD_1设为父目标
SimSet Robot1.Place, SBox_1, CAD_1
'将CAD_1设为SBox_1的父目标
SimSet SBox_1.SetParent, CAD_1
'将SBox_1设为父目标
SimSet SBox_1.SetParent
'用于对碰撞检测进行重置
SimSet ResetCollision
'开始Conveyor_1的动作,将工件的移动距离设为100mm
SimSet Conveyor_1.Start, 100
'停止Conveyor_1的动作
SimSet Conveyor_1.Stop