Spel類別屬性

AsyncMode屬性,Spel類別

描述
設定/傳回非同步執行模式。

語法
Property AsyncMode As Boolean

預設值
False

傳回值
非同步模式作用時,布林值為True,未作用時則為False。

另請參閱
使用AsyncMode, WaitCommandComplete

AsyncMode範例
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();  

AvoidSingularity屬性,Spel類別

描述
設定/傳回奇點避開模式。

語法
Property AvoidSingularity As Boolean

預設值
False

傳回值
奇點避開作用時,布林值為True,未作用時則為False。

另請參閱
Go, Jump, Move

AvoidSingularity範例
VB 例:

m_spel.AvoidSingularity = True  

C# 例:

m_spel.AvoidSingularity = true;  

CommandInCycle屬性,Spel類別

描述
傳回顯示某方法是否正在執行。

語法
ReadOnly Property CommandInCycle As Boolean

傳回值
方法正在執行時,布林值為True,未執行時則為False。

另請參閱
AsyncMode

CommandInCycle範例
VB 例:

If m_spel.CommandInCycle Then  
    MsgBox "A SPEL command is executing, operation aborted"  
End If  

C# 例:

if (m_spel.CommandInCycle)  
    MessageBox.Show("SPEL command is executing, operation aborted");  

CommandTask屬性,Spel類別

描述
為執行機器人命令指定在控制器使用的保留API任務。

語法
Property CommandTask As Integer

預設值
預設值為0(不使用保留的API任務)。

備註
當您想在控制器中以其他執行緒執行Spel機器人命令時,請使用CommandTask。一般而言,CommandTask用於多機器人系統。使用CommandTask前,您必須先從Epson RC+功能表-[Setup]-[System Configuration]-[Controller]-[Preferences]保留要在控制器中使用的API任務。您最多可在控制器中保留16個API任務。

另請參閱
ServerInstance

CommandTask範例
VB 例:

' 在Robot1執行緒中  
m_spel.CommandTask = 1  
m_spel.Robot = 1  
  
' 在Robot2執行緒中  
m_spel.CommandTask = 2  
m_spel.Robot = 2  
  
C# 例:  
//  在Robot1執行緒中  
m_spel.CommandTask = 1;  
m_spel.Robot = 1;  
  
//  在Robot2執行緒中  
m_spel.CommandTask = 2;  
m_spel.Robot = 2;  

DisableMsgDispatch屬性,Spel類別

描述
設定/傳回顯示Windows訊息是否應在Spel方法執行期間處理。

語法
DisableMsgDispatch

類型
Boolean

預設值
False

備註
此屬性通常不應使用。主要是用於當執行Spel方法時不想用鍵盤或滑鼠處理的特殊應用。

ErrorCode屬性,Spel類別

描述
傳回目前控制器錯誤代碼。

語法
ReadOnly Property ErrorCode As Integer

傳回值
包含錯誤代碼的整數值。

另請參閱
ErrorOn

ErrorCode範例
VB 例:

If m_spel.ErrorOn Then  
    lblErrorCode.Text = m_spel.ErrorCode.ToString()  
Else  
    lblErrorCode.Text = ""  
End If  
  
C# 例:  
if (m_spel.ErrorOn)  
    lblErrorCode.Text = m_spel.ErrorCode.ToString();  
else  
    lblErrorCode.Text = "";  

ErrorOn屬性,Spel類別

描述
若控制器發生嚴重錯誤,會傳回True。

語法
ReadOnly Property ErrorOn As Boolean

傳回值
若控制器處於錯誤狀態,會傳回True,否則會傳回False。

備註
當控制器處於錯誤狀態時,ErrorOn屬性會傳回True,且您可使用ErrorCode擷取錯誤代碼。

另請參閱
ErrorCode

ErrorOn範例
VB 例:

If m_spel.ErrorOn Then  
    m_spel.Reset  
End If  
  
C# 例:  
if (m_spel.ErrorOn)  
    m_spel.Reset();  

EStopOn屬性,Spel類別

描述
傳回控制器緊急停止的狀態。

語法
ReadOnly Property EStopOn As Boolean

傳回值
若緊急停止生效,會傳回True,否則會傳回False。

EStopOn範例
VB 例:

If m_spel.EStopOn Then  
    lblEStop.Text = "Emergency stop is active"   
Else  
    lblEStop.Text = ""  
EndIf  

C# 例:

if (m_spel.EStopOn)  
    lblEStop.Text = "Emergency stop is active";  
else  
    lblEStop.Text = "";  

MotorsOn屬性,Spel類別

描述
設定並傳回目前機器人馬達開啟或關閉的狀態。

語法
Property MotorsOn As Boolean

預設值
False

傳回值
馬達開啟時,布林值為True,未開啟時則為False。

另請參閱
PowerHigh, Reset, Robot

MotorsOn範例
VB 例:

If Not m_spel.MotorsOn Then  
   m_spel.MotorsOn = True  
End If  

C# 例:

if (\!m_spel.MotorsOn)  
   m_spel.MotorsOn = true;  

NoProjectSync屬性,Spel類別

描述
設定/傳回是否要將PC中的目前專案與控制器專案進行同步。

語法
NoProjectSync

類型
Boolean

預設值
False

備註
當NoProjectSync設為False(預設)時,Spel類別會確保PC中的專案與控制器中的專案進行同步。
當NoProjectSync設為True時,Spel類別不會檢查PC上的任何專案,也不會將PC專案與控制器進行同步。這可讓您執行控制器中的程式,而不會執行PC中的任何專案。

此屬性不是持續有效。如果您想將其設為True,必須在建立Spel類別執行個體後進行設定。

另請參閱
Start

NoProjectSync範例
VB 例:

m_spel.Initialize()  
m_spel.NoProjectSync = True  

C# 例:

m_spel.Initialize();  
m_spel.NoProjectSync = true;  

OperationMode屬性,Spel類別

描述
讀取或設定Epson RC+ 8.0操作模式。

語法
Property OperationMode As SpelOperationMode

傳回值
SpelOperationMode值

備註
當OperationMode設為Program時,Spel類別目前執行個體的Epson RC+ 8.0 GUI會開啟,而控制器操作模式會設為Program。若使用者關閉GUI,OperationMode會設為Auto。若從Visual Basic將OperationMode設為Auto,則GUI會同時關閉。

OperationMode範例
VB 例:

Sub btnSpelProgramMode_Click _  
       ByVal sender As System.Object, _  
       ByVal e As System.EventArgs) _  
       Handles btnHideIOMonitor.Click  
  
  Try  
    m_spel.OperationMode = _  
                  RCAPINet.SpelOperationMode.Program  
    ' 如果您想等待使用者關閉RC+ GUI,   
    ' 您可在此等待OperationMode變更為Auto  
    Do  
      Application.DoEvents()  
      System.Threading.Thread.Sleep(10)      
    Loop Until m_spel.OperationMode = _  
                   RCAPINet.SpelOperationMode.Auto  
  Catch ex As RCAPINet.SpelException  
    MsgBox(ex.Message)  
  End Try    
End If  

C# 例:

void btnSpelProgramMode_Click(object sender, EventArgs e)  
{  
  try {  
m_spel.OperationMode = RCAPINet.SpelOperationMode.Auto;  
//如果想等待RC+ GUI關閉,可在此待機  
    Do {  
       Application.DoEvents();  
       Systme.Threading.Thread.Sleep(10);  
    } while(\!m_spel.OperationMode = RCAPINet.OperationMode.Auto);  
  }  
  Catch (SpelException ex){  
    MessageBox.Show(ex.Message);  
  }  
}  

ParentWindowHandle屬性,Spel類別

描述
設定/傳回對話方塊及視窗所用父視窗的控制代碼。

語法
Property ParentWindowHandle As Integer

傳回值
包含視窗控制代碼的整數值。

備註
當ServerOutOfProcess設定為True時使用此屬性。從不包含.NET表單的應用程式(例如LabVIEW),使用ParentWindowHandle來指定父視窗。

另請參閱
ServerOutOfProcess

ParentWindowHandle範例
VB 例:

m_spel.ParentWindowHandle = Me.Handle  
m_spel.ShowWindow(RCAPINet.SpelWindows.IOMonitor)  

C# 例:

m_spel.ParentWindowHandle  = (int)this.Handle;  
m_spel.ShowWindow(RCAPINet.SpelWindows.IOMonitor);  

PauseOn屬性,Spel類別

描述
傳回控制器暫停狀態的狀態。

語法
ReadOnly Property PauseOn As Boolean

傳回值
若控制器處於暫停狀態,會傳回True,否則會傳回False。

另請參閱
Continue, Pause

PauseOn範例
VB 例:

If m_spel.PauseOn Then  
    btnPause.Enabled = False  
    btnContinue.Enabled = True  
End If  

C# 例:

if (m_spel.PauseOn){  
    btnPause.Enabled = false;  
    btnContinue.Enabled = true;  
}  

PowerHigh屬性,Spel類別

描述
設定並傳回目前機器人的運行功率狀態。

語法
Property PowerHigh As Boolean

預設值
False

傳回值
若目前機器人運行功率為high,會傳回True,否則會傳回False。

另請參閱
MotorsOn

PowerHigh範例
VB 例:

If Not m_spel.PowerHigh Then  
    m_spel.PowerHigh = True  
End If  

C# 例:

if (\!m_spel.PowerHigh)  
    m_spel.PowerHigh = true;  

Project屬性,Spel類別

描述
設定/傳回目前專案。

語法
Project、Property As String

預設值
空字串。

傳回值
包含專案路徑及檔案的字串。

備註
設定Project時,您必須提供Epson RC+ 8.0專案製作檔案的完整路徑與名稱。該製作檔案為包含.SPRJ副檔名的專案名稱。

Project範例
VB 例:

m_spel.Project = "c:\EpsonRC80\projects\myapp\myapp.sprj"  

C# 例:

m_spel.Project = @"c:\EpsonRC80\projects\myapp\myapp.sprj";  

ProjectBuildComplete屬性,Spel類別

描述
傳回目前專案建置的狀態。

語法
ReadOnly Property ProjectBuildComplete As Boolean

傳回值
若專案建置完成,會傳回True,否則會傳回False。

另請參閱
BuildProject

ProjectBuildComplete範例
VB 例:

If m_spel.ProjectBuildComplete Then  
    lblBuild.Text = "Project build is Complete"  
Else  
    lblBuild.Text = "Project build is not Complete"  
End If  

C# 例:

if (m_spel.ProjectBuildComplete)  
    lblBuild.Text = "Project build is Complete";  
else  
    lblBuild.Text = "Project build is not Complete";  

ProjectOverwriteWarningEnabled屬性, Spel 類別

描述
設定/傳回是否要啟用專案覆蓋時的錯誤訊息顯示。

語法
Property ProjectOverwriteWarningEnabled As Boolean

預設值
True

傳回值
若啟用覆蓋時的錯誤訊息,會傳回True,否則會傳回False。

另請參閱
BuildProject

備註
預設情況下,若當前專案與控制器的專案不同,生成程式或向控制器發送訊息時,將顯示專案將被覆蓋的錯誤訊息。如果您不需要顯示訊息,請將ProjectOverwriteWarningEnabled 設定為 False。當您的應用時需要切換控制器使用的專案時,可以選擇這個功能。

ProjectOverwriteWarningEnabled範例
VB 例:

' Disable the project overwrite warning  
m_spel.ProjectOverwriteWarningEnabled = False  
m_spel.Project = "c:\EpsonRC80\Projects\Project1\Project1.sprj"  

C# 例:

// Disable the project overwrite warning  
m_spel.ProjectOverwriteWarningEnabled = false;  
m_spel.Project = @"c:\EpsonRC80\Projects\Project1\Project1.sprj";  

ResetAbortEnabled屬性,Spel類別

描述
設定/傳回是否要啟用ResetAbort方法。

語法
Property ResetAbortEnabled As Boolean

預設值
True

傳回值
若ResetAbort已啟用,會傳回True,否則會傳回False。

另請參閱
ResetAbort

ResetAbortEnabled範例
VB 例:

' 啟用ResetAbort  
m_spel.ResetAbortEnabled = True  

C# 例:

//  啟用ResetAbort  
m_spel.ResetAbortEnabled = true;  

Robot屬性,Spel類別

描述
設定/傳回目前機器人編號。

語法
Property Robot As Integer

預設值
若有一或多個機器人存在,第一個Spel執行個體的預設值為1,否則為0。對於其他Spel執行個體,預設值為0。

傳回值
包含目前機器人編號的整數值。

備註
在使用多個機器人的系統上,使用Robot屬性設定後續機器人相關命令,例如動作命令。

另請參閱
RobotModel, RobotType

Robot範例
VB 例:

m_spel.Robot = 2  
If Not m_spel.MotorsOn Then  
  m_spel.MotorsOn = True  
End If  

C# 例:

m_spel.Robot = 2;  
if (\!m_spel.MotorsOn)  
  m_spel.MotorsOn = true;  

RobotModel屬性,Spel類別

描述
傳回目前機器人的型號名稱。

語法
ReadOnly Property RobotModel As String

傳回值
包含目前機器人型號名稱的字串。

另請參閱
Robot, RobotType

RobotModel範例
VB 例:

lblRobotModel.Text = m_spel.RobotModel  

C# 例:

lblRobotModel.Text = m_spel.RobotModel;  

RobotType屬性,Spel類別

描述
傳回目前機器人的類型。

語法
ReadOnly Property RobotType As SpelRobotType

傳回值
SpelRobotType值

另請參閱
Robot, RobotModel

RobotType範例
VB 例:

Select Case m_spel.RobotType  
  Case RCAPINet.SpelRobotType.Scara  
    lblRobotType.Text = "Scara"  
  Case RCAPINet.SpelRobotType.Cartesian  
    lblRobotType.Text = "Cartesian"  
End Select      

C# 例:

switch (m_spel.RobotType)  
{  
    case SpelRobotType.Scara:  
         lblRobotType.Text = "Scara";  
break;  
case SpelRobotType.Cartesian:  
         lblRobotType.Text = "Cartesian";  
break;  
    default:  
         break;  
}  

SafetyOn屬性,Spel類別

描述
傳回控制器安全防護輸入的狀態。

語法
ReadOnly Property SafetyOn As Boolean

傳回值
若安全防護打開,會傳回True,否則會傳回False。

備註
請在應用程式啟動時,使用SafetyOn屬性取得安全防護狀態,然後使用SafeguardOpen和SafeguardClose事件來更新狀態。

SafetyOn範例
VB 例:

If m_spel.SafetyOn Then  
    lblSafeguard.Text = "Safe guard is active"   
Else  
    lblSafeguard.Text = ""  
End If  

C# 例:

if (m_spel.SafetyOn)  
    lblSafeguard.Text = "Safe guard is active";  
else  
    lblSafeguard.Text = "";  

ServerInstance屬性,Spel類別

描述
指定Epson RC+伺服器要使用的執行個體。

語法
Property ServerInstance As Integer

預設值
預設值為下一個可用的伺服器執行個體。

備註
API與RC+ 伺服器進程通信。ServerInstance指定要使用的伺服器。每個伺服器實例對應一個控制器和一個專案。預設情況下,創建新Spel類實例時,ServerInstance將自動設置為"1"。
當您想要對同一控制器 (如應用程式的多線程)使用多個Spel類實例,請為使用同一控制器的每個Spel類實例設置ServerInstance屬性。
ServerInstance 必須介於1和10之間,並且必須在初始化或執行其他方法之前進行設置。

另請參閱
CommandTask, Initialize

ServerInstance範例
VB 例:

' Controller 1  
spel1 = New Spel  
spel1.ServerInstance = 1  
spel1.Initialize()  
spel1.Connect(1)  
  
' Controller 2  
spel2 = New Spel  
spel2.ServerInstance = 2  
spel2.Initialize()  
spel2.Connect(2)  

C# 例:

// Controller 1  
RCAPINet.Spel spel1 = new RCAPINet.Spel();  
spel1.ServerInstance = 1;  
spel1.Initialize();  
spel1.Connect(1);  
  
// Controller 2  
RCAPINet.Spel spel2 = new RCAPINet.Spel();  
spel2.ServerInstance = 2;  
spel2.Initialize();  
spel2.Connect(2);  

SPELVideoControl屬性,Spel類別

描述
用來將SPELVideo控制項連接至Spel類別執行個體,以顯示視訊與圖形。

語法
Property SpelVideoControl As SpelVideo

另請參閱
Graphics Enabled, VideoEnabled, Camera

SpelVideoControl範例
VB 例:

m_spel.SpelVideoControl = SpelVideo1  

C# 例:

m_spel.SpelVideoControl = SpelVideo1;  

Version屬性,Spel類別

描述
傳回目前Epson RC+ 8.0軟體版本。

語法
ReadOnly Property Version As String

傳回值
包含目前Epson RC+ 8.0軟體版本的字串。

Version範例
VB 例:

' 取得軟體版本  
curVer = m_spel.Version  

C# 例:

//  取得軟體版本  
curVer = m_spel.Version;  

WarningCode屬性,Spel類別

描述
傳回控制器警告代碼。

語法
ReadOnly Property WarningCode As Integer

傳回值
包含目前控制器警告代碼的整數值。

另請參閱
WarningOn

WarningCode範例
VB 例:

If m_spel.WarningOn Then  
    lblWarningCode.Text = m_spel.WarningCode.ToString()  
Else  
    lblWarningCode.Text = ""  
End If  

C# 例:

if (m_spel.WarningOn)  
    lblWarningCode.Text = m_spel.WarningCode.ToString();  
else  
    lblWarningCode.Text = "";  

WarningOn屬性,Spel類別

描述
傳回控制器警告狀態的狀態。

語法
ReadOnly Property WarningOn As Boolean

傳回值
若控制器處於警告狀態,會傳回True,否則會傳回False。

另請參閱
WarningCode

WarningOn範例
VB 例:

If m_spel.WarningOn Then  
    lblWarningStatus.Text = "ON"  
Else  
    lblWarningStatus.Text = "OFF"  
End If  

C# 例:

if (m_spel.WarningOn)  
    lblWarningStatus.Text = "ON";  
else  
    lblWarningStatus.Text = "OFF";