Spelクラスメソッド
Accel メソッド, Spelクラス
解説
PTP動作命令 (Go, Jump, Pulse)の加減速度を設定します。
書式
Sub Accel (PointToPointAccel As Integer, PointToPointDecel As Integer, _[JumpDepartAccel As Integer], [JumpDepartDecel As Integer], _[JumpApproAccel As Integer], [JumpApproDecel As Integer])
パラメーター
- PointToPointAccel
最大加速度に対する割合を示す1以上の整数 (単位: %) - PointToPointDecel
最大減速度に対する割合を示す1以上の整数 (単位: %) - JumpDepartAccel
Jump時における退避加速度を示す1以上の整数 (省略可) - JumpDepartDecel
Jump時における退避減速度を示す1以上の整数 (省略可) - JumpApproAccel
Jump時における接近加速度を示す1以上の整数 (省略可) - JumpApproDecel
Jump時における接近減速度を示す1以上の整数 (省略可)
参照
Accels, Speed
Accel 使用例
VB 例:
m_spel.Accel(50, 50)
m_spel.Go ("pick")
C# 例:
m_spel.Accel(50, 50);
m_spel.Go ("pick");
AccelR メソッド, Spelクラス
解説
CP動作のツール姿勢変化の加減速度を設定します。
書式
Sub AccelR (Accel As Single, [Decel As Single])
パラメーター
- Accel
動作命令にROTを使用している場合に、ツール姿勢変化の加速度を定義する実数値0.1~5000 (単位: deg/sec2)。Decelを省略した場合、設定値は加速度と減速度の両方に使用されます。 - Decel
動作命令にROTを使用している場合に、ツール姿勢変化の減速度を定義する実数値0.1~5000 (単位: deg/sec2)。省略可能。
参照
Arc, Arc3, BMove, Jump3CP, Power, SpeedR, TMove
AccelR 使用例
VB 例:
Sub MoveToPlace()
m_spel.AccelR(100)
m_spel.Move("place ROT")
End Sub
C# 例:
void MoveToPlace()
{
m_spel.AccelR(100);
m_spel.Move("place ROT");
}
AccelS メソッド, Spelクラス
解説
直線動作やCP動作 (Arc, Arc3, Jump3, Move)の加減速度を設定します。
書式
Sub AccelS (Accel As Single, Decel As Single,[JumpDepartAccel As Single], [JumpDepartDecel As Single], _[JumpApproAccel As Single], [JumpApproDecel As Single])
パラメーター
- Accel
直線動作またはCP動作時の加速度を指定する実数値 (単位: mm/sec2)Decelを省略すると、このAccelの値が、加速時と減速時に適用されます。 - Decel
直線動作またはCP動作時の減速度を指定する実数値(単位: mm/sec2) (省略可) - JumpDepartAccel
Jump、Jump3CP時の退避動作に退避加速度を指定する実数値(単位: mm/sec2) (省略可) - JumpDepartDecel
Jump、Jump3CP時の退避動作に退避減速度を指定する実数値(単位: mm/sec2) (省略可) - JumpApproAccel
Jump、Jump3CP時の接近動作に接近加速度を指定する実数値(単位: mm/sec2) (省略可) - JumpApproDecel
Jump、Jump3CP時の接近動作に接近減速度を指定する実数値(単位: mm/sec2) (省略可)
参照
Accel, SpeedS, Jump3CP, Move, TMove
AccelS 使用例
VB 例:
Sub MoveToPlace()
m_spel.Base(P1)
m_spel.Move(pick)
m_spel.AccelS(500, 300)
m_spel.Move(place)
End Sub
C# 例:
void MoveToPlace()
{
m_spel.AccelS(500);
m_spel.Move(pick);
m_spel.AccelS(500, 300);
m_spel.Move(place);
}
Agl メソッド, Spelクラス
解説
指定された回転関節の角度、または直動関節の位置を返します。
書式
Function Agl (JointNumber As Integer) As Single
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数)
戻り値
指定された回転関節の角度、または直動関節の位置
参照
Pls, CX - CT
Agl 使用例
C# 例:
Dim j1Angle As Single
j1Angle = m_spel.Agl(1)
C# 例:
float j1Angle;
j1Angle = m_spel.Agl(1);
AIO_In メソッド, Spelクラス
解説
オプションのアナログI/O入力チャンネルからアナログ値を読み込みます。
書式
Function AIO_In (Channel As Integer) As Single
パラメーター
- Channel
アナログI/Oのチャンネル番号を指定します。
戻り値
チャンネル番号で指定したアナログI/Oチャンネルのアナログ入力値を実数で返します。戻り値の範囲はアナログIO基板の入力レンジ設定によります。
参照
AIO_InW, AIO_Out, AIO_OutW
AIO_In 使用例
VB 例:
Dim val As Single
val = m_spel.AIO_In(2)
C# 例:
float val;
val = m_spel.AIO_In(2);
AIO_InW メソッド, Spelクラス
解説
オプションのアナログI/O入力チャンネルからアナログ値を読み込みます。
書式
Function AIO_InW (Channel As Integer) As Integer
パラメーター
- Channel
アナログI/Oのチャンネル番号を指定します。
戻り値
指定したアナログI/Oチャンネルの入力状態(0~65535の整数値)を返します。
各入力チャンネルの入力電圧(電流)と戻り値の対応は、アナログI/O基板の入力レンジ設定により下記の通りとなります。
入力データ | 入力レンジ設定 | |||||
---|---|---|---|---|---|---|
16進数 | 10進数 | ±10.24(V) | ±5.12(V) | 0-5.12(V) | 0-10.24(V) | 0-24(mA) |
0xFFFF | 65535 | 10.23969 | 5.11984 | 5.12000 | 10.24000 | 24.00000 |
0x8001 | 32769 | 0.00031 | 0.00016 | 2.56008 | 5.12016 | 12.00037 |
0x8000 | 32768 | 0.00000 | 0.00000 | 2.56000 | 5.12000 | 12.00000 |
0x0000 | 0 | -10.24000 | -5.12000 | 0.00000 | 0.00000 | 0.00000 |
参照
AIO_In, AIO_Out, AIO_OutW
AIO_InW 使用例
VB 例:
Dim val As Integer
val = m_spel.AIO_InW(2)
C# 例:
int val;
val = m_spel.AIO_InW(2);
AIO_Out メソッド, Spelクラス
解説
オプションのアナログI/O出力チャンネルからアナログ値を読み出す、または設定します。
書式
Function AIO_Out (Channel As Integer) As Single
Sub AIO_Out (Channel As Integer, Value As Single)
パラメーター
- Channel
アナログI/Oのチャンネル番号を指定します。 - Value
出力したい電圧[V]、または電流値[mA]を表す実数を、式または数値で指定します。
戻り値
指定したアナログI/Oチャンネルの電圧, 電流出力状態を実数値で返します。電圧出力時の単位は[V]、電流出力時の単位は[mA]です。
Function AIO_Out (Channel As Integer) As Singleの場合:指定したチャンネルで、ロボットの速度情報を出力すると、本メソッドで取得できます。
コメント
チャンネル番号で指定したアナログ出力ポートへ指定の電圧[V]、または電流[mA]を表す実数値を出力します。アナログ出力ポートの電圧出力レンジおよび電圧, 電流出力選択は、ボード上のスイッチで設定します。アナログIOボードの出力レンジ設定の範囲外の値を指定した場合は、範囲を超えない境界値(最大, 最小値)を出力します。
Sub AIO_Out (Channel As Integer, Value As Single) の場合:指定したチャンネルで、ロボットの速度情報を出力すると、本メソッドでの出力設定はエラーになります。速度情報出力を停止してから本メソッドを実行してください。
参照
AIO_In, AOI_InW, AIO_OutW
AIO_Out 使用例
VB 例:
Dim val As Single
val = m_spel.AIO_Out(1)
C# 例:
float val;
val = m_spel.AIO_Out(1);
AIO_OutW メソッド, Spelクラス
解説
オプションのアナログI/O出力チャンネルからアナログ値を読み出す、または設定します。
書式
Function AIO_OutW (Channel As Integer) As Integer
Sub AIO_OutW (Channel As Integer, OutputData As Integer)
パラメーター
- Channel
アナログI/Oのチャンネル番号を指定します。 - OutputData
出力データ (0から65535の整数)を、式または数値で指定します。
戻り値
指定したアナログI/Oチャンネルの出力状態を0~65535の整数値で返します。
各出力チャンネルの出力電圧(電流)と戻り値の対応は、アナログI/O基板の出力レンジ設定により下記の通りとなります。
出力データ | 出力レンジ設定 | ||||||
---|---|---|---|---|---|---|---|
16進数 | 10進数 | ±10(V) | ±5(V) | 0-5(V) | 0-10(V) | 4-20(mA) | 0-20(mA) |
0xFFFF | 65535 | 9.99970 | 4.99985 | 5.00000 | 10.00000 | 20.00000 | 20.00000 |
0x8001 | 32769 | 0.00031 | 0.00015 | 2.50008 | 5.00015 | 12.00024 | 10.00031 |
0x8000 | 32768 | 0.00000 | 0.00000 | 2.50000 | 5.00000 | 12.00000 | 10.00000 |
0x0000 | 0 | -10.00000 | -5.00000 | 0.00000 | 0.00000 | 4.00000 | 0.00000 |
指定したチャンネルで、ロボットの速度情報を出力している場合も、本メソッドが実行できます。
参照
AIO_In, AOI_InW, AIO_Out
AIO_OutW 使用例
VB 例:
Dim val As Integer
val = m_spel.AIO_OutW(1)
C# 例:
int val;
val = m_spel.AIO_OutW(1);
Arc メソッド, Spelクラス
解説
XY平面で、円弧補間動作を使用してアームを指定されたポイントまで動かします。
書式
Sub Arc (MidPoint As Integer, EndPoint As Integer)
Sub Arc (MidPoint As SpelPoint, EndPoint As SpelPoint)
Sub Arc (MidPoint As String, EndPoint As String)
パラメーター
書式には、円弧の中間地点と目標位置を指定するパラメーターがあります。
- MidPoint
中間地点を示す整数値、SpelPoint、または文字列 - EndPoint
目標位置を示す整数値、SpelPoint、または文字列を使用する場合、ROT, CP, SYNC, Till, Find, 並列処理の命令文を含むことができます。
参照
AccelR, AccelS, SpeedR, SpeedS
Arc3, CVMove, Go, Jump, Jump3, Jump3CP, Move
BGo, BMove, TGo, TMove
Find, Till
Arc 使用例
VB 例:
' SpelPointを使用してポイントを指定
Dim midPoint, endPoint As SpelPoint
midPoint = m_spel.GetPoint("P1")
endPoint = m_spel.GetPoint("P2")
m_spel.Arc(midPoint, endPoint)
' 文字列式を使用してポイントを指定
m_spel.Arc("P1", "P2")
m_spel.Arc("P1", "P2 CP")
' 並列処理を指定する場合
m_spel.Arc("P1", "P2 \!D50; On 1; D90; Off 1\!")
C# 例:
// SpelPointを使用してポイントを指定
SpelPoint midPoint, endPoint;
midPoint = m_spel.GetPoint("P1");
endPoint = m_spel.GetPoint("P2");
m_spel.Arc(midPoint, endPoint);
// 文字列式を使用してポイントを指定
m_spel.Arc("P1", "P2");
m_spel.Arc("P1", "P2 CP");
// 並列処理を指定する場合
m_spel.Arc("P1", "P2 \!D50; On 1; D90; Off 1\!");
Arc3 メソッド, Spelクラス
解説
3次元で、円弧補間動作を使用してアームを指定されたポイントまで動かします。
書式
Sub Arc3 (MidPoint As Integer, EndPoint As Integer)
Sub Arc3 (MidPoint As SpelPoint, EndPoint As SpelPoint)
Sub Arc3(MidPoint As String, EndPoint As String)
パラメーター
書式には、円弧の中間地点と目標位置を指定するパラメーターがあります。
- MidPoint
中間地点を示す整数値、SpelPoint、または文字列 - EndPoint
目標位置を示す整数値、SpelPoint、または文字列を使用する場合、ROT, CP, SYNC, Till, Find, 並列処理の命令文を含むことができます。
参照
AccelR, AccelS, SpeedR, SpeedS
Arc, CVMove, Go, Jump, Jump3, Jump3CP, Move
BGo, BMove, TGo, TMove
Find, Till
Arc3 使用例
VB 例:
' SpelPointを使用してポイントを指定
Dim midPoint, endPoint As SpelPoint
midPoint = m_spel.GetPoint("P1")
endPoint = m_spel.GetPoint("P2")
m_spel.Arc3(midPoint, endPoint)
' 文字列式を使用してポイントを指定
m_spel.Arc3("P1", "P2")
m_spel.Arc3("P1", "P2 CP")
' 並列処理を指定する場合
m_spel.Arc3("P1", "P2 \!D50; On 1; D90; Off 1\!")
C# 例:
// SpelPointを使用してポイントを指定
SpelPoint midPoint, endPoint;
midPoint = m_spel.GetPoint("P1");
endPoint = m_spel.GetPoint("P2");
m_spel.Arc3(midPoint, endPoint);
// 文字列式を使用してポイントを指定
m_spel.Arc3("P1", "P2");
m_spel.Arc3("P1", "P2 CP");
// 並列処理を指定する場合
m_spel.Arc3("P1", "P2 \!D50; On 1; D90; Off 1\!");
Arch メソッド, Spelクラス
解説
Jump, Jump3, Jump3CP命令で使用する、アーチパラメーター (水平動作を開始する前に移動するZ高さ)を設定します。
書式
Sub Arch (ArchNumber As Integer, DepartDist As Integer, ApproDist As Integer)
パラメーター
- ArchNumber
アーチ番号を表す0~6の整数 - DepartDist
Jump命令で、水平動作開始前の退避距離 (出発点からの垂直距離)(単位: mm)
Jump3, Jump3CP命令で、スパン動作前の退避距離 (単位: mm) - ApproDist
Jump命令で、水平動作が完全に終了した段階での接近距離 (目的点からの垂直距離) (単位: mm)
Jump3, Jump3CP命令で、スパン動作が完全に終了した段階での接近距離 (単位: mm)
参照
Jump, Jump3, Jump3CP
Arch 使用例
VB 例:
Sub SetArchs()
With m_spel
.Arch(1, 30, 30)
.Arch(2, 60, 60)
.Jump("P1 C1")
.Jump("P2 C2")
End With
End Sub
C# 例:
void SetArchs()
{
m_spel.Arch(1, 30, 30);
m_spel.Arch(2, 60, 60);
m_spel.Jump("P1 C1");
m_spel.Jump("P2 C2");
}
Arm メソッド, Spelクラス
解説
カレントロボットのアームを選択します。
書式
Sub Arm (ArmNumber As Integer)
パラメーター
- ArmNumber
整数値、または式 (有効範囲: 0~15)異なるアームを16個まで選択することができます。アーム0は、標準 (デフォルト設定)のロボットアームです。アーム1~15は、ArmSet命令で定義された増設アームです。
参考
ArmSet, GetArm, Tool
Arm 使用例
VB 例:
m_spel.Arm(1)
C# 例:
m_spel.Arm(1);
ArmClr メソッド, Spelクラス
解説
カレントロボットのアームの設定をクリアします。
書式
Sub ArmClr (ArmNumber As Integer)
パラメーター
- ArmNumber
設定をクリアするアーム番号を指定する整数、または式 (有効範囲: 1~15)アーム0は標準 (デフォルト設定)のロボットアームなので、クリアすることはできません。アーム1~15は、ArmSet命令で定義された増設アームです。
参考
ArmSet, GetArm, Tool
ArmClr 使用例
VB 例:
m_spel.ArmClr(1)
C# 例:
m_spel.ArmClr(1);
ArmDef メソッド, Spelクラス
解説
ロボットアームが設定されているかどうかを返します。
書式
Function ArmDef (ArmNumber As Integer) As Boolean
パラメーター
- ArmNumber
0~15の整数値アーム0は標準 (デフォルト)ロボットアームで、常に設定されています。アーム1~15は、ArmSetメソッドで定義された増設アームです。
戻り値
指定したアームが設定されていればTrue、そうでなければFalse
参照
ArmSet, GetArm, Tool
ArmDef使用例
VB 例:
x = m_spel.ArmDef(1)
C# 例:
x = m_spel.ArmDef(1);
ArmSet メソッド, Spelクラス
解説
増設ロボットアームを設定します。
書式
Sub ArmSet ( ArmNumber As Integer, Param1 As Single, Param2 As Single, Param3 As Single, Param4 As Single, Param5 As Single )
パラメーター
- ArmNumber
整数 (有効範囲: 1~15) - Param1
(水平多関節型の場合) 肘関節の中心線から新しい方位軸の中心線までの水平距離(増設アームの方位軸の中心線の位置)(直角座標ロボットの場合) X軸方向の位置オフセット (単位: mm) - Param2
(水平多関節型の場合) 標準の肘関節の中心線と方位軸の中間にできた線と、増設アームの肘関節の中心線と方位軸の中間にできた線のオフセット(度)。これらの線は、肘の中心線とParam2で形成された角度で交差する必要があります。(直角座標ロボットの場合) Y軸方向の位置オフセット (単位: mm) - Param3
(水平多関節型、直角座標ロボットの場合) 新しい方位軸の中心線と元の方位軸の中心線の、高さ方向のオフセット (距離) - Param4
(水平多関節型の場合) 増設アームの肩の中心線から肘の中心線までの距離(直角座標ロボットの場合) ダミーのパラメーター (0を指定します。) - Param5
(水平多関節型、直角座標ロボットの場合) 増設アームの方位軸と既存アームの方位軸の角度のオフセット (度)
参照
Arm, Tool, TLSet
ArmSet 使用例
VB 例:
Sub SetArms()
With m_spel
.ArmSet(1, 1.5, 0, 0, 0, 0)
.ArmSet(2, 3.2, 0, 0, 0, 0)
End With
End Sub
C# 例:
void SetArms()
{
m_spel.ArmSet(1, 1.5, 0, 0, 0, 0);
m_spel.ArmSet(2, 3.2, 0, 0, 0, 0);
}
Atan メソッド, Spelクラス
解説
指定数値のアークタンジェントを返します。
書式
Function Atan (number As Double) As Double
パラメーター
- number
角度のタンジェント (実数値)
戻り値
指定した数値のアークタンジェント
参照
Atan2
Atan 使用例
VB 例:
Dim angle As Doubleangle = m_spel.Atan(.7)
C# 例:
double angle;
angle = m_spel.Atan(.7);
Atan2 メソッド, Spelクラス
解説
座標原点と指定点を結ぶ直線の角度を返します。(単位ラジアン)
書式
Function Atan2 (Dx As Double, Dy as Double) As Double
パラメーター
- Dx
X座標を表わす実数値 - Dy
Y座標を表わす実数値
戻り値
角度を表すDouble型の値
参照
Atan
Atan2 使用例
VB 例:
Dim angle As Double
angle = m_spel.Atan2(-25, 50)
C# 例:
double angle;
angle = m_spel.Atan2(-25, 50);
ATCLR メソッド, Spelクラス
解説
関節の実効トルクをクリアし、初期化します。
書式
Sub ATCLR ()
参照
ATRQ, PTCLR, PTRQ
ATCLR 使用例
VB 例:
m_spel.ATCLR()
C# 例:
m_spel.ATCLR();
AtHome メソッド, Spelクラス
解説
カレントロボットがホームポジションにあるとき、Trueを返します。
書式
Function AtHome () As Boolean
戻り値
カレントロボットがホームポジションにいる場合はTrue、そうでなければFalse
参照
Home
AtHome 使用例
VB 例:
If m_spel.AtHome() Then
lblCurPos.Text = "Robot is at home position"
Else
lblCurPos.Text = "Robot is not at home position"
End If
C# 例:
if(m_spel.AtHome())
lblCurPos.Text = "Robot is at home position";
else
lblCurPos.Text = "Robot is not at home position";
ATRQ メソッド, Spelクラス
解説
指定した関節の実効トルクを返します。
書式
Function ATRQ (JointNumber As Integer) As Single
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数)
戻り値
0~1までの実数値で返します。
参照
ATCLR, PTCLR, PTRQ
ATRQ 使用例
VB 例:
Dim val As Single
Dim i As Integer
For i = 1 To 4
val = m_spel.ATRQ(i)
Next i
C# 例:
float avgTorque;
for(int i = 1; i <= 4; i++)
avgTorque = m_spel.ATRQ(i);
AvgSpeed メソッド, Spelクラス
解説
指定した関節の速度の絶対値の平均値を返します。
書式
Function AvgSpeed (JointNumber As Integer) As Single
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数)
戻り値
0~1までの実数値で返します。
コメント
本メソッドは、指定した関節の速度の絶対値の平均値を返します。本メソッドで、モーターの負荷状態がわかります。結果は0~1までの実数値で表わされます。最大平均速度は1になります。
本メソッド実行前に、必ずAvgSpeedClearメソッドを実行してください。
本メソッドには、時間制限があります。AvgSpeedClearメソッド実行後、60秒以内に本メソッドを実行してください。60秒を超えると、エラー4088が発生します。
仮想コントローラー、およびドライランの場合は、実速度ではなく指令速度から速度の絶対値の平均を計算します。
本メソッドは、PG付加軸はサポートしません。
参照
AvgSpeedClear, PeakSpeed, PeakSpeedClear
AvgSpeed 使用例
VB 例:
Dim val As Single
Dim i As Integer
For i = 1 To 4
val = m_spel.AvgSpeed(i)
Next i
C# 例:
float avgSpeed;
for(int i = 0; i <=4; i++)
avgSpeed = m_spel.AvgSpeed(i);
AvgSpeedClear メソッド, Spelクラス
解説
関節速度の絶対値の平均をクリアし、初期化します。
書式
Sub AvgSpeedClear ()
コメント
本メソッドは指定した関節の速度の絶対値の平均をクリアします。
AvgSpeedメソッド実行前に、必ず本メソッドを実行してください。
本メソッドは、PG付加軸はサポートしません。
参照
AvgSpeed, PeakSpeed, PeakSpeedClear
AvgSpeedClear 使用例
VB 例:
m_spel.AvgSpeedClear()
C# 例:
m_spel.AvgSpeedClear();
AxisLocked メソッド, Spelクラス
解説
指定した軸がフリージョイント状態を解除しているとき、Trueを返します。
書式
Function AxisLocked (AxisNumber As Integer) As Boolean
パラメーター
- AxisNumber
軸番号を表わす数値 (1~9)
戻り値
指定した軸がサーボ制御されているときはTrue、そうでなければFalse
参照
SLock, SFree
AxisLocked 使用例
VB 例:
If m_spel.AxisLocked(1) Then
lblAxis1.Text = "Robot axis \#1 is locked"
Else
lblAxis1.Text = "Robot axis \#1 is free"
End If
C# 例:
if (m_spel.AxisLocked(1))
lblAxis1.Text = "Robot axis \#1 is locked";
else
lblAxis1.Text = "Robot axis \#1 is free";
Base メソッド, Spelクラス
解説
ベース座標系を定義します。
書式
Sub Base (OriginPoint As SpelPoint [, XAxisPoint As SpelPoint] [, YAxisPoint As SpelPoint] [, Alignment As SpelBaseAlignment])
パラメーター
- OriginPoint
ベース座標系の原点と向きを指定するポイントデータ - XAxisPoint
ベース座標系のX軸上にあるSpelPoint (省略可) - YAxisPoint
ベース座標系のY軸上にあるSpelPoint (省略可) - Alignment
パラメーターXAxisPointとYAxisPointが与えられているときに、優先的にベースと一致させる軸を指定します。(省略可)
参照
Local
Base 使用例
VB 例:
Dim originPoint As New SpelPoint
originPoint.X = 50
originPoint.Y = 50
m_spel.Base(originPoint)
C# 例:
SpelPoint originPoint = new SpelPoint();
originPoint.X = 50;
originPoint.Y = 50;
m_spel.Base(originPoint);
BGo メソッド, Spelクラス
解説
選択したローカル座標系において、オフセットPTP動作を実行します。
書式
Sub BGo (PointNumber As Integer)
Sub BGo (Point As SpelPoint)
Sub BGo (Point As SpelPoint, AttribExpr As String)
Sub BGo (PointExpr As String)
パラメーター
書式には、アームがBGo命令により動作する目標位置を指定するパラメーターがあります。この目標位置は、PTP動作で移動する最終位置です。
- PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、目標位置を指定します。 - Point
SpelPointデータタイプを使用して、目標位置を指定します。 - AttribExpr
文字列式を使用して終点の属性を指定します。
CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。 - PointExpr
文字列式を使用して目標位置を指定します。
CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
Accel, Speed
Arc, Arc3, CVMove, Go, Jump, Jump3, Jump3CP, Move
BMove, TGo, TMove
Find, Till
BGo 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.BGo(100)
' SpelPointを使用して指定
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 125.5
m_spel.BGo(pt)
' 属性式を使用して指定
m_spel.BGo(pt, "Till")
' ポイント式を使用して指定
m_spel.BGo("P0 /L /2")
m_spel.BGo("P1 :Z(-20)")
' 並列処理を指定する場合
m_spel.BGo("P1 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.BGo("pick")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.BGo(100);
// SpelPointを使用して指定
SpelPoint pt;
pt = m_spel.GetPoint("P*");
pt.X = 125.5;
m_spel.BGo(pt);
// 属性式を使用して指定
m_spel.BGo(pt, "Till");
// ポイント式を使用して指定
m_spel.BGo("P0 /L /2");
m_spel.BGo("P1 :Z(-20)");
// 並列処理を指定する場合
m_spel.BGo("P1 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.BGo("pick");
BMove メソッド, Spelクラス
解説
選択したローカル座標系上で、オフセット直線補間動作を実行します。
書式
Sub BMove (PointNumber As Integer)
Sub BMove (Point As SpelPoint)
Sub BMove (Point As SpelPoint, AttribExpr As String)
Sub BMove (PointExpr As String)
パラメーター
書式には、アームがBGo命令により動作する目標位置を指定するパラメーターがあります。この目標位置は、オフセット直線補間動作で移動する最終位置です。
- PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、目標位置を指定します。 - Point
SpelPointデータタイプを使用して、目標位置を指定します。 - AttribExpr
文字列式を使用して終点の属性を指定します。
ROT, CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。 - PointExpr
文字列式を使用して目標位置を指定します。
ROT, CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
AccelR, AccelS, SpeedR, SpeedS
Arc, Arc3, CVMove, Go, Jump, Jump3, Jump3CP, Move
BGo, TGo, TMove
Find, Till
Move 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.BMove(100)
' SpelPointを使用して指定
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 125.5
m_spel.BMove(pt)
' ポイント式を使用して指定
m_spel.BMove("P0 /L /2 ROT")
m_spel.BMove("P1 :Z(-20)")
' 並列処理を指定する場合
m_spel.BMove("P1 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.BMove("pick")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.BMove(100);
// SpelPointを使用して指定
SpelPoint pt;
pt = m_spel.GetPoint("P*");
pt.X = 125.5;
m_spel.BMove(pt);
// ポイント式を使用して指定
m_spel.BMove("P0 /L /2");
// 並列処理を指定する場合
m_spel.BMove("P1 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.BMove("pick");
Box メソッド, Spelクラス
解説
Box内に定義された進入検出エリアを指定します。
書式
Sub Box (AreaNumber As Integer, MinX As Single, MaxX As Single, MinY As Single, MaxY As Single, MinZ As Single, MaxZ As Single)
Sub Box (AreaNumber As Integer, MinX As Single, MaxX As Single, MinY As Single, MaxY As Single, MinZ As Single, MaxZ As Single, PolarityOn As Boolean)
パラメーター
- AreaNumber
設定するエリアの番号を示す1~15の整数値 - MinX
設定するエリアの下限位置のX座標 (実数)を指定する数値または式 - MaxX
設定するエリアの上限位置のX座標 (実数)を指定する数値または式 - MinY
設定するエリアの下限位置のY座標 (実数)を指定する数値または式 - MaxY
設定するエリアの上限位置のY座標 (実数)を指定する数値または式 - MinZ
設定するエリアの下限位置のZ座標 (実数)を指定する数値または式 - MaxZ
設定するエリアの上限位置のZ座標 (実数)を指定する数値または式 - PolarityOn
省略可能。対応するリモート出力を使用した場合、リモート出力の論理を設定。ハンドが進入検出エリアにいる場合にI/O出力をオンにする場合は、Trueハンドが進入検出エリアにいる場合にI/O出力をオフにする場合は、False
参照
BoxClr, BoxDef, Plane
Box使用例
VB 例:
m_spel.Box(1, -5, 5, -10, 10, -20, 20)
C# 例:
m_spel.Box(1, -5, 5, -10, 10, -20, 20);
BoxClr メソッド, Spelクラス
解説
Box (進入検出エリア)の定義をクリアします。
書式
Sub BoxClr (BoxNumber As Integer)
パラメーター
- BoxNumber
設定をクリアする進入検出エリア番号を示す整数式または値 (1~15)
参照
Box, BoxDef
BoxClr 使用例
VB 例:
m_spel.BoxClr(1)
C# 例:
m_spel.BoxClr(1);
BoxDef メソッド, Spelクラス
解説
Boxの定義状況を返します。
書式
Function BoxDef (BoxNumber As Integer) As Boolean
パラメーター
- BoxNumber
状態を返す進入検出エリア番号を示す整数式または値 (1~15)
戻り値
指定したBoxが定義されているときはTrue、そうでないときはFalse
参照
Box, BoxClr
BoxDef使用例
VB 例:
x = m_spel.BoxDef(1)
C# 例:
x = m_spel.BoxDef(1);
Brake メソッド, Spelクラス
解説
指定した関節のブレーキ状態を読み出す、または設定します。
書式
Sub Brake (JointNumber As Integer, State As Boolean)
Function Brake (JointNumber As Integer) As Boolean
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数) - State
ブレーキをかけるとき: Onを使います。ブレーキを解除するとき: Offを使います。
戻り値
0 = ブレーキOff
1 = ブレーキOn
コメント
本メソッドは、垂直6軸型ロボット (Nシリーズを含む)の1つの関節に対してブレーキをかけたり解除したりします。本メソッドは、メンテナンス作業者のみが使うように設計されたものです。
本メソッドを実行すると、ロボット制御パラメーターを初期化します。
警告
ブレーキをオフするときは、注意してください。関節が正しく保持されていることを必ず確認してください。関節が正しく保持されていないと、落下の原因となりロボットの故障や作業者が重傷を負う原因になります。
注意
必ず非常停止スイッチを手元に置いてから、Brake Off命令を実行してください。
コントローラーが非常停止状態になると、モーターブレーキがロックされます。Brake Off命令を実行すると、ロボットアームが自重で下降する可能性があります。
参照
Reset, SFree, SLock
Brake 使用例
VB 例:
Dim state As Boolean
state = m_spel.Brake(1)
C# 例:
bool state;
state = m_spel.Brake(1);
BTst メソッド, Spelクラス
解説
数字に含まれる1ビットの状態を返します。
書式
Function BTst (Number As Integer, BitNumber As Integer) As Boolean
パラメーター
- Number
ビットテストに使用する数値を指定する式、あるいは数値 - BitNumber
テストするビット番号を指定する0~31の整数値
戻り値
ビットテストの値を1または0で返します。
参照
On, Off
BTst使用例
VB 例:
x = m_spel.BTst(data, 2)
C# 例:
x = m_spel.BTst(data, 2);
BuildProject メソッド, Spelクラス
解説
Projectプロパティーで指定したEpson RC+ 8.0プロジェクトをビルドします。
書式
Sub BuildProject ()
参照
Project, ProjectBuildComplete, ProjectOverwriteWarningEnabled
BuildProject 使用例
VB 例:
With m_spel
.Project = "c:\EpsonRC80\projects\myproj\myproj.sprj"
If Not .ProjectBuildComplete() Then
.BuildProject()
End If
End With
C# 例:
m_spel.Project = @"c:\EpsonRC80\projects\myproj\myproj.sprj";
if(\!m_spel.ProjectBuildComplete())
m_spel.BuildProject();
Call メソッド, Spelクラス
解説
任意の値を返すことができるSPEL+ファンクションを呼び出し (実行)します。
書式
Function Call (FuncName As String [, パラメーター As String]) As Object
パラメーター
- FuncName
呼び出すファンクション名
パラメーター 引数のリストを指定(省略可)。引数は、カンマ (,)で区切って使用します。
戻り値
SPEL+ファンクションの戻り値
データの型は、ファンクションのデータ型と一致しなければなりません。
コメント
CallメソッドはSPEL+ファンクションを呼び出したり、戻り値を取り出すために使用します。Callの結果を変数に割り当てるときに、正しいデータ型を使用しているかどうかを確かめてください。そうしないと、型不一致エラーが発生します。
また、SPEL+プログラムで宣言したDLLファンクションをVisual Basicアプリケーションから呼び出すことも可能です。
注意
Callメソッドで実行したファンクションを停止する場合は、Stopメソッドを使用してください。
Stopメソッドで停止すると、Callメソッドの戻り値はnullになります。
Callメソッドで実行したファンクションは、Pause, Haltメソッドでのタスクの一時停止はできません。
一時停止したい場合は、Xqtメソッドを使用してください。
参照
Xqt
Call使用例
' Visual Basic コード
Dim errCode As Integer
errCode = m_spel.Call("GetPart", """Test"",2")
// C# コード
int errCode;
errCode = m_spel.Call("GetPart", """Test"",2");
' SPEL+関数
Function GetPart(Info$ As String, Timeout As Integer) As Integer
Long errNum
OnErr GoTo GPErr
Print Info$
errNum = 0
Jump P1
On vacuum
Wait Sw(vacOn) = On, Timeout
If TW = True Then
errNum = VAC_TIMEOUT
EndIf
GetPart = errNum
Exit Function
GPErr:
GetPart = Err
Fend
CalPls メソッド, Spelクラス
解説
キャリブレーションに使用する位置姿勢パルス値を読み出す、または設定します。
書式
Function CalPls (JointNumber As Integer) As Integer
Sub CalPls (J1Pulses As Integer, J2Pulses As Integer, J3Pulses As Integer, J4Pulses As Integer, [J5Pulses As Integer], [J6Pulses As Integer], [J7Pulses As Integer], [J8Pulses As Integer], [J9Pulses As Integer])
パラメーター
- J1Pulses - J9Pulses
第1~9関節のパルス値を表す整数J5Pulses - J9Pulsesは省略可能
戻り値
パルス値を省略すると、現在設定されているパルス値を表示します。
コメント
キャリブレーションを行うための位置の、正しいパルス値を入力、保存します。
この命令はメンテナンス用です。モーター交換をしたときなど、モーターの原点がマニピュレーターアームのメカ原点とずれてしまったときに使用します。この原点を一致させる作業をキャリブレーションといいます。
正常な状態では、キャリブレーションを行うための位置のパルス値と、本メソッドにより設定されているパルス値は一致していますが、モーター交換などメンテナンスの後では、この2つの値が一致しなくなり、キャリブレーションが必要になります。
キャリブレーションの1つとして、特定の位置にアームを移動し、Calibを実行するという方法があります。Calibを実行することで、キャリブレーションのための特定の位置のパルス値が、本メソッドにより設定されているパルス値(キャリブレーション位置に対する正しいパルス値)に変更されます。
キャリブレーションを実行するためにはHofs値が設定されなければいけません。Hofs値を自動的に演算するためには、アームをキャリブレーションを行うための位置までもっていき、Calibを実行します。コントローラーは、キャリブレーションを行うための位置のパルス値に基づいて自動的にHofs値を演算します。
注意
CalPls値は電源オフによって変更できません
CalPls値は、コントローラーの電源をオフした後再起動しても初期化されません。CalPls値を変更する方法は、Calibコマンドの実行のみです。
参照
Hofs
CalPls 使用例
VB 例:
Dim val As Single
Dim i As Integer
For i = 1 To 4
val = m_spel.CalPls(i)
Next i
C# 例:
float val;
for(int i = 1; i <= 4; i++)
val = m_spel.CalPls(i);
ClearPoints メソッド, Spelクラス
解説
カレントロボットのメモリーにあるポイントをクリアします。
書式
Sub ClearPoints ()
参照
LoadPoints, Robot, SavePoints, SetPoint
ClearPoints使用例
VB 例:
With m_spel
.ClearPoints()
.SetPoint(1, 100, 200, -20, 0, 0, 0)
.Jump(1)
End With
C# 例:
m_spel.ClearPoints();
m_spel.SetPoint(1, 100, 200, -20, 0, 0, 0);
m_spel.Jump(1);
Connect メソッド, Spelクラス
解説
Spelクラスインスタンスをコントローラーに接続します。
書式
Sub Connect (ConnectionName As String)
Sub Connect (ConnectionName As String, ConnectionPassword As String)
Sub Connect (ConnectionNumber As Integer)
Sub Connect (ConnectionNumber As Integer, ConnectionPassword As String)
パラメーター
- ConnectionName
接続名称を示す文字列 - ConnectionNumber
接続番号を示す整数値接続番号は、Epson RC+ [セットアップ] - [PCとコントローラ接続]ダイアログの番号です。 最後に接続成功した接続先を使用するには、-1を指定してください。 - ConnectionPassword
接続パスワードを示す文字列コントローラーにコントローラー接続のためのパスワードがある場合、またそのパスワードがEpson RC+ [セットアップ] - [PCとコントローラ接続] ダイアログで設定されていない場合、 コントローラーに接続するためのパスワードを設定する必要があります。
コメント
Spelクラスインスタンスがコントローラーと通信する場合、最後に成功した接続に自動的に接続します。特定のコントローラーに接続するには、Connectメソッドを使用します。
参照
Disconnect, Initialize
注意
[PCとコントローラ接続]ダイアログで接続番号を変更した場合、本メソッド"ConnectionNumber"パラメーターの値が影響を受けます。RC+API側のプログラムを見直すようにしてください。
Connect使用例
VB 例:
Try
m_spel.Connect(1)
Catch ex As RCAPINet.SpelException
MsgBox(ex.Message)
End Try
C# 例:
try{
m_spel.Connect(1);
}
catch(RCAPINet.SpelException ex){
MessageBox.Show(ex.Message);
}
Continue メソッド, Spelクラス
解説
一時停止が発生したとき、コントローラーのすべてのタスクを継続実行させます。
書式
Sub Continue ()
コメント
Continueは、Pauseや安全扉開によって一時停止になったタスクを再開します。
タスク実行中に安全扉が開くと、ロボットは停止し、ロボットモーターはオフになります。安全扉が閉じられた後、Continueを用いて、サイクルを復帰します。
参照
Pause, Start, Stop
Continue使用例
VB 例:
Sub btnContinue_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnContinue.Click
btnPause.Enabled = True
btnContinue.Enabled = False
Try
m_spel.Continue()
Catch ex As RCAPINet.SpelException
MsgBox(ex.Message)
End Try
End Sub
C# 例:
void btnContinue_Click(object sender, EventArgs e)
{
btnPause.Enabled = true;
btnContinue.Enabled = true;
try{
m_spel.Continue();
}
catch(RCAPINet.SpelException ex){
MessageBox.Show(ex.Message);
}
}
Ctr メソッド, Spelクラス
解説
指定した入力カウンターのカウント値を返します。
書式
Function Ctr (BitNumber As Integer) As Integer
パラメーター
- BitNumber
カウンターとして設定された入力ビットの番号カウンターは、16個までしか同時に有効になりません。
戻り値
カウンターが現在カウント値 (0~65535の整数)
参照
CtReset
Ctr 使用例
VB 例:
lblCounter.Text = m_spel.Ctr(1).ToString()
C# 例:
lblCounter.Text = m_spel.Ctr(1).ToString();
CtReset メソッド, Spelクラス
解説
指定した入力カウンターのカウント値をリセットします。また、入力をカウンター入力として設定します。
書式
Sub CtReset (BitNumber As Integer)
パラメーター
- BitNumber
カウンターとして設定された入力ビットの番号カウンターは、16個までしか同時に有効になりません。
参照
Ctr
CtReset 使用例
VB 例:
m_spel.CtReset(2)
C# 例:
m_spel.CtReset(2);
Curve メソッド, Spelクラス
解説
アームが曲線経路を移動するのに必要なデータとポイントを定義します。経路の精度を上げるために、多くのデータポイントを経路上で定義することができます。
書式
Sub Curve ( FileName As String, Closure As Boolean, Mode As Integer, NumOfAxis As Integer, PointList As String )
パラメーター
- FileName
ポイントデータが保存されているファイルのパスと名前を示す文字列が指定されたファイルには、拡張子.crvが付加されます。Curve命令が実行されると、ファイルが作成されます。 - Closure
経路の終点から始点まで結んでいるかどうかを指定するBoolean演算式 - Mode
アームがU軸の接線方向に自動的に補間するかどうかを指定
モード | 接線補正 |
---|---|
0 | No |
2 | Yes |
- NumOfAxes
以下のような曲線動作中、制御される軸の番号を指定する2 ~ 4の整数2 : 姿勢を含まないXY平面で自由曲線を生成します。3 : 姿勢を含まないXYZ空間で自由曲線を生成します。4 : 姿勢を含むXYZ空間で自由曲線を生成します。 - pointList
{ポイント表示|P(開始:終了)}[,出力コマンド]...このパラメーターそれぞれのポイントデータを、カンマ (,)で区切って使用します。ポイントデータに抜けがなく、昇順または降順に並んでいる場合は、2つのポイント番号をコロン (:)で結合して、P(1:5)のように指定できます。通常、連続ポイントデータは、下に示すようにカンマで区切られています。 Curve MyFile, O, 0, 4, P1, P2, P3, P4または、コロンを使って下のように指定します。 Curve MyFile, O, 0, 4, P(1:4)上記の例では、P1、P2、P3、P4を使って曲線を指定しています。出力コマンドは、省略可能で、曲線動作中に出力操作を制御するときに使います。このコマンドは、I/OまたはメモリーI/Oのオンオフを指定します。出力命令は、直前の、連続ポイントデータの特定のポイントを、アームが通過した後に実行されます。1つのCurveステートメントに含むことのできる出力コマンドの数は、最大16個です。下記の例では、アームがP2を通過した後に“On 2”コマンドが実行され、その後アームは、P3からP10までのすべてのポイントを通過します。 Curve "MyFile", C, 0, 4, P1, P2, ON 2, P(3:10)
コメント
Curve を使って、CVMoveメソッドで実行される自由曲線を定義してください。詳細はSPEL+コマンドのCurveを参照してください。
参照
Curve (SPEL+ Statement), CVMove メソッド
Curve 使用例
VB 例:
m_spel.Curve("mycurveFile", True, 0, 4, "P(1:3), On 1, P(4:7)")
m_spel.CVMove("mycurveFile")
C# 例:
m_spel.Curve("mycurveFile", True, 0, 4, "P(1:3), On 1, P(4:7)");
m_spel.CVMove("mycurveFile");
CVMove メソッド, Spelクラス
解説
Curve命令で定義した連続自由曲線CP動作を実行します。
書式
Sub CVMove (FileName As String [, OptionList As String])
パラメーター
- FileName
Curve命令で作成されたファイル名を示す文字列式 - OptionList
Till指定を表す文字列 (省略可)
コメント
CVMoveを使って、Curveメソッドで定義した経路を実行してください。詳細はSPEL+コマンドのCVMoveを参照してください。CPでCVMoveを実行する必要がある場合は、アプリケーションからよりも、SPEL+タスクからCVMoveを実行することをお勧めします。これは、CP動作が適切に実行するためには、システムが次の動作ターゲットの場所をあらかじめ知っておく必要があるからです。RC+ APIのコマンドは、1回に1つしか実行されないので、次の動作ターゲットをあらかじめ知ることはできません。
参照
Curve, CVMove(SPEL+)
CVMove 使用例
VB 例:
m_spel.Curve("mycurveFile", True, 0, 4, "P(1:3), On 1, P(4:7)")
m_spel.CVMove("mycurveFile", "CP Till Sw(1) = 1")
m_spel.CVMove("mycurveFile")
C# 例:
m_spel.Curve("mycurveFile", True, 0, 4, "P(1:3), On 1, P(4:7)");
m_spel.CVMove("mycurveFile", "CP Till Sw(1) = 1");
m_spel.CVMove("mycurveFile");
CX, CY, CZ, CU, CV, CW, CR, CS, CT メソッド, Spelクラス
解説
ポイントから座標値を取得します。- CV, CW は、垂直多関節型ロボット専用- CS, CTは、付加軸専用 - CRは、Joint型の7軸ロボット専用
書式
Function CX (PointExpr As String) As Single
Function CY (PointExpr As String) As Single
Function CZ (PointExpr As String) As Single
Function CU (PointExpr As String) As Single
Function CV (PointExpr As String) As Single
Function CW (PointExpr As String) As Single
Function CR (PointExpr As String) As Single
Function CS (PointExpr As String) As Single
Function CT (PointExpr As String) As Single
パラメーター
- PointExpr
指定した座標を検索するポイントを指定する文字列式P0から始まっていれば、どの有効ポイント式でも使用できます。P*はカレント位置から座標を取り出すことにも使えます。
戻り値
指定された座標値
CX, CY, CZの各関数の戻り値: 実数値 (単位: mm)
CU, CV, CWの各関数の戻り値: 実数値 (単位: deg)
CR, CS, CTの各関節の戻り値: 実数
参照
GetPoint, SetPoint
CX, CY, CZ, CU, CV, CW, CS, CT 使用例
VB 例:
Dim x As Single, y As Single
x = m_spel.CX("P1")
y = m_spel.CY("P*")
C# 例:
float x, y;
x = m_spel.CX("P1");
y = m_spel.CY("P*");
Delay メソッド, Spelクラス
解説
指定した数のミリ秒だけ遅らせます。
書式
Sub Delay (Milliseconds As Integer)
パラメーター
- Milliseconds
遅らせるミリ秒の数を表す整数値
Delay使用例
VB 例:
m_spel.Delay(500)
C# 例:
m_spel.Delay(500);
DegToRad メソッド, Spelクラス
解説
角度を度からラジアンに変換します。
書式
Function DegToRad (degrees As Double) As Double
パラメーター
- degrees
ラジアンに変換する度の実数値
戻り値
ラジアンを表す実数値
参照
RadToDeg
DegToRad 使用例
VB 例:
Dim rad As Double
rad = m_spel.DegToRad(45)
C# 例:
double rad;
rad = m_spel.DegToRad(45);
Disconnect メソッド, Spelクラス
解説
接続からSpelクラスインスタンスを切断します。
書式
Sub Disconnect ()
コメント
コントローラー接続から切断するには、Disconnectを使用します。
参照
Connect, Initialize
Disconnect使用例
VB 例:
Try
m_spel.Disconnect()
Catch ex As RCAPINet.SpelException
MsgBox(ex.Message)
End Try
C# 例:
try{
m_spel.Disconnect();
}
catch(RCAPINet.SpelException ex){
MessageBox.Show(ex.Message);}
ECP メソッド, Spelクラス
解説
現在の外部制御点 (ECP)番号を選択します。
書式
Sub ECP (ECPNumber As Integer)
パラメーター
- ECPNumber
次に続く動作命令で、16あるECP設定のうち、どれを使用するかを指定する整数値0~15 (省略可)ECP 0は、ECP選択を無効にします。
参照
ECPSet
ECP 使用例
VB 例:
m_spel.ECP(1)
m_spel.Move("P1 ECP")
C# 例:
m_spel.ECP(1);
m_spel.Move("P1 ECP");
ECPClr メソッド, Spelクラス
解説
カレントロボットの外部制御点 (ECP)の設定をクリアします。
書式
Sub ECP (ECPNumber As Integer)
パラメーター
- ECPNumber
クリアするECP番号を示す整数値(ECP 0はデフォルトです。クリアできません。)
参照
ECP, ECPDef
ECP 使用例
VB 例:
m_spel.ECPClr(1)
C# 例:
m_spel.ECPClr(1);
ECPDef メソッド, Spelクラス
解説
外部制御点 (ECP)の設定状態を返します。
書式
Function ECPDef (ECPNumber As Integer) As Boolean
パラメーター
- ECPNumber
状態を呼び出したいECP番号を示す整数値
戻り値
指定したECPが定義されているときはTrue、そうでなければFalse
参照
ECP, ECPClr
ECP 使用例
VB 例:
x = m_spel.ECPDef(1)
C# 例:
x = m_spel.ECPDef(1);
ECPSet メソッド, Spelクラス
解説
外部制御点 (ECP)を定義します。
書式
Sub ECPSet ( ECPNumber As Integer, Point As SpelPoint)
Sub ECPSet ( ECPNumber As Integer, XCoord as Double, YCoord as Double, ZCoord as Double, UCoord as Double [, VCoord As Double] [, WCoord as Double] )
パラメーター
- ECPNumber
定義する外部制御点を示す式、または1~15の整数式 - Point
ポイントデータを表すSpelPoint - XCoord
外部制御点X座標 - YCoord
外部制御点Y座標 - ZCoord
外部制御点Z座標 - UCoord
外部制御点U座標 - VCoord
外部制御点V座標 (省略可) - WCoord
外部制御点W座標 (省略可)
参照
ArmSet, ECP, GetECP, TLSet
ECPSet 使用例
VB 例:
m_spel.ECPSet(1, 100.5, 99.3, 0, 0)
C# 例:
m_spel.ECPSet(1, 100.5, 99.3, 0, 0);
EnableEvent メソッド, Spelクラス
解説
EventReceivedイベントのシステムイベントを有効にします。
書式
Sub EnableEvent (EventNumber As RCAPINet.SpelEvents, Enabled as Boolean)
パラメーター
- EventNumber
有効/無効にするイベント - Enabled
イベントを有効にするにはTrue、無効にするにはFalse
参照
EventReceived
EnableEvent 使用例
VB 例:
With m_spel
.EnableEvent(RCAPINet.SpelEvents.ProjectBuildStatus, True)
.BuildProject()
End With
C# 例:
m_spel.EnableEvent(RCAPINet.SpelEvents.ProjectBuildStatus, true);
m_spel.BuildProject();
ExecuteCommand メソッド, Spelクラス
解説
コマンドをEpson RC+に送り、それが完了するまで待ちます。
書式
Sub ExecuteCommand (Command As String [, ByRef Reply As String])
パラメーター
- Command
SPEL+コマンドに等しい文字列 - Reply
任意の返答を返します
コメント
通常、ExecuteCommandは必要ありません。Spelメソッドを実行することで、ほとんどの操作ができます。しかし、SPEL+マルチステートメントを実行するのが望ましい場合があります。マルチステートメントとは、セミコロンで区切られたステートメントが2個以上含まれる1行コマンドのことです。ExecuteCommandで、マルチステートメントを実行できます。
例: SPELCom1.ExecSPELCmd “JUMP pick; ON tipvac”
コマンドラインの長さは、最大200文字です。
参照
Pause
ExecuteCommand 使用例
VB 例:
m_spel.ExecuteCommand("JUMP P1\!D50; ON 1\!")
C# 例:
m_spel.ExecuteCommand("JUMP P1\!D50; ON 1\!");
FBusIO_GetBusStatus メソッド, Spelクラス
解説
指定したフィールドバスの状態を返します。
書式
Function FBusIO_GetBusStatus (BusNumber As Integer) As Integer
パラメーター
- BusNumber
フィールドバスシステム番号を表す整数値この番号は必ず16で、コントローラーのPC側にあるフィールドバスマスターボードに接続されているバスのIDです。
戻り値
0 - OK
1 - 未接続
2 - パワーオフ
コメント
注意
このメソッドは、フィールドバスマスターオプションが有効のときのみ使用できます。
参照
FBusIO_GetDeviceStatus, FBusIO_SendMsg, IsOptionActive
FBusIO_GetBusStatus 使用例
VB 例:
Dim val As Integer
val = m_spel.FBusIO_GetBusStatus(16)
C# 例:
int busStatus;
busStatus = m_spel.FbusIO_GetBusStatus(16);
FBusIO_GetDeviceStatus メソッド, Spelクラス
解説
指定したフィールドバスデバイスの状態を返します。
書式
Function FBusIO_GetDeviceStatus (BusNumber As Integer, DeviceID As Integer) As Integer
パラメーター
- BusNumber
フィールドバスシステム番号を表す整数値この番号は必ず16で、コントローラーのPC側にあるフィールドバスマスターボードに接続されているバスのIDです。 - DeviceID
デバイスのフィールドバスIDを表す整数値
戻り値
0 - OK
1 - 未接続
2 - パワーオフ
3 - 同期エラー: デバイスが初期化中、またはデバイスのボーレートが正しくありません。
コメント
注意
このメソッドは、フィールドバスマスターオプションが有効のときのみ使用できます。
参照
FBusIO_GetBusStatus, FBusIO_SendMsg, IsOptionActive
FBusIO_GetDeviceStatus 使用例
VB 例:
Dim val As Integer
val = m_spel.FBusIO_GetDeviceStatus(16, 10)
C# 例:
dev
ideStatus = m_spel.FbusIO_GetDeviceStatus(16, 10);
FBusIO_SendMsg メソッド, Spelクラス
解説
フィールドバスI/Oデバイスに、メッセージを送り、回答を返します。
書式
Sub FBusIO_SendMsg (BusNumber As Integer, DeviceID As Integer, MsgParam As Integer, SendData As Byte(), ByRef RecvData As Byte())
パラメーター
- BusNumber
フィールドバスシステム番号を表す整数値この番号は必ず16で、コントローラーのPC側にあるフィールドバスマスターボードに接続されているバスのIDです。 - DeviceID
デバイスのフィールドバスIDを表す整数値 - MsgParam
メッセージパラメーターを表す整数式DeviceNetには使用できません。 - SendData
デバイスに送信されるデータをByte型の配列で指定します。この配列の次元は、送信されるバイト数の次元と同じでなくてはなりません。データを送信しない場合は、“0”を指定します。 - RecvData
デバイスから受信されるデータをByte型の配列で指定します。この配列は自動的に受信したバイト数に応じた次元数に変換されます。
コメント
注意
このメソッドは、フィールドバスマスターオプションが有効のときのみ使用できます。
参照
FBusIO_GetBusStatus, FBusIO_GetDeviceStatus, IsOptionActive
FBusIO_SendMsg 使用例
VB 例:
'DeviceNetにメッセージを送る
Dim recvData() as Byte
Dim sendData(6) as Byte
Array.Clear(sendData, 0, sendData.Length)
sendData(0) = 14 'コマンド
sendData(1) = 1 'クラス
sendData(3) = 1 'インスタンス
sendData(5) = 7 '属性
' DeviceNetのMsgParamは0
m_spel.FbusIO_SendMsg(16, 1, 0, sendData, recvData)
' Profibusにメッセージを送る
Dim recvData() As Byte;
m_spel.FbusIO_SendMsg(16, 1, 56, Nothing, recvData);
C# 例:
// DeviceNetにメッセージを送る
byte[] sendData, recvData;
byte[] sendData = new byte[6];
Array.Clear(sendData, 0, sendData.Length);
sendData[0] = 14; //コマンド
sendData[1] = 1; //クラス
sendData[3] = 1; //インスタンス
sendData[5] = 7; //属性
// DeviceNetのMsgParamは0
m_spel.FbusIO_SendMsg(16, 201, 0, sendData, out recvData);
// Profibusにメッセージを送る
byte[] recvData;
m_spel.FbusIO_SendMsg(16, 1, 56, null, out recvData);
FGGet メソッド, Spelクラス
解説
フォースガイドシーケンス、またはフォースガイドオブジェクトのリザルトを取得します。
書式
Sub FGGet (Sequence As String, [Object As String], Property As SpelForceProps, ByRef Result As Boolean)
Sub FGGet (Sequence As String, [Object As String], Property As SpelForceProps, ByRef Result As Double)
Sub FGGet (Sequence As String, [Object As String], Property As SpelForceProps, ByRef Result As Integer)
Sub FGGet (Sequence As String, [Object As String], Property As SpelForceProps, ByRef Result As String)
パラメーター
- Sequence
フォースガイドシーケンス名、またはフォースガイドシーケンス名を示す文字列変数 - Object
フォースガイドオブジェクト名、またはフォースガイドオブジェクト名を示す文字列変数フォースガイドシーケンスのリザルトを取得する場合は省略します。 - Property
値を得るリザルトの名前 - Result
返される値を示す変数数と型は、リザルトによって異なります。
参照
FGRun
FGGet 使用例
VB 例:
Dim val As Integer
m_spel.MotorsOn = True
m_spel.FGRun("Sequence1")
m_spel.FGGet("Sequence1","", SpelForceProps.EndStatus, val)
C# 例:
int errCode;
m_spel.MotorsOn = true;
m_spel.FGRun("Sequence1");
m_spel.FGGet("Sequence1","", SpelForceProps.EndStatus, val);
FGRun メソッド, Spelクラス
解説
フォースガイドシーケンスを実行します。
書式
Sub FGRun (Sequence As String)
パラメーター
- Sequence
フォースガイドシーケンス名、またはフォースガイドシーケンス名を示す文字列変数
コメント
指定したフォースガイドシーケンスを実行します。フォースガイドシーケンスはFGRunステートメントを実行した位置で開始されます。想定する開始位置へGoステートメントやMoveステートメントなどの動作命令で移動してから実行してください。
FGRunは、指定したフォースガイドシーケンスが終了したとき、次のステートメントへ進みます。
FGRunで実行したシーケンスの結果を取得する場合は、FGGetを用います。
CPパラメーター、またはCPステートメントでパスモーションを有効にしている場合、停止するまで待機してからフォースガイドシーケンスを実行します。
実行開始時に、次の条件のいずれかを満たしている場合、エラーになります。
プログラムで指定しているロボットとRobotNumberプロパティーで指定しているロボットが異なるRobotステートメントで正しいロボットを指定してください。
プログラムで指定しているロボットタイプとRobotTypeプロパティーで指定しているロボットタイプが異なるRobotステートメントで正しいロボットを指定してください。
プログラムで指定しているツール番号とRobotToolプロパティーで指定しているツール番号が異なるToolステートメントで正しいTool番号を指定してください。
モーターがオフ状態Motorステートメントでオン状態にしてください。
力制御機能の実行中FCEndステートメントで力制御を停止してください。
コンベヤートラッキング動作中Cnv_AbortTrackステートメントでコンベヤートラッキングを停止してください。
トルク制御モード中TCステートメントでトルク制御モードを無効にしてください。
FGRunは、実行すると下記プロパティーを自動的に上書きするため、下記プロパティーと併用できません。
FMオブジェクト
AvgForceClearプロパティー
PeakForceClearプロパティー
プログラム実行中は、本メソッドを実行できません。
参照
FGGet
FGRun 使用例
VB 例:
Dim errCode As Integer
m_spel.MotorsOn = True
m_spel.FGRun("Sequence1")
errCode = m_spel.FGGet("Sequence1", SpelForceProps.EndStatus, val)
C# 例:
int errCode;
m_spel.MotorsOn = true;
m_spel.FGRun("Sequence1");
errCode = m_spel.FGGet("Sequence1", SpelForceProps.EndStatus, val);
Find メソッド, Spelクラス
解説
動作命令中に座標を保存するための条件を設定します。
書式
Sub Find (Condition As String)
パラメーター
- Condition
トリガーとする入力状態を指定します。
参照
Go, Jump
Find 使用例
VB 例:
m_spel.Find("Sw(5) = On")
C# 例:
m_spel.Find("Sw(5) = On");
Fine メソッド, Spelクラス
解説
目標位置の位置決め終了判断範囲を設定します。
書式
Sub Fine (J1MaxErr As Integer, J2MaxErr As Integer, J3MaxErr As Integer, J4MaxErr As Integer , J5MaxErr As Integer, J6MaxErr As Integer [, J7MaxErr As Integer][, J8MaxErr As Integer] [, J9MaxErr As Integer])
パラメーター
- J1MaxErr - J9MaxErr
各関節の許容位置エラーを表わす整数値 (0~32767)第7, 8, 9関節の値は省略可能
参照
Weight
Fine 使用例
VB 例:
m_spel.Fine(1000, 1000, 1000, 1000, 0, 0)
C# 例:
m_spel.Fine(1000, 1000, 1000, 1000, 0, 0);
GetAccel メソッド, Spelクラス
解説
指定した加減速度の値を返します。
書式
Function GetAccel (ParamNumber As Integer) As Integer
パラメーター
- ParamNumber
以下の値を持つ整数式1: 加速設定値2: 減速設定値3: Jumpで使用する退避加速設定値4: Jumpで使用する退避減速設定値5: Jumpで使用する接近加速設定値6: Jumpで使用する接近減速設定値
戻り値
指定した加減速度の値を指定する整数値
参照
Accel
GetAccel使用例
VB 例:
Dim x As Integer
x = m_spel.GetAccel(1)
C# 例:
int x;
x = m_spel.GetAccel(1);
GetArm メソッド, Spelクラス
解説
カレントロボットのカレントアームの番号を返します。
書式
Function GetArm () As Integer
戻り値
カレントアーム番号を表す整数値
参照
Arm, ArmSet, Robot, Tool
GetArm 使用例
VB 例:
saveArm = m_spel.GetArm()
m_spel.Arm(2)
C# 例:
m_spel.Arm(2);
GetConnectionInfo メソッド, Spelクラス
解説
コントローラー接続の情報を返します。
書式
Function GetConnectionInfo() As SpelConnectionInfo()
戻り値
SpelConnectionInfoの配列
参照
GetControllerInfo
戻り値
GetConnectionInfoは、SpelConnectionInfoの配列を返します。接続情報はEpson RC+の[セットアップ]-[PCとコントローラ接続]ダイアログで設定します。
GetConnectionInfo 使用例
VB 例:
Dim info() As SpelConnectionInfo
info = m_spel.GetConnectionInfo()
C# 例:
SpelConnectionInfo[] info = m_spel.GetConnectionInfo();
GetControllerInfo メソッド, Spelクラス
解説
コントローラー情報を返します。
書式
Function GetControllerInfo() As SpelControllerInfo
戻り値
SpelControllerInfoインスタンス
参照
GetErrorMessage, GetRobotInfo, GetTaskInfo
コメント
GetControllerInfoは、コントローラー情報プロパティーを含む、“SpelControllerInfo class”の新規インスタンスを返します。
GetControllerInfo使用例
VB 例:
Dim info As SpelControllerInfo
Dim msg As String
info = m_spel.GetControllerInfo()
msg = "Project Name: " & info.ProjectName & vbCrLf _
& "Project ID: " & info.ProjectID
MsgBox(msg)
C# 例:
SpelControllerInfo info;
string msg;
info = m_spel.GetControllerInfo();
msg = "Project Name:" + info.ProjectName + "\r\n ProjectID :" +
"info.ProjectID";
MessageBox.Show(msg);
GetCurrentConnectionInfo メソッド, Spelクラス
解説
現在のコントローラー接続の情報を返します。
書式
Function GetCurrentConnectionInfo () As SpelConnectionInfo
戻り値
SpelConnectionInfo
参照
GetConnectionInfo, GetControllerInfo
GetCurrentConnectionInfo 使用例
VB 例:
Dim info As SpelConnectionInfo
info = m_spel.GetCurrentConnectionInfo()
C# 例:
SpelConnectionInfo info;
info = m_spel.GetCurrentConnectionInfo();
GetCurrentUser メソッド, Spelクラス
解説
Epson RC+ 8.0のカレントユーザーを返します。
書式
Function GetCurrentUser () As String
戻り値
カレントユーザーを表す文字列
参照
Login
GetCurrentUser 使用例
VB 例:
Dim currentUser As String
currentUser = m_spel.GetCurrentUser()
C# 例:
string currentUser;
currentUser = m_spel.GetCurrentUser();
GetECP メソッド, Spelクラス
解説
カレントロボットの、現在のECP番号を返します。
書式
Function GetECP () As Integer
戻り値
カレントECP番号を表す整数値
参照
ECP, ECPSet
GetECP 使用例
VB 例:
saveECP = m_spel.GetECP()
m_spel.ECP(2)
C# 例:
saveECP = m_spel.GetECP();
m_spel.ECP(2);
GetErrorMessage メソッド, Spelクラス
解説
指定したエラーコード、または警告コードのエラーメッセージを返します。
書式
Function GetErrorMessage (ErrorCode As Integer) As String
パラメーター
- ErrorCode
エラーメッセージを返すエラーコード
戻り値
エラーメッセージを表す文字列
参照
ErrorCode
GetErrorMessage使用例
VB 例:
Dim msg As String
If m_spel.ErrorOn Then
msg = m_spel.GetErrorMessage(m_spel.ErrorCode)
MsgBox(msg)
End If
C# 例:
string msg;
if (m_spel.ErrorOn) {
msg = m_spel.GetErrorMessage(m_spel.ErrorCode);
MessageBox.Show(msg);
}
GetIODef メソッド, Spelクラス
解説
入力, 出力の定義情報、またはメモリーI/Oビット, バイト, 文字を取得します。
書式
Sub GetIODef(Type As SpelIOLabelTypes, Index As Integer, ByRef Label as String, ByRef Description As String)
パラメーター
- Type
下に示すようにI/Oタイプを指定 InputBit = 1 InputByte = 2 InputWord = 3 OutputBit = 4 OutputByte = 5 OutputWord = 6 MemoryBit = 7 MemoryByte = 8 MemoryWord = 9 InputReal = 10 OutputReal = 11 - Index
ビット番号、あるいはポート番号を指定 - Label
ラベルを返す - Description
記述を返す
戻り値
LabelやDescriptionパラメーター
コメント
カレントプロジェクトのすべてのI/Oで使用されているI/OGetIODefを取得します。
参照
SetIODef
GetIODef使用例
VB 例:
Dim label As String
Dim desc As String
m_spel.GetIODef(SpelIOLabelTypes.InputBit, 0, label, desc)
C# 例:
string label, desc;
m_spel.GetIODef(SpelIOLabelTypes.InputBit, 0, out label, out desc);
GetJRange メソッド, Spelクラス
解説
指定した関節の許容動作エリアパルス値 (レンジ設定値)を取得します。
書式
Function GetJRange (JointNumber As Integer, Bound As Integer) As Integer
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数) - Bound
下記の2つの値のいずれかを、整数値で指定します。1: 下限パルス値を指定2: 上限パルス値を指定
戻り値
指定関節のレンジ設定値 (整数値、単位: パルス)を返します。
参照
JRange
GetJRange 使用例
VB 例:
Dim val1 As Integer
Dim val2 As Integer
val1 = m_spel.GetJRange(1, 1)
val2 = m_spel.GetJRange(1, 2)
C# 例:
int minRange, maxRange;
minRange = m_spel.GetJRange(1, 1);
maxRange = m_spel.GetJRange(1, 2);
GetLimitTorque メソッド, Spelクラス
解説
カレントロボットの、指定した関節の最大トルク値を返します。
書式
Function GetLimitTorque (JointNumber As Integer) As Integer
パラメーター
- JointNumber
軸番号を示す整数値
戻り値
指定した関節の最大トルク設定を表す1~9の整数値
参照
GetRealTorque, GetRobotPos, LimitTorque
GetLimitTorque 使用例
VB 例:
Dim j1LimitTorque As Integer
j1LimitTorque = m_spel.GetLimitTorque(1)
C# 例:
int j1LimitTorque;
j1LimitTorque = m_spel.GetLimitTorque(1);
GetLimZ メソッド, Spelクラス
解説
現在のLimZの設定を返します。
書式
Function GetLimZ () As Single
戻り値
LimZの値を表す実数値
参照
LimZ, Jump
GetLimZ 使用例
VB 例:
saveLimZ = m_spel.GetLimZ()
m_spel.LimZ(-22)
C# 例:
saveLimZ = m_spel.GetLimZ();
m_spel.LimZ(-22);
GetPoint メソッド, Spelクラス
解説
ロボットポイントの座標データを取り出します。
書式
Function GetPoint (PointNumber As Integer) As SpelPoint
Function GetPoint (PointName As String) As SpelPoint
パラメーター
- PointNumber
コントローラーのカレントロボットのポイントメモリーにあるポイントを示す整数式 - PointName
文字列で、修飾文字を含むポイントラベル Pxxx, P*, "*" が使用できます。
戻り値
SpelPointの値
参照
SetPoint
GetPoint 使用例
VB 例:
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 25.0
m_spel.Go(pt)
C# 例:
SpelPoint pt;
pt = m_spel.GetPoint("P0");
pt.X = 25.0;
m_spel.Go(pt);
GetRealTorqueメソッド, Spelクラス
解説
カレントロボットの指定した関節のトルク値を返します。
書式
Function GetRealTorque (JointNumber As Integerer) As Double
パラメーター
- JointNumber
トルク値を取得したい関節の番号を示す整数
戻り値
現在のパワーモードにおける指定した軸の最大トルクに対する割合を0から1のDoubleの値で返します。
参照
GetLimitTorque, GetRobotPos
GetRealTorque 使用例
VB 例:
Dim j1Torque As Integer
j1Torque = m_spel.GetRealTorque(1)
C# 例:
double j1Torque;
j1Torque = m_spel.GetRealTorque(1);
GetRobotInfo メソッド, Spelクラス
解説
ロボット情報を返します。
書式
Function GetRobotInfo (RobotNumber As Integer) As SpelRobotInfo
パラメーター
- RobotNumber
ロボット番号を指定
戻り値
SpelRobotInfo
参照
GetControllerInfo, GetTaskInfo
GetRobotInfo 使用例
VB 例:
Dim info As SpelRobotInfo
Dim msg As String
info = m_spel.GetRobotInfo(1)
msg = "Robot Model: " & info.RobotModel & vbCrLf _
& "Robot Serial: " & info.RobotSerial
MsgBox(msg)
C# 例:
SpelRobotInfo info;
string msg;
info = m_spel.GetRobotInfo(1);
msg = "Robot Model: " + info.RobotModel +
"\r\n Robot Serial: " + info.RobotSerial;
MessageBox.Show(msg);
GetRobotPos メソッド, Spelクラス
解説
現在のロボットの位置を返します。
書式
Function GetRobotPos( PosType As SpelRobotPosType, Arm As Integer, Tool As Integer, Local As Integer) As Single()
パラメーター
- PosType
位置データのタイプを指定 - Arm
アームを指定する整数式 - Tool
Toolを指定する整数式 - Local
Localを指定する整数式
戻り値
9つの要素を含むデータタイプ配列。PosTypeで指定したタイプによって異なります。
World X, Y, Z, U, V, W, R, S, T
Joint J1, J2, J3, J4, J5, J6, J7, J8, J9
Pulse Pls1, Pls2, Pls3, Pls4, Pls5, Pls6, Pls7, Pls8, Pls9
参照
GetPoint
GetRobotPos 使用例
VB 例:
Dim values() As Single
values = m_spel.GetRobotPos(SpelRobotPosType.World, 0, 0, 0)
C# 例:
float[] values;
values = m_spel.GetRobotPos(SpelRobotPosType.World, 0, 0, 0);
GetSpeed メソッド, Spelクラス
解説
3つあるカレントロボットのスピード設定の中から、指定した設定の動作速度を返します。
書式
Function GetSpeed (ParamNumber As Integer) As Integer
パラメーター
- ParamNumber
下記のうちの1つを求める整数式1: PTP動作速度2: Jump退避速度3: Jump接近速度
戻り値
1~100の整数値
参照
Speed
GetSpeed使用例
VB 例:
Dim ptpSpeed As Integer
ptpSpeed = m_spel.GetSpeed(1)
C# 例:
ptp
Speed = m_spel.GetSpeed(1);
GetTaskInfo メソッド, Spelクラス
解説
タスク情報を返します。
書式
Function GetTaskInfo (TaskName As String) As SpelTaskInfo
Function GetTaskInfo (TaskNumber As Integer) As SpelTaskInfo
パラメーター
- TaskName
タスク名を指定 - TaskNumber
タスク番号を指定
戻り値
SpelTaskInfo
参照
GetControllerInfo, GetRobotInfo
GetTaskInfo 使用例
VB 例:
Dim info As SpelTaskInfo
Dim msg As String
info = m_spel.GetTaskInfo(1)
msg = "Task Name: " & info.TaskName & vbCrLf _
& "Task State: " & info.State
MsgBox(msg)
C# 例:
SpelTaskInfo info;
string msg;
info = m_spel.GetTaskInfo(1);
msg= "Task Name: " + info.TaskName +
"\r\n Task State: " + info.State;
MessageBox.Show(msg);
GetTool メソッド, Spelクラス
解説
カレントロボットの現在設定されているツールの番号を返します。
書式
Function GetTool () As Integer
戻り値
ツール番号を表す整数値
参照
Arm, TLSet, Tool
GetTool 使用例
VB 例:
saveTool = m_spel.GetTool()
m_spel.Tool(2)
C# 例:
saveTool = m_spel.GetTool();
m_spel.Tool(2);
GetVar メソッド, Spelクラス
解説
コントローラーのSPEL+バックアップ変数の値を返します。
書式
Function GetVar(VarName As String) As Object
パラメーター
- VarName
SPEL+バックアップ変数名配列の場合、配列全体もしくは配列要素を1つだけ返します。
戻り値
GetVarは、コントローラーのカレントプロジェクトにある、どのバックアップ変数の値でも検索することができます。プロジェクトは、値を検索する前に、完全にビルドされている必要があります。
配置全体を検索したい場合は、配列名をVarNameで提供します。配置要素を1つだけ検索したい場合は、VarName(number)を指定します。
コメント
コントローラーのカレントプロジェクトの、バックアップ変数の値を取得するには、GetVarを使用します。値を取得する前に、必ずプロジェクトをビルドしてください。
参照
SetVar
GetVar使用例
SPEL+プロジェクトで、変数を宣言する例:
Global Preserve Integer g_myIntVar
Global Preserve Real g_myRealArray(10)
Global Preserve String g_myStringVar$
Function main
...
Fend
Visual Basicプロジェクトでの例:
g_myIntVarを整数として宣言しているため、g_myInVarの値を取得するVisual Basic変数は整数として宣言してください。g_myRealArrayの場合、Single型変数の配列として宣言してください。
Dim myIntVar As Integer
Dim myRealArray() As Single
Dim myStringVar As String
myIntVar = m_spel.GetVar("g_myIntVar")
myRealArray = m_spel.GetVar("g_myRealArray")
myStringVar = m_spel.GetVar("g_myStringVar$")
C# プロジェクトでの例:
g_myIntVarを整数として宣言しているため、g_myInVarの値を取得するC#変数は整数として宣言してください。g_myRealArrayの場合、Float型変数の配列として宣言してください。
int myIntVar;
float[] myRealArray;
string myStringVar;
myIntVar = m_spel.GetVar("g_myIntVar");
myRealArray = m_spel.GetVar("g_myRealArray");
myStringVar = m_spel.GetVar("g_myStringVar$");
Go メソッド, Spelクラス
解説
現在位置から指定ポイント、またはX, Y, Z, U, V, W位置までをPTP動作でアームを移動させます。GO命令は、ロボットアームのすべての関節を同時に移動させることができます。
書式
Sub Go (PointNumber As Integer)
Sub Go (Point As SpelPoint)
Sub Go (Point As SpelPoint, AttribExpr As String)
Sub Go (PointExpr As String)
パラメーター
書式には、アームがGO命令により動作する終点を指定するパラメーターがあります。この終点は、PTP動作で移動する最終位置です。
- PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、終点を指定 - Point
SpelPointデータタイプを使用して、終点を指定 - AttribExpr
文字列式を使用して終点の属性を指定します。
CP, LJM, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。 - PointExpr
文字列式を使用して終点を指定
CP, LJM, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
Accel, Speed
Arc, Arc3, CVMove, Jump, Jump3, Jump3CP, Move
BGo, BMove, TGo, TMove
Arch, Find, Sense, Till
Go 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.Go(100)
' SpelPointを使用して指定
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 125.5
m_spel.Go(pt)
' ポイント式を使用して指定
m_spel.Go("P0 /L /2")
m_spel.Go("P1 :Z(-20)")
' 並列処理を指定する場合
m_spel.Go("P1 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.Go("pick")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.Go(100);
// SpelPointを使用して指定
SpelPoint pt;
pt = m_spel.GetPoint("P0");
pt.X = 125.5;
m_spel.Go(pt);
// ポイント式を使用して指定
m_spel.Go("P0 /L /2");
m_spel.Go("P1 :Z(-20)");
// 並列処理を指定する場合
m_spel.Go("P1 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.Go("pick");
Halt メソッド, Spelクラス
解説
指定したタスクの実行を一時停止します。
書式
Sub Halt (TaskNumber As Integer)
Sub Halt (TaskName As String)
パラメーター
- TaskNumber
一時停止するタスクのタスク番号 (1~32) - TaskName
一時停止するタスク名を示す文字列式
注意
Callメソッドで実行したファンクションは、Haltメソッドでタスクの一時停止はできません。
一時停止したい場合は、Xqtメソッドを使用してください。
参照
Resume, Xqt
Halt 使用例
VB 例:
m_spel.Halt(3)
C# 例:
m_spel.Halt(3);
Here メソッド, Spelクラス
解説
現在位置でポイントをティーチングします。
書式
Sub Here (PointNumber As Integer)
Sub Here (PointName As String)
パラメーター
- PointNumber
カレントロボットのポイントメモリーにあるポイントを示す整数式0から始まっていれば、どの有効なポイント番号でも使用できます。 - PointName
ポイントラベルを示す文字列式
参照
SetPoint
Here 使用例
VB 例:
m_spel.Here("P20")
C# 例:
m_spel.Here("P20");
HideWindow メソッド, Spelクラス
解説
ShowWindowメソッドで表示したEpson RC+ウィンドウを非表示にします。
書式
Sub HideWindow (WindowID As SpelWindows)
パラメーター
- WindowID
非表示にするEpson RC+ 8.0ウィンドウのID
参照
RunDialog, ShowWindow
HideWindow使用例
VB 例:
Sub btnHideIOMonitor_Click _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnHideIOMonitor.Click
m_spel.HideWindow(RCAPINet.SpelWindows.IOMonitor)
End Sub
C# 例:
void btnHideIOMonitor_Click(object sender, EventArgs e)
{
m_spel.HideWindow(RCAPINet.SpelWindows.IOMonitor);
}
Home メソッド, Spelクラス
解説
ロボットアームを、HomeSetメソッドを使って設定したユーザー定義のホーム位置に移動させます。
書式
Sub Home ()
参照
HomeSet, MCal
Home 使用例
VB 例:
With m_spel
.MotorsOn = True
.Home()
End With
C# 例:
m_spel.MotorsOn = true;
m_spel.Home();
Hofs メソッド, Spelクラス
解説
各関節のエンコーダー原点からソフトウェア原点への補正パルス値を読み込み、または設定します。
書式
Function Hofs (JointNumber As Integer) As Integer
Sub Hofs (J1Pulses As Integer, J2Pulses As Integer, J3Pulses As Integer, J4Pulses As Integer, [J5Pulses As Integer], [J6Pulses As Integer], [ J7Pulses As Integer], [J8Pulses As Integer] , [J9Pulses As Integer])
パラメーター
- J1Pulses - J9Pulses
第1~9関節のパルス値を表す整数J5Pulses - J9Pulsesは省略可能
戻り値
指定した関節の補正パルス値 (整数値、単位: パルス)を返します。
コメント
本メソッドは、原点補正パルス値を表示または設定します。本メソッドは、エンコーダー原点 (Z相)からメカ原点までのオフセット値を設定します。
ロボット動作制御は、各関節に搭載されたエンコーダーの原点に基づいていますが、エンコーダー原点がロボットのメカ原点と必ずしも一致するわけではありません。そこで、メカ原点と一致するエンコーダーの位置をソフトウェア上の原点とするために、本メソッドにより補正パルス量を設定します。
注意
Hofs値は、必要な時以外、絶対に変更しないでください
Hofs値は工場出荷時に精密に設定されています。不必要にこの値を変更すると、位置決めエラーや思わぬ動作の原因になり危険です。必要な時以外は、Hofs値を絶対に変更しないようにしてください。
Hofs値を自動的に演算するには
Hofs値を自動的に演算するためには、アームをキャリブレーションしたい位置まで動かし、Calibを実行します。そうすると、CalPlsパルス値およびキャリブレーション位置パルス値に基づき、コントローラーが自動的にHofs値を演算します。
Hofsの保存と復元
Hofsは、[システム設定]メニュー-[システム設定]ダイアログ-[ロボット]-[キャリブレーション]にある[保存]および[読み込み]を使って保存および復元することができます。
参照
CalPls, Home, Hordr, MCal
Hofs 使用例
VB 例:
Dim val As Integer
val = m_spel.Hofs(1)
C# 例:
int val;
val = m_spel.Hofs(1);
HomeSet メソッド, Spelクラス
解説
Homeメソッドを使って位置を指定します。
書式
Sub HomeSet (J1Pulses As Integer, J2Pulses As Integer, J3Pulses As Integer, J4Pulses As Integer ,J5Pulses As Integer, J6Pulses As Integer [, J7Pulses As Integer] [, J8Pulses As Integer][, J9Pulses As Integer])
パラメーター
- J1Pulses - J9Pulses
各関節のホームポジションエンコーダーパルス値第7, 8, 9関節は省略可能
参照
Home、MCal
HomeSet 使用例
VB 例:
' 現在位置をホーム位置に設定
With m_spel
.HomeSet(.Pls(1), .Pls(2), .Pls(3), .Pls(4), 0, 0)
End With
C# 例:
// 現在位置をホーム位置に設定
m_spel.HomeSet(m_spel.Pls(1), m_spel.Pls(2), m_spel.Pls(3),
m_spel.Pls(4), 0 ,0);
Hordr メソッド, Spelクラス
解説
HOMEポジションに戻る軸の順番を指定します。
書式
Sub Hordr (Home1 As Integer, Home2 As Integer, Home3 As Integer, Home4 As Integer, Home5 As Integer, Home6 As Integer [, Home7 As Integer] [, Home8 As Integer] [, Home9 As Integer])
パラメーター
- Home 1 - 9
原点復帰処理の各ステップでホームに戻る軸を示すビットパターン0から全軸までの必要な軸数を第1ステップでホームに戻すことができます。Home 7 - 9は、R, S, Tの軸設定をしているときのみ指定できます。
参照
Home, HomeSet, Mcordr
Hordr 使用例
VB 例:
m_spel.Hordr(2, 13, 0, 0, 0, 0)
C# 例:
m_spel.Hordr(2, 13, 0, 0, 0, 0);
Hour メソッド, Spelクラス
解説
積算通電時間を時間 (hour)単位で返します。
書式
Function Hour () As Single
戻り値
時間を表す実数値
Hour 使用例
VB 例:
Dim hoursRunning As Long
hoursRunning = m_spel.Hour()
C# 例:
float hoursRunning;
hoursRunning = m_spel.Hour();
ImportPoints メソッド, Spelクラス
解説
現在使用しているロボットのカレントプロジェクトにポイントファイルをインポートします。
書式
Sub ImportPoints (SourcePath As String, ProjectFileName As String [, RobotNumber As Integer])
パラメーター
- SourcePath
カレントプロジェクトにインポートするファイルとその特定パスを表わす文字列式拡張子に.ptsをつけます。 - ProjectFileName
現在使用しているロボット、あるいはRobotNumberが提供されていれば指定したロボットのプロジェクトにインポートされる特定のファイルを表わす文字列式拡張子に.ptsをつけます。 - RobotNumber
ポイントファイルが使用されるロボットを表す整数式 (省略可)0を指定すると、ポイントファイルになります。
参照
SavePoints
ImportPoints 使用例
VB 例:
With m_spel
.ImportPoints("c:\mypoints\model1.pts", "robot1.pts")
End With
C# 例:
m_spel.ImportPoints(@"c:\mypoints\model1.pts", "robot1.pts");
In メソッド, Spelクラス
解説
指定したI/O入力ポートのステータスをバイト単位で返します。1バイトは8ビットで構成されます。
書式
Function In (PortNumber As Integer) As Integer
Function In (Label As String) As Integer
パラメーター
- PortNumber
入力ポートを表わす整数各ポートは8ビット (1バイト)で構成されています。 - Label
入力バイトラベルを示す文字列式
戻り値
入力ポートの状態を表す0~255の整数
参照
InBCD, Out, OpBCD, Sw
In 使用例
VB 例:
Dim port1Value As Integer
port1Value = m_spel.In(1)
C# 例:
int port1Value;
port1Value = m_spel.In(1);
InBCD メソッド, Spelクラス
解説
BCD形式 (2進化10進)で8ビットの入力ステータスを返します。
書式
Function InBCD (PortNumber As Integer) As Integer
Function InBCD (Label As String) As Integer
パラメーター
- PortNumber
入力ポートを表わす整数 - Label
入力バイトのラベルを示す文字列式
戻り値
入力ポートの状態を表す0~9の整数
参照
In, Out, OpBCD, Sw
InBCD 使用例
VB 例:
Dim port1Value As Integer
port1Value = m_spel.InBCD(1)
C# 例:
int port1Value;
port1Value = m_spel.InBCD(1);
Inertia メソッド, Spelクラス
解説
カレントロボットの慣性負荷と偏心量を指定します。
書式
Sub Inertia (LoadInertia As Single, Eccentricity As Single)
パラメーター
- LoadInertia
ハンドとパーツを含むハンドの関節の中心における慣性モーメント (イナーシャ)の合計値を表す実数 (単位: kgm2) - Eccentricity
ハンドとパーツを含むハンドの関節の中心における偏心量を表す実数(単位: mm)
参照
Weight
Inertia 使用例
VB 例:
m_spel.Inertia(0.02, 1.0)
C# 例:
m_spel.Inertia(0.02, 1.0);
Initialize メソッド, Spelクラス
解説
Spelクラスインスタンスを初期化します。
書式
Sub Initialize ()
コメント
通常、最初のメソッドが実行されると、Spelクラスインスタンスは自動的に初期化されます。Epson RC+がメモリーにロードするため、初期化には数秒かかります。そのため、アプリケーション起動の初期でInitializeを呼び出すようにしてください。
ServerInstanceに従い、RC+をサーバープロセスとして起動します。それぞれのServerInstanceは1つのコントローラー、1つのプロジェクトに対応しています。ServerInstanceプロパティーを使用する場合は、初期化を実行する前に設定されている必要があります。
参照
Connect, Disconnect, ServerInstance
Initialize使用例
VB 例:
m_spel.Initialize()
C# 例:
m_spel.Initialize();
InReal メソッド, Spelクラス
解説
2ワード (32ビット)の入力データを32ビット浮動小数点データ (IEEE754準拠)として読み込みます。
書式
Function InReal (PortNumber As Integer) As Single
パラメーター
- PortNumber
入力ポートを表わす整数
戻り値
入力ポートの状態を32ビット浮動小数点データ (IEEE754準拠)で返します。
参照
In, InBCD, InW, Out, OutW, OutReal
InReal 使用例
VB 例:
Dim val As Single
val = m_spel.InReal(32)
C# 例:
float val;
val = m_spel.InReal(32);
InsideBox メソッド, Spelクラス
解説
進入検出エリアの検出状態を返します。
書式
Function InsideBox (BoxNumber As Integer) As Boolean
パラメーター
- BoxNumber
検出状態を返す進入検出エリアの番号 (1~15の整数)
戻り値
指定した進入検出エリア内にロボットハンドが進入しているときはTrue、そうでなければFalse
参照
Box, InsidePlane
InsideBox使用例
VB 例:
Dim isInside As Boolean
isInside = m_spel.InsideBox(1)
C# 例:
bool isInside;
isInside = m_spel.InsideBox(1);
InsidePlane メソッド, Spelクラス
解説
進入検出平面の検出状態を返します。
書式
Function InsidePlane (PlaneNumber As Integer) As Boolean
パラメーター
- PlaneNumber
検出状態を返す進入検出平面の番号 (1~15の整数)
戻り値
指定した進入検出平面にロボットハンドが進入しているときはTrue、そうでなければFalse
参照
InsideBox, Plane
InsidePlane使用例
VB 例:
Dim isInside As Boolean
isInside = m_spel.InsidePlane(1)
C# 例:
bool isInside;
isInside = m_spel.InsidePlane(1);
InW メソッド, Spelクラス
解説
指定した入力ポートのステータスをワード単位で返します。1ワードは16入力ビットで構成されています。
書式
Function InW (PortNumber As Integer) As Integer
Function InW (Label As String) As Integer
パラメーター
- PortNumber
入力ポートを表わす整数 - Label
入力ワードラベルを表す文字列式
戻り値
入力ポートを表す0~65535の整数値
参照
In, InBCD, Out, OpBCD, Sw
InW使用例
VB 例:
Dim data As Integer
data = m_spel.InW(0)
C# 例:
int data;
data = m_spel.InW(0);
IsOptionActive メソッド, Spelクラス
解説
ソフトウェアオプションの状態を返します。
書式
Function IsOptionActive (option As SpelOptions) As Boolean
パラメーター
- option
オプション番号を表す整数
戻り値
False - 無効
True - 有効
参照
GetControllerInfo
IsOptionActive 使用例
VB 例:
Dim ret As Boolean
ret = m_spel.IsOptionActive(SpelOptions.FieldbusMaster)
C# 例:
bool ret;
ret = m_spel.IsOptionActive(SpelOptions.FieldbusMaster);
JRange メソッド, Spelクラス
解説
指定した関節の許容動作範囲をパルス単位で定義します。
書式
Sub JRange (JointNumber As Integer, LowerLimitPulses As Integer, UpperLimitPulses As Integer)
パラメーター
- jointNumber
JRangeを指定する関節を表わす整数 (1~9) - LowerLimitPulses
指定した関節の下限範囲のパルス値を表す整数 - UpperLimitPulses
指定した関節の上限範囲のパルス値を表わす整数
参照
XYLim
JRange 使用例
VB 例:
m_spel.JRange(1, -30000, 30000)
C# 例:
m_spel.JRange(1, -30000, 30000);
JS メソッド, Spelクラス
解説
Jump命令 (Sense入力を使用)を完了する前にアームが停止したかどうか、またはアームがJump動作を完了させたかを検出します。
書式
Function JS () As Boolean
戻り値
動作中にSense入力条件が成立したときはTrue、そうでなければFalse
参照
Jump, Jump3, Jump3CP, Sense, Till
JS 使用例
VB 例:
With m_spel
.Sense("Sw(1) = On")
.Jump("P1 Sense")
stoppedOnSense = .JS()
End With
C# 例:
m_spel.Sense("Sw(1) = On");
m_spel.Jump("P1 Sense");
stoppedOnSense = m_spel.JS();
JTran メソッド, Spelクラス
解説
関係する関節動作を実行します。
書式
Sub JTran (JointNumber As Integer, Distance As Single)
パラメーター
- JointNumber
移動する指定関節 - Distance
移動する距離回転する関節は 度 単位、直線移動する関節はミリメートル単位で表します。
参照
PTran、Pulse
JTran 使用例
VB 例:
' 第1関節を正方向に45度移動
m_spel.JTran(1, 45.0)
C# 例:
// 第1関節を正方向に45度移動
m_spel.JTran(1, 45.0);
Jump メソッド, Spelクラス
解説
最初に垂直方向へ上昇し、それから水平方向へ移動し、最後に垂直方向へ下降して、最終目的ポイントへ到達するPTP動作を使って、アームをカレントポジションから指定したポイントまで移動します。
書式
Sub Jump (PointNumber As Integer)
Sub Jump (Point As SpelPoint)
Sub Jump (Point As SpelPoint, AttribExpr As String)
Sub Jump (PointExpr As String)
パラメーター
書式には、アームがJump命令により動作する終点を指定するパラメーターがあります。この終点は、PTP動作で移動する最終位置です。
PointNumber コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、終点を指定
- Point
SpelPointデータタイプを使用して、終点を指定 - AttribExpr
文字列式を使用して終点の属性を指定します。
Cアーチ番号, LimZ, CP, SYNC, Sence, TillまたはFindの検索式, 並列処理の命令文を含むことができます。 - PointExpr
文字列式を使用して終点を指定
Cアーチ番号, LimZ, CP, SYNC, Sence, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
Accel, Speed,
Arc, Arc3, CVMove, Go, Jump3, Jump3CP, Move
BGo, BMove, TGo, TMove
Arch, Find, Sense, Till
Jump 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.Jump(100)
' SpelPointを使用して指定
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 125.5
m_spel.Jump(pt)
' ポイント式を使用して指定
m_spel.Jump("P0 /L /2")
m_spel.Jump("P1 :Z(-20)")
m_spel.Jump("P1 C0")
m_spel.Jump("P1 C0 LimZ -10")
m_spel.Jump("P1 C0 Sense Sw(0)=On")
' 並列処理を指定する場合
m_spel.Jump("P1 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.Jump("pick")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.Jump(100);
// SpelPointを使用して指定
SpelPoint pt;
pt = m_spel.GetPoint("P0");
pt.X = 125.5;
m_spel.Jump(pt);
// ポイント式を使用して指定
m_spel.Jump("P0 /L /2");
m_spel.Jump("P1 :Z(-20)");
m_spel.Jump("P1 C0");
m_spel.Jump("P1 C0 LimZ -10");
m_spel.Jump("P1 C0 Sense Sw(0)=On");
//並列処理を指定する場合
m_spel.Jump("P1 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.Jump("pick");
Jump3 メソッド, Spelクラス
解説
2つのCP動作と1つのPTP動作を組み合わせた3次元ゲート動作で、アームを移動します。ロボットは、退避点に移動してから接近開始点に移動し、最後に目標地点に移動します。
書式
Sub Jump3 (DepartPoint As Integer, ApproPoint As Integer, DestPoint As Integer)
Sub Jump3 (DepartPoint As SpelPoint, ApproPoint As SpelPoint, DestPoint As SpelPoint)
Sub Jump3 (DepartPoint As String, ApproPoint As String, DestPoint As String)
パラメーター
- DepartPoint
現在位置より上の退避点を、ポイント番号またはポイント式を示す文字列で指定 - ApproPoint
目標座標より上の接近開始点を、ポイント番号またはポイント式を示す文字列で指定 - DestPoint
動作の到達する目標座標を、ポイント番号またはポイント式を示す文字列で指定
Cアーチ番号, CP, LJM, SYNC, Sence, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
Accel, AccelR, AccelS, Speed, SpeedR, SpeedS
Arc, Arc3, CVMove, Go, Jump, Jump3CP, Move
BGo, BMove, TGo, TMove
Arch, Find, Sense, Till
Jump3 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.Jump3(1, 2, 3)
' SpelPointを使用して指定
Dim pd As SpelPoint
Dim pa As SpelPoint
Dim pt As SpelPoint
pd = m_spel.GetPoint("P*")
pd.Z = 125.5
pa = m_spel.GetPoint("P2")
pa.Z = 125.5
pt = m_spel.GetPoint("P2")
m_spel.Jump3(pd, pa, pt)
' ポイント式を使用して指定
m_spel.Jump3("P1", "P2", "P3 C0")
m_spel.Jump3("P1", "P2", "P3 C0 Sense Sw(0)=On")
m_spel.Jump3("P0 -TLZ(10), P1 -TLZ(10), P1")
' 並列処理を指定する場合
m_spel.Jump3("P1", "P2", "P3 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.Jump3("depart", "approach", "place")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.Jump3(1, 2, 3);
// SpelPointを使用して指定
SpelPoint pd, pa, pt;
pd = m_spel.GetPoint("P1");
pd.Z = 125.5;
pa = m_spel.GetPoint("P2");
pa.Z = 125.5;
pt = m_spel.GetPoint("P2");
m_spel.Jump3(pd, pa, pt);
// ポイント式を使用して指定
m_spel.Jump3("P1", "P2", "P3 C0");
m_spel.Jump3("P1", "P2", "P3 C0 Sense Sw(0)=On");
m_spel.Jump3("P0 -TLZ(10), P1 -TLZ(10), P1");
//並列処理を指定する場合
m_spel.Jump3("P1", "P2", "P3 \!D50; On 1; D90; Off 1\!");
//ポイントラベルで指定
m_spel.Jump3("depart", "approach", "place");
Jump3CP メソッド, Spelクラス
解説
3つのCP動作を組み合わせた3次元ゲート動作で、アームを移動します。
書式
Sub Jump3CP (DepartPoint As Integer, ApproPoint As Integer, DestPoint As Integer)
Sub Jump3CP(DepartPoint As SpelPoint, ApproPoint As SpelPoint, DestPoint As SpelPoint)
Sub Jump3CP(DepartPoint As String, ApproPoint As String, DestPoint As String)
パラメーター
- DepartPoint
現在位置より上の退避点を、ポイント番号またはポイント式を示す文字列で指定 - ApproPoint
目標座標より上の接近開始点をポイント番号またはポイント式を示す文字列で指定 - DestPoint
動作の到達する目標座標をポイント番号またはポイント式を示す文字列で指定
ROT, Cアーチ番号, CP, LJM, SYNC, Sence, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
AccelR, AccelS, SpeedR, SpeedS
Arc, Arc3, CVMove, Go, Jump, Jump3, Move
BGo, BMove, TGo, TMove
Arch, Find, Sense, Till
Jump3CP 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.Jump3CP(1, 2, 3)
' SpelPointを使用して指定
Dim pd As SpelPoint
Dim pa As SpelPoint
Dim pt As SpelPoint
pd = m_spel.GetPoint("P*")
pd.Z = 125.5
pa = m_spel.GetPoint("P2")
pa.Z = 125.5
pt = m_spel.GetPoint("P2")
m_spel.Jump3CP(pd, pa, pt)
' ポイント式を使用して指定
m_spel.Jump3CP("P1", "P2", "P3 C0")
m_spel.Jump3CP("P1", "P2", "P3 C0 Sense Sw(0)=On")
m_spel.Jump3CP("P1", "P2", "P3 \!D50; On 1; D90; Off 1\!")
' 並列処理を指定する場合
m_spel.Jump3CP("P0 -TLZ(10), P1 -TLZ(10), P1")
' ポイントラベルで指定
m_spel.Jump3CP("depart", "approch", "place")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.Jump3CP(1, 2, 3);
// SpelPointを使用して指定
SpelPoint pd, pa, pt;
pd = m_spel.GetPoint("P0");
pd.Z = 125.5;
pa = m_spel.GetPoint("P2");
pa.Z = 125.5;
pt = m_spel.GetPoint("P2");
m_spel. Jump3CP(pd, pa, pt);
// ポイント式を使用して指定
m_spel.Jump3CP("P1", "P2", "P3 C0");
m_spel.Jump3CP ("P1", "P2", "P3 C0 Sense Sw(0)=On");
m_spel.Jump3CP("P0 -TLZ(10), P1 -TLZ(10), P1");
//並列処理を指定する場合
m_spel.Jump3CP("P1", "P2", "P3 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.Jump3CP("depart", "approch", "place");
LimitTorque メソッド, Spelクラス
解説
カレントロボットのハイパワー状態における上限トルク値を設定します。
書式
Sub LimitTorque (AllJointsMax As Integer)
Sub LimitTorque (J1Max As Integer, J2Max As Integer, J3Max As Integer, J4Max As Integer, J5Max As Integer, J6Max As Integer)
パラメーター
- AllJointsMax
ハイパワー状態におけるすべての関節の上限トルク値を示す整数式 - J1Max - J6Max
ハイパワー状態における各関節の上限トルク値を示す整数式
戻り値
指定した関節の上限トルク設定を表す整数値 (1~9)
参照
GetRealTorque, GetRobotPos
LimitTorque 使用例
VB 例:
Dim j1LimitTorque As Integer
j1LimitTorque = m_spel.LimitTorque(1)
C# 例:
int j1LimitTorquel
j1LimitTorque = m_spel.LimitTorque(1);
LimZ メソッド, Spelクラス
解説
Jump命令でのZ軸高さの初期値を設定します。
書式
Sub LimZ (ZLimit As Single)
パラメーター
- ZLimit
Z軸の可動範囲内にある座標値
参照
Jump
LimZ 使用例
VB 例:
saveLimZ = m_spel.GetLimZ()
m_spel.LimZ(-22)
C# 例:
saveLimZ = m_spel.GetLimZ();
m_spel.LimZ(-22);
LoadPoints メソッド, Spelクラス
解説
カレントロボットのSPEL+ポイントファイルをコントローラーのポイントメモリーにロードします。
書式
Sub LoadPoints (PointFileName As String [, Merge As Boolean])
パラメーター
- PointFileName
カレントプロジェクトで有効なポイントファイル - Merge
現在のポイントを指定のポイントファイルに統合するときに設定(省略可)
参照
ImportPoints、SavePoints
LoadPoints 使用例
VB 例:
With m_spel
.LoadPoints("part1.pts")
End With
C# 例:
m_spel.LoadPoints("part1.pts");
Local メソッド, Spelクラス
解説
ローカル座標系を定義します。
書式
Sub Local (LocalNumber As Integer, OriginPoint As SpelPoint, [XAxisPoint As SpelPoint], [YAxisPoint As SpelPoint])
Sub Local (LocalNumber As Integer, LocalPoint1 As Integer, BasePoint1 As Integer, LocalPoint2 As Integer, BasePoint2 As Integer)
Sub Local (LocalNumber As Integer, LocalPoint1 As String, BasePoint1 As String, LocalPoint2 As String, BasePoint2 As String)
パラメーター
- LocalNumbe
ローカル座標系番号合計15 (整数値1~15)のローカル座標系を定義できます。 - OriginPoint
ローカル座標系の原点をあらわすSpelPoint変数 - XAxisPoint
ローカル座標系のX軸上のポイントを表すSpelPoint変数(省略可) - YAxisPoint
ローカル座標系のY軸上のポイントを表すSpelPoint変数(省略可) - LocalPoint1, LocalPoint2
ローカル座標系のポイントデータを示す整数、あるいは文字列で指定します。 - BasePoint1,BasePoint2
ベース座標系のポイントデータを示す整数、あるいは文字列で指定します。
参照
Base
Local 使用例
VB 例:
Dim originPoint As New SpelPoint
originPoint.X = 100
originPoint.Y = 50
m_spel.Local(1, originPoint)
C# 例:
SpelPoint originPoint = new SpelPoint();
originPoint.X = 100;
originPoint.Y = 50;
m_spel.Local(1, originPoint);
LocalClr メソッド, Spelクラス
解説
定義したローカル座標系をクリアします。
書式
Sub LocalClr (LocalNumber As Integer)
パラメーター
- LocalNumber
15のローカル座標系のうち、クリア (未定義に)する座標系の番号(整数値1~15)
参照
Local, LocalDef
LocalClr使用例
VB 例:
m_spel.LocalClr(1)
C# 例:
m_spel.LocalClr(1);
LocalDef メソッド, Spelクラス
解説
ローカルの定義状態を返します。
書式
Function LocalDef (LocalNumber As Integer) As Boolean
パラメーター
- LocalNumber
状態を返すローカル座標系の番号を示す整数(1~15)
戻り値
指定したローカルが定義されていればTrue、そうでなければFalse
参照
Local, LocalClr
LocalDef使用例
VB 例:
Dim localExists As Boolean
localExists = m_spel.LocalDef(1)
C# 例:
bool localExists;
localExists = m_spel.LocalDef(1);
Login メソッド, Spelクラス
解説
他のユーザーとしてEpson RC+ 8.0にログインします。
書式
Sub Login (LoginID As String, Password As String)
パラメーター
- LoginID
ユーザーのログインIDを表す文字式 - Password
ユーザーパスワードを表す文字式
コメント
アプリケーションでEpson RC+ 8.0セキュリティーを利用できます。例えば、他のユーザーにシステムへのログインを許可するメニューを表示できます。ユーザーのタイプごとに、それぞれのセキュリティー権があります。セキュリティーについての詳細は、Epson RC+ ユーザーズガイドを参照してください。
セキュリティーは有効になっていて、LogInを実行しない場合は、Visual Basicアプリケーションはゲストユーザーとしてログインされます。または、自動ログインがEpson RC+ 8.0で有効なら、ユーザーがEpson RC+ 8.0で設定されていれば、カレントWindowsユーザーとして、アプリケーションは自動的にログインされます。
参照
GetCurrentUser
Login 使用例
VB 例:
With m_spel
.Project = "c:\EpsonRC80\projects\myproject\myproject.sprj"
.LogIn("operator", "oprpass")
End With
C# 例:
m_spel.Project = @"c:\EpsonRC80\projects\myproject\myproject.sprj";
m_spel.LogIn("operator", "oprpass");
MCal メソッド, Spelクラス
解説
インクリメンタルエンコーダーを使ったロボットのMCalを実行します。
書式
Sub MCal ()
参照
MCalComplete, MotorsOn
MCal 使用例
VB 例:
If Not m_spel.MCalComplete() Then
m_spel.MCal()
End If
C# 例:
if (\!m_spel.MCalComplete())
m_spel.MCal();
MCalComplete メソッド, Spelクラス
解説
MCalが完了していれば、Trueを返します。
書式
Function MCalComplete () As Boolean
戻り値
MCalが完了していたときはTrue、そうでなければFalse
参照
MCal
MCalComplete 使用例
VB 例:
If m_spel.MCalComplete() Then
lblStatus.Text = "MCal Complete"
Else
lblStatus.Text = "MCal Not Complete"
End If
C# 例:
if (m_spel.MCalComplete())
lblStatus.Text = "MCal Complete";
else
lblStatus.Text = "MCal Not Complete";
Mcordr メソッド, Spelクラス
解説
MCalで軸が移動する順番を指定します。
書式
Sub MCordr (Step1 As Integer, Step2 As Integer, Step3 As Integer, Step4 As Integer, Step5 As Integer, Step6As Integer, [Step7 As Integer], [Step8 As Integer], [Step9 As Integer])
パラメーター
- Step 1 - 9
MCalの各ステップでホームに戻る軸を示すビットパターン0本から全軸すべて、または、どの軸数でも、第1ステップでホームへ戻ります。Step 7 - 9はオプションで、7軸以上のロボットのために用意してあります。
参照
Home, HomeSet, Hordr, Mcal
Mcordr 使用例
VB 例:
m_spel.Mcordr(2, 13, 0, 0, 0, 0)
C# 例:
m_spel.Mcordr(2, 13, 0, 0, 0, 0);
MemIn メソッド, Spelクラス
解説
指定したメモリーI/Oバイトポートのステータスを返します。1バイトは8メモリーI/Oビットで構成されます。
書式
Function MemIn (PortNumber As Integer) As Integer
Function MemIn (Label As String) As Integer
パラメーター
- PortNumber
メモリーI/Oポートを表わす整数 - Label
メモリーI/Oバイトラベルを表す文字列式
戻り値
入力ポートの状態を表す0~255の整数値
参照
In, InBCD, MemOut, MemSw, Sw, Off, On, Oport
MemIn 使用例
VB 例:
data = m_spel.MemIn(1)
C# 例:
data = m_spel.MemIn(1);
MemInW メソッド, Spelクラス
解説
指定したメモリーI/Oワードポートのステータスを返します。1ワードは16ビットで構成されます。
書式
Function MemInW (PortNumber As Integer) As Integer
Function MemInW (Label As String) As Integer
パラメーター
- PortNumber
メモリーI/Oポートを表す整数値 - Label
メモリーI/Oのワードラベルを表す文字列
戻り値
入力ポートの状態を表す0~65535の整数値
参照
In, InBCD, MemIn, MemSw, Sw, Off, On, Oport
MemInW 使用例
VB 例:
data = m_spel.MemInW(1)
C# 例:
data = m_spel.MemInW(1);
MemOff メソッド, Spelクラス
解説
メモリーI/Oの指定したビットをオフにします。
書式
Sub MemOff (BitNumber As Integer)
Sub MemOff (Label As String)
パラメーター
- BitNumber
メモリーI/Oビットを表わす整数式 - Label
メモリーI/Oビットラベルを表す文字列式
参照
In, InBCD, MemOut, MemSw, Sw, Off, On, Oport
MemOff 使用例
VB 例:
m_spel.MemOff(500)
C# 例:
m_spel.MemOff(500);
MemOn メソッド, Spelクラス
解説
メモリーI/Oの指定したビットをオンにします。
書式
Sub MemOn (BitNumber As Integer)
Sub MemOn (Label As String)
パラメーター
- BitNumber
メモリーI/Oビットを表わす整数式 - Label
メモリーI/Oビットラベルを表す文字列式
参照
In, InBCD, MemOut, MemSw, Sw, Off, On, Oport
MemOn 使用例
VB 例:
m_spel.MemOn(500)
C# 例:
m_spel.MemOn(500);
MemOut メソッド, Spelクラス
解説
8個のメモリーI/Oビットを同時に設定します。
書式
Sub MemOut (PortNumber As Integer, Value As Integer)
Sub MemOut (Label As String, Value As Integer)
パラメーター
- PortNumber
メモリーI/Oバイトを表わす整数式 - Label
メモリーI/Oバイトラベルを表す文字列式 - Value
指定したバイトの出力グループの出力パターンを表わす整数式有効範囲: 0~255
参照
In, InBCD, MemIn, MemSw, Sw, Off, On, Oport
MemOut 使用例
VB 例
m_spel.MemOut(2, 25)
C# 例:
m_spel.MemOut(2, 25);
MemOutW メソッド, Spelクラス
解説
16個のメモリーI/Oビットを同時に設定します。
書式
Sub MemOutW (PortNumber As Integer, Value As Integer)
Sub MemOutW (Label As String, Value As Integer)
パラメーター
- PortNumber
メモリーI/Oワードを示す整数式 - Label
メモリーI/Oワードラベルを表す文字列式 - Value
出力データ (整数0~65535)を式、あるいは数字で指定
参照
In, InBCD, MemIn, MemSw, Sw, Off, On, Oport
MemOutW 使用例
VB 例:
m_spel.MemOutW(2, 25)
C# 例:
m_spel.MemOutW(2, 25);
MemSw メソッド, Spelクラス
解説
指定したメモリーI/Oビットの状態を返します。
書式
Function MemSw (BitNumber As Integer) As Boolean
Function MemSw (Label As String) As Boolean
パラメーター
- BitNumber
メモリーI/Oビットの1つを表わす整数式 - Label
メモリーI/Oビットラベルを表す文字列式
戻り値
指定したメモリーI/OビットがオンのときTrue、そうでなければFalse
参照
In, InBCD, MemIn, Sw, Off, On, Oport
MemSw 使用例
VB 例:
If m_spel.MemSw(10) Then
m_spel.On(2)
End If
C# 例:
if (m_spel.MemSw(10))
m_spel.On(2);
Move メソッド, Spelクラス
解説
CP動作 (直線上を移動する動作)を使って、カレントポジションから指定したポイントまでアームを移動します。
書式
Sub Move (PointNumber As Integer)
Sub Move (Point As SpelPoint)
Sub Move (Point As SpelPoint, AttribExpr As String)
Sub Move (PointExpr As String)
パラメーター
書式には、アームがMove命令により動作する目標位置を指定するパラメーターがあります。この目標位置は、直線挿入動作で移動する最終位置です。
PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、目標位置を指定
- Point
SpelPointデータタイプを使用して、目標位置を指定 - AttribExpr
文字列式を使用して終点の属性を指定します。
ROT, ECP, CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。 - PointExpr
文字列式を使用して目標位置を指定
ROT, ECP, CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
AccelR, AccelS, SpeedR, SpeedS
Arc, Arc3, CVMove, Go, Jump, Jump3, Jump3CP
BGo, BMove, TGo, TMove
Arch, ECP, Find, Till
Move 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.Move(100)
' SpelPointを使用して指定
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 125.5
m_spel.Move(pt)
' ポイント式を使用して指定
m_spel.Move("P0 /L /2 ROT")
m_spel.Move("P1 :Z(-20)")
' 並列処理を指定する場合
m_spel.Move("P1 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.Move("pick")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.Move(100);
// SpelPointを使用して指定
SpelPoint pt;
pt = m_spel.GetPoint("P0");
pt.X = 125.5;
m_spel.Move(pt);
// ポイント式を使用して指定
m_spel.Move("P0 /L /2 ROT");
m_spel.Move("P1 :Z(-20)");
// 並列処理を指定する場合
m_spel.Move("P1 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.Move("pick");
Off メソッド, Spelクラス
解説
指定したI/Oビットの出力をオフにします。
書式
Sub Off (BitNumber As Integer)
Sub Off (Label As String)
パラメーター
- BitNumber
標準、または拡張出力ビットを表す整数式 - Label
出力ビットラベルを表す文字列式
参照
On, Oport, Out, OutW
Off 使用例
VB 例:
m_spel.Off(1)
C# 例
m_spel.Off(1);
OLRate メソッド, Spelクラス
解説
指定関節の過負荷率を返します。
書式
Function OLRate (JointNumber As Integer) As Single
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数)
戻り値
指定された関節の過負荷率を返します。戻り値は、0.0~2.0です。
コメント
OLRateは、サイクルが関節に過剰な負担をかけていないかチェックします。負荷の多いサイクルで使用すると温度や電流がサーボエラーの原因となることがあります。OLRate で、ロボットがサーボエラーの起きやすい状態にあるかどうか、チェックします。
サイクル運転中、OLRateをモニターする別のタスクを実行します。もし、OLRateが1.0を超える関節があれば、サーボエラーが起きます。
サーボエラーは、負荷が過剰になったときが最も発生しやすくなります。テストサイクル時にOLRate を使って、速度や加減速度設定を確認し、実使用時にサーボエラーが発生しないよう予防的措置をとることができます。
有効値を得るために、本メソッドはロボットの動作中に実行してください。
適正な負荷の状態では、本メソッドを使用することはありません。
OLRate 使用例
VB 例:
Dim data As Single
data = m_spel.OLRate(1)
C# 例:
float data;
data = m_spel.OLRate(1);
On メソッド, Spelクラス
解説
指定したI/Oビットの出力をオンにします。
書式
Sub On (BitNumber As Integer)
Sub On (Label As String)
パラメーター
- BitNumber
標準または拡張出力ビットを表す整数式 - Label
出力ビットラベルを表す文字列式
参照
Off, Oport, Out, OutW
On 使用例
VB 例:
m_spel.On(1)
C# 例:
m_spel.On(1);
OpBCD メソッド, Spelクラス
解説
BCD (2進化10進)形式で、8つの出力ビットを同時に設定します。
書式
OpBCD (PortNumber As Integer, Value As Integer)
OpBCD (Label As String, Value As Integer)
パラメーター
- PortNumber
I/Oポートを表す整数各ポートは、8つの出力ビット (1バイト)で構成されています。 - Value
指定したポートの出力パターンを表わす整数 (0~99)2番目の位 (1の位)は、ポートの下位4出力ビットを表し、1番目の位 (10の位)は、ポートの上位4出力ビットを表します。
参照
Off, Out, Sw
OpBCD 使用例
VB 例:
m_spel.OpBCD(1, 25)
C# 例:
m_spel.OpBCD(1, 25);
Oport メソッド, Spelクラス
解説
指定したI/Oの出力ビットのステータスを返します。
書式
Function Oport (BitNumber As Integer) As Boolean
Function Oport (Label As String) As Boolean
パラメーター
- BitNumber
標準と拡張出力ビットを表す整数式 - Label
出力ビットラベルを表す文字列
戻り値
出力ビットがONのときはTrue、そうでなければFalse
参照
Off, On, OpBCD, Out, Sw
Oport 使用例
VB 例:
If m_spel.Oport(1) Then
m_spel.On(2)
End If
C# 例:
if(m_spel.Oport(1))
m_spel.On(2);
Out メソッド, Spelクラス
解説
8つの出力ビット (1バイト)を同時に読み出す、または設定します。
書式
Sub Out (PortNumber As Integer, Value As Integer)
Sub Out (Label As String, Value As Integer)
Function Out (PortNumber As Integer) As Integer
Function Out (Label As String) As Integer
パラメーター
- PortNumber
出力ポートを表す整数 - Label
出力バイトラベルを表す文字列式 - Value
出力ポートの出力パターンを表す整数 (0~255)16進法で表すと、&H0から&HFFまでの範囲になります。
戻り値
出力ポートの状態を表す0~255の整数値
参照
InBCD, OpBCD, Oport, OutW, Sw
Out 使用例
VB 例:
m_spel.Out(1, 240)
C# 例:
m_spel.Out(1, 240);
OutReal メソッド, Spelクラス
解説
出力ポートの状態を32ビット浮動小数点データ (IEEE754準拠)として取得、または設定します。
書式
Function OutReal (WordPortNumber As Integer) As Single
Sub OutReal (WordPortNumber As Integer, Value As Single)
パラメーター
- WordPortNumber
出力ポートを表す整数 - Value
出力データを表す実数値
戻り値
指定した出力ポートの状態を32ビット浮動小数点データ (IEEE754準拠)で返します。
参照
In, InBCD, InReaql, InW, Out, OutW
OutReal 使用例
VB 例:
Dim val As Single
val = m_spel.OutReal(32)
C# 例:
float val;
val = m_spel.OutReal(32);
OutW メソッド, Spelクラス
解説
16個の出力ビット (1ワード)を同時に読み出し、または設定します。
書式
Sub OutW (PortNumber As Integer, Value As Integer)
Sub OutW (Label As String, Value As Integer)
Function OutW (PortNumber As Integer) As Integer
Function OutW (Label As String) As Integer
パラメーター
- PortNumber
出力ポートを表す整数 - Label
出力ワードラベルを表す文字列式 - Value
出力ポートの出力パターンを表す整数 (0~65535)16進法で表すと、&H0から&HFFFFまでの範囲になります。
戻り値
出力ポートの状態を表す0~65535の整数値
参照
InBCD, OpBCD, Oport, Out, Sw
OutW 使用例
VB 例:
m_spel.OutW(1, 240)
C# 例:
m_spel.OutW(1, 240);
PAgl メソッド, Spelクラス
解説
指定したポイントの、選択した回転軸の関節角度、または指定したポイントの選択した直線軸の位置を返します。
書式
Function PAgl (PointNumber As Integer, JointNumber As Integer) As Single
Function PAgl (Point As SpelPoint, JointNumber As Integer) As Single
Function PAgl (Label As String, JointNumber As Integer) As Single
パラメーター
- PointNumber
カレントロボットのポイントメモリーにあるポイントの番号を表す整数式 - Point
以前に初期化したSpelPoint - Label
カレントロボットのポイントメモリーになるポイントのラベルを表す文字列式 - JointNumber
関節番号を表す式、または数値 (1~9)
戻り値
指定した関節位置を表す実数値回転関節 (単位: deg), 直動関節 (単位: mm)
参照
Agl, Pls, CX - CT
PAgl 使用例
VB 例:
Dim t1Angle As Single
t1Angle = m_spel.PAgl(1, 1)
C# 例:
float t1Angle;
t1Angle = m_spel.PAgl(1, 1);
Pallet メソッド, Spelクラス
解説
パレットを定義します。
書式
Sub Pallet (PalletNumber As Integer, Point1 As String, Point2 As String, Point3 As String [, Point4 As String] , rows As Integer, columns As Integer)
パラメーター
- PalletNumber
0~15の整数で表わされるパレット番号 - Point1
1番目のパレット位置を定義するポイント変数 - Point2
2番目のパレット位置を定義するポイント変数 - Point3
3番目のパレット位置を定義するポイント変数 - Point4
4番目のパレット位置を定義するポイント変数 (省略可) - Rows
パレットの横方向のポイント数 (整数1~32767) - Columns
パレットの縦方向のポイント数 (整数1~32767)
参照
Jump, Go, SetPoint
Pallet 使用例
VB 例:
m_spel.Pallet(1, 1, 2, 3, 4, 3, 4)
C# 例:
m_spel.Pallet(1, 1, 2, 3, 4, 3, 4);
Pass メソッド, Spelクラス
解説
指定点の近傍を停止しないで通過するPTP 動作です。
書式
Sub Pass(PointNumber As Integer)
Sub Pass(PassExpr As String )
パラメーター
- PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、通過点を指定。 - PassExpr
文字列式を使用して指定。
ポイント指定[, {On | Off | MemOn | MemOff} ビット番号[,ポイント指定 ... ]] [LJM [姿勢フラグ選択]]
ポイント指定 P 番号, P(式), ポイントラベルを指定します。ポイントデータに抜けがなく、昇順、または降順に並んでいる場合は、2 つのポイント番号をコロンで結合してP(1:5)のように指定できます。
ビット番号 オン/オフするI/O 出力ビットまたは、メモリーI/O ビットを指定します。整数か出力ラベルで指定します。
LJM 待避座標、接近座標、目標座標をLJM関数で変換します。省略可能です。
姿勢フラグ選択 LJM関数に与える姿勢フラグ選択パラメーターを指定します。省略可能です。
参照
Accel, Go, Jump, Speed
Pass 使用例
VB 例:
m_spel.Jump(1)
m_spel.Pass(2) 'アームをP2 に近づけP2 に到達する前に次のコマンドを実行
m_spel.On(2)
m_spel.Pass(3)
m_spel.Pass(4)
m_spel.Off(0)
m_spel.Pass(5)
C# 例:
m_spel.Jump(1);
m_spel.Pass(2); //アームをP2 に近づけP2 に到達する前に次のコマンドを実行
m_spel.On(2);
m_spel.Pass(3);
m_spel.Pass(4);
m_spel.Off(0);
m_spel.Pass(5);
Pause メソッド, Spelクラス
解説
コントローラーの通常のSPEL+タスクをすべて一時停止します。作業中のロボットは、ただちに停止します。
書式
Sub Pause ()
注意
Callメソッドで実行したファンクションは、Pauseメソッドで一時停止はできません。
一時停止したい場合は、Xqtメソッドを使用してください。
参照
Continue、EventReceived、Stop
Pause使用例
VB 例:
Sub btnPause_Click()_
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnPause.Click
m_spel.Pause()
btnPause.Enabled = False
btnContinue.Enabled = True
End Sub
C# 例:
void btnPause_Click(object sender, EventArgs e)
{
m_spel.Pause();
btnPause.Enabled = false;
btnContinue.Enabled = true;
}
PDef メソッド, Spelクラス
解説
指定したポイントが定義されているかを返します。
書式
Function PDef (PointNumber As Integer) As Boolean
パラメーター
- PointNumber
カレントロボットのポイントメモリーにあるポイントの番号を表す整数式
戻り値
指定したポイントが定義されているときはTrue、そうでなければFalse
参照
PDel
PDef使用例
VB 例:
Dim p1Defined As Boolean
p1Defined = m_spel.PDef(1)
C# 例:
bool p1Defined;
p1Defined = m_spel.PDef(1);
PDel メソッド, Spelクラス
解説
指定したポイントデータを削除します。
書式
Sub PDel (FirstPointNumber As Integer [, LastPointNumber As Integer])
パラメーター
- FirstPointNumber
削除する範囲の最初のポイントを指定する整数式 - LastPointNumber
削除する範囲の最後のポイントを指定する整数式 (省略可)省略した場合、FirstPointNumberで指定したポイントのみ削除されます。
参照
PDef, LoadPoints, Clear, SavePoints
PDel 使用例
VB 例:
m_spel.PDel(1, 10)
m_spel.SavePoints("model1.pts")
C# 例:
m_spel.PDel(1, 10);
m_spel.SavePoints("model1.pts");
PeakSpeed メソッド, Spelクラス
解説
指定した関節のピーク速度を返します。
書式
Function PeakSpeed (JointNumber As Integer) As Single
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数)
戻り値
-1~1までの実数値で返します。
コメント
本メソッドは、関節速度の絶対値が最大となる速度に符号をつけた値を返します。最大速度は1になります。ピーク速度は、-1~1までの実数値で表わされます。
PeakSpeedClearメソッドを実行してから、本メソッドを実行し、関節のピーク速度値を表示してください。
仮想コントローラー、およびドライランの場合は、実速度ではなく指令速度からピーク速度を計算します。
本メソッドは、PG付加軸はサポートしません
参照
AvgSpeed, AvgSpeedClear, PeakSpeedClear
PeakSpeed 使用例
VB 例:
Dim val As Single
val = m_spel.PeakSpeed(1)
C# 例:
float val;
val = m_spel.PeakSpeed(1);
PeakSpeedClear メソッド, Spelクラス
解説
関節のピーク速度をクリアし、初期化します。
書式
Sub PeakSpeedClear ()
コメント
本メソッドは指定した関節のピーク速度値をクリアします。
PeakSpeedメソッド実行前に、必ず本メソッドを実行してください。
本メソッドは、PG付加軸はサポートしません。
参照
AvgSpeed, AvgSpeedClear, PeakSpeed
PeakSpeedClear 使用例
VB 例:
m_spel.PeakSpeedClear()
C# 例:
m_spel.PeakSpeedClear();
PF_Abort メソッド, Spelクラス
解説
指定されたパーツのPart Feedingのプロセス動作を強制終了します。
書式
Sub PF_Abort (PartID As Integer)
パラメーター
- PartID
パーツIDを示す整数値(1(16)
コメント
指定されたパーツのPart Feedingプロセスを、直ちに中断します。
PF_Stopメソッドと異なり、実行中のコールバック関数は中断されます。
Part Feeding動作プロセスが開始していない場合は、何もしません。
PF_Abort 使用例
VB 例:
m_spel.PF_Abort(1)
C# 例:
m_spel.PF_Abort(1);
PF_Backlight メソッド, Spelクラス
解説
フィーダー内蔵のバックライトをON OFFします。
書式
Sub PF_Backlight (FeederNumber As Integer, State As Boolean)
パラメーター
- FeederNumber
フィーダー番号を示す整数値 - State
On (True) / Off (False)を指定します
コメント
ビジョン処理をシステムが自動的に行っている場合、バックライトは自動的にOn/Offします。
PF_Visionコールバック関数を使う場合、バックライトのOn/Offに本メソッドを使用します。
PF_Backlight 使用例
VB 例:
m_spel.PF_Backlight(1, True)
C# 例:
m_spel.PF_Backlight(1, true);
PF_BacklightBrightness メソッド, Spelクラス
解説
フィーダー内蔵のバックライトの輝度を設定します。
書式
Sub PF_Backlightness (FeederNumber As Integer, Brightness As Integer)
パラメーター
- FeederNumber
フィーダー番号を示す整数値 - SBrightness
輝度を0~100の値で指定します。
コメント
通常は、内蔵バックライトの輝度は、[パーツフィーディング]ダイアログで設定されます。実行時に明るさの変更が必要な場合は、本メソッドで変更することができます。
PF_BacklightBrightness 使用例
VB 例:
m_spel.PFBacklightness(1, 80)
C# 例:
m_spel.PF_BacklightBrightness(1, 80);
PF_Name メソッド, Spelクラス
解説
パーツIDからパーツ名を取得します。
書式
Function PF_Name (PartID As Integer) As String
パラメーター
- PartID
パーツIDを示す整数値(1(16)
戻り値
指定されたパーツIDの名称を文字列で返します。
コメント
指定したパーツIDが無効の場合は、 “ ” (空文字)を返します。
PF_Name 使用例
VB 例:
Dim part1Name As String
Part1Name = m_spel.PF_Name(1)
C# 例:
string part1Name;
part1Name = m_spel.PF_Name(1);
PF_Number メソッド, Spelクラス
解説
パーツ名からパーツIDを取得します。
書式
Function PF_Number (PartName As String) As Integer
パラメーター
- PartName
パーツ名を示す文字列
戻り値
指定されたパーツ名のパーツID (整数1~16)を返します。
コメント
パーツ名が存在しないときは(1を返します。
同名のパーツが複数あるときは、最もIDの小さいものを返します。
PF_Number 使用例
VB 例:
Dim part1ID As Integer
Part1ID = m_spel.PF_Number("Part1")
C# 例:
int part1ID;
part1ID = m_spel.PF_Number("Part1");
PF_Start メソッド, Spelクラス
解説
指定されたパーツのPart Feedingプロセスを開始します。
書式
Sub PF_Start (PartID1 As Integer, [PartID2 As Integer], [PartID3 As Integer], [PartID4 As Integer])
パラメーター
- PartID1
マスターパーツIDを示す整数値(1(16) - PartID2
スレーブパーツIDを示す整数値(1(16)。省略可能 - PartID3
スレーブパーツIDを示す整数値(1(16)。省略可能 - PartID4
スレーブパーツIDを示す整数値(1(16)。省略可能
コメント
本メソッド開始前に、次の処理を実行してください。
- 使用するロボットを選択
- モーターのOn
- ログを出力する場合はPF_InitLogを実行
本メソッドを実行すると、新しいタスクが生成され、呼び出し元に制御が返されます。
このとき以下の条件である場合は、Statusコールバック関数が実行されます。Part Feedingプロセスは開始しません。
条件 | Statusコールバック関数の引数Statusの値 |
---|---|
パーツIDが無効 | PF_STATUS_BAD_ID |
パーツのパラメーター設定が無効 (Enabledがチェックされていないなど) | PF_STATUS_BAD_PARAMETER |
フィーダーキャリブレーションが未完了 | PF_STATUS_CAL_NOT_COMPLETE |
エラー発生 | PF_STATUS_ERROR |
本メソッドを同時に複数実行することはできません。実行した場合、既に実行されている処理は継続します。エラーは発生しません。
PF_Startは、通常タスクから実行してください。バックグラウンドタスクから実行した場合エラーとなります。
注意本メソッドで、存在しないパーツIDを指定した場合、7600エラーが発生します。
PF_Start 使用例
VB 例:
m_spel.PF_Start(1)
C# 例:
m_spel.PF_Start(1);
PF_Stop メソッド, Spelクラス
解説
Part Feedingプロセスの終了要求を出します。
実行中のコールバック関数があるときは、終了を待ちます。
その後、PF_CycleStopコールバック関数が実行され、プロセスが停止します。
書式
Sub PF_Stop (PartID As Integer)
パラメーター
- PartID
パーツIDを示す整数値(1(16)
コメント
Part Feedingプロセスを停止させます。
PFAbortメソッドと異なり、実行中のコールバック関数の終了を待ちます。
コールバック関数終了後、PF_CycleStopコールバック関数が実行されます。
Part Feedingプロセスが開始していない場合は何もしません。
PF_Stop 使用例
VB 例:
m_spel.PF_Stop(1)
C# 例:
m_spel.PF_Stop(1);
PLabel メソッド, Spelクラス
解説
指定したポイント番号に定義されたポイントラベルを取得、または設定します。
書式
Function PLabel (PointNumber As Integer) As String
Sub PLabel (PointNumber As Integer, PointName As String)
パラメーター
- PointNumber
ポイント番号をを示す整数値 - PointName
指定したポイントデータに使うラベルを指定する文字列
戻り値
指定したポイント番号に該当するラベルを返します。
参照
PDef
PLabel 使用例
VB 例:
Dim pt1Label As String
Pt1Label = m_spel.PLabel(1)
C# 例:
string pt1Label;
pt1Label = m_spel.PLabel(1);
Plane メソッド, Spelクラス
解説
進入検出平面を定義します。
書式
Sub Plane (PlaneNumber As Integer, Point As SpelPoint)
Sub Plane (PlaneNumber As Integer, X As Single, Y As Single, Z As Single, U As Single, V As Single, W As Single)
パラメーター
- PlaneNumber
どの進入検出平面を定義するかを示す整数 (1~15) - Point
進入検出平面の座標データを示すポイントデータ - X
進入検出平面の座標データを示すポイントのX座標 - Y
進入検出平面の座標データを示すポイントのY座標 - Z
進入検出平面の座標データを示すポイントのZ座標 - U
進入検出平面の座標データを示すポイントのU座標 - V
進入検出平面の座標データを示すポイントのV座標 - W
進入検出平面の座標データを示すポイントのW座標
参照
PlaneClr, PlaneDef
Plane使用例
VB 例:
m_spel.Plane(1, -5, 5, -10, 10, -20, 20)
C# 例:
m_spel.Plane(1, -5, 5, -10, 10, -20, 20);
PlaneClr メソッド, Spelクラス
解説
進入検出平面をクリアします。
書式
Sub PlaneClr (PlaneNumber As Integer)
パラメーター
- PlaneNumber
15の進入検出平面の中からクリアする平面を示す整数 (1~15)
参照
Plane, PlaneDef
PlaneClr使用例
VB 例:
m_spel.PlaneClr(1)
C# 例:
m_spel.PlaneClr(1);
PlaneDef メソッド, Spelクラス
解説
進入検出平面が定義されているかどうかを返します。
書式
Function PlaneDef (PlaneNumber As Integer) As Boolean
パラメーター
- PlaneNumber
進入検出平面番号を示す整数(1~15)
戻り値
指定した進入検出平面が定義されているときはTrue、そうでなければFalse
参照
Plane, PlaneClr
PlaneDef使用例
VB 例:
x = m_spel.PlaneDef(1)
C# 例:
x = m_spel.PlaneDef(1);
Pls メソッド, Spelクラス
解説
現在位置での各軸のパルス数を返します。
書式
Function Pls (JointNumber As Integer) As Integer
パラメーター
- JointNumber
現在のパルス数を得る軸を指定 (1~9)
戻り値
指定した関節の現在位置のパルス数を表す整数値
参照
Agl, Pulse
Pls 使用例
VB 例:
j1Pulses = m_spel.Pls(1)
C# 例:
j1Pulses = m_spel.Pls(1);
PTCLR メソッド, Spelクラス
解説
関節のピークトルクをクリアし、初期化します。
書式
Sub PTCLR ()
コメント
本メソッドは指定した関節のピークトルク値をクリアします。
PTRQメソッド実行前に、必ず本メソッドを実行してください。
参照
ATCLR, ATRQ, PTRQ
PTCLR 使用例
VB 例:
m_spel.PTCLR ()
C# 例:
m_spel.PTCLR();
PTPBoost メソッド, Spelクラス
解説
PTP動作微小移動時の加減速アルゴリズム調整パラメーターを設定します。
書式
Sub PTPBoost (BoostValue As Integer [, DepartBoost As Integer] [, ApproBoost As Integer])
パラメーター
- BoostValue
0~100の整数 - DepartBoost
Jump動作中のZ座標の退避調整設定値を示す整数 (0~100)(省略可) - ApproBoost
Jump動作中のZ座標の接近調整設定値を示す整数 (0~100)(省略可)
参照
PTPBoostOK
PTPBoost 使用例
VB 例:
m_spel.PTPBoost(50)
m_spel.PTPBoost(50, 30, 30)
C# 例:
m_spel.PTPBoost(50);
m_spel.PTPBoost(50, 30, 30);
PTPBoostOK メソッド, Spelクラス
解説
現在位置から目標位置へのPTP動作移動距離が、微小かどうかを返します。
書式
Function PTPBoostOK (PointNumber As Integer) As Boolean
Function PTPBoostOK (Point As SpelPoint) As Boolean
Function PTPBoostOK (PointExpr As String) As Boolean
パラメーター
書式には、確認する目標位置を指定するパラメーターがあります。
- PointNumber
カレントロボットに対して、コントローラーのポイントメモリーにある、以前にティーチしたポイントの番号を使用して目標位置を指定 - Point
SpelPointデータタイプを使用して目標位置を指定 - PointExpr
文字列式を使用して目標位置を指定
戻り値
PTP動作微小移動であればTrue、そうでなければFalse
参照
PTPBoost
PTPBoostOK使用例
VB 例:
If m_spel.PTPBoostOK(1) Then
m_spel.Go(1)
End If
C# 例:
if (m_spel.PTPBoostOK(1))
m_spel.Go(1);
PTran メソッド, Spelクラス
解説
関節動作をパルスで実行します。
書式
Sub PTran (JointNumber As Integer, Pulses As Integer)
パラメーター
- JointNumber
移動する関節 - Pulses
移動するパルス数
参照
JTran, Pulse
PTran 使用例
VB 例:
'第1関節を正方向に5000パルス移動
m_spel.PTran(1, 5000)
C# 例:
//第1関節を正方向に5000パルス移動
m_spel.PTran(1, 5000);
PTRQ メソッド, Spelクラス
解説
指定した関節のピークトルクを返します。
書式
Function PTRQ (JointNumber As Integer) As Single
パラメーター
- JointNumber
軸番号を示す整数値 (範囲: 1~ ロボットの関節数)
戻り値
0~1までの実数値で返します。
参照
ATCLR, ATRQ, PTCLR
PTRQ 使用例
VB 例:
Dim peakTorque As Single
peakTorque = m_spel.PTRQ(1)
C# 例:
float peakTorque;
peakTorque = m_spel.PTRQ(1);
Pulse メソッド, Spelクラス
解説
ロボットのアームを、すべての関節のパルス値で指定されたポイントへPTP制御で移動します。
書式
Sub Pulse (J1Pulses As Integer, J2Pulses As Integer, J3Pulses As Integer, J4Pulses As Integer [, J5Pulses As Integer ] [, J6Pulses As Integer] [, J7Pulses As Integer] [, J8Pulses As Integer] [, J9Pulses As Integer])
パラメーター
- J1Pulses - J9Pulses
第1~9関節のパルス値を表わす整数式J5Pulses - J9Pulsesは省略可能
キーポイント
パルス値は、各関節に指定された範囲内で指定してください。
参照
Go, Move, Jump
Pulse 使用例
VB 例:
m_spel.Pulse(5000, 1000, 0, 0)
C# 例:
m_spel.Pulse(5000, 1000, 0, 0);
Quit メソッド, Spelクラス
解説
指定したタスクの実行を終了させます。
書式
Sub Quit (TaskNumber As Integer)
Sub Quit (TaskName As String)
パラメーター
- TaskNumber
中断するタスクのタスク番号 (1~32) - TaskName
タスク名を表す文字列式
注意
Callメソッドで実行したファンクションを停止する場合は、Stopメソッドを使用してください。
参照
Halt, Resume, Xqt
Quit 使用例
VB 例:
m_spel.Quit(3)
C# 例:
m_spel.Quit(3);
RadToDeg メソッド, Spelクラス
解説
角度をラジアンから度に変換します。
書式
Function RadToDeg (Radians As Double) As Double
パラメーター
- Radians
度に変換するラジアン数を表わす実数値
戻り値
角度を表す実数値
参照
DegToRad
RadToDeg 使用例
VB 例:
Dim deg As Double
deg = m_spel.RadToDeg(1)
C# 例:
double deg;
deg = m_spel.RadToDeg(1);
RebootController メソッド, Spelクラス
解説
現在接続中のコントローラーに対して再起動を実行します。
書式
Sub RebootController (ShowStatusDialog As Boolean)
パラメーター
- ShowStatusDialog
再起動が完了するまでのステータス画面を表示するか設定する
True=画面表示、False=画面非表示
コメント
ShowStatusDialogを使用して、進行状況バー付きのダイアログを表示します。ダイアログ、またはAbortメソッドから、操作を中止できます。
参照
Abort
RebootController 使用例
VB 例:
m_spel.RebootController(True)
C# 例:
m_spel.RebootController(true);
RebuildProject メソッド, Spelクラス
解説
Projectプロパティーで指定したEpson RC+ 8.0のカレントプロジェクトを再度ビルドします。
書式
Sub RebuildProject ()
参照
BuildProject, EnableEvent, EventReceived, Project, ProjectBuildComplete
RebuildProject 使用例
VB 例:
With m_spel
.Project = "c:\EpsonRC80\projects\myproject\myproject.sprj"
.RebuildProject()
End With
C# 例:
m_spel.Project = @"c:\EpsonRC80\projects\myproject\myproject.sprj";
m_spel.RebuildProject();
Recover メソッド, Spelクラス
解説
Recoverは、ロボットを安全扉が開いた時点の位置まで復帰させます。
書式
Function Recover () As Boolean
コメント
Recoverは、安全扉が閉じられてから、ロボットモーターを再度オンし、ロボットを安全扉が開いた時点の位置までゆっくり戻すときに用います。Recover 動作が完了すると、Contを用いて、サイクルを継続させることができます。復帰動作が問題なく完了すると、Trueが返されますが、復帰動作中に、一時停止, 中止, 安全扉開などが起こると、Recoverは、Falseを返します。
戻り値
復帰動作が終了しているときはTrue、そうでなければFalse
参照
Continue, Pause
Recover使用例
VB 例:
Recoverを実行してContinueによりプログラム継続実行を行う例です。
Sub btnCont_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnCont.Click
Dim sts As Boolean
Dim answer As Integer
sts = m_spel.Recover()
If sts = False Then
Exit Sub
End If
answer = MsgBox("Ready to continue?", vbYesNo)
If answer = vbYes Then
m_spel.Continue()
EndIF
End sub
下記は、Recoverを実行してから、サイクルを継続する例です。この例では、ボタンを押し続けている限り、復帰動作がどのように実行されているかを示しています。復帰動作中にボタンを離すと、Pauseが発行され、復帰動作中は中止されます。復帰動作完了までボタンを押していれば、メッセージ画面が表示されます。
Sub btnRecover_MouseDown( _
ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles btnRecover.MouseDown
Dim sts As Boolean
sts = m_spel.Recover()
If sts = True Then
MsgBox("Recover complete")
EndIf
End Sub
Sub btnRecover_MouseUp( _
ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles btnRecover.MouseUp
m_spel.Pause()
End Sub
C#例:
Recoverを実行してContinueによりプログラム継続実行を行う例です。
void btnCont_Click(object sender, EventArgs e)
{
bool sts;
DialogResult answer;
sts = m_spel.Recover();
if (sts == true){
answer = MessageBox.Show("Continue?", "",
MessageBoxButtons.YesNo);
If (answer == DialogResult.Yes)
m_spel.Continue();
}
}
下記は、Recoverを実行してから、サイクルを継続する例です。この例では、ボタンを押し続けている限り、復帰動作がどのように実行されているかを示しています。復帰動作中にボタンを離すと、Pauseが発行され、復帰動作中は中止されます。復帰動作完了までボタンを押していれば、メッセージ画面が表示されます。
void btnCont_Click(object sender, EventArgs e)
{
bool sts;
sts = m_spel.Recover();
if (sts == true)
MessageBox.Show("Recover complete");
}
void btnRecover_MouseUp(oject sender, EventArgs e)
{
m_spel.Pause();
}
Reset メソッド, Spelクラス
解説
コントローラーを初期化状態にリセットします。
書式
Sub Reset ()
参照
ResetAbort
Reset使用例
VB 例:
m_spel.Reset
C# 例:
m_spel.Reset();
ResetAbort メソッド, Spelクラス
解説
Stopメソッドで設定されたアボートフラグをリセットします。
書式
Sub ResetAbort ()
コメント
Stopメソッドが実行されると、以降のSPELComメソッドがエラーとなります。本メソッドを実行するとこの状態をクリアし、SPELComメソッドを実行可能な状態に戻します。
ポイント
ResetAbortの機能を有効にするには、ResetAbortEnabledプロパティーをTrueに設定してください。
参照
Abort, Reset, ResetAbortEnabled
ResetAbort 使用例
VB 例:
Sub btnMcal_Click() Handles btnMcal.Click
m_spel.ResetAbort()
m_spel.MCal()
End Sub
C# 例:
void btnMCal_Click(object sender, EventArgs e)
{
m_spel.ResetAbort();
m_spel.MCal();
}
Resume メソッド, Spelクラス
解説
Haltメソッドで一時停止していたタスクを再開します。
書式
Sub Resume (TaskNumber As Integer)
Sub Resume (TaskName As String)
パラメーター
- TaskNumber
中断されていたタスクのタスク番号 (1~32) - TaskName
タスク名を表す文字列
参照
Quit, Xqt
Resume 使用例
VB 例:
m_spel.Resume(2)
C# 例:
m_spel.Resume(2);
RunDialog メソッド, Spelクラス
解説
Epson RC+ 8.0ダイアログを実行します。
書式
Sub RunDialog (DialogID As SpelDialogs [, Parent As Form])
パラメーター
- DialogID
実行するEpson RC+ 8.0ダイアログのID - Parent
ウィンドウのペアレントになる.NETフォーム(省略可)
参照
ShowWindow
RunDialog使用例
VB 例:
Sub btnRobotManager_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnRobotManager.Click
m_spel.RunDialog(SpelDialogs.RobotManager)
End Sub
C# 例:
void btnRobotManager_Click(object sender, EventArgs e)
{
m_spel.RunDialog(SpelDialogs.RobotManager);
}
SavePoints メソッド, Spelクラス
解説
カレントロボットのポイントをファイルに保存します。
書式
Sub SavePoints (PointFileName As String)
パラメーター
- PointFileName
カレントプロジェクトのポイントを保存するファイル名
参照
LoadPoints
SavePoints 使用例
VB 例:
With m_spel
.SavePoints("part1.pts")
End With
C# 例:
m_spel.SavePoints("part1.pts");
Senseメソッド, Spelクラス
解説
Jump, Jump3, Jump3CPでSenseを使用したときに、目標座標上空で停止させるための条件を設定します。
書式
Sub Sense (Condition As String) As Boolean
パラメーター
- Condition
I/O条件を指定詳細については、SPEL+ ランゲージリファレンス 「Sense」を参照してください。
参照
Jump, JS
Sense 使用例
VB 例:
With m_spel
.Sense("Sw(1) = On")
.Jump("P1 SENSE")
stoppedOnSense = .JS()
End With
C# 例:
m_spel.Sense("Sw(1) = On");
m_spel.Jump("P1 SENSE");
stoppedOnSense = m_spel.JS();
SetIODef メソッド, Spelクラス
解説
入力, 出力, メモリーI/Oのビット, バイト, ワードのI/Oラベルとコメントを設定します。
書式
Sub SetIODef (Type As SpelLabelTypes, Index As Integer, Label As String, Description As String)
パラメーター
- Type I/Oタイプを下のように指定 InputBit = 1 InputByte = 2 InputWord = 3 OutputBit = 4 OutputByte = 5 OutputWord = 6 MemoryBit = 7 MemoryByte = 8 MemoryWord = 9 InputReal = 10 OutputReal = 11
- Index
ビット、あるいはポート番号を指定 - Label
新しいラベルを指定 - Description
新しいコメントを指定
コメント
SetIODefは、各I/Oポイントのラベルやコメントを定義します。
参照
GetIODef
SetIODef 使用例
VB 例:
Dim label, desc As String
label = "StartCycle"
desc = "Starts the robot cycle"
m_spel.SetIODef(SpelLabelTypes.InputBit, 0, label, desc)
C# 例:
string label, desc;
label = "StartCycle";
desc = "Starts the robot cycle";
m_spel.SetIODef(SpelLabelTypes.InputBit, 0, label, desc);
SetPoint メソッド, Spelクラス
解説
カレントロボットのポイントの座標データを設定します。
書式
Sub SetPoint(PointNumber As Integer, Point As SpelPoint)
Sub SetPoint(PointLabel As String, Point As SpelPoint)
Sub SetPoint(PointNumber As Integer, X As Single, Y As Single, Z As Single, U As Single)
Sub SetPoint(PointLabel As String, X As Single, Y As Single, Z As Single, U As Single)
Sub SetPoint(PointNumber As Integer, X As Single, Y As Single, Z As Single, U As Single,Local As Integer, Hand As SpelHand)
Sub SetPoint(PointLabel As String, X As Single, Y As Single, Z As Single, U As Single,Local As Integer, Hand As SpelHand)
Sub SetPoint(PointNumber As Integer, X As Single, Y As Single, Z As Single, U As Single,V As Single, W As Single)
Sub SetPoint(PointLabel As String, X As Single, Y As Single, Z As Single, U As Single,V As Single, W As Single)
Sub SetPoint(PointNumber As Integer, X As Single, Y As Single, Z As Single, U As Single,V As Single, W As Single, Local As Integer, Hand As SpelHand, Elbow As SpelElbow, Wrist As SpelWrist, J4Flag As Integer, J6Flag As Integer)
Sub SetPoint(PointLabel As String, X As Single, Y As Single, Z As Single, U As Single,V As Single, W As Single, Local As Integer, Hand As SpelHand, Elbow As SpelElbow, Wrist As SpelWrist, J4Flag As Integer, J6Flag As Integer)
Sub SetPoint(PointNumber As Integer, X As Single, Y As Single, Z As Single, U As Single,V As Single, W As Single, S As Single, T As Single)
Sub SetPoint(PointLabel As String, X As Single, Y As Single, Z As Single, U As Single,V As Single, W As Single, S As Single, T As Single)
Sub SetPoint(PointNumber As Integer, PointExpr As String)
Sub SetPoint(PointLabel As String, PointExpr As String)
パラメーター
- PointNumber
カレントロボットのポイントメモリーにあるポイントの番号を指定する整数式 - X
指定したポイントのX座標 - Y
指定したポイントのY座標 - Z
指定したポイントのZ座標 - U
指定したポイントのU座標 - V
指定したポイントのV座標 - W
指定したポイントのW座標 - S
指定したポイントのS座標 - T
指定したポイントのT座標 - Local
指定したポイントのローカル番号ローカルがない場合は0を使用してください。 - Hand
指定したポイントのハンド姿勢 - Elbow
指定したポイントの肘姿勢 - Wrist
指定したポイントの手首姿勢 - PointExpr
文字列式を使用してポイントを指定
注意
X, Y, Z, U, V, W, S, Tパラメーターに整数値を入力しないでください。Single型の変数を使用するか、直接Single型の値を入力してください。
参照
GetPoint、LoadPoints、SavePoints
SetPoint 使用例
実行するRC+ プロジェクトのSPEL+ プログラム例:
Global Integer P_WorkDetect
Global Real offsetX, offsetY, heightZ, offsetU
Function SetOffset
P_WorkDetect = 5
offsetX = 0.5
offsetY = 0.3
heightZ = 10.0
offsetU = 1.2
Fend
VB 例:
Dim pt As SpelPoint
' P1の座標を取得
pt = m_spel.GetPoint(1)
' 座標を変更
pt.U = pt.U - 10.5
' 姿勢フラグを指定
pt.J1Flag = 1
m_spel.SetPoint(1, pt)
' RC+プロジェクトのSPEL+ファンクションを実行
m_spel.Call("SetOffset")
' 文字列式を使用して座標及び姿勢を設定
m_spel.SetPoint(2, "P(P_WorkDetect) +X(offsetX) +Y(offsetY) :Z(heightZ) +U (offsetU) /A /J1F1")
C# 例:
SpelPoint pt;
// P1の座標を取得
pt = m_spel.GetPoint(1);
// 座標を変更
pt.U = pt.U - 10.5;
// 姿勢フラグを指定
pt.J1Flag = 1;
m_spel.SetPoint(1, pt);
// RC+プロジェクトのSPEL+ファンクションを実行
m_spel.Call("SetOffset")
// 文字列式を使用して座標及び姿勢を設定
m_spel.SetPoint(2, "P(P_WorkDetect) +X(offsetX) +Y(offsetY) :Z(heightZ) +U (offsetU) /A /J1F1");
SetVar メソッド, Spelクラス
解説
コントローラーのSPEL+バックアップ変数の値を設定します。
書式
Sub SetVar (VarName As String, Value As Object)
パラメーター
- VarName
SPEL+バックアップ変数名 - Value
設定する値
コメント
SetVarは、単一変数や配列変数を設定するときに使用します。(下記の例を参照)
参照
GetVar
SetVar使用例
VB例:
m_spel.SetVar("g_myIntVar", 123)
Dim i, myArray(10) As Integer
For i = 1 To 10
myArray(i) = i
Next i
m_spel.SetVar("g_myIntArray", myArray)
m_spel.SetVar("g_myIntArray(1)", myArray(1))
C# 例:
m_spel.SetVar("g_myIntVar", 123);
int[] myArray = new int[10];
for(int i = 1; i < 10; i++)
myArray[i] = i;
m_spel.SetVar("g_myIntArray", myArray);
m_spel.SetVar("g_myIntArray[1]", myArray[1]);
SFree メソッド, Spelクラス
解説
指定したロボット軸をフリージョイント状態にします。
書式
Sub SFree ()
Sub SFree (ParamArray Axes() As Integer)
パラメーター
- Axes
フリージョイント状態にする各ロボット軸の要素を表す整数パラメーター配列1~9の軸番号を指定
参照
SLock
SFree 使用例
VB 例:
' 第1関節と第2関節をフリージョイント状態にする
m_spel.SFree(1, 2)
C# 例:
// 第1関節と第2関節をフリージョイント状態にする
m_spel.SFree(1, 2);
ShowWindow メソッド, Spelクラス
解説
Epson RC+ 8.0ウィンドウを表示します。
書式
Sub ShowWindow (WindowID As SpelWindows [, Parent As Form])
パラメーター
- WindowID
表示するEpson RC+ 8.0ウィンドウのID - Parent
ウィンドウのペアレントになる.NETフォーム(省略可)
コメント
Parentパラメーターでウィンドウの.NETペアレントフォームを指定できます。上記以外の場合、Parentパラメーターを省略し、ParentWindowHandleプロパティーでペアレントのハンドルを設定します。
参照
HideWindow, ParentWindowHandle, RunDialog, ServerOutOfProcess
ShowWindow使用例
VB 例:
Sub btnShowIOMonitor_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnShowIOMonitor.Click
m_spel.ShowWindow(RCAPINet.SpelWindows.IOMonitor, Me)
End Sub
C# 例:
void btnShowIOMonitor_Click(object sender, EventArgs e)
{
m_spel.ShowWindow(RCAPINet.SpelWindows.IOMonitor, this);
}
SimGet メソッド, Spelクラス
解説
シミュレーターの各種オブジェクトのプロパティーの設定値を取得します。
書式
Sub SimGet (Object As String, Property As SpelSimProps, ByRef Value As Boolean)
Sub SimGet (RobotName As String, HandName As String, Property As SpelSimProps, ByRef Value As Boolean)
Sub SimGet (Object As String, Property As SpelSimProps, ByRef Value As Double)
Sub SimGet (RobotName As String, HandName As String, Property As SpelSimProps, ByRef Value As Double)
Sub SimGet (Object As String, Property As SpelSimProps, ByRef Value As Integer)
Sub SimGet (RobotName As String, HandName As String, Property As SpelSimProps, ByRef Value As Integer)
Sub SimGet (Object As String, Property As SpelSimProps, ByRef Value As Boolean)
Sub SimGet (RobotName As String, HandName As String, Property As SpelSimProps, ByRef Value As String)
パラメーター
- Object
プロパティーの値を取得するオブジェクト名を示す文字列変数 - RobotName
“Hand”で指定されたハンドが取り付けられているロボット名を示す文字列変数 - HandName
プロパティーの値を取得するハンド名を示す文字列変数 - Property
値を取得するプロパティーの名前。 - Value
返される値を示す変数
コメント
本メソッドは、シミュレーターにおける各種オブジェクトのプロパティーの設定値を取得するときに使用します。
各プロパティー詳細は、下記マニュアルを参照してください。
"Epson RC+ 8.0 SPEL+ランゲージリファレンスマニュアル - SimGet"
参照
SimSet
SimGet 使用例
VB 例:
Dim posX As Double
m_spel.SimGet("SBox_1", SpelSimProps.PositionX, posX)
C# 例:
double posX;
SimGet("SBox_1", SpelSimProps.PositionX, out posX);
SimResetCollision メソッド, Spelクラス
解説
衝突検出のリセットを行います。
書式
Sub SimResetCollision ()
コメント
本メソッドを実行後に、ロボットとオブジェクトの間に衝突が発生していなければ、衝突状態が解除され、シミュレーターの3D 表示が更新されます。ロボットとオブジェクトの間に衝突が発生している場合は、衝突状態は解除されず、シミュレーターの3D 表示も更新されません。
詳細は、下記マニュアルを参照してください。
"Epson RC+ 8.0 SPEL+ランゲージリファレンスマニュアル - SimSet"
参照
SimSet
SimResetCollision 使用例
VB 例:
m_spel.SimResetCollision ()
C# 例:
m_spel.SimResetCollision ();
SimSet メソッド, Spelクラス
解説
シミュレーターの各種オブジェクトのプロパティーの設定をします。また、ロボットの動作とオブジェクトの操作、シミュレーターの設定に関する操作をします。
書式
Sub SimSet (Object As String, Property As SpelSimProps, Value As Boolean)
Sub SimSet (RobotName As String, HandName As String, Property As SpelSimProps, Value As Boolean)
Sub SimSet (Object As String, Property As SpelSimProps, Value As Integer)
Sub SimSet (RobotName As String, HandName As String, Property As SpelSimProps, Value As Integer)
Sub SimSet (Object As String, Property As SpelSimProps, Value As Double)
Sub SimSet (RobotName As String, HandName As String, Property As SpelSimProps, Value As Double)
Sub SimSet (Object As String, Property As SpelSimProps, Value As String)
Sub SimSet (RobotName As String, HandName As String, Property As SpelSimProps, Value As String)
パラメーター
- Object
プロパティーの値を取得するオブジェクト名を示す文字列変数 - RobotName
“Hand”で指定されたハンドが取り付けられているロボット名を示す文字列変数 - HandName
プロパティーの値を設定するハンド名を示す文字列変数 - Property
新たに値を設定するプロパティーの名前。 - Value
新しい値の式
コメント
本メソッドは、シミュレーターにおける各種オブジェクトのプロパティー設定や操作、ロボット動作、シミュレーター設定の変更をするときに使用します。
プロパティーには、SpelSimProps.Typeを指定できません。
各プロパティーの詳細は、下記マニュアルを参照してください。
"Epson RC+ 8.0 SPEL+ランゲージリファレンスマニュアル - SimSet"
参照
SimGet
SimSet 使用例
VB 例:
m_spel.SimSet ("SBox_1", SpelSimProps.PositionX, 100.0)
C# 例:
m_spel.SimSet("SBox_1", SpelSimProps.PositionX, 100.0);
SimSetParent メソッド, Spelクラス
解説
オブジェクトの操作設定を行います。
書式
Sub SimSetParent (Object As String)
Sub SimSetParent (Object As String, ParentObject As String)
パラメーター
- Object
親オブジェクトを設定するオブジェクト名を示す文字列変数 - ParentObject
親オブジェクト名を示す文字列変数
コメント
“Object”で指定されたオブジェクトに対して、“ParentObject”で指定されたオブジェクトを親オブジェクトとして設定します。“ParentObject”は省略することができます。この場合、“Object”で指定されたオブジェクトが親オブジェクトとなります。例えば、“Object”で指定されたオブジェクトが、何らかのオブジェクトの子オブジェクトであった場合には、子オブジェクトとしての設定が解除されることになります。
また、“Object”で指定されたオブジェクトがパーツもしくはアーム取付機器として設定されているオブジェクトの場合は、親オブジェクトの指定をすることはできません。
SetParent を指定可能なオブジェクトは、下記マニュアルを参照してください。
"Epson RC+ 8.0 SPEL+ランゲージリファレンスマニュアル - SimSet"
カメラオブジェクトについては、固定カメラとして設定されているオブジェクトのみSetParent を利用することができます。
参照
SimSet
SimSetParent 使用例
VB 例:
m_spel.SimSetParent ("SBox_1")
C# 例:
m_spel.SimSetParent ("SBox_1");
SimSetPick メソッド, Spelクラス
解説
指定したロボットが、オブジェクトの把持動作を行います。
書式
Sub SimSetPick (RobotName As String, Object As String)
Sub SimSetPick (RobotName As String, Object As String, ToolNumber As Integer)
パラメーター
- RobotName
Pickするロボット名を示す文字列変数 - Object
Pickされるオブジェクト名を示す文字列変数 - ToolNumber
Pick 時に利用するTool 番号を示す式
コメント
“Robot”で指定されたロボットが、“Object”で指定されたオブジェクトを把持する動作を行います。把持されたオブジェクトは、そのロボットのパーツとして登録されることになります。また、“Tool”に任意のツール番号を指定することで、指定されたツールを利用して把持動作を行います。“Tool”の指定が省略された場合は、Tool0 を利用して把持動作を行います。
すでにパーツとして登録されているオブジェクト、もしくはアーム取付機器として設定されているオブジェクトを把持することはできません。また、カメラについても把持することはできません。
詳細は、下記マニュアルを参照してください。
"Epson RC+ 8.0 SPEL+ランゲージリファレンスマニュアル - SimSet"
参照
SimGet, SimSet, SimSetPlace
SimSetPick 使用例
VB 例:
m_spel.SimSetPick ("Robot1", "SBox_1", 1)
C# 例:
m_spel.SimSetPick ("Robot1", "SBox_1", 1);
SimSetPlace メソッド, Spelクラス
解説
指定したロボットが、オブジェクトの配置動作を行います。
書式
Sub SimSetPlace (RobotName As String, Object As String)
パラメーター
- RobotName
Place するロボット名を示す文字列変数 - Object
Place されるオブジェクト名を示す文字列変数
コメント
“Robot”で指定されたロボットが、“Object”で指定されたオブジェクトを配置する動作を行います。配置されたオブジェクトは、そのロボットのパーツとしての登録が解除されます。
すでにパーツとしての登録が解除されているオブジェクトは配置することはできません。
詳細は、下記マニュアルを参照してください。
"Epson RC+ 8.0 SPEL+ランゲージリファレンスマニュアル - SimSet"
参照
SimGet, SimSet, SimSetPick
SimSetPlace 使用例
VB 例:
m_spel.SimSetPlace ("Robot1", "SBox_1")
C# 例:
m_spel.SimSetPlace ("Robot1", "SBox_1");
Shutdown メソッド, Spelクラス
解説
Windowsをシャットダウン、または再起動します。
書式
Sub Shutdown (Mode As SpelShutdownMode)
パラメーター
- Mode
0 = Windowsをシャットダウン1 = Windowsを再起動
参照
Reset
Shutdown 使用例
VB 例:
' Windowsを再起動
m_spel.Shutdown(1)
C# 例:
// Windowsを再起動
m_spel.Shutdown(1);
SLock メソッド, Spelクラス
解説
指定したロボット軸の、フリージョイント状態を解除します。
書式
Sub SLock ()
Sub SLock (ParamArray Axes() As Integer)
パラメーター
- Axes
ロックする各ロボット軸の要素を表す整数パラメーター配列1~9の軸番号を指定
参照
SFree
SLock 使用例
VB 例:
' 第1関節と第2関節の、フリージョイント状態を解除する
m_spel.SLock(1, 2)
C# 例:
// 第1関節と第2関節、フリージョイント状態を解除する
m_spel.SLock(1, 2);
Speed メソッド, Spelクラス
解説
PTP動作のGo, Jump, Pulseで使用する速度を指定します。
書式
Sub Speed (PointToPointSpeed As Integer[, JumpDepartSpeed As Integer ] [, JumpApproSpeed As Integer])
パラメーター
- PointToPointSpeed
PTP動作のGo、Jump、Pulseで使用するアーム速度を指定 - JumpDepartSpeed
Jump命令のとき、退避動作の速度を示す整数 (1~100) - JumpApproSpeed
Jump命令のとき、接近動作の速度を示す整数 (1~100)
参照
Accel, Jump, Go
Speed 使用例
VB 例:
m_spel.Speed(50)
C# 例:
m_spel.Speed(50);
SpeedR メソッド, Spelクラス
解説
ROTパラメーター使用時のツール姿勢変化の速度を設定します。
書式
Sub SpeedR (RotationSpeed As Single)
パラメーター
- RotationSpeed
ツール姿勢変化の速度を0.1以上の実数値で指定 (単位: deg/sec)
参照
Arc, Arc3, BMove, Jump3CP, Power, TMove
SpeedR 使用例
VB 例:
m_spel.SpeedR(100)
C# 例:
m_spel.SpeedR(100);
SpeedS メソッド, Spelクラス
解説
CP動作のJump3CP, Move, Arc, CVMoveで使用するアーム速度を指定します。
書式
Sub SpeedS (LinearSpeed As Single [, JumpDepartSpeed As Single][, JumpApproSpeed As Single])
パラメーター
- LinearSpeed
CP命令のJump3CP, Move, Arc, CVMoveで使用するアーム速度を指定 - JumpDepartSpeed
Jump, Jump3CPの退避速度を表す実数、または式 (単位: mm/sec) - JumpApproSpeed
Jump, Jump3CPの接近速度を表す実数、または式 (単位: mm/sec)
参照
AccelS, Jump3CP, Move, TMove
SpeedS 使用例
VB 例:
m_spel.SpeedS(500)
C# 例:
m_spel.SpeedS(500);
Start メソッド, Spelクラス
解説
SPEL+プログラムを開始します。
書式
Sub Start (ProgramNumber As Integer)
パラメーター
- ProgramNumber
開始するプログラム番号SPEL+に組み込まれた64個のメインファンクションとの対応を下表に示します。(範囲: 0~63)
プログラム番号 | SPEL+ファンクション名 |
---|---|
0 | main |
1 | main1 |
2 | main2 |
3 | main3 |
4 | main4 |
5 | main5 |
... | ... |
63 | main63 |
コメント
Startメソッドを実行すると、制御がただちに呼び出し側プログラムに戻ります。すでに実行中のプログラムは開始できません。Startを実行すると、コントローラーのグローバル変数がクリアになり、デフォルトのロボットポイントが読み込まれます。注意してください。
参照
Continue, Pause, Stop, Xqt
Start使用例
VB 例:
Sub btnStart_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnStart.Click
m_spel.Start(0)
End Sub
C# 例:
void btnStart_Click(object sender, EventArgs e)
{
m_spel.Start(0);
}
StartBGTask メソッド, Spelクラス
解説
SPEL+ タスクをバックグラウンドで開始します。
書式
Sub StartBGTask (FuncName As String)
パラメーター
- FuncName
実行するファンクション名
コメント
コントローラーでSpel+のバックグラウンドタスクを開始するには、StartBGTaskを使用します。 バックグラウンドタスクは、コントローラーで有効になっている必要があります。
コントローラーがAUTOモードに切り替わると、BGMainが自動的に実行されるため、通常StartBGTaskは必要ありません。
StartBGTaskはすべてのタスクを停止させ、バックグラウンドタスクを再開する必要がある場合に使われます。
参照
Call, Start, Stop, Xqt
StartBGTask使用例
VB 例:
' バックグラウンドタスクを含むすべてのタスクを停止
m_spel.Stop(SpelStopType.StopAllTasks)
…
m_spel.RebuildProject()
' メインのバックグラウンドタスクを再開
m_spel.StartBGTask("BGMain")
C# 例:
// バックグラウンドタスクを含むすべてのタスクを停止
m_spel.Stop(SpelStopType.StopAllTasks);
…
m_spel.RebuildProject();
// メインのバックグラウンドタスクを再開
m_spel.StartBGTask("BGMain");
Stat メソッド, Spelクラス
解説
コントローラー状態を返します。
書式
Function Stat (Address As Integer) As Integer
パラメーター
- Address
コントローラーの状態を示すアドレスを指定(0-2の整数)
戻り値
コントローラーの状態を示す4バイトの値を返します。(下記表を参照)
アドレス | Bit | ビットがオンのとき示されるコントローラーの状態 | |
---|---|---|---|
0 | 0-15 | &H1-&H8000 | タスク1から16が 実行中 (Xqt)またはHalt状態 |
16 | &H10000 | タスク実行中 | |
17 | &H20000 | ポーズ (一時停止)状態 | |
18 | &H40000 | エラー状態 | |
19 | &H80000 | TEACHモード | |
20 | &H100000 | 非常停止状態 | |
21 | &H200000 | ローパワーモード (Power Low) | |
22 | &H400000 | 安全扉入力が開 | |
23 | &H800000 | Enableスイッチが開 | |
24 | &H1000000 | 未定義 | |
25 | &H2000000 | 未定義 | |
26 | &H4000000 | テストモード | |
27 | &H8000000 | T2モード状態 | |
28-31 | 未定義 | ||
1 | 0 | &H1 | Jump...Senseステートメントの条件成立で目標座標上空停止の履歴。 (この履歴は次のJumpステートメントが実行されると消去されます。) |
1 | &H2 | Go/Jump/Move...Till ステートメントの条件成立で動作途中停止した履歴。(この履歴は次のGo/Jump/Move...Tillステートメントが実行されると消去されます。) | |
2 | &H4 | 未定義 | |
3 | &H8 | Trap ステートメントの条件成立で動作途中停止した履歴 | |
4 | &H10 | Motor On 状態 | |
5 | &H20 | ホーム位置 | |
6 | &H40 | ローパワー状態 | |
7 | &H80 | 未定義 | |
8 | &H100 | 第4関節の励磁中 | |
9 | &H200 | 第3関節の励磁中 | |
10 | &H400 | 第2関節の励磁中 | |
11 | &H800 | 第1関節の励磁中 | |
12 | &H1000 | 第6関節の励磁中 | |
13 | &H2000 | 第5関節の励磁中 | |
14 | &H4000 | T関節の励磁中 | |
15 | &H8000 | S関節の励磁中 | |
16 | &H10000 | 第7関節の励磁中 | |
17-31 | 未定義 | ||
2 | 0-15 | &H1-&H8000 | タスク17から32が 実行中(Xqt)またはHalt状態 |
参照
EStopOn, PauseOn, SafetyOn
Stat使用例
VB 例:
Dim ctr_stat As Integer
ctr_stat = m_spel.Stat(0)
C# 例:
int ctr_stat;
ctr_stat = m_spel.Stat(0);
Stop メソッド, Spelクラス
解説
コントローラーで実行中の通常のSPEL+タスクと、オプションのバックグランドタスクをすべて停止します。
書式
Sub Stop ()
Sub Stop (SpelStopType StopType)
パラメーター
- StopType
通常タスク のみを停止するか (StopNormalTasks)、すべてのタスクを停止するか(StopAllTasks)を指定。 (省略可) 省略した場合、StopNormalTasksが指定されます。
注意
ResetAbortEnabledがTrue状態でStopメソッドを実行すると、StartやResetメソッドなどを実行時に10101エラーが発生します。
エラーを解除するには、Stopメソッドを実行した後、ResetAbortメソッドを実行してください。
参照
Continue, Pause, ResetAbort, ResetAbortEnabled, Start, SpelStopType
Stop使用例
VB 例:
Sub btnStop_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnStop.Click
m_spel.Stop()
End Sub
C# 例:
void btnStop_Click(object sender, EventArgs e)
{
m_spel.Stop();
}
Sw メソッド, Spelクラス
解説
指定したI/O入力ビットのステータスを返します。
書式
Function Sw (BitNumber As Integer) As Boolean
Function Sw (Label As String) As Boolean
パラメーター
- BitNumber
I/Oの入力ビットを表す整数、または式 - Label
入力ビットラベルを示す文字式
戻り値
指定したビットがONのときはTrue、そうでなければFalse
参照
In, InBCD, MemSw, Off, On, Oport
Sw 使用例
VB 例:
If m_spel.Sw(1) Then
m_spel.On(2)
End If
C# 例:
if (m_spel.Sw(1))
m_spel.On(2);
TargetOK メソッド, Spelクラス
解説
現在位置から目標位置へのPTP動作が可能かどうかを返します。
書式
Function TargetOK (PointNumber As Integer) As Boolean
Function TargetOK (Point As SpelPoint) As Boolean
Function TargetOK (PointExpr As String) As Boolean
パラメーター
書式には、確認する目標位置を指定するパラメーターがあります。
- PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、終点を指定
Point SpelPointデータタイプを使用して、終点を指定 - PointExpr
文字列式を使用して終点を指定
戻り値
現在の位置から目標位置へ移動できるときはTrue、そうでなければFalse
参照
Go, Jump, Move, TGo, TMove
TargetOK 使用例
VB 例:
If m_spel.TargetOK("P1 /F") Then
m_spel.Go("P1 /F")
End If
C# 例:
if (m_spel.TargetOK("P1 /F"))
m_spel.Go("P1 /F");
TasksExecuting メソッド, Spelクラス
解説
SPEL+タスクがどれか実行中の場合、Trueを返します。
書式
Function TasksExecuting () As Boolean
戻り値
SPEL+タスクがどれか実行中の場合True、そうでなければFalse
参照
TaskState, Xqt
TasksExecuting 使用例
VB 例:
tasksRunning = m_spel.TasksExecuting()
C# 例:
tasksRunning = m_spel.TasksExecuting();
TaskState メソッド, Spelクラス
解説
指定したタスクのステータスを返します。
書式
Function TaskState (TaskNumber As Integer) As SpelTaskState
Function TaskState (TaskName As String) As SpelTaskState
パラメーター
- TaskNumber
実行ステータスを返すタスク番号 - TaskName
タスク名を表す文字列式
戻り値
SpelTaskStateの値
参照
TasksExecuting, Xqt
TaskState 使用例
VB 例:
Dim taskState As SpelTaskState
taskState = m_spel.TaskState(2)
C# 例:
SpelTaskState taskState;
taskState = m_spel.TaskState(2);
TeachPoint メソッド, Spelクラス
解説
オペレーターが、ジョグでポイントを教示できるダイアログを実行します。
書式
Function TeachPoint (PointFile As String, PointNumber As Integer, Prompt As String) As Boolean
Function TeachPoint (PointFile As String, PointName As String, Prompt As String) As Boolean
Function TeachPoint (PointFile As String, PointNumber As Integer, Prompt As String, Parent As Form) As Boolean
Function TeachPoint (PointFile As String, PointName As String, Prompt As String, Parent As Form) As Boolean
パラメーター
- PointFile
ポイントファイル名を示す文字列 - PointNumber
教示するポイント番号 - PointName
ポイントラベルを示す文字列 - Prompt
教示ダイアログの下部に表示されるメッセージ文を示す文字列 - Parent
ウィンドウのペアレントになる.NETフォーム (省略可)
戻り値
オペレーターが[Teach]ボタンをクリックしたら“True”、[Cancel]ボタンをクリックしたら“False”
コメント
オペレーターがコントローラーのロボットポイントを教示できるようにするには、TeachPointメソッドを使用します。TeachPointメソッドを実行すると、ポイントファイルがコントローラーから読み込まれます。[Teach]ボタンをクリックすると、ポイントがコントローラーに教示され、ポイントファイルがコントローラーに保存されます。
TeachPoint使用例
VB 例:
Sub btnTeachPick_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnTeachPick.Click
Dim sts As Boolean
Dim prompt As String
prompt = "Jog to Pick position and click Teach"
sts = m_spel.TeachPoint("points.pts", 1, prompt)
End Sub
C# 例:
void btnTeachPick_Click(object sender, EventArgs e){
bool sts;
string prompt;
prompt = "Jog to Pick position and click Teach";
sts = m_spel.TeachPoint("points.pts", 1, prompt);
}
Tillメソッド, Spelクラス
解説
Jump, Go, Move, その他の動作命令でTillを指定したときに、動作途中で停止し、処理を終了させる条件を設定します。
書式
Sub Till (Condition As String) As Boolean
パラメーター
- Condition
I/O条件を指定詳細については、SPEL+ ランゲージリファレンス 「Till」を参照してください。
参照
Go, Jump, JS, Sense, TillOn
Till 使用例
VB 例:
With m_spel
.Till("Sw(1) = On")
.Go("P1 TILL")
End With
C# 例:
m_spel.Till("Sw(1) = On");
m_spel.Go("P1 TILL");
TillOn メソッド, Spelクラス
解説
Tillの状態を返します。
書式
Function TillOn () As Boolean
戻り値
Tillを使った直前の動作コマンドでTillの条件が成立したらTrue、成立しなければFalse
コメント
Tillの条件が成立したらTrueを返します。
TillOnは、下記と同様です。
((Stat(1) And 2) <> 0)
参照
Jump, Till
TillOn 使用例
VB 例:
If m_spel.TillOn() Then
m_spel.Jump(2)
End If
C# 例:
if (m_spel.TillOn())
m_spel.Jump(2);
TGo メソッド, Spelクラス
解説
現在のツール座標系で、PTP相対動作を実行します。
書式
Sub TGo (PointNumber As Integer)
Sub TGo (Point As SpelPoint)
Sub TGo (Point As SpelPoint, AttribExpr As String)
Sub TGo (PointExpr As String)
パラメーター
書式には、アームがTGo命令により動作する終点を指定するパラメーターがあります。この終点は、PTP動作で移動する最終位置です。
- PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、終点を指定します。 - Point
SpelPointデータタイプを使用して、終点を指定します。 - AttribExpr
文字列式を使用して終点の属性を指定します。
CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。 - PointExpr
文字列式を使用して終点を指定します。
CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
Accel, Speed
Arc, Arc3, CVMove, Go, Jump, Jump3, Jump3CP, Move
BGo, BMove, TMove
Find, Till
TGo 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.TGo(100)
' SpelPointを使用して指定
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 125.5
m_spel.TGo(pt)
' ポイント式を使用して指定
m_spel.TGo("P0")
m_spel.TGo("XY(0, 0, -20, 0)")
' 並列処理を指定する場合
m_spel.TGo("P1 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.TGo("pick")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.TGo(100);
// SpelPointを使用して指定
SpelPoint pt;
pt = m_spel.GetPoint("P0");
pt.X = 125.5;
m_spel.TGo(pt);
// ポイント式を使用して指定
m_spel.TGo("P0 /L /2");
m_spel.TGo("P1 :Z(-20)");
// 並列処理を指定する場合
m_spel.TGo("P1 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.TGo("pick");
TLClr メソッド, Spelクラス
解説
ツール座標系の設定をクリアします。
書式
Sub TLClr (ToolNumber As Integer)
パラメーター
- ToolNumber
どのツール座標系をクリアするかを示す整数(Tool 0はデフォルトツールで、クリアすることはできません。)
参照
Tool, TLDef
TLClr 使用例
VB 例:
m_spel. TLClr(1)
C# 例:
m_spel. TLClr(1);
TLDef メソッド, Spelクラス
解説
ツールの定義状態を返します。
書式
Function TLDef (ToolNumber As Integer) As Boolean
パラメーター
- ToolNumber
どのツールの状態を返すかを示す整数
戻り値
指定したツールが定義されているときはTrue、そうでなければFalse
参照
Tool, TLClr
TLDef 使用例
VB 例:
m_spel.TLDef(1)
C# 例:
m_spel.TLDef(1);
TLSet メソッド, Spelクラス
解説
ツール座標系を定義します。
書式
Sub TLset (ToolNumber As Integer , Point As SpelPoint)
Sub TLset (ToolNumber As Integer, XCoord As Single, YCoord As Single, ZCoord As Single, UCoord As Single, VCoord As Single, WCoord As Single)
パラメーター
- ToolNumber
15個あるツールのどれを定義するのかを表わす整数式 (1~15)Tool 0はデフォルトツールです。変更できません。 - Point
ポイントデータを表すSpelPoint - XCoord
ツール座標系原点X座標 - YCoord
ツール座標系原点Y座標 - ZCoord
ツール座標系原点Z座標 - UCoord
ツール座標系のZ軸回転角度 - VCoord
ツール座標系のY軸回転角度 - WCoord
ツール座標系のX軸回転角度
参照
Arm, ArmSet, GetTool, Tool
TLSet 使用例
VB 例:
m_spel.TLSet(1, .5, 4.3, 0, 0, 0, 0)
C# 例:
m_spel.TLSet(1, .5, 4.3, 0, 0, 0, 0);
TMove メソッド, Spelクラス
解説
現在のツール座標系で、オフセット直線補間動作を実行します。
書式
Sub TMove (PointNumber As Integer)
Sub TMove (Point As SpelPoint)
Sub TMove (Point As SpelPoint, AttribExpr As String)
Sub TMove (PointExpr As String)
パラメーター
書式には、アームがTMove命令により動作する目標位置を指定するパラメーターがあります。この目標位置は、直線補間動作で移動する最終位置です。
- PointNumber
コントローラーに保存されているカレントロボットのポイントメモリーから、以前にティーチしたポイントの番号を使用して、目標位置を指定 - Point
SpelPointデータタイプを使用して、目標位置を指定 - AttribExpr
文字列式を使用して終点の属性を指定
ROT, CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。 - PointExpr
文字列式を使用して目標位置を指定
ROT, CP, SYNC, TillまたはFindの検索式, 並列処理の命令文を含むことができます。
参照
AccelR, AccelS, SpeedR, SpeedS
Arc, Arc3, CVMove, Go, Jump, Jump3, Jump3CP, Move
BGo, BMove, TGo
Find, Till
TMove 使用例
VB 例:
' ポイント番号で指定
m_spel.Tool(1)
m_spel.TMove(100)
' SpelPointを使用して指定
Dim pt As SpelPoint
pt = m_spel.GetPoint("P*")
pt.X = 125.5
m_spel.TMove(pt)
' ポイント式を使用して指定
m_spel.TMove("P0")
m_spel.TMove("XY(0, 0, -20, 0)")
' 並列処理を指定する場合
m_spel.TMove("P1 \!D50; On 1; D90; Off 1\!")
' ポイントラベルで指定
m_spel.TMove("pick")
C# 例:
// ポイント番号で指定
m_spel.Tool(1);
m_spel.TMove(100);
// SpelPointを使用して指定
SpelPoint pt;
pt = m_spel.GetPoint("P0");
pt.X = 125.5;
m_spel.TMove(pt);
// ポイント式を使用して指定
m_spel.TMove ("P0");
m_spel.TMove ("XY(0, 0, -20, 0)");
// 並列処理を指定する場合
m_spel.TMove("P1 \!D50; On 1; D90; Off 1\!");
// ポイントラベルで指定
m_spel.TMove("pick");
Tool メソッド, Spelクラス
解説
現在のツールを選択します。
書式
Sub Tool (ToolNumber As Integer)
パラメーター
- ToolNumber
次の動作命令に使用するツール定義16個 (0~15)
参照
TLSet, Arm, TGo, TMove
Tool 使用例
VB 例:
m_spel.Tool(1)
m_spel.TGo(100)
C# 例:
m_spel.Tool(1);
m_spel.TGo(100);
TrapStop メソッド, Spelクラス
解説
前の動作コマンド中に、カレントロボットがTrap条件のために停止した場合、Trueを返します。
書式
Function TrapStop () As Boolean
戻り値
ロボットがTrap条件で停止したときはTrue、そうでなければFalse
参照
EstopOn, ErrorOn
TrapStop 使用例
VB 例:
If m_spel.TrapStop() Then
MsgBox "Robot stopped by Trap"
End If
C# 例:
if (m_spel.TrapStop())
MessageBox.Show("Robot stopped by trap");
TW メソッド, Spelクラス
解説
時間内にWait命令の条件が成立したかを返します。
書式
Function TW () As Boolean
戻り値
タイムアウトが起きた場合はTrue、そうでなければFalse
参照
WaitMem, WaitSw
TW 使用例
VB 例:
Const PartPresent = 1
m_spel.WaitSw(PartPresent, True, 5)
If m_spel.TW() Then
MsgBox "Part present time out occurred"
End If
C# 例:
const int PartPresent = 1;
m_spel.WaitSw(PartPresent, True, 5);
if (m_spel.TW())
MessageBox.Show("Part present time out occurred");
UserHasRight メソッド, Spelクラス
解説
ログインしているユーザーが指定の権限を持っているかどうかを返します。
書式
Function UserHasRight (SpelUserRights Right) As Boolean
パラメーター
- Right
ログインしているユーザーへ確認したい権限
戻り値
ユーザーが指定の権限を持っているときはTrue、そうでなければFalse
参照
Login, GetCurrentUser
UserHasRight使用例
VB 例:
Dim hasRight As Boolean
hasRight = m_spel.UserHasRight(SpelUserRights.EditPoints)
C# 例:
bool hasRight;
hasRight = m_spel.UserHasRight(SpelUserRights.EditPoints);
VCal メソッド, Spelクラス
解説
ビジョンキャリブレーションサイクルを実行できます。
書式
Sub VCal (CalibName As String)
Sub VCal (CalibName As String, ByRef Status As Integer)
Sub VCal (CalibName As String, Parent As Form)
Sub VCal (CalibName As String, Parent As Form, ByRef Status As Integer)
パラメーター
- CalibName
カレントプロジェクトのキャリブレーションスキーム名を表す文字列式 - Status
キャリブレーションのステータスを返す整数変数 (省略可)1: 成功 0: 失敗 - Parent
ウィンドウのペアレントになる.NETフォーム (省略可)
コメント
VCalメソッドを実行すると、ロボットが動きます。VCalを実行する前に、オペレーターが準備できていることを確認してください。
VCalはキャリブレーションサイクルを実行するだけです。ポイントをティーチングすることはできません。ポイントをティーチングするにはVcalPointsメソッドを使ってください。また、必ず最初にEpson RC+ 8.0でキャリブレーションをセットアップしてください。詳細はVision Guideを参照してください。
キャリブレーションが成功したかどうかを確認するためにはStatusパラメーターを使用してください。キャリブレーションプロパティーのShowConfirmationがTrueの場合は、確認ダイアログが表示されます。[OK]ボタンをクリックすると、Statusは1: 成功を返します。
参照
VCalPoints
VCal 使用例
VB 例:
Dim status As Integer
m_spel.VCal("CAMCAL1", status)
C# 例:
int status;
m_spel.VCal("CAMCAL1", status);
VCalPoints メソッド, Spelクラス
解説
ビジョンキャリブレーションポイントをティーチングできます。
書式
Sub VCalPoints (CalibName As String)
Sub VCalPoints (CalibName As String, ByRef Status As Integer)
Sub VCalPoints (CalibName As String, Parent As Form)
Sub VCalPoints (CalibName As String, Parent As Form, ByRef Status As Integer)
パラメーター
- CalibName
カレントプロジェクトのキャリブレーションスキーム名を表す文字式 - Status
ポイントティーチングのステータスを返す整数変数 (省略可)1: 成功 0: 失敗 - Parent
ウィンドウのペアレントになる.NETフォーム (省略可)
コメント
VcalPointsメソッドを実行すると、[キャリブレーションポイントのティーチング]ダイアログが表示されます。[完了]ボタンをクリックすると、キャリブレーションデータは自動的に保存されます。
あらかじめ、Epson RC+ 8.0からキャリブレーションスキームを作成しておいてください。
ポイントティーチングが成功したかどうかを確認するためにはStatusパラメーターを使用してください。全てのポイントが教示され[完了]ボタンがクリックされると、Statusは1: 成功を返します。
参照
VCal
VCalPoints 使用例
VB 例:
Dim status As Integer
m_spel.VCalPoints("CAMCAL1", status)
C# 例:
int status;
m_spel.VCalPoints("CAMCAL1", out status);
VCls メソッド, Spelクラス
解説
ビジョングラフィックスをクリアします。
書式
Sub VCls ()
コメント
VClsメソッドを使って、ビジョンスクリーンをクリアにします。
参照
VRun
VCls 使用例
VB 例:
m_spel.VCls()
C# 例:
m_spel.VCls();
VCreateCalibration メソッド, Spelクラス
解説
カレントプロジェクトで新規ビジョンキャリブレーションを作成します。
書式
Sub VCreateCalibration (CameraNumber As Integer, CalibName As String)
Sub VCreateCalibration (CameraNumber As Integer, CalibName As String,CopyCalibName As String)
パラメーター
- CameraNumber
キャリブレーションするカメラの番号を示す整数式 - CalibName
作成するビジョンキャリブレーション名を示す文字列式 - CopyCalibName
コピーするビジョンキャリブレーション名を示す文字列式 (省略可)
参照
VcreateObject, VcreateSequence, VDeleteCalibration
VCreateCalibration 使用例
VB 例:
m_spel.VCreateCalibration(1, "mycal")
C# 例:
m_spel.VCreateCalibration(1, "mycal");
VCreateObject メソッド, Spelクラス
解説
カレントプロジェクトでビジョンオブジェクトを作成します。
書式
Sub VCreateObject (Sequence As String, ObjectName As String, ObjectType As SpelVisionObjectTypes)
パラメーター
- Sequence
カレントプロジェクトでビジョンシーケンス名を示す文字列式 - ObjectName
シーケンスで作成するオブジェクト名を示す文字列式 - ObjectType
ビジョンオブジェクト型を示す数値 (下に示す定数も使用可)
オブジェクト型 | 定数 | 値 |
---|---|---|
Correlation | Correlation | 1 |
Blob | Blob | 2 |
Edge | Edge | 3 |
Polar | Polar | 4 |
Line | Line | 5 |
Point | Point | 6 |
Frame | Frame | 7 |
ImageOp | ImageOp | 8 |
Ocr | Ocr | 9 |
CodeReader | CodeReader | 10 |
Geometric | Geometric | 11 |
Color Match | ColorMatch | 14 |
Line Finder | LineFinder | 15 |
Arc Finder | ArcFinder | 16 |
Defect Finder | DefectFinder | 17 |
Line Inspector | LineInspector | 18 |
Arc Inspector | ArcInspector | 19 |
Box Finder | BoxFinder | 20 |
Corner Finder | CornerFinder | 21 |
Contour | Contour | 22 |
Text | Text | 23 |
Decision | Decision | 26 |
Coordinates | Coordinates | 27 |
参照
VcreateSequence, VdeleteObject, VDeleteSequence
VCreateObject 使用例
VB 例:
m_spel.VCreateObject("myseq", "myblob", SpelVisionObjectTypes.Blob)
C# 例:
m_spel.VCreateObject("myseq", "myblob", SpelVisionObjectTypes.Blob);
VCreateSequence メソッド, Spelクラス
解説
カレントプロジェクトで新規ビジョンシーケンスを作成します。
書式
Sub VCreateSequence (CameraNumber As Integer, SequenceName As String)
Sub VCreateSequence (CameraNumber As Integer, SequenceName As String,
CopySequenceName As String)
パラメーター
- CameraNumber
使用するカメラカメラ番号を示す整数式 - SequenceName
作成するビジョンシーケンス名を示す文字列式 - CopySequenceName
コピーするビジョンキャリブレーション名を示す文字列式 (省略可)
参照
VcreateObject, VdeleteObject, VDeleteSequence
VCreateSequence 使用例
VB 例:
m_spel.VCreateSequence(1, "myseq")
C# 例:
m_spel.VCreateSequence(1, "myseq");
VDefArm メソッド, Spelクラス
解説
ビジョン検出可能な1つの特徴点を用いてモバイルカメラのアームセット値を算出します。
注意:ターゲットの検出結果に基づいて、自動的にロボットが動作します。ロボットと周辺装置との干渉に注意してください。またアームセット中のエラーを回避するため、各関節が伸びる特異点近傍姿勢を避けて使用してください。
書式
Sub VDefArm (ArmNumber As Integer, ArmDefType As SpelArmDefType, ArmDefMode As SpelArmDefMode, Sequence As String, Rotation As Double, TargetTolerance As Double)
Sub VDefArm (ArmNumber As Integer, ArmDefType As SpelArmDefType, ArmDefMode As SpelArmDefMode, Sequence As String, Rotation As Double, TargetTolerance As Double, Parent As Form)
Sub VDefArm (ArmNumber As Integer, ArmDefType As SpelArmDefType, ArmDefMode As SpelArmDefMode, Sequence As String, Rotation As Double, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer, ShowWarning As SpelVDefShowWarning)
Sub VDefArm (ArmNumber As Integer, ArmDefType As SpelArmDefType, ArmDefMode As SpelArmDefMode, Sequence As String, Rotation As Double, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer, ShowWarning As SpelVDefShowWarning,Parent As Form)
パラメーター
- ArmNumber
アームセットするアーム番号を示す整数式 (1~15) - ArmDefType
アームタイプを示す整数式
J2Camera: モバイルJ2カメラの画像中心を算出します。 - ArmDefMode
アームセットモードを示す整数式
Rough: 粗いアームセットを実行するモードです。設定精度1 mmを目標として動作します。ロボットの動きは小さくなります。
Fine: 精密にアームセットを実行するモードです。ロボットの左右ハンド姿勢の変更を伴って大きく動き、より高精度なアームセットを実現します。 - Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Rotation
粗いツールセットを行うときの回転角度 (°)を示す実数式
値範囲: 0~45 - TargetTolerance
ビジョン検出結果が対象位置と一致したとみなすピクセル距離を示す実数式
値範囲: 0~3 pixel - Parent
ウィンドウのペアレントになる.NETフォーム (省略可) - RobotSpeed
ロボットの速度 (%)を示す整数変数 (省略可)値範囲: 0~100省略された場合は、「5」に設定されます。 - RobotAccel
ロボットの加速度 (%)を示す整数変数 (省略可)値範囲: 0~99省略された場合は、「5」に設定されます。 - ShowWarning
ArmSetModeがファインである場合に、警告を出力するかどうかを設定する整数変数 (省略可)Always : 必ず出力するDependsOnSpeed : RobotSpeedまたはRobotAccelが5より大きい場 合は出力するNone : 出力しない省略された場合は、「DependsOnSpeed」 に設定されます。
参照
VDefGetMotionRange, VDefLocal, VDefSetMotionRange, VDefTool, VGoCenter
VDefArm 使用例
VB 例:
m_spel.VDefArm(1, SpelArmDefType.J2Camera, SpelArmDefMode.Rough, "myseq", 5, 1)
C# 例:
m_spel.VDefArm(1, SpelArmDefType.J2Camera, SpelArmDefMode.Rough, "myseq", 5, 1);
VDefGetMotionRangeメソッド, Spelクラス
解説
VDefTool, VDefArm, VDefLocal, VGoCenterで動作可能な範囲を制限した値を取得します。
書式
Sub VDefGetMotionRange(ByRef MaxMoveDist As Double, ByRef MaxPoseDiffAngle As Double, ByRef LjmMode As Integer)
パラメーター
- MaxMoveDist
最大移動距離を示す実数変数
0を指定した場合は制限しません。 ( 0~500, デフォルト値: 200)
VDefTool, VDefArm, VDefLocal VGoCenterで制限を適用します。 - MaxPoseDiffAngle
手先姿勢 (UVW)の最大変位角 (°)を示す実数変数
0を指定した場合は制限しません。
VDefLocalのみ影響します。 ( 0~180, デフォルト値: 45°) - LjmMode
LJMモードを示す整数変数
参照
VDefTool, VDefArm, VDefLocal, VGoCenter, VDefSetMotionRange
VDefGetMotionRange 使用例
VB 例:
Dim maxMoveDist As Double
Dim maxPoseDiffAngle As Double
Dim ljmMode As Integer
m_spel.VDefGetMotionRange(maxMoveDist, maxPoseDiffAngle, ljmMode)
C# 例:
double maxMoveDist, maxPoseDiffAngle;
int ljmMode;
m_spel.VDefGetMotionRange(out maxMoveDist, out maxPoseDiffAngle, out ljmMode);
VDefLocalメソッド, Spelクラス
解説
作業面に置いたキャリブレーションプレートをモバイルカメラで検出して、作業面に平行なローカル座標を定義します。
または、ツール先のユーザーワークを固定カメラで検出して、固定カメラセンサーに平行なローカル平面を定義します。
注意:ターゲットの検出結果に基づいて、自動的にロボットが動作します。ロボットと周辺装置との干渉に注意してください。またローカル設定中のエラーを回避するため、各関節が伸びる特異点近傍姿勢を避けて使用してください。
書式
Sub VDefLocal(LocalNumber As Integer, LocalDefType As SpelLocalDefType, CalPlateType As SpelCalPlateType, Sequence As String, TargetTolerance As Double, CameraTool As Integer, RefPoint As SpelPoint)
Sub VDefLocal(LocalNumber As Integer, LocalDefType As SpelLocalDefType, CalPlateType As SpelCalPlateType, Sequence As String, TargetTolerance As Double, CameraTool As Integer, RefPoint As SpelPoint, Parent As Form)
Sub VDefLocal(LocalNumber As Integer, LocalDefType As SpelLocalDefType, CalPlateType As SpelCalPlateType, Sequence As String, TargetTolerance As Double, CameraTool As Integer, RefPoint As SpelPoint, RobotSpeed As Integer, RobotAccel As Integer)
Sub VDefLocal(LocalNumber As Integer, LocalDefType As SpelLocalDefType, CalPlateType As SpelCalPlateType, Sequence As String, TargetTolerance As Double, CameraTool As Integer, RefPoint As SpelPoint, RobotSpeed As Integer, RobotAccel As Integer, Parent As Form)
パラメーター
- LocalNumber
ローカル設定するツール番号を示す整数(1~15) - LocalDefType
ローカルタイプを示す整数 - J5Camera:
モバイルJ5カメラを用いてキャリブレーションプレートに平行なローカルを設定します。 - J6Camera:
モバイルJ6カメラを用いてキャリブレーションプレートに平行なローカルを設定します。 - FixedUpwardCamera:
上向き固定カメラを用いて、画像センサーに平行なローカルを設定します。 - FixedDownwardCamera:
下向き固定カメラを用いて、画像センサーに平行なローカルを設定します。 - CalPlateType
キャリブレーションプレートのタイプを示す整数 - Large:
キャリブレーションプレート大 - Medium:
キャリブレーションプレート中 - Small:
キャリブレーションプレート小 - XSmall:
キャリブレーションプレート極小 - Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式
モバイルカメラの場合、キャリブレーションプレートを撮影するためのビジョンシーケンス。
固定カメラの場合、ユーザーワークなどのツール先端の特徴点を検出するビジョンシーケンス。 - TargetTolerance
スケール一致を判定するための閾値を示す実数 - CameraTool
固定カメラの場合、検出ターゲットのツールオフセットを保持するツール番号を指定します。自動校正する場合は、-1を指定します。
モバイルJ6カメラの場合、既に校正されている場合は、モバイルカメラのツール番号を指定します。自動校正する場合は、-1を指定します。
モバイルJ5カメラの場合、このオプションの指定は無視されます。 - RefPoint 作業面に平行なローカル平面が通るポイント
このポイントで、ローカル平面の高さを指定します。 - Parent
ウィンドウのペアレントになる.NETフォーム(省略可) - RobotSpeed
ロボットの速度 (%)を示す整数変数 (省略可)値範囲: 0~100省略された場合は、「5」に設定されます。 - RobotAccel
ロボットの加速度 (%)を示す整数変数 (省略可)値範囲: 0~99省略された場合は、「5」に設定されます。
参照
VDefArm, VDefGetMotionRange,VDefSetMotionRange, VDefTool, VGoCenter
VDefLocal使用例
VB 例:
Dim p2 = m_spel.GetPoint("P2")
m_spel.VDefLocal(1, SpelLocalDefType.J6Camera, SpelCalPlateType.Large, "myseq", 1.0, 1, p2)
C# 例:
SpelPoint p2;
p2 = m_spel.GetPoint("P2");
m_spel.VDefLocal(1, SpelLocalDefType.J6Camera,
SpelCalPlateType.Large, "myseq", 1.0, 1, p2);
VDefSetMotionRangeメソッド, Spelクラス
解説
VDefTool, VDefArm, VDefLocal, VGoCenterで動作可能な範囲を制限します。
書式
Sub VDefSetMotionRange(MaxMoveDist As Double, MaxPoseDiffAngle As Double, LjmMode As Integer)
パラメーター
- MaxMoveDist
最大移動距離を示す実数
0を指定した場合は制限しません。 ( 0~500, デフォルト値: 200)
VDefTool, VDefArm, VDefLocal VGoCenterで制限を適用します。 - MaxPoseDiffAngle
手先姿勢 (UVW)の最大変位角(°)を示す実数
0を指定した場合は制限しません。
VDefLocalのみ影響します。 ( 0~180, デフォルト値: 45°) - LjmMode
LJMモードを示す整数
参照
VDefTool, VDefArm, VDefLocal, VGoCenter, VDefGetMotionRange
VDefSetMotionRange 使用例
VB 例:
m_spel.VDefSetMotionRange(100, 30, 1)
C# 例:
m_spel.VDefSetMotionRange(100, 30, 1);
VDefToolメソッド, Spelクラス
解説
ビジョン検出を用いて、TCP, モバイルカメラ設置位置のツールオフセット値を算出します。
注意:ツールタイプがFixedCameraWithCal以外の場合は、ターゲットの検出結果に基づいて自動的にロボットが動作します。ロボットと周辺装置との干渉に注意してください。またツールセット中のエラーを回避するため、各関節が伸びる特異点近傍姿勢を避けて使用してください。
書式
Sub VDefTool(ToolNumber As Integer, ToolDefType As SpelToolDefType, Sequence As String, Object As String)
Sub VDefTool(ToolNumber As Integer, ToolDefType As SpelToolDefType, Sequence As String, Object As String, Parent As Form)
Sub VDefTool(ToolNumber As Integer, ToolDefType As SpelToolDefType, Sequence As String, FinalAngle As Double, InitAngle As Double, TargetTolerance As Double)
Sub VDefTool(ToolNumber As Integer, ToolDefType As SpelToolDefType, Sequence As String, FinalAngle As Double, InitAngle As Double, TargetTolerance As Double, Parent As Form)
Sub VDefTool(ToolNumber As Integer, ToolDefType As SpelToolDefType, Sequence As String, FinalAngle As Double, InitAngle As Double, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer)
Sub VDefTool(ToolNumber As Integer, ToolDefType As SpelToolDefType, Sequence As String, FinalAngle As Double, InitAngle As Double, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer, Parent As Form)
パラメーター
- ToolNumber
ツールセットするツール番号を示す整数 (1~15) - ToolDefType
ツールタイプを示す整数FixedCamera: キャリブレーションなし固定カメラを使って、ツールセット。J4Camera: モバイルJ4カメラの画像中心を算出。J6Camera: モバイルJ6カメラの画像中心を算出。FixedCameraWithCal: キャリブレーション済み固定カメラを使って、ツールセット。 - Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
カレントプロジェクトのビジョンオブジェクトを表す文字列式ToolDefTypeがFixedCameraWithCalの場合に指定する必要があります。ToolDefTypeがFixedCameraWithCalではない場合は、空の文字列を入力してください。 - FinalAngle
ツールやカメラツールを回転する角度(度)を示す実数値範囲: 0, 5~180, -5~-180省略された場合は、「90」に設定されます。 - InitAngle
仮ツール設定時のツールやカメラツールを回転する角度(度)を示す実数この値は、FinalAngleより必ず小さくなければなりません値範囲: -10~10省略された場合は、「5」に設定されます。 - TargetTolerance
ビジョン検出結果が対象位置と一致したとみなすピクセル距離を示す実数値範囲: 0~3 pixel省略された場合は、「1」に設定されます。 - Parent
ウィンドウのペアレントになる.NETフォーム(省略可) - RobotSpeed
ロボットの速度 (%)を示す整数変数 (省略可)値範囲: 0~100省略された場合は、「5」に設定されます。 - RobotAccel
ロボットの加速度 (%)を示す整数変数 (省略可)値範囲: 0~99省略された場合は、「5」に設定されます。
参照
VDefArm, VDefGetMotionRange, VDefLocal, VDefSetMotionRange, VGoCenter
VDefTool 使用例
VB 例:
m_spel.VDefTool(1, SpelToolDefType.J6Camera, "myseq", 45, 5, 3.0)
m_spel.VDefTool(1, SpelToolDefType.FixedCameraWithCal, "myseq", "myobj")
C# 例:
m_spel.VDefTool(1, SpelToolDefType.J6Camera, "myseq", 45, 5, 3.0);
m_spel.VDefTool(1, SpelToolDefType.FixedCameraWithCal, "myseq", "myobj");
VDefToolXYZ メソッド, Spel クラス
解説
VDefToolXYZは、ビジョン検出を用いてツールオフセット値(XYZ)を算出します。
注意:
ターゲットの検出結果に基づいて、自動的にロボットが動作します。ロボットと周辺装置との干渉に注意してください。またツールセット中のエラーを回避するため、各関節が伸びる特異点近傍姿勢を避けて使用してください。
書式
Sub VDefToolXYZ(ToolNumber As Integer, LocalNumber As Integer, PointNumber1 As Integer, PointNumber2 As Integer, Sequence1 As String, Sequence2 As String, FinalAngle As Double, InitAngle As Double, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer)
Sub VDefToolXYZ(ToolNumber As Integer, LocalNumber As Integer, PointNumber1 As Integer, PointNumber2 As Integer, Sequence1 As String,Sequence2 As String, FinalAngle As Double, InitAngle As Double, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer, Parent As Form)
パラメーター
- ToolNumber
ツールセットするツール番号を示す整数 (1~15) - LocalNumber
ロボットを移動する、ローカル座標番号を示す整数。ツールは指定されたローカル座標のXY平面へ移動する。 - PointNumber1
Point Numberの第一姿勢を示す整数 - PointNumber2
Point Numberの第二姿勢を示す整数 - Sequence1
カレントプロジェクトで第一姿勢のビジョンシーケンス名を示す文字列式 - Sequence2
カレントプロジェクトで第二姿勢のビジョンシーケンス名を示す文字列式 - FinalAngle
ツールやカメラツールを回転する角度(度)を示す実数値範囲: 5 ~ 180, -5 ~ -180 - InitAngle
仮ツール設定時の回転角度(度)の表示を示す実数この値は、FinalAngleより必ず小さくなければなりません値範囲: 0.01 ~ 10, -0.01 ~ -10 - TargetTolerance
ビジョン検出結果が対象位置と一致したとみなすピクセル距離を示す実数値範囲: 0.1 ~ 3.0 pixel - RobotSpeed
ロボットの速度 (%)を示す整数変数値範囲: 1 ~ 100 - RobotAccel
ロボットの加速度 (%)を示す整数変数値範囲: 1 ~ 99 - Parent
ウィンドウのペアレントになる.NET (opens new window) フォーム(省略可)
参照
VDefTool, VDefToolXYZUVW
VDefToolXYZ 使用例
VB 例:
m_spel.VDefToolXYZ(1, 0, 1, 2, "seq01", "seq02", 5, 30, 1, 5, 5)
m_spel.VDefToolXYZ(2, 0, 3, 4, "seq03", "seq04", 5, 30, 1, 5, 5)
m_spel.VDefToolXYZ(3, 0, 5, 6, "seq05", "seq06", 5, 30, 1, 5, 5)
m_spel.VDefToolXYZUVW(1, 2, 3, SpelToolDefType3D.Bar)
C# 例:
m_spel.VDefToolXYZ(1, 0, 1, 2, "seq01", "seq02", 5, 30, 1, 5, 5);
m_spel.VDefToolXYZ(2, 0, 3, 4, "seq03", "seq04", 5, 30, 1, 5, 5);
m_spel.VDefToolXYZ(3, 0, 5, 6, "seq05", "seq06", 5, 30, 1, 5, 5);
m_spel.VDefToolXYZUVW(1, 2, 3, SpelToolDefType3D.Bar);
VDefToolXYZUVW メソッド, Spel クラス
解説
3つのツール定義を用いて、ツールUVW オフセット値を算出します。
注意:算出されたU, V, W ツールオフセット値は、指定されたツール1で設定されています。 ツール1のX, Y, Z オフセットは変更されません。
書式
Sub VDefToolXYZUVW(ToolNumber1 As Integer, ToolNumber2 As Integer, ToolNumber3 As Integer, ToolDefType3D As SpelToolDefType3D )
パラメーター
- ToolNumber1
1つ目のツール定義のツール番号を示す整数変数(1 ~ 15)
バー型ではツール先端部を示すツール番号を指定します。平面型ではツール中心を示すツール番号を指定します。 - ToolNumber2
2つ目のツール定義のツール番号を示す整数変数(1 ~ 15)
バー型ではツール中央部を示すツール番号を指定します。平面型ではツール中心以外を示す、ToolNumber3と異なるツール番号を指定します。 - ToolNumber3
3つ目のツール定義のツール番号を示す整数変数(1 ~ 15).
バー型ではツール根元部を示すツール番号を指定します。平面型ではツール中心以外を示す、ToolNumber2と異なるツール番号を指定します。 - ToolDefType3D
ツール定義のツールタイプを示す整数変数Bar: バー型Plane: 平面型
参照
VDefToolXYZ
VDefToolXYZUVW 使用例
VB 例:
m_spel.VDefToolXYZ(1, 0, 1, 2, "seq01", "seq02", 5, 30, 1, 5, 5)
m_spel.VDefToolXYZ(2, 0, 3, 4, "seq03", "seq04", 5, 30, 1, 5, 5)
m_spel.VDefToolXYZ(3, 0, 5, 6, "seq05", "seq06", 5, 30, 1, 5, 5)
m_spel.VDefToolXYZUVW(1, 2, 3, SpelToolDefType3D.Bar)
C# 例:
m_spel.VDefToolXYZ(1, 0, 1, 2, "seq01", "seq02", 5, 30, 1, 5, 5);
m_spel.VDefToolXYZ(2, 0, 3, 4, "seq03", "seq04", 5, 30, 1, 5, 5);
m_spel.VDefToolXYZ(3, 0, 5, 6, "seq05", "seq06", 5, 30, 1, 5, 5);
m_spel.VDefToolXYZUVW(1, 2, 3, SpelToolDefType3D.Bar);
VDeleteCalibration メソッド, Spelクラス
解説
カレントプロジェクトのビジョンキャリブレーションを削除します。
書式
Sub VDeleteCalibration (CalibName As String)
パラメーター
- CalibName
カレントプロジェクトのビジョンキャリブレーション名を表す文字列式
参照
VCreateCalibration, VDeleteObject, VDeleteSequence
VDeleteCalibration 使用例
VB 例:
m_spel.VDeleteCalibration("mycal")
C# 例:
m_spel.VDeleteCalibration("mycal");
VDeleteObject メソッド, Spelクラス
解説
カレントプロジェクトのビジョンオブジェクトを削除します。
書式
Sub VDeleteObject (Sequence As String, ObjectName As String)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式 - ObjectName
カレントプロジェクトのビジョンオブジェクト名を示す文字列式
参照
VcreateObject, VcreateSequence, VDeleteSequence
VDeleteObject 使用例
VB 例:
m_spel.VDeleteObject("myseq", "myobj")
C# 例:
m_spel.VDeleteObject("myseq", "myobj");
VDeleteSequence メソッド, Spelクラス
解説
カレントプロジェクトのビジョンシーケンスを削除します。
書式
Sub VDeleteSequence (Sequence As String)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式
参照
VcreateObject, VcreateSequence, VDeleteObject
VDeleteSequence 使用例
VB 例:
m_spel.VDeleteSequence("myseq")
C# 例:
m_spel.VDeleteSequence("myseq");
VEditWindow メソッド, Spelクラス
解説
サーチウィンドウの検出マスクを編集します。詳細はVision Guideプロパティー&リザルトリファレンスの「EditWindowプロパティー」を参照してください。
書式
Sub VEditWindow (Sequence As String, Object As String, Parent As Form)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - ObjectName
カレントプロジェクトのビジョンオブジェクト名を表す文字列式
参照
VSave
VEditWindow 使用例
VB 例:
m_spel.VEditWindow("myseq", "myobj")
C# 例:
m_spel.VEditWindow("myseq", "myobj");
VGet メソッド, Spelクラス
解説
ビジョンシーケンス、オブジェクトのプロパティー、リザルト値を取得します。
書式
Sub VGet (Sequence As String, PropCode As SpelVisionProps, ByRef Value As Integer)
Sub VGet (Sequence As String, PropCode As SpelVisionProps, ByRef Value As Boolean)
Sub VGet (Sequence As String, PropCode As SpelVisionProps, ByRef Value As Double)
Sub VGet (Sequence As String, PropCode As SpelVisionProps, ByRef Value As Single)
Sub VGet (Sequence As String, PropCode As SpelVisionProps, ByRef Value As String)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, ByRef Value As Integer)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, ByRef Value As Boolean)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, ByRef Value As Color)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, ByRef Value As Double)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, ByRef Value As Single)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, ByRef Value As String)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, Result As Integer, ByRef Value As Integer)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, Result As Integer, ByRef Value As Boolean)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, Result As Integer, ByRef Value As Double)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, Result As Integer, ByRef Value As Single)
Sub VGet (Sequence As String, Object As String, PropCode As SpelVisionProps, Result As Integer, ByRef Value As String)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式 - Object
シーケンスのオブジェクト名を示す文字列式 - PropCode
プロパティーコードを指定するSpelVisionPropsの値 - Result
リザルト番号を表わす整数式 - Value
プロパティーやリザルトの値を表す文字列文字列の型は、プロパティーやリザルトの型と一致しなければなりません。
参照
VSet, VRun
VGet 使用例
VB 例:
Dim i As Integer
Redim score(10) As Integer
m_spel.VRun("testSeq")
For i = 1 to 10
m_spel.VGet("testSeq", "corr" & Format$(i, "00"), _
SpelVisionProps.Score, score(i))
Next i
C# 例:
int[] score = new int[11];
for(int i = 1; i <= 10; i++)
{
m_spel.VGet("testSeq", string.Format("Corr 0{0}, i),
SpelVisionProps.Score, score(i));
}
VGetCameraXYU メソッド, Spelクラス
解説
オブジェクトのカメラX, Y, Uの実際の座標を検索します。
書式
Sub VGetCameraXYU (Sequence As String, Object As String, Result As Integer, ByRef Found As Boolean, ByRef X As Single, ByRef Y As Single, ByRef U As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式 - Object
シーケンスのオブジェクト名を示す文字列式 - Result
リザルト番号を表わす整数式 - Found
オブジェクトが検索されたかどうかを表すBoolean型変数 - X
ミリメートル単位で表わされるx座標を示す実数変数 - Y
ミリメートル単位で表わされるy座標を示す実数変数 - U
度単位で表わされる角度を示す実数変数
参照
VGetPixelXYU, VGetRobotXYU
VGetCameraXYU 使用例
VB 例:
Dim found As Boolean
Dim x As Single, y As Single, u As Single
Dim seq As String, blob As String
seq = "testSeq"
blob = "blob01"
m_spel.VRun(seq)
m_spel.VGetCameraXYU(seq, blob, 1, found, x, y, u)
C# 例:
bool found;
float x, y, u;
string seq, blob;
seq = "testSeq";
blob = "blob01";
m_spel.VRun(seq);
m_spel.VGetCameraXYU(seq, blob, 1, out found, out x, out y, out u);
VGetEdgeCameraXYU メソッド, Spelクラス
解説
LineFinderおよびArcFinderサーチの各エッジに対するカメラのX, Y, Uの物理座標を取得します。
書式
Sub VGetEdgeCameraXYU (Sequence As String, Object As String, EdgeResultIndex As Integer, ByRef Found As Boolean, ByRef X As Single, ByRef Y As Single, ByRef U As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式 - Object
シーケンスのオブジェクト名を示す文字列式 - EdgeResultIndex
エッジリザルトのインデックスを示す整数式 - Found
オブジェクトが検索されたかどうかを表すBoolean型変数 - X
ミリメートル単位で表わされるx座標を示す実数変数 - Y
ミリメートル単位で表わされるy座標を示す実数変数 - U
度単位で表わされる角度を示す実数変数
参照
VGetEdgePixelXYU, VGetEdgeRobotXYU, VGetPixelXYU, VGetRobotXYU
VGetEdgeCameraXYU 使用例
VB 例:
Dim found(10) As Boolean
Dim x(10) As Single, y(10) As Single, u(10) As Single
Dim seq As String, lineFinder As String
seq = "testSeq"
lineFinder = "LineFind01"
m_spel.VRun(seq)
' LineFinderのNumberOfEdgesプロパティーは10
For i = 1 To 10
m_spel.VGetEdgeCameraXYU(seq, lineFinder, i, found(i), x(i),
y(i), u(i))
Next i
C# 例:
bool[] found = new bool[11];
float[] x = new float[11];
float[] y = new float[11];
float[] u = new float[11];
string seq, lineFinder;
seq = "testSeq";
lineFinder = "LineFind01";
m_spel.VRun(seq);
// LineFinderのNumberOfEdgesプロパティーは10
for(int i = 1; i <= 10; i++)
m_spel.VGetEdgeCameraXYU(seq, lineFinder, i, out found[i],
out x[i], out y[i], out u[i]);
VGetEdgePixelXYU メソッド, Spelクラス
解説
LineFinderおよびArcFinderサーチの各エッジに対するX, Y, Uのピクセル座標を取得します。
書式
Sub VGetEdgePixelXYU (Sequence As String, Object As String, EdgeResultIndex As Integer, ByRef Found As Boolean, ByRef X As Single, ByRef Y As Single, ByRef U As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式 - Object
シーケンスのオブジェクト名を示す文字列式 - EdgeResultIndex
エッジリザルトのインデックスを示す整数式 - Found
オブジェクトが検索されたかどうかを表すBoolean型変数 - X
ミリメートル単位で表わされるx座標を示す実数変数 - Y
ミリメートル単位で表わされるy座標を示す実数変数 - U
度単位で表わされる角度を示す実数変数
参照
VGetEdgeCameraXYU, VGetEdgeRobotXYU, VGetPixelXYU, VGetRobotXYU
VGetEdgePixelXYU 使用例
VB 例:
Dim found(10) As Boolean
Dim x(10) As Single, y(10) As Single, u(10) As Single
Dim seq As String, lineFinder As String
seq = "testSeq"
lineFinder = "LineFind01"
m_spel.VRun(seq)
' LineFinderのNumberOfEdgesプロパティーは10
For i = 1 To 10
m_spel.VGetEdgePixelXYU(seq, lineFinder, i, found(i), x(i),
y(i), u(i))
Next i
C# 例:
bool[] found = new bool[11];
float[] x = new float[11];
float[] y = new float[11];
float[] u = new float[11];
string seq, lineFinder;
seq = "testSeq";
lineFinder = "LineFind01";
m_spel.VRun(seq);
// LineFinderのNumberOfEdgesプロパティーは10
for(int i = 1; i <= 10; i++)
m_spel.VGetEdgePixelXYU(seq, lineFinder, i, out found[i],
out x[i], out y[i], out u[i]);
VGetEdgeRobotXYU メソッド, Spelクラス
解説
LineFinderおよびArcFinderサーチの各エッジに対するロボットのX, Y, Uの物理座標を取得します。
書式
Sub VGetEdgeRobotXYU (Sequence As String, Object As String, EdgeResultIndex As Integer, ByRef Found As Boolean, ByRef X As Single, ByRef Y As Single, ByRef U As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式 - Object
シーケンスのオブジェクト名を示す文字列式 - EdgeResultIndex
エッジリザルトのインデックスを示す整数式 - Found
オブジェクトが検索されたかどうかを表すBoolean型変数 - X
ミリメートル単位で表わされるx座標を示す実数変数 - Y
ミリメートル単位で表わされるy座標を示す実数変数 - U
度単位で表わされる角度を示す実数変数
参照
VGetEdgeCameraXYU, VGetEdgePixelXYU, VGetPixelXYU, VGetRobotXYU
VGetEdgeRobotXYU使用例
VB 例:
Dim found(10) As Boolean
Dim x(10) As Single, y(10) As Single, u(10) As Single
Dim seq As String, lineFinder As String
seq = "testSeq"
lineFinder = "LineFind01"
m_spel.VRun(seq)
' LineFinderのNumberOfEdgesプロパティーは10
For i = 1 To 10
m_spel.VGetEdgeRobotXYU(seq, lineFinder, i, found(i), x(i),
y(i), u(i))
Next i
C# 例:
bool[] found = new bool[11];
float[] x = new float[11];
float[] y = new float[11];
float[] u = new float[11];
string seq, lineFinder;
seq = "testSeq";
lineFinder = "LineFind01";
m_spel.VRun(seq);
// LineFinderのNumberOfEdgesプロパティーは10
for(int i = 1; i <= 10; i++)
m_spel.VGetEdgeRobotXYU(seq, lineFinder, i, out found[i],
out x[i], out y[i], out u[i]);
VGetExtrema メソッド, Spelクラス
解説
Blobオブジェクトの極値座標を検索します。
書式
Sub VGetExtrema (Sequence As String, Object As String, Result As Integer, ByRef MinX As Single, ByRef MaxX As Single, ByRef MinY As Single, ByRef MaxY As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を示す文字列式 - Object
シーケンスのオブジェクト名を示す文字列式 - Result
リザルト番号を表わす整数式 - MinX
ピクセル単位で表わす最小X座標を示す実数変数 - MaxX
ピクセル単位で表わす最大X座標を示す実数変数 - MinY
ピクセル単位で表わす最小Y座標を示す実数変数 - MaxY
ピクセル単位で表わす最大Y座標を示す実数変数
参照
VGet
VGetExtrema 使用例
VB 例:
Dim xmin As Single, xmax As Single
Dim ymin As Single, ymax As Single
Dim seq As String, blob As String
seq = "testSeq"
blob = "blob01"
m_spel.VRun(seq)
m_spel.VGet(seq, blob, "found", found)
If found <> 0 Then
m_spel.VGetExtrema(seq, blob, xmin, xmax, ymin, ymax)
End If
C# 例:
float xMin, xMax, yMin, yMax;
bool found;
string seq, blob;
seq = "testSeq";
blob = "blob01";
m_spel.VRun(seq);
m_spel.VGet(seq, blob, "found", found);
if(found == true)
m_spel.VGetExtrema(seq, blob,out xMin,out xMax,out yMin,
out yMax);
VGetModelWin メソッド, Spelクラス
解説
オブジェクトのモデルウィンドウ座標を検索します。
書式
Sub VGetModelWin (Sequence As String, Object As String, ByRef Left As Integer, ByRef Top As Integer, ByRef Width As Integer, ByRef Height As Integer)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Left
ピクセル単位で表わされる左の座標を表す整数変数 - Top
ピクセル単位で表わされる上の座標を表す整数変数 - Width
ピクセル単位で表わされる幅を表す整数変数 - Height
ピクセル単位で表わされる高さを表す整数変数
参照
VsetModelWin, VgetSearchWin, VSetSearchWin
VGetModelWin 使用例
VB 例:
Dim left As Integer, top As Integer
Dim width As Integer, height As Integer
With m_spel
.VGetModelWin("testSeq", "corr01", left, top, _
width, height)
.VSetModelWin("testSeq", "corr01", left + 20, top, _
width, height)
.VTeach("testSeq", "corr01")
End With
C# 例:
int left, top, width, height;
m_spel.VGetModelWin("testSeq", "corr01", out left, out top,
out width, out height);
m_spel.VSetModelWin("testSeq", "corr01", left + 20, top,
width, height);
m_spel.VTeach("testSeq", "corr01");
VGetPixelToCamera メソッド, Spel クラス
解説
指定したピクセル座標に対するカメラ座標を取得します。
書式
Sub VGetPixelToCamera (Calibration As String, PixelX As Single, PixelY As Single, Angle As Single, ByRef CameraX As Single, ByRef CameraY As Single, ByRef CameraU As Single)
パラメーター
- Calibration
カレントプロジェクトのキャリブレーション名を示す文字列式 - PixelX
ピクセル単位で表されるx座標を示す実数変数 - PixelY
ピクセル単位で表されるy座標を示す実数変数 - Angle
度単位で表される角度を示す実数変数 - CameraX
ミリメートル単位で表わされるx座標を示す実数変数 - CameraY
ミリメートル単位で表わされるy座標を示す実数変数 - CameraU
度単位で表わされる角度を示す実数変数
参照
VGetPixelXYU, VGetCameraXYU, VGetPixelToRobot
VGetPixelToCamera 使用例
VB 例:
Dim x As Single, y As Single, u As Single
Dim cal As String, seq As String
cal = "testCal"
seq = "testSeq"
m_spel.VRun(seq)
m_spel.VGetPixelToCamera(cal, 400, 300, 0, x, y, u)
C# 例:
float x, y, u
string cal, seq;
cal = "testCal";
seq = "testSeq";
m_spel.VRun(seq);
m_spel.VGetPixelToCamera(cal, 400, 300, 0, out x, out y, out u);
VGetPixelToRobot メソッド, Spel クラス
解説
指定したピクセル座標に対するロボット座標を取得します。
書式
Sub VGetPixelToRobot (Calibration As String, PixelX As Single, PixelY As Single, Angle As Single, ByRef RobotX As Single, ByRef RobotY As Single, ByRef RobotU As Single)
パラメーター
- Calibration
カレントプロジェクトのキャリブレーション名を示す文字列式 - PixelX
ピクセル単位で表されるx座標を示す実数変数 - PixelY
ピクセル単位で表されるy座標を示す実数変数 - Angle
度単位で表される角度を示す実数変数 - RobotX
ミリメートル単位で表わされるx座標を示す実数変数 - RobotY
ミリメートル単位で表わされるy座標を示す実数変数 - RobotU
度単位で表わされる角度を示す実数変数
参照
VGetPixelXYU, VGetRobotXYU, VGetPixelToCamera
VGetPixelToRobot 使用例
VB 例:
Dim x As Single, y As Single, u As Single
Dim cal As String, seq As String
cal = "testCal"
seq = "testSeq"
m_spel.VRun(seq)
m_spel.VGetPixelToRobot(cal, 400, 300, 0, x, y, u)
C# 例:
float x, y, u
string cal, seq;
cal = "testCal";
seq = "testSeq";
m_spel.VRun(seq);
m_spel.VGetPixelToRobot(cal, 400, 300, 0, out x, out y, out u);
VGetPixelXYU メソッド, Spelクラス
解説
オブジェクトのピクセルX, Y, Uの座標を検索します。
書式
Sub VGetPixelXYU (Sequence As String, Object As String, Result As Integer, ByRef Found As Boolean, ByRef X As Single, ByRef Y As Single, ByRef U As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Result
リザルト番号を表わす整数式 - Found
オブジェクトが検出されたかどうかを表すBoolean文字式 - X
ピクセル単位で表わされるx座標を表す実数変数 - Y
ピクセル単位で表わされるy座標を表す実数変数 - U
度単位で表わされる角度を表す実数変数
参照
VGetCameraXYU, VGetRobotXYU
VGetPixelXYU 使用例
VB 例:
Dim found As Integer
Dim x As Single, y As Single, u As Single
Dim seq As String, blob As String
seq = "testSeq"
blob = "blob01"
m_spel.VRun(seq)
m_spel.VGetPixelXYU(seq, blob, 1, found, x, y, u)
C# 例:
int found;
float x, y, u;
string seq, blob;
seq = "testSeq";
blob = "blob01";
m_spel.VRun(seq);
m_spel.VGetPixelXYU(seq, blob,1, out found, out x, out y, out u);
VGetRobotPlacePos メソッド, Spelクラス
解説
ロボットの配置位置を取得します。
書式
Sub VGetRobotPlacePos (Sequence As String, Object As String, Result As Integer, ByRef Found As Boolean, ByRef PlacePointAs SpelPoint)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Result
リザルト番号を表わす整数式 - Found
ブール型検出ステータスを表す整数変数検出がFalseの場合、W, Y, Uは未定義になります。 - PlacePoint
配置位置を示すSpelPoint変数
参照
VGetRobotPlaceTargetPos, VSetRobotPlaceTargetPos
VGetRobotPlacePos 使用例
VB 例:
Dim found As Integer
Dim x As Single, y As Single, u As Single
Dim seq As String, blob As String
Dim placePoint As SpelPoint
seq = "testSeq"
blob = "blob01"
' ワークを上向きカメラ上空に移動
m_spel.Jump("camPos")
m_spel.VRun(seq)
m_spel.VGetRobotPlacePos(seq, blob, 1, found, placePoint)
' スカラロボットで、+TLZ を使用して接近
m_spel.Jump(placePoint, "+TLZ(10)")
m_spel.Go(placePoint)
C# 例:
bool found;
float x, y, u;
string seq, blob;
SpelPoint placePoint = new SpelPoint();
seq = "testSeq";
blob = "blob01";
// ワークを上向きカメラ上空に移動
m_spel.Jump("camPos");
m_spel.VRun(seq);
m_spel.VGetRobotPlacePos(seq,blob,1,out found, out placePoint);
//スカラロボットで、+TLZ を使用して接近
m_spel.Jump(placePoint, "+TLZ(10)");
m_spel.Go(placePoint);
VGetRobotPlaceTargetPos メソッド, Spelクラス
解説
ワークの配置位置を取得します。
書式
Sub VGetRobotPlaceTargetPos (Sequence As String, Object As String, ByRef Point As SpelPoint)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Point
配置位置を示すSpelPoint変数
参照
VGetRobotPlacePos, VSetRobotPlaceTargetPos
VGetRobotPlaceTargetPos 使用例
VB 例:
Dim seq As String, blob As String
Dim targetPoint As SpelPoint
seq = "testSeq"
blob = "blob01"
m_spel.VGetRobotPlaceTargetPos(seq, blob, targetPoint)
' Adjust the place position
targetPoint.X = targetPoint.X + 10
m_spel.VSetRobotPlaceTargetPos(seq, blob, targetPoint)
C# 例:
Spe
lPoint targetPoint = new SpelPoint();
seq = "testSeq";
blob = "blob01";
m_spel.VGetRobotPlaceTargetPos(seq, blob, out targetPoint);
// 配置位置を調整する
targetPoint.X = targetPoint.X + 10;
m_spel.VSetRobotPlaceTargetPos(seq, blob, targetPoint);
VGetRobotXYU メソッド, Spelクラス
解説
オブジェクトのロボット稼動のX, Y, U座標を検索します。
書式
Sub VGetRobotXYU (Sequence As String, Object As String, Result As Integer, ByRef Found As Boolean, ByRef X As Single, ByRef Y As Single, ByRef U As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Result
リザルト番号を表わす整数式 - Found
ブール型検出ステータスを表す整数変数検出がFalseの場合、W, Y, Uは未定義になります。 - X
ミリメートル単位で表わされるx座標を表す実数変数 - Y
ミリメートル単位で表わされるy座標を表す実数変数 - U
度単位で表わされる角度を表す実数変数
参照
VGetCameraXYU, VGetPixelXYU
VGetRobotXYU 使用例
VB 例:
Dim found As Integer
Dim x As Single, y As Single, u As Single
Dim seq As String, blob As String
seq = "testSeq"
blob = "blob01"
m_spel.VRun(seq)
m_spel.VGetRobotXYU(seq, blob, 1, found, x, y, u)
C# 例:
bool found;
float x, y, u;
string seq, blob;
seq = "testSeq";
blob = "blob01";
m_spel.VRun(seq);
m_spel.VGetRobotXYU(seq, blob, 1, out found, out x, out y, out u);
VGetRobotToolXYU メソッド, Spelクラス
解説
ツール定義に対するロボットのX, Y, Uのワールド座標を取得します。
書式
Sub VGetRobotToolXYU (Sequence As String, Object As String, Result As Integer, ByRef Found As Boolean, ByRef X As Single, ByRef Y As Single, ByRef U As Single)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Result
リザルト番号を表わす整数式 - Found
ブール型検出ステータスを表す整数変数検出がFalseの場合、W, Y, Uは未定義になります。 - X
ミリメートル単位で表わされるx座標を表す実数変数 - Y
ミリメートル単位で表わされるy座標を表す実数変数 - U
度単位で表わされる角度を表す実数変数
コメント
VGetRobotToolXYUを使用して、上向きカメラで見ているワークのツールを簡単に定義できます。これにより、ワークのハンドリング、上向きカメラの視野内でのワーク検索、ワークのツールの定義をして、ワークを置くことができます。
参照
VGetCameraXYU, VGetPixelXYU, VGetRobotXYU
VGetRobotToolXYU 使用例
VB 例:
Dim found As Integer
Dim x As Single, y As Single, u As Single
Dim seq As String, blob As String
seq = "testSeq"
blob = "blob01"
' ワークを上向きカメラ上空に移動
m_spel.Jump("camPos")
m_spel.VRun(seq)
m_spel.VGetRobotToolXYU(seq, blob, 1, found, x, y, u)
m_spel.TLSet(1, x, y, u)
C# 例:
bool fnd;
float x, y, u;
string seq, blob;
seq = "testSeq";
blob = "blob01";
// ワークを上向きカメラ上空に移動
m_spel.Jump("camPos");
m_spel.VRun(seq);
m_spel.VGetRobotToolXYU(seq, blob, 1, out fnd, out x, out y, out u);
m_spel.TLSet(1, x, y, u);
VGetSearchWin メソッド, Spelクラス
解説
サーチウィンドウの座標を検索します。
書式
Sub VGetSearchWin (Sequence As String, Object As String, ByRef Left As Integer, ByRef Top As Integer, ByRef Width As Integer, ByRef Height As Integer)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Left
ピクセル単位で表わされる左の座標を表す整数変数 - Top
ピクセル単位で表わされる上の座標を表す整数変数 - Width
ピクセル単位で表わされる幅を表す整数変数 - Height
ピクセル単位で表わされる高さを表す整数変数
参照
VgetModelWin, VsetModelWin, VSetSearchWin
VGetSearchWin 使用例
VB 例:
Dim left As Integer, top As Integer
Dim width As Integer, height As Integer
With m_spel
.VGetSearchWin("testSeq", "corr01", left, top, _
width, height)
.VSetSearchWin("testSeq", "corr01", newLeft, top, _
width, height)
.VRun("testSeq")
End With
C# 例:
int left, top, width, height;
m_spel.VGetSearchWin("testSeq", "corr01", out left, out top,
out width, out height);
m_spel.VSetSearchWin("testSeq", "corr01", newLeft, top,
width, height);
m_spel.VRun("testSeq");
VGoCenterメソッド, Spelクラス
解説
ビジョン検出可能な1つの特徴点を用いて、カメラ画像の中心へ特徴点が写るようにロボットを移動させます。
書式
Sub VGoCenter(Sequence As String, LocalNumber As Integer, TargetTolerance As Double)
Sub VGoCenter(Sequence As String, LocalNumber As Integer, TargetTolerance As Double, Parent As Form)
Sub VGoCenter(Sequence As String, LocalNumber As Integer, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer)
Sub VGoCenter(Sequence As String, LocalNumber As Integer, TargetTolerance As Double, RobotSpeed As Integer, RobotAccel As Integer, Parent As Form)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - LocalNumber
ロボットを移動する、ローカル座標番号を示す整数。
(負値-1が指定された場合、ツール姿勢のXY平面内をロボットは移動します。) - TargetTolerance
ビジョン検出結果が対象位置と一致したとみなすピクセル距離を示す実数
値範囲: 0~3 pixel - Form
ウィンドウのペアレントになる.NETフォーム(省略可) - RobotSpeed
ロボットの速度 (%)を示す整数変数 (省略可)値範囲: 0~100省略された場合は、「5」に設定されます。 - RobotAccel
ロボットの加速度 (%)を示す整数変数 (省略可)値範囲: 0~99省略された場合は、「5」に設定されます。
参照
VDefArm, VDefGetMotionRange, VDefLocal, VDefSetMotionRange, VDefTool
VGoCenter 使用例
VB 例:
m_spel.VGoCenter("myseq", 1, 1.0)
C# 例:
m_spel.VGoCenter("myseq", 1, 1.0);
VLoad メソッド, Spelクラス
解説
カレントプロジェクトから、ビジョンプロパティーを読み込みます。
書式
Sub VLoad ()
コメント
VLoadメソッドは、ビジョンプロパティー, モデル, フォントなどの設定を元に戻したいとき、プログラムの開始時に設定を初めの状態へ戻します。
参照
VSave
VLoad使用例
VB 例:
m_spel.VLoad()
C# 例:
m_spel.VLoad();
VLoadModel メソッド, Spelクラス
解説
ディスクファイルから、ビジョンモデルを読み込みます。
書式
Sub VLoadModel (Sequence As String, Object As String, Path As String)
パラメーター
- Sequence
カレントプロジェクトのシーケンス名を表す文字列 - Object
オブジェクト名を表す文字列オブジェクトはCorrelation、GeometricまたはPolarを使用してください。 - Path
拡張子を除いた、モデルを読み込むファイルのフルパス名
コメント
ファイルの中のモデルデータが不適切なタイプだと、エラーが発生します。例えば、PolarモデルをCorrelationモデルに読み込もうとすると、エラーが発生します。ファイル拡張子を入力しても、無効になります。FileNameに関連づけられた2つのファイルがあります。
CorrelationモデルとGeometricでは、モデルウィンドウとともに、ModelOrgX値とModelOrgY値が読み込まれます。
Polarモデルでは、Radius, Thickness, AngleOffsetが復元されます。
参照
VSaveModel
VLoadModel 使用例
VB 例:
m_spel.VLoadModel("seq01", "corr01", "d:\models\part1")
C# 例:
m_spel.VLoadModel("seq01", "corr01", @"d:\models\part1");
VRun メソッド, Spelクラス
解説
カレントプロジェクトのビジョンシーケンスを実行します。
書式
Sub VRun (Sequence As String)
パラメーター
- Sequence
カレントプロジェクトのシーケンス名を表す文字列
コメント
VRunメソッドは、シーケンス処理を開始します。
グラフィックスを表示するには、SpelクラスインスタンスのSpel VideoControlプロパティーにSPELVideoコントロールを設定します。
VRun実行後、VGetでリザルトを検索してください。
参照
Vget、VSet
VRun 使用例
VB 例:
Function FindPart(x As Single, y As Single, angle As Single)As Boolean
Dim found As Boolean
Dim x, y, angle As Single
With m_spel
.VRun("seq01")
.VGet("seq01", "corr01", "found", found)
If found Then
.VGet("seq01", "corr01", "cameraX", x)
.VGet("seq01", "corr01", "cameraY", y)
.VGet("seq01", "corr01", "angle", angle)
FindPart = True
End If
End With
End Function
C# 例:
bool FindPart(float x, float y, float angle)
{
bool found;
m_spel.VRun("seq01");
m_spel.VGet("seq01", "corr01", "found", found);
if (found) {
m_spel.VGet("seq01", "corr01", "cameraX", out x);
m_spel.VGet("seq01", "corr01", "cameraY", out y);
m_spel.VGet("seq01", "corr01", "angle", out angle);
}
return found;
}
VSave メソッド, Spelクラス
解説
カレントプロジェクトにあるすべてのビジョンデータを保存します。
書式
Sub VSave ()
コメント
VSaveメソッドは、ビジョンプロパティーを保存します。
参照
Vset
VSaveImage 使用例
VB 例:
With m_spel
.VSet("seq01", "blob01", "SearchWinLeft", 100)
.VSet("seq01", "corr01", "Accept", userAccept)
.VSave()
End With
C# 例:
m_spel.VSet("seq01", "blob01", "SearchWinLeft", 100);
m_spel.VSet("seq01", "corr01", "Accept", userAccept);
m_spel.VSave();
VSaveImage メソッド, Spelクラス
解説
ビジョン画像ウィンドウをコントローラーのディスクファイルに保存します。
書式
Sub VSaveImage (Sequence As String, Path As String)
Sub VSaveImage (Sequence As String, Path As String, WithGraphics As Boolean)
パラメーター
- Sequence
カレントプロジェクトのシーケンス名を表す文字列 - Path
拡張子を含む、画像イメージを保存するファイルのフルパス名 - WithGraphics
シーケンスのリザルト画像を画像ファイルに保存するかを設定するBoolean演算式
コメント
VSaveImageメソッドは、ビデオディスプレイ上の画像イメージをディスクに保存するために使用してください。ファイルの拡張子:
.bmp
.tif
.jpg
参照
LoadImage (SPELVideo コントロール)
VSaveImage 使用例
VB 例:
Dim found As Boolean
m_spel.VRun("Seq")
m_spel.VGet("Seq", SpelVisionProps.AllFound, found)
If Not found Then
m_spel.VSaveImage("Seq", "d:\reject.mim")
End If
C# 例:
bool found;
m_spel.VRun("Seq");
m_spel.VGet("Seq", SpelVisionProps.AllFound, out found);
if (\!found)
m_spel.VSaveImage("Seq", @"d:\reject.mim");
VSaveModel メソッド, Spelクラス
解説
ビジョンオブジェクトサーチモデルをコントローラーのディスクファイルに保存します。
書式
Sub VSaveModel (Sequence As String, Object As String, Path As String)
パラメーター
- Sequence
カレントプロジェクトのシーケンス名を表す文字列 - Object
オブジェクト名を表す文字列オブジェクトはCorrelation、GeometricまたはPolarを使用してください。 - Path
拡張子を含まない、モデルを保存するファイルのフルパス名
コメント
VSaveModelメソッドが実行されると、Epson RC+ 8.0は2つのファイルを作成します:Path.VOB, Path.MDL
Correlation、Geometricモデルでは、ModelOrgX値とModelOrgY値がモデルウィンドウとともに保存されます。Polarモデルでは、Radius, Thickness, AngleOffsetが保存されます。
参照
VLoadModel
VSaveModel 使用例
VB 例:
m_spel.VSaveModel("seq01", "corr01", "d:\models\part1")
C# 例:
m_spel.VSaveModel("seq01", "corr01", @"d:\models\part1");
VSet メソッド, Spelクラス
解説
ビジョンシーケンス、またはオブジェクトプロパティーの値を設定します。
書式
Sub VSet (Sequence As String, PropCode As SpelVisionProps, Value As Integer)
Sub VSet (Sequence As String, PropCode As SpelVisionProps, Value As Boolean)
Sub VSet (Sequence As String, PropCode As SpelVisionProps, Value As Double)
Sub VSet (Sequence As String, PropCode As SpelVisionProps, Value As Single)
Sub VSet (Sequence As String, PropCode As SpelVisionProps, Value As String)
Sub VSet (Sequence As String, Object As String, PropCode As SpelVisionProps, Value As Integer)
Sub VSet (Sequence As String, Object As String, PropCode As SpelVisionProps, Value As Boolean)
Sub VSet (Sequence As String, Object As String, PropCode As SpelVisionProps, Value As Color)
Sub VSet (Sequence As String, Object As String, PropCode As SpelVisionProps, Value As Double)
Sub VSet (Sequence As String, Object As String, PropCode As SpelVisionProps, Value As Single)
Sub VSet (Sequence As String, Object As String, PropCode As SpelVisionProps, Value As String)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - propName
値を設定したいプロパティー名を表す文字列式 - PropCode
プロパティーコードを指定するSpelVisionPropsの値 - value
新しい値を表す式式の型は、プロパティーの型と一致しなければなりません。
参照
Vget, VRun
VSet 使用例
VB 例:
m_spel.VSet("seq01", "corr01", SpelVisionProps.Accept, 250)
C# 例:
m_spel.VSet("seq01", "corr01", SpelVisionProps.Accept, 250);
VSetModelWin メソッド, Spelクラス
解説
モデルウィンドウ座標を設定します。
書式
Sub VSetModelWin (Sequence As String, Object As String, Left As Integer, Top As Integer, Width As Integer, Height As Integer)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Left
ピクセル単位の左の座標を表わす整数式 - Top
ピクセル単位の上の座標を表わす整数式 - Width
ピクセル単位の幅を表わす整数式 - Height
ピクセル単位の高さを表わす整数式
参照
VgetModelWin, VgetSearchWin, VSetSearchWin
VSetModelWin 使用例
VB 例:
Dim left As Integer, top As Integer
Dim width As Integer, height As Integer
With m_spel
.VGetModelWin("testSeq", "corr01", left, top, _
width, height)
.VSetModelWin("testSeq", "corr01", left + 20, top, _
width, height)
.VTeach("testSeq", "corr01")
End With
C# 例:
int left, top, width, height;
m_spel.VGetModelWin("testSeq", "corr01", out left, out top,
out width, out height);
m_spel.VSetModelWin("testSeq", "corr01", left + 20, top,
width, height);
m_spel.VTeach("testSeq", "corr01");
VSetRobotPlaceTargetPos メソッド, Spelクラス
解説
ワークの配置位置を設定します。
書式
Sub VSetRobotPlaceTargetPos (Sequence As String, Object As String, Point As SpelPoint)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Point
配置位置を示すSpelPoint変数
参照
VGetRobotPlacePos, VGetRobotPlaceTargetPos
VSetRobotPlaceTargetPos 使用例
VB 例:
Dim seq As String, blob As String
Dim targetPoint As SpelPoint
seq = "testSeq"
blob = "blob01"
m_spel.VGetRobotPlaceTargetPos(seq, blob, targetPoint)
' 配置位置を調整する
targetPoint.X = targetPoint.X + 10
m_spel.VSetRobotPlaceTargetPos(seq, blob, targetPoint)
C# 例:
string seq, blob;
SpelPoint targetPoint = new SpelPoint();
seq = "testSeq";
blob = "blob01";
m_spel.VGetRobotPlaceTargetPos(seq, blob, out targetPoint);
// 配置位置を調整する
targetPoint.X = targetPoint.X + 10;
m_spel.VSetRobotPlaceTargetPos(seq, blob, targetPoint);
VSetSearchWin メソッド, Spelクラス
解説
サーチウィンドウ座標を設定します。
書式
Sub VSetSearchWin (Sequence As String, Object As String, Left As Integer, Top As Integer, Width As Integer, Height As Integer)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - Object
シーケンスのオブジェクト名を表す文字列式 - Left
ピクセル単位の左の座標を表わす整数式 - Top
ピクセル単位の上の座標を表わす整数式 - Width
ピクセル単位の幅を表わす整数式 - Height
ピクセル単位の高さを表わす整数式
参照
VgetModelWin, VsetModelWin, VGetSearchWin
VSetSearchWin 使用例
VB 例:
Dim left As Integer, top As Integer
Dim width As Integer, height As Integer
With m_spel
.VGetSearchWin("testSeq", "corr01", left, top, _
width, height)
.VSetSearchWin("testSeq", "corr01", newLeft, top, _
width, height)
.VRun("testSeq")
End With
C# 例:
int left, top, width, height;
m_spel.VGetSearchWin("testSeq", "corr01", out left, out top,
out width, out height);
m_spel. .VSetSearchWin("testSeq", "corr01", left + 50,
top, width, height);
m_spel.VRun("testSeq");
VShowModel メソッド, Spelクラス
解説
オブジェクトモデルを表示します。詳細はVision Guideプロパティー&リザルトリファレンスの「ShowModelプロパティー」を参照してください。
書式
Sub VShowModel (Sequence As String, Object As String, Parent As Form)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式 - ObjectName
カレントプロジェクトのビジョンオブジェクト名を表す文字列式
参照
VshowSequence, VTrain
VShowModel 使用例
VB 例:
m_spel.VShowModel("myseq", "myobj")
C# 例:
m_spel.VShowModel("myseq", "myobj");
VShowSequence メソッド, Spelクラス
解説
シーケンスのすべてのオブジェクトを表示します。
書式
Sub VShowSequence (Sequence As String)
パラメーター
- Sequence
作成するビジョンシーケンス名を表す文字式
コメント
VShowSequenceメソッドを使って、シーケンスを実行することなく、シーケンスのオブジェクト名を表示します。わかりやすいように、すべてのオブジェクトにアクティブオブジェクト色 (マゼンタ色)を使っています。
ロボットカメラを移動するときに、ロボットを特定の位置に移動させるため、本コマンドを使用してシーケンスを表示することができます。
参照
VShowModel
VShoweSequence 使用例
VB 例:
m_spel.VShowSequence("myseq")
C# 例:
m_spel.VShowSequence("myseq");
VStatsReset メソッド, Spelクラス
解説
カレントプロジェクトの指定したシーケンスのビジョン統計値をリセットします。
書式
Sub VStatsReset (Sequence As String)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式
コメント
VStatsResetメソッドは、カレントセッションのためだけにメモリーの指定したシーケンスの統計値をリセットします。変更を維持する場合は、VStatsSaveを実行してください。実行しなければ、Epson RC+ 8.0を再起動したとき、統計値はディスクから復元されます。
参照
VstatsResetAll, VstatsShow, VStatsSave
VStatsReset 使用例
VB 例:
Sub btnResetStats_Click()
m_spel.VStatsReset("seq01")
End Sub
C# 例:
void btnResetStats_Click(object sender, EventArgs e)
{
m_spel.VStatsReset("seq01");}
VStatsResetAll メソッド, Spelクラス
解説
シーケンスすべてのビジョン統計値をリセットします。
書式
Sub VStatsResetAll
コメント
VStatsResetAllは、メモリー上のすべての統計値をリセットします。統計値を保存するには、VStatsSaveを実行してください。
参照
VstatsReset, VstatsShow, VStatsSave
VStatsResetAll 使用例
VB 例:
Sub btnResetStats_Click()
m_spel.VStatsResetAll()
End Sub
C# 例:
void btnResetStats_Click(object sender, EventArgs e)
{
m_spel.VStatsResetAll();
}
VStatsSave メソッド, Spelクラス
解説
カレントプロジェクトのシーケンスすべてのビジョン統計値を保存します。
書式
Sub VStatsSave ()
コメント
更新されたビジョン統計値を保存するには、Epson RC+ 8.0をシャットダウンする前に、必ずVStatsSaveメソッドを実行してください。
参照
VstatsReset, VstatsResetAll, VStatsShow
VStatsSave 使用例
VB 例:
Sub btnResetStats_Click()
m_spel.VStatsSave()
End Sub
C# 例:
void btnResetStats_Click(object sender, EventArgs e)
{
m_spel.VStatsSave();
}
VStatsShow メソッド, Spelクラス
解説
カレントプロジェクトの指定シーケンスの[統計]ダイアログを表示します。
書式
Sub VStatsShow (Sequence As String, Parent As Form)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名を表す文字列式
参照
VstatsReset, VstatsResetAll, VStatsSave
VStatsShow 使用例
VB 例:
Sub btnShowStats_Click()
m_spel.VStatsShow("seq01")
End Sub
C# 例:
void btnShowStats_Click(object sender, EventArgs e)
{
m_spel.VStatsShow("seq01");
}
VTeach メソッド, Spelクラス
解説
Correlation, Geometric, Polarモデルをティーチングします。
書式
Sub VTeach (Sequence As String, Object As String, ByRef Status as Integer)
Sub VTeach (Sequence As String, Object As String, AddSample as Boolean, KeepDontCares As Boolean, ByRef Status as Integer)
パラメーター
- Sequence
カレントプロジェクトのビジョンシーケンス名 - Object
オブジェクト名Correlationオブジェクト, Geometricオブジェクト, Polarオブジェクトを教示できます。 - AddSample
サンプルを追加する場合はTrue、新規モデルとして追加する場合はFalse - KeepDontCares
既存の検出マスクを利用する場合はTrue、破棄する場合はFalse - Status
ステータスを返します1: 成功 0: 失敗
コメント
VTeachメソッドを呼び出す前に、モデルウィンドウが正しい位置にあることを確認してください。
Polarオブジェクトは、サーチウィンドウとThicknessを適切に設定してください。サーチウィンドウの位置とThicknessは、VSetメソッドを使って設定してください。
Correlation, Geometricオブジェクトは、サーチウィンドウとモデルウィンドウを適切に設定してください。サーチとモデルのウィンドウ位置は、SearchWinとModelWinのVSetメソッドを使って設定してください。または、オペレーター画面操作でウィンドウを変えられるように、VTrainコマンドを使うことができます。
モデルをティーチング後、VSaveModelメソッドを使って、モデルをコントローラーのディスクファイルに保存できます。
参照
Vtrain, VSaveModel
VTeach 使用例
VB 例:
Dim status As Integer
' ウィンドウ位置を変更
m_spel.VTrain("seq01", "corr01", status)
' モデルをティーチング
m_spel.VTeach("seq01", "corr01", status)
C# 例:
int status;
// ウィンドウ位置を変更
m_spel.VTrain("seq01", "corr01", status);
// モデルをティーチング
m_spel.VTeach("seq01", "corr01", out status);
VTrain メソッド, Spelクラス
解説
このコマンドにより、シーケンス全体のオブジェクト、または個別のオブジェクトを登録できます。
書式
Function VTrain (Sequence As String [, Object As String] [, Flags as Integer] [, Parent as Form]) As Boolean
パラメーター
- Sequence
カレントオブジェクトのビジョンシーケンス名 - Object
Sequenceのオブジェクト名どのタイプのオブジェクトでも登録できます。Objectが空の文字列なら、シーケンス全体を登録できます。 - Flags
[VTrain]ダイアログを構成します。(省略可)1 - [ティーチ]ボタンを表示します。2 - モデルウィンドウを表示しません。 - Parent
ウィンドウのペアレントになる.NET (opens new window) フォーム(省略可)
戻り値
オペレーターが[OK]ボタンをクリックすると、VTrainメソッドはTrueを返します。クリックしなければ、Falesを返します。
コメント
VTrainを実行すると、指定のオブジェクトを表示したライブ画像イメージを示しながら、ダイアログが開きます。オペレーターはサーチウィンドウをサイズ変更したり、移動させたりして、(Correlation, Geometricオブジェクトの)モデルウィンドウを登録できます。登録を完了したら、オペレーターは変更を保存する[OK]ボタン、または変更を保存しない[キャンセル]ボタンをクリックすることができます。[OK]ボタンをクリックすると、カレントプロジェクトに新規情報が自s動的に保存されます。
flagsがビット1に設定されていれば、[ティーチ]ボタンが表示されます。Correlationa, Geometric, Polarオブジェクトでは、[ティーチ]ボタンをクリックすると、モデルがティーチングされます。モデルがティーチングされているかどうかを確認するためにVTrainを実行した後に、ModelOKプロパティーを検索できます。Blobオブジェクトでは、ボタンでヒストグラムダイアログが開き、オペレーターは高しきい値と低しきい値を調整して、変更の効果を見ることができます。
flagsがビット2に設定されていれば、モデルウィンドウは表示されません。オペレーターはサーチウィンドウのみ変更できます。
Correlationオブジェクトでは、[ティーチ]ボタンを表示しない場合、モデルを教示するために、VTrainを呼び出した後にVTeachを呼び出すことができます。
参照
VTeach, VSaveModel
VTrain 使用例
VB 例:
Dim status As Integer
Dim trainOK As Boolean
' ウィンドウ位置を変更
trainOK = m_spel.VTrain("seq01", "corr01")
' モデルをティーチング
If trainOK Then
m_spel.VTeach("seq01", "corr01", status)
EndIf
C# 例:
int status;
bool trainOK;
// ウィンドウ位置を変更
trainOK = m_spel.VTrain("seq01", "corr01");
// モデルをティーチング
if (trainOK)
m_spel.VTeach("seq01", "corr01", out status);
WaitCommandComplete メソッド, Spelクラス
解説
このコマンドは、AsyncModeがTrueの設定で開始されたコマンドが完了するのを待ちます。
書式
Sub WaitCommandComplete ()
参照
AsyncMode
WaitCommandComplete 使用例
VB 例:
With m_spel
.AsyncMode = True
.Jump("pick")
.Delay(500)
.On(1)
.WaitCommandComplete()
End With
C# 例:
m_spel.AsyncMode = true;
m_spel.Jump("pick");
m_spel.Delay(500);
m_spel.On(1);
m_spel.WaitCommandComplete();
WaitMem メソッド, Spelクラス
解説
メモリービットステータスの変更を待ちます。
書式
Sub WaitMem (BitNumber As Integer, Condition As Boolean, Timeout As Single)
Sub WaitMem (Label As String, Condition As Boolean, Timeout As Single)
パラメーター
- BitNumber
メモリービット番号を表す整数式 - Label
メモリービットラベルを表す文字列 - Condition
メモリービットの状態を表すブール演算式 - Timeout
最大待ち時間(単位: 秒)
コメント
TWメソッドを使って、タイムアウトが発生しているかどうかを常に確認してください。下記の例を参照してください。
参照
WaitSw
WaitMem 使用例
VB 例:
' メモリービット1が “1” (True)になるまで待機
' 最長5秒
m_spel.WaitMem(1, True, 5)
' Did WaitMem time out?
If m_spel.TW() Then
MsgBox "memory bit time out occurred"
End If
C# 例:
// メモリービット1が “1” (True)になるまで待機
// 最長5秒
m_spel.WaitMem(1, True, 5);
// WaitMemがタイムアウトになっているか確認
if (m_spel.TW())
MessageBox.Show("memory bit time out occurred");
WaitSw メソッド, Spelクラス
解説
入力ビットステータス変更を待ちます。
書式
Sub WaitSw (BitNumber As Integer, Condition As Boolean, Timeoutl As Single)
Sub WaitSw (Label As String, Condition As Boolean, Timeoutl As Single)
パラメーター
- BitNumber
入力ビット番号を表す整数式 - Label
入力ビットラベルを示す文字列 - Condition
入力ビットの状態を表すブール演算式 - Timeout
最大待ち時間 (単位: 秒)
コメント
TWメソッドを使って、タイムアウトが発生しているかどうかを常に確認してください。下記の例を参照してください。
参照
WaitMem
WaitSw 使用例
VB 例:
Const PartPresent = 1
m_spel.WaitSw(PartPresent, True, 5)
If m_spel.TW() Then
MsgBox "Part present time out occurred"
End If
C# 例:
const int PartPresent = 1;
m_spel.WaitSw(PartPresent, True, 5);
if (m_spel.TW())
MessageBox.Show("Part Present time out occurred");
WaitTaskDone メソッド, Spelクラス
解説
タスクが終了するのを待って、タスク状態を返します。
書式
Function WaitTaskDone (TaskNumber As Integer) As SpelTaskState
Function WaitTaskDone (TaskName As String) As SpelTaskState
パラメーター
- TaskNumber
実行状態を返すタスク番号 - TaskName
タスク名を示す文字列式
戻り値
SpelTaskState値
参照
SpelTaskState, TasksExecuting, TaskState, Xqt
WaitTaskDone 使用例
VB 例:
Dim taskState As SpelTaskState
m_spel.Xqt 2, "mytask"
'
' 他の処理
'
taskState = m_spel.WaitTaskDone(2)
C# 例:
SpelTaskState taskState;
m_spel.Xqt(2, "mytask");
//
// 他の処理
//
taskState = m_spel.WaitTaskDone(2);
Weight メソッド, Spelクラス
解説
カレントロボットのweightパラメーターを指定します。
書式
Sub Weight (PayloadWeight As Single, ArmLength As Single, [Axis])
パラメーター
- PayloadWeight
Kg単位で表わされるハンドが運搬できる質量 - ArmLength
第2アームの回転の中心からハンドの重心までの、mm単位の距離 - Axis
負荷量を割りあてる付加軸 (SまたはT)
注意
PayLoadWeight, ArmLengthパラメーターに整数値を入力しないでください。Single型の変数を使用するか直接Single型を入力してください。
参照
Inertia, JRange, Tool
Weight 使用例
VB 例:
m_spel.Weight(2.0F, 2.5F)
C# 例:
m_spel.Weight(2.0F, 2.5F);
Xqt メソッド, Spelクラス
解説
SPEL+タスク1つを開始します。
書式
Sub Xqt (FuncName As String [, TaskType As SpelTaskType])
Sub Xqt (TaskNumber As Integer, FuncName As String [, TaskType As SpelTaskType])
パラメーター
- TaskNumber
実行するタスクのタスク番号 (1~32) - FuncName
実行するファンクション名引数を関数に与えることも可能です。引数はカッコの中に入れ、カンマで区切ります。詳細は、SPEL+ - Xqtステートメントと使用例を参照してください。 - TaskType
タスクの型をNormal、NoPause、またはNoEmgAbortに指定(省略可)
コメント
Xqtを実行すると、コントロールは速やかに呼び出しているプログラムに戻ります。Callメソッドを使用して1タスクが完了するのを待つか、またはタスクステータスイベントとともにEventReceivedを使用して1タスクが終了するのを待つことができます。
参照
Call, EnableEvent, EventReceived
Xqt 使用例
VB 例:
m_spel.Xqt(2, "conveyor")
' RunPart関数に引数を与える
m_spel.Xqt(3, "RunPart(3)")
Dim funcToExec As String
funcToExec = "RunPart(" & partNum & ")"
m_spel.Xqt(3, funcCall)
C# 例:
m_spel.Xqt(2, "conveyor");
// RunPart関数に引数を与える
m_spel.Xqt(3, "RunPart(3)");
string funcToExec;
funcToExec = string.Format("RunPart({0})", partNum);
m_spel.Xqt(3, funcToExec);
XYLim メソッド, Spelクラス
解説
ロボットの許容動作範囲を設定します。
書式
Sub XYLim (XLowerLimit As Single, XUpperLimit As Single, YLowerLimit As Single, YUpperLimit As Single [, ZLowerLimit As Single ] [, ZUpperLimit As Single] )
パラメーター
- XLowerLimit
ロボットが移動できる最小X座標位置(最小Xより小さいX座標を持った位置には移動しません。) - XUpperLimit
ロボットが移動できる最大X座標位置(最大Xより大きいX座標を持った位置には移動しません。) - YLowerLimit
ロボットが移動できる最小Y座標位置(最小Yより小さいY座標を持った位置には移動しません。) - YUpperLimit
ロボットが移動できる最大Y座標位置(最大Yより大きいY座標を持った位置には移動しません。) - ZLowerLimit
ロボットが移動できる最小Z座標位置(最小Zより小さいZ座標を持った位置には移動しません。)(省略可) - ZUpperLimit
ロボットが移動できる最大Z座標位置(最大Zより大きいZ座標を持った位置には移動しません。)(省略可)
コメント
XYLimは、許容動作エリアを設定します。多くのロボットシステムでは、ユーザーが関節の動作許容範囲を設定できるようになっていますが、SPEL+言語では関節の動作範囲だけでなく、動作許容範囲も設定できるようになっています。これにより、ロボットのアプリケーションに応じて稼動範囲を制限できます。
XYLim値で設定した動作範囲は、動作コマンドの目標位置に対してのみ有効となります。動作の開始地点から目標座標までの動作軌道に対しては適用されません。したがって、動作中、アームがXYLimで設定した範囲外を通過することもあります。(XYLim範囲は、Pulseに対しては影響しません。)
動作許容範囲の設定を解除するには、範囲を示すパラメーターに0を指定します。
参照
JRange
XYLim 使用例
VB 例:
m_spel.XYLim(0, 0, 0, 0)
C# 例:
m_spel.XYLim(0, 0, 0, 0);
XYLimClr メソッド, Spelクラス
解説
XYLimの定義をはずします (クリアします)。
書式
Sub XYLimClr ()
参照
XYLim, XYLimDef
XYLimClr使用例
VB 例:
m_spel.XYLimClr()
C# 例:
m_spel.XYLimClr();
XYLimDef メソッド, Spelクラス
解説
XYLimが定義されているかどうかを返します。
書式
Function XYLimDef () As Boolean
戻り値
XYLimが定義されているときはTrue、そうでなければFalse
参照
XYLim, XYLimClr
XYLimDef使用例
VB 例:
Dim xyLimDefined As Boolean
xyLimDefined = m_spel.XYLimDef()
C# 例:
bool xyLimDefined;
xyLimDefined = m_spel.XYLimDef();