SimGet

シミュレーターの各種オブジェクトのプロパティーの設定値を取得します。

書式
(1) オブジェクトのプロパティー取得

SimGet Object.Property, Var

SimGet Robot.Hand.Propoerty, Var

(2) オブジェクトの検索
SimGet Robot.NearestObjToTool(Tool), Var

パラメーター

(1) オブジェクトのプロパティー取得

・Object
プロパティーの値を取得するオブジェクト名を示す文字列変数

・Robot
"Hand"で指定されたハンドが取りつけられているロボット名を示す文字列変数

・Hand
プロパティーの値を取得するハンド名を示す文字列変数

・Property
値を取得するプロパティーの名前。プロパティーについては後述します。

・Var
返される値を示す変数

(2) オブジェクトの検索

・Robot
オブジェクトの検索の基準となるTool座標が設定されたロボット名を示す文字列変数

・Tool
Tool番号を示す式

・Var
返されるオブジェクト名を示す文字列変数

解説
この命令は、シミュレーターにおける各種オブジェクトのプロパティーの設定値を取得するときに使用します。

(1) オブジェクトのプロパティー取得

以下に示すプロパティーを指定することで、オブジェクトの設定値を取得することができます。

プロパティー 説明 単位 データタイプ 戻り値
PositionX X座標位置を取得します ミリメートル(mm) Double
PositionY Y座標位置を取得します ミリメートル(mm) Double
PositionZ Z座標位置を取得します ミリメートル(mm) Double
RotationX X軸回転角度を取得します 度 (degree) Double
RotationY Y軸回転角度を取得します 度 (degree) Double
RotationZ Z軸回転角度を取得します 度 (degree) Double
OffsetPositionX X座標のオフセット位置を取得します ミリメートル(mm) Double
OffsetPositionY Y座標のオフセット位置を取得します ミリメートル(mm) Double
OffsetPositionZ Z座標のオフセット位置を取得します ミリメートル(mm) Double
OffsetRotationX X軸のオフセット回転⾓度を取得します 度 (degree) Double
OffsetRotationY Y軸のオフセット回転⾓度を取得します 度 (degree) Double
OffsetRotationZ Z軸のオフセット回転⾓度を取得します 度 (degree) Double
CollisionState 衝突状態を取得します - Boolean TrueもしくはFalse
CollisionCheck 衝突検出の有効・無効を取得します - Boolean TrueもしくはFalse
CollisionCheckSelf ロボットの自己衝突検出の有効/無効を取得します - Boolean TrueもしくはFalse
Visible 表示/非表示の状態を取得します - Boolean TrueもしくはFalse
ShowLabel オブジェクトのラベルの表⽰/⾮表⽰の状態を取得します - Boolean TrueもしくはFalse
ShowOrigin オブジェクトの原点座標系(中心)の表⽰/⾮表⽰の状態を取得します - Boolean TrueもしくはFalse
Type オブジェクトのタイプを取得します - Integer

Layout: 0

Part: 1

Mounted Device: 3

HalfSizeX Boxオブジェクト、監視領域オブジェクト、検出領域オブジェクトのX方向の長さを取得します ミリメートル(mm) Double
HalfSizeY Boxオブジェクト、監視領域オブジェクト、検出領域オブジェクトのY方向の長さを取得します ミリメートル(mm) Double
HalfSizeZ Boxオブジェクト、監視領域オブジェクト、検出領域オブジェクトのZ方向の長さを取得します ミリメートル(mm) Double
HalfSizeHeight Planeオブジェクト、監視領域オブジェクト、検出領域オブジェクトの長さを取得します ミリメートル(mm) Double
HalfSizeWidth Planeオブジェクト、監視領域オブジェクト、検出領域オブジェクトの幅を取得します ミリメートル(mm) Double
PlaneType Planeオブジェクトのタイプを取得します - Integer

Horizontal: 0

Vertical: 1

Radius SphereオブジェクトまたはCylinderオブジェクトの半径を取得します ミリメートル(mm) Double
Height Cylinderオブジェクトの高さを取得します ミリメートル(mm) Double
Name オブジェクト名を取得します String
Color オブジェクトの表示色を取得します String 色名もしくは16進カラーコード(ARGB)

以下に示すプロパティーは、コンベヤーオブジェクトからのみ、設定値を取得することができます。

プロパティー 説明 単位 データタイプ 戻り値
OperationType コンベヤーの動作タイプを取得します - Integer

Independent(コンベヤートラッキング設定と連動しない): 0

LinkTracking(コンベヤートラッキング設定と連動する): 1

ConveyorID 追従動作の設定がされているコンベヤーの番号を取得します - Integer
ConveyorSpeed コンベヤーの動作速度を取得します ミリメートル/秒(mm/s) Double
ConveyorAccel コンベヤーの加速度を取得します ミリメートル/秒2(mm/s2) Double
ConveyorDecel コンベヤーの減速度を取得します ミリメートル/秒2(mm/s2) Double
Forward コンベヤーの動作方向を取得します - Boolean TrueもしくはFalse
TriggerIO エンコーダーカウントをラッチするI/O出力番号を取得します - Integer
Supply ワーク(パーツ)の供給設定の有効・無効を取得します - Boolean TrueもしくはFalse
BaseObject ワーク(パーツ)の基準となるオブジェクトを取得します - String
MaxObject ワーク(パーツ)の最大数を取得します - Integer
IntervalMin ワーク(パーツ)の供給される時間間隔の最小値を取得します 秒(s) Double
IntervalMax ワーク(パーツ)の供給される時間間隔の最大値を取得します 秒(s) Double
RemoveType ワーク(パーツ)がコンベヤーオブジェクトの終端まで搬送された際の削除方法を取得します - Integer

None(コンベヤーオブジェクト終端で削除しない): 0

ReachEnd(コンベヤーオブジェクトの終端で削除する): 1

RandomPlacement ワーク(パーツ)のランダム配置の有効・無効を取得します - Boolean TrueもしくはFalse
RandomDistance ワーク(パーツ)のランダム配置における距離を取得します ミリメートル(mm) Double
RandomAngle ワーク(パーツ)のランダム配置における角度を取得します 度(degree) Double
ArrangementType ワーク(パーツ)のランダム配置のタイプを取得します - Integer

One: 0

Grid: 1

Circle: 1

SupplyOffsetX ワーク(パーツ)のランダム配置におけるX座標のオフセット位置を取得します ミリメートル(mm) Double
SupplyOffsetY ワーク(パーツ)のランダム配置におけるY座標のオフセット位置を取得します ミリメートル(mm) Double
SupplyOffsetZ ワーク(パーツ)のランダム配置におけるZ座標のオフセット位置を取得します ミリメートル(mm) Double
SupplyOffsetU ワーク(パーツ)のランダム配置におけるU軸(Z軸)のオフセット角度を取得します 度(degree) Double
RowNum ランダム配置がGridの場合の行数を取得します - Integer
RowSpacing ランダム配置がGridの場合の行間隔を取得します ミリメートル(mm) Double
ColNum ランダム配置がGridの場合の列数を取得します - Integer
ColSpacing ランダム配置がGridの場合の列間隔を取得します ミリメートル(mm) Double
CircleNum ランダム配置がCircleの場合の配置数を取得します - Integer
CircleRadius ランダム配置がCircleの場合の半径を取得します ミリメートル(mm) Double

以下に示すプロパティーは、検出領域オブジェクトからのみ、設定値を取得することができます。

プロパティー 説明 単位 データタイプ 戻り値
IOType オブジェクトを検出した際のI/O出力先を取得します - Integer

Input: 0

Output: 1

Memory: 2

IONumber [IOType]で指定されたI/O出力先のI/O番号を取得します - Integer
Action I/Oの出力値を取得します - Boolean TrueもしくはFalse
Trigger トリガー出力のタイミングを取得します - Integer

LeadingEdge: 0

TrailingEdge: 1

Duration I/O出力の持続時間を取得します 秒(s) Double
Delay I/O出力の遅延時間を取得します 秒(s) Double
EnableVirtualOnly 仮想コントローラー接続時の有効・無効を取得します - Boolean TrueもしくはFalse

以下の表に示す組み合わせでプロパティーを取得することができます。

プロパティー オブジェクト
Robot Hand Box Sphere Cylinder Plane CAD Camera
PositionX
PositionY
PositionZ
RotationX
RotationY
RotationZ
OffsetPostionX -
OffsetPositionY -
OffsetPositionZ -
OffsetRotationX -
OffsetRotationY -
OffsetRotationZ -
CollisionCheck
CollisionCheckSelf - - - - - - -
CollisionState
Visible -
ShowLabel
ShowOrigin -
Type - - -
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 - - - - - - - -
IOType - - - - - - - -
IONumber - - - - - - - -
Action - - - - - - - -
Trigger - - - - - - - -
Duration - - - - - - - -
Delay - - - - - - - -
EnableVirtualOnly - - - - - - - -
プロパティー オブジェクト
SurveillanceArea SurveillancePlane Conveyor DetectionArea
PositionX
PositionY
PositionZ
RotationX
RotationY
RotationZ
OffsetPostionX
OffsetPositionY
OffsetPositionZ
OffsetRotationX
OffsetRotationY
OffsetRotationZ
CollisionCheck
CollisionCheckSelf - - - -
CollisionState
Visible
ShowLabel
ShowOrigin
Type
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 - - -
IOType - - -
IONumber - - -
Action - - -
Trigger - - -
Duration - - -
Delay - - -
EnableVirtualOnly - - -

(2) オブジェクトの検索
・NearestObjToToo
“Robot”で指定されたロボットにおける、”Tool”で指定された番号のTool座標に最も近いオブジェクトを検索し、その名称を取得します。
レイアウトオブジェクトのみが検索の対象オブジェクトとなります。ただし、別のオブジェクトの子オブジェクトとして設定されている場合や、先祖も含めてパーツあるいはアーム取付機器として設定されているオブジェクトについては対象外となります。

参照
SimSet

SimGet使用例

'SBox_1オブジェクトのX座標値を取得する
Double boxPosX
SimGet SBox_1.PositionX, boxPosX

'SBox_1オブジェクトの表示・非表示の状態を取得する
Boolean boxVisible
SimGet SBox_1.Visible, boxVisible

'SBox_1オブジェクトのタイプを取得する
Integer boxType
SimGet SBox_1.Type, boxType

'Robot1の衝突の状態を取得する
Boolean robotCollision
SimGet Robot1.CollisionState, robotCollision

'Robot1に設定されているTool 1に最も近いオブジェクトを取得する
String nearObject$
SimGet Robot1.NearestObjToTool(1), nearObject$