Spel 类属性

AsyncMode 属性,Spel 类

描述
设置/返回异步执行模式。

语法
Property AsyncMode As Boolean

默认值
False

返回值
如果异步模式启用,则返回 Boolean 值 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

返回值
如果启用异点回避模式,则返回 Boolean 值 True,否则返回 False。

另见
Go, Jump, Move

AvoidSingularity 示例
VB 例:

m_spel.AvoidSingularity = True  

C# 例:

m_spel.AvoidSingularity = true;  

CommandInCycle 属性,Spel 类

描述
返回是否正在执行方法。

语法
ReadOnly Property CommandInCycle As Boolean

返回值
如果正在执行方法,则返回 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 类

描述
设置/返回是否应在 Spel 方法执行期间处理 Windows 消息。

语法
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

返回值
如果电机打开,则返回 Boolean 值 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

返回值
含有窗口句柄的整数值。

备注
使用 ParentWindowHandle 在无 .NET 窗体的应用中指定父窗口,如 LabVIEW。

另见
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 类

描述
设置/返回当前项目。

语法
Property Project 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 例:

' 禁用项目覆盖警告  
m_spel.ProjectOverwriteWarningEnabled = False  
m_spel.Project = "c:\EpsonRC80\Projects\Project1\Project1.sprj"  

C# 例:

// 禁用项目覆盖警告  
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 例:

' 控制器1  
spel1 = New Spel  
spel1.ServerInstance = 1  
spel1.Initialize()  
spel1.Connect(1)  
  
' 控制器2  
spel2 = New Spel  
spel2.ServerInstance = 2  
spel2.Initialize()  
spel2.Connect(2)  

C# 例:

// 控制器 1  
RCAPINet.Spel spel1 = new RCAPINet.Spel();  
spel1.ServerInstance = 1;  
spel1.Initialize();  
spel1.Connect(1);  
  
// 控制器 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";