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";