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$