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でSBox_1をTool1で把持する
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