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