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 | 最大值:360 最小值:-360 |
| RotationY | 用於設定Y軸旋轉角度 | 度(degree) | Double | 最大值:360 最小值:-360 |
| RotationZ | 用於設定Z軸旋轉角度 | 度(degree) | Double | 最大值:360 最小值:-360 |
| OffsetPositionX | 用於設定X坐標的偏移位置 | 公釐(mm) | Double | 最大值:100000 最小值:-100000 |
| OffsetPositionY | 用於設定Y坐標的偏移位置 | 公釐(mm) | Double | 最大值:100000 最小值:-100000 |
| OffsetPositionZ | 用於設定Z坐標的偏移位置 | 公釐(mm) | Double | 最大值:100000 最小值:-100000 |
| OffestRotationX | 用於設定X軸的偏移旋轉角度 | 度(degree) | Double | 最大值:360 最小值:-360 |
| OffsetRotationY | 用於設定Y軸的偏移旋轉角度 | 度(degree) | Double | 最大值:360 最小值:-360 |
| OffsetRotationZ | 用於設定Z軸的偏移旋轉角度 | 度(degree) | Double | 最大值:360 最小值:-360 |
| 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 | 顔色名稱或者16進位顔色代碼(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 | 用於設定隨機配置為Circle時的半徑 | 公釐(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」,運行命令後工件(零件)將移動指定距離並停止。若省略「Distance」,則工件(零件)在運行後述Stop之前不會停止。Stop
停止輸送帶的動作。運行命令後,以Start命令移動的工件(零件)會停止。到停止之前的減速度會遵循輸送帶物件的ConveyorDecel屬性。
參照
SimGet
SimSet範例
'將SBox_1物件的X坐標值設為100.0mm
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
'在SBox_1的父物件上設定CAD_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