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