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();