EPSON RC+ 7.0 选件 RC+ API 7.0 Rev.2

Size: px
Start display at page:

Download "EPSON RC+ 7.0 选件 RC+ API 7.0 Rev.2"

Transcription

1 EPSON RC+ 7.0 选件 RC+ API 7.0 Rev.2 C1M13ZS2611R

2 EPSON RC+ 7.0 选件 RC+ API 7.0 Rev.2

3 EPSON RC+ 7.0 选件 RC+ API 7.0 Rev.2 Copyright SEIKO EPSON CORPORATION.All rights reserved. EPSON RC+ 7.0 选件 RC+ API Rev.2 i

4 前言 感谢您购买本公司的机器人系统 本手册记载了正确使用机器人所需的事项 安装系统之前, 请阅读本手册与相关手册 阅读之后, 请妥善保管, 以便随时取阅 保修 本机及其选装部件是经过本公司严格的质量控制 测试和检查, 并在确认性能满足本公司标准之后出厂交付的 在交付产品的保修期内, 本公司仅对正常使用时发生的故障进行免费修理 ( 有关保修期方面的信息, 请咨询当地的销售办事处 ) 但在以下情况下, 将对客户收取修理费用 ( 即使发生在保修期内 ): 1. 因不同于使用说明书内容的错误使用以及使用不当而导致的故障与损坏 2. 客户擅自改造或拆卸造成的故障 3. 因调整不当 / 擅自修理而导致的损坏 4. 因地震 洪水等自然灾害导致的损坏 警告 小心 使用 : 1. 如果机器人或相关设备的使用超出本手册所述的使用条件及产品规格, 将导致保修无效 2. 本公司对因未遵守本手册记载的 警告 与 小心 而导致的任何故障或事故, 甚至是人身伤害或死亡均不承担任何责任, 敬请谅解 3. 本公司不可能完全预见危险与故障发生的所有状况 因此, 本手册不能警告用户所有可能的危险 ii EPSON RC+ 7.0 选件 RC+ API Rev.2

5 商标 本手册中的商标符号 通知 垂询方式 Microsoft Windows Windows 标识为 Microsoft Corporation 在美国与其他国家的注册商标或商标 其他品牌与产品名称均为各公司的注册商标或商标 Microsoft Windows XP Operating system Microsoft Windows Vista Operating system Microsoft Windows 7 Operating system 在本手册中,Windows XP,Windows Vista 和 Windows 7 指的是上述各操作系统 在某些情况下,Windows 一般是指 Windows XP,Windows Vista 和 Windows 7 禁止擅自复印或转载本手册的部分或全部内容 本手册记载的内容将来可能会随时变更, 恕不事先通告 如果您发现本手册的内容有误或需要改进之处, 请不吝斧正 有关机器人的修理 / 检查 / 调整等事项, 请与服务中心联系 未记载服务中心时, 请与当地销售商联系 联系时, 请事先准备好下述各项 - 控制器型号及其序列号 - 机器人型号及其序列号 - 机器人系统中的软件名称及其版本 - 问题描述 服务中心 EPSON RC+ 7.0 选件 RC+ API Rev.2 iii

6 制造商 Toyoshina Plant Industrial Solutions Division 6925 Toyoshina Tazawa, Azumino-shi, Nagano, JAPAN TEL : +81-(0) FAX : +81-(0) 供应商 北美与南美欧洲中国台湾 EPSON AMERICA, INC. Factory Automation/Robotics Central Avenue Carson, CA USA TEL : FAX : info@robots.epson.com EPSON DEUTSCHLAND GmbH Factory Automation Division Otto-Hahn-Str.4 D Meerbusch Germany TEL : +49-(0) FAX : +49-(0) robot.infos@epson.de EPSON China Co., Ltd Factory Automation Division 7F, Jinbao Building No. 89 Jinbao Street Dongcheng District, Beijing China, TEL : +86-(0) FAX : +86-(0) EPSON Taiwan Technology & Trading Ltd. Factory Automation Division 14F, No.7, Song Ren Road, Taipei 110 Taiwan, ROC TEL : +886-(0) FAX : +886-(0) iv EPSON RC+ 7.0 选件 RC+ API Rev.2

7 东南亚印度 Epson Singapore Pte Ltd. Factory Automation System 1 HarbourFrontPlace, #03-02 HarbourFront Tower one, Singapore TEL : +65-(0) FAX : +65-(0) 韩国 EPSON Korea Co, Ltd. Marketing Team (Robot Business) 11F Milim Tower, Yeoksam-dong, Gangnam-gu, Seoul, Korea TEL : +82-(0) FAX : +82-(0) 日本 EPSON SALES JAPAN CORPORATION Factory Automation Systems Department Nishi-Shinjuku Mitsui Bldg Nishishinjuku.Shinjuku-ku.Tokyo JAPAN TEL : +81-(0) EPSON RC+ 7.0 选件 RC+ API Rev.2 v

8 vi EPSON RC+ 7.0 选件 RC+ API Rev.2

9 目录 目录 1. 简介 功能 安装 逐步说明 安装内容 操作入门 Visual Basic 使用入门 Visual C# 使用入门 Visual C++ 使用入门 环境 设计期环境 开发启动 Spel 类实例初始化 Spel 类实例终止 开发循环 生产环境 运行时打开 EPSON RC 使用 EPSON RC+ 7.0 对话框和窗口 目标系统上的安装 执行程序 执行 SPEL + 程序 中止所有任务 事件 概述 系统事件 来自 SPEL + 的用户事件 错误处理 Spel 方法的错误 处理暂停与继续 暂停状态 捕获 Pause 事件 EPSON RC+ 7.0 选件 RC+ API Rev.2 vii

10 目录 8.3 执行 Pause 暂停后继续 暂停后中止 处理紧急停止 使用系统 EStop 事件 EPSON RC+ 7.0 窗口和对话框 窗口 对话框 播放视频 使用 AsyncMode SPELCom_Event SpelNetLib70 参考 Spel 类 Spel 类属性 Spel 类方法 Spel 类事件 SPELVideo 控制 SPELVideo 控制属性 SPELVideo 控制方法 SPELVideo 控制事件 SpelControllerInfo 类 SpelException 类 SpelPoint 类 枚举 Spel 错误编号和消息 使用 LabVIEW 概述 初始化 添加 Spel 类的构造函数节点 初始化 Spel 类实例 连接至控制器和设置项目 使用 Spel 属性和方法 关闭 使用对话框和窗口 viii EPSON RC+ 7.0 选件 RC+ API Rev.2

11 1. 简介 1. 简介 EPSON RC+ 7.0 选件 RC+ API 允许您使用 Microsoft Visual Basic 或支持用以运行机器人应用的.NET 技术的任何其他语言 这样您便能够创建复杂的用户界面, 使用数据库以及与.NET 配套使用的第三方产品 1.1 功能 RC+ API 包支持以下功能 : - SpelNetLib70.dll 库 -.NET 应用可使用多个 EPSON RC+ 7.0 窗口和对话框, 包括 : - 机器人管理器 - IO 监视器 - 任务管理器 - 仿真器 - 控制器工具对话框 开发期间,EPSON RC+ 7.0 可与 Visual Basic 一起运行 生产时,EPSON RC+ 7.0 可在后台运行 下图所示为采用 RC+ API 系统的基本结构 用户 PC 采用 SpelNetLib70 的.NET 应用 EPSON RC+ 7.0 服务器 RC700 或虚拟控制器 RC+ API 基本结构 EPSON RC+ 7.0 是 SpelNetLib70 库的进程外服务器 每个 SpelNetLib70 Spel 类的实例会启动一个 EPSON RC+ 7.0 实例 EPSON RC+ 7.0 选件 RC+ API Rev.2 1

12 2. 安装 2. 安装 请遵守本章说明, 以助于确保正确安装 RC+ API 软件 启动前, 确保已关闭所有 Windows 应用 2.1 逐步说明 1. 安装 Visual Studio 或 2012 Express 任一版本, 如 Visual Basic Express, 或安装 Visual Studio 或 安装 EPSON RC 确保控制器中的 RC+ API 软件密钥已激活 有关激活控制器选件的方式信息, 请参阅 EPSON RC+ 7.0 用户指南 这样便完成了 RC+ API 的安装 2.2 安装内容 安装期间会在您的 PC 中安装下表所示的目录和文件 文件 \EPSONRC70\API\VS20xx\VB\DEMOS \EPSONRC70\API\VS20xx\VCS\DEMOS \EPSONRC70\API\VS20xx\VC\DEMOS \EPSONRC70\PROJECTS\API_Demos \EPSONRC70\EXE\SpelNetLib70.dll 描述 Visual Basic.NET 演示 Visual C#.NET 演示 Visual C++.NET 演示 EPSON RC+ 7.0 演示项目 SpelNetLib70 类库 2 EPSON RC+ 7.0 选件 RC+ API Rev.2

13 3. 操作入门 3. 操作入门 本章介绍了以下开发环境下的操作入门信息 - Visual Basic.NET - Visual C#.NET - Visual C++.NET RC+ API 随附有演示程序 建议您浏览演示程序, 以熟悉产品 3.1 Visual Basic 使用入门 若要在 VB.NET 项目中使用 SpelNetLib70, 需定义 Spel 类实例, 如下例所示 此时, 可在您的项目中使用 g_spel 1. 在 Visual Studio.NET 中, 选择文件 项目 2. 创建 Visual Basic 项目 3. 从项目菜单上选择 添加参考 4. 在 NET 组件选项卡中, 浏览到 \EpsonRC70\Exe 目录并选择 SpelNetLib70.dll 文件 5. 从项目菜单上创建新模块并添加以下代码 Module Module1 Public WithEvents g_spel As SpelNetLib70.Spel Public Sub InitApp() g_spel = New SpelNetLib70.Spel With g_spel.initialize.project = "c:\epsonrc70\projects\vbnet\vbnet.sprj" End With End Sub Public Sub EventReceived( _ ByVal sender As Object, _ ByVal e As SpelNetLib70.SpelEventArgs) _ Handles g_spel.eventreceived MsgBox("received event " & e.event) End Sub End Module 注 当应用存在时, 需要对每个 Spel 类实例执行 Dispose 这可在主窗体的 FormClosed 事件中完成 如果未执行 Dispose, 则应用不会正常关闭 g_spel.dispose() EPSON RC+ 7.0 选件 RC+ API Rev.2 3

14 3. 操作入门 3.2 Visual C# 使用入门 1. 在 Visual Studio.NET 中选择文件 项目 2. 创建 Visual C# 项目 3. 从项目菜单上选择 添加参考 4. 选择浏览选项卡, 浏览到 \EpsonRC70\Exe 目录并选择 SpelNetLib70.dll 文件 5. 在 Form1 类中, 定义 Spel 类变量, 如下所示 private SpelNetLib70.Spel m_spel; 6. 在 Form_Load 事件中, 添加初始化代码, 如下所示 private void Form1_Load(object sender, EventArgs e) { m_spel = New SpelNetLib70.Spel(); m_spel.initialize(); m_spel.project = "c:\\epsonrc70\\projects\\vcsnet\\vcsnet.sprj"; m_spel.eventreceived += new SpelNetLib70.Spel.EventReceivedEventHandler(m_spel_EventRe ceived); 7. 添加事件处理程序, 如下所示 public void m_spel_eventreceived(object sender, SpelNetLib70.SpelEventArgs e) { } 注 当应用存在时, 需要对每个 Spel 类实例执行 Dispose 这可在主窗体的 FormClosed 事件中完成 如果未执行 Dispose, 则应用不会正常关闭 m_spel.dispose(); 4 EPSON RC+ 7.0 选件 RC+ API Rev.2

15 3. 操作入门 3.3 Visual C++ 使用入门 1. 在 Visual Studio.NET 中, 选择文件 项目 2. 创建 Visual C++ CLR Windows Forms Application 项目 3. 从项目菜单上选择 参考 4. 点击 添加新参考 按钮 5. 选择浏览选项卡, 浏览到 \EpsonRC70\Exe 目录并选择 SpelNetLib70.dll 文件 6. 在 Form1 类中, 定义 Spel 变量, 如下所示 private SpelNetLib70::Spel^ m_spel; 7. 在 Form_Load 事件中, 添加初始化代码, 如下所示 private System::Void Form1_Load( System::Object^ sender, System::EventArgs^ e) { m_spel = gcnew SpelNetLib70::Spel(); m_spel->initialize(); m_spel->project = c:\\epsonrc70\\projects\\vcnet\\vcnet.sprj"; m_spel->eventreceived += gcnew SpelNetLib70::Spel::EventReceivedEventHandler( this, &Form1::m_spel_EventReceived); } 8. 添加事件处理程序, 如下所示 private System::Void m_spel_eventreceived( System::Object^ sender, SpelNetLib70::SpelEventArgs^ e) { MessageBox::Show(e->Message); } 注 当应用存在时, 如果应用采用堆分配, 则需要删除各 Spel 类实例 ( 使用 gcnew) 这可在主窗体的 FormClosed 事件中完成 如果未删除 Spel 类实例, 则应用将不会正常关闭 delete m_spel; EPSON RC+ 7.0 选件 RC+ API Rev.2 5

16 4. 环境 4. 环境 4.1 设计期环境 开发启动 通常, 您需要执行以下步骤来启动开发 : 1. 在 VB 项目的模块中定义 Spel 类变量 2. 启动 EPSON RC 打开所需的 EPSON RC+ 7.0 项目或创建新的 EPSON RC+ 7.0 项目 4. 构建 EPSON RC+ 7.0 项目 5. 在 VB 中添加 SPEL 类实例的初始化代码 6. 运行并调试 VB 项目 Spel 类实例初始化 创建新的 Spel 类实例之后, 需要对其进行初始化 初始化时, 会加载和初始化 EPSON RC+ 7.0 底层模块 通过第一种方法调用或属性访问时, 初始化为隐式 您可以通过调用 Initialize 方法明确对类进行初始化 m_spel.initialize() Spel 类实例终止 当应用存在时, 需要对每个 Spel 类实例执行 Dispose 这可在主窗体的 FormClosed 事件中完成 如果未执行 Dispose, 则应用不会正常关闭 对于 VB 和 C#, 使用 Dispose 方法 : m_spel.dispose() 对于 VC++, 如果采用堆 ( 通过 gcnew) 创建的 Spel 类实例, 则使用 delete: delete m_spel; 开发循环 按以下基本步骤编辑和运行 VB 代码 : 1. 停止 VB 项目 2. 编辑 VB 项目 3. 打开 EPSON RC 在 EPSON RC+ 7.0 项目中进行更改 5. 构建 EPSON RC+ 7.0 项目 6. 关闭 RC 转向 VB 8. 运行 VB 项目 6 EPSON RC+ 7.0 选件 RC+ API Rev.2

17 4. 环境 4.2 生产环境 运行时打开 EPSON RC+ 7.0 确定是否允许通过您的应用打开 EPSON RC+ 7.0 环境 这尤其适用于调试 将 OperationMode 属性设置为 Program, 以将 EPSON RC+ 7.0 置于 Program 模式并打开 EPSON RC+ 7.0 GUI 使用 EPSON RC+ 7.0 对话框和窗口 运行时, 可在 VB 应用中打开和隐藏某些 EPSON RC+ 7.0 窗口 还可运行某些 EPSON RC+ 7.0 对话框 有关详细信息, 请参阅 EPSON RC+ 7.0 窗口和对话框章节 目标系统上的安装 应使用 Visual Studio 安装项目为 VB 项目编写安装程序 然后按照以下步骤为 VB 应用安装目标系统 : 1. 安装 EPSON RC 安装 EPSON RC+ 7.0 项目 3. 安装.NET 应用 EPSON RC+ 7.0 选件 RC+ API Rev.2 7

18 5. 执行程序 5. 执行程序 5.1 执行 SPEL + 程序 通过使用 Spel 类的 Start 方法可运行当前控制器项目中 8 个内置主函数中的任意一个 下表所示为 SPEL+ 项目中的程序编号及其相应的函数名称 程序编号 SPEL+ 函数名称 0 main 1 main1 2 main2 3 main3 7 main7 以下为 main 函数的开始示例 : Sub btnstart_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnstart.click m_spel.start(0) ' 开始执行主函数 btnstart.enabled = False btnstop.enabled = True End Sub 5.2 中止所有任务 如果您正在运行任务, 并想立刻中止所有任务, 则可以使用 Spel 类的 Stop 方法 例如 : Sub btnstop_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnstop.click m_spel.stop() btnstop.enabled = False btnstart.enabled = True End Sub 8 EPSON RC+ 7.0 选件 RC+ API Rev.2

19 6. 事件 6. 事件 6.1 概述 6.2 系统事件 Spel 类支持两种事件 : 系统事件和用户事件 系统事件即系统状态通知 用户定义的事件通过任一 SPEL + 任务发送到 VB 应用 共有多个发送至 VB 应用的系统事件 每个系统事件表示一种状态变化 事件用于 Pause Continue Emergency Stop 等 有关所有系统事件的完整详细信息, 请参见 14.4 Spel 类事件 EventReceived 的介绍 使用 Spel 类 EnableEvents 方法控制发送的系统事件 6.3 来自 SPEL + 的用户事件 通过 SPEL + 程序可在 VB 应用中导致事件发生 例如 : 您可以使 VB 应用了解连续循环回路的相关信息 这种方法要优于通过 VB 轮询变量值 若要通过 SPEL + 触发 VB 事件, 使用 SPEL + 程序语句中的 SPELCom_Event 命令 例如 : SPELCom_Event 1000, cycnum, lotnum, cyctime SPELCom_Event 命令与 Print 命令类似 可指定一段或多段待发送至 VB 的数据 有关 SPELCom_Event 的详细信息, 请参阅 13. SPELCom_Event 在您可以接收事件之前, 必须用 WithEvents 语句定义 Spel 类变量 Public WithEvents m_spel As SpelNetLib70.Spel 捕获 Spel 类实例的 EventReceived 例程中的事件 若要编辑此例程, 需在定义 Spel 类的模块中, 从类名称列表选择 m_spel 并从程序列表选择 EventReceived 以下为发生事件时更新一些标签的 EventReceived 例程中的代码示例 Sub m_spel_eventreceived (ByVal sender As Object, _ ByVal e As SpelNetLib70.SpelEventArgs) _ Handles m_spel.eventreceived Dim tokens() As String Select Case e.event Case 2000 tokens = e.message.split(new [Char]() {" "c}, _ System.StringSplitOptions.RemoveEmptyEntries) lblcyccount.text = tokens(0) lbllotnumber.text = tokens(1) lblcyctime.text = tokens(2) End Select End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 9

20 7. 错误处理 7. 错误处理 7.1 Spel 方法的错误 执行 Spel 类方法时, 如果发生任何错误, 则会抛出异常 发生错误时,Spel 类实例会将错误抛至调用例程 此时, 应使用应用中的错误处理程序捕获此错误 在某些情况下, 仅需显示错误消息 例如 : Sub btnstart_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnstart.click Try m_spel.start(0) Catch ex As SpelNetLib70.SpelException MsgBox(ex.Message) End Try End Sub 您可使用 SpelException 的 ErrorNumber 属性检查与异常相关的错误编号 Try m_spel.start(0) Catch ex As SpelNetLib70.SpelException MsgBox(ex.ErrorNumber) End Try 10 EPSON RC+ 7.0 选件 RC+ API Rev.2

21 8. 处理暂停与继续 8. 处理暂停与继续 8.1 暂停状态 发生暂停时, 控制器与 SPEL + 任务均会进入暂停状态 任务正在运行期间发生任一以下情形后, 控制器会进入暂停状态 : - 执行了 Spel 类 Pause 方法 - SPEL + 任务执行了 Pause - 打开了安全防护 8.2 捕获 Pause 事件 Spel 类将向 VB 应用发送信号, 通知发生暂停的情况 您可以在 Spel 类的 EventReceived 事件中捕获 Pause 事件 Sub m_spel_eventreceived (ByVal sender As Object, ByVal e As SpelNetLib70.SpelEventArgs) Handles m_spel.eventreceived Select Case e.event Case SpelNetLib70.SpelEvents.Pause btnpause.enabled = False btncontinue.enabled = True End Select End Sub 8.3 执行 Pause 以下例程所示为使用 Pause 方法通过 VB 发出 PAUSE 的方式 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 EPSON RC+ 7.0 选件 RC+ API Rev.2 11

22 8. 处理暂停与继续 8.4 暂停后继续 若要在发生暂停后继续, 可使用 Continue 方法 Sub btncontinue_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btncontinue.click m_spel.continue() btncontinue.enabled = False btnpause.enabled = True End Sub 8.5 暂停后中止 如果您在暂停后不想继续, 还可执行 Stop 方法 Sub btnstop_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnstop.click m_spel.stop() btncontinue.enabled = False btnpause.enabled = False End Sub 12 EPSON RC+ 7.0 选件 RC+ API Rev.2

23 9. 处理紧急停止 9. 处理紧急停止 发生紧急停止时, 您可能会想要在程序中执行一些特定动作, 如显示对话框或消息框 Spel 类会针对紧急停止状态发出两个标准事件 :EStopOn 和 EStopOff 9.1 使用系统 EStop 事件 您可以捕获 VB 应用中 EventReceived 处理程序的系统 EStop 事件 Imports SpelNetLib70.Spel Private Sub m_spel_eventreceived(byval sender As Object, ByVal e As SpelEventArgs) Handles m_spel.eventreceived Select Case e.event Case SpelEvents.EstopOn MsgBox "E-Stop detected" gestop = True lblestop.backcolor = Color.Red lblestop.text = "EStop ON" Case SpelEvents.EstopOn gestop = False lblestop.backcolor = Color.Green lblestop.text = "EStop OFF" End Select End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 13

24 10. EPSON RC+ 7.0 窗口和对话框 10. EPSON RC+ 7.0 窗口和对话框 10.1 窗口 使用 Spel 类的 ShowWindow 和 RunDialog 方法可打开 VB 中的某些 EPSON RC+ 7.0 窗口和对话框 窗口为非模态, 这表示这些窗口可在使用 VB GUI 的其他元素时保持打开 您可以在 VB 程序中显示和隐藏 EPSON RC+ 7.0 窗口 例如, 要打开和关闭 I/O 监视器窗口 : m_spel.showwindow(spelnetlib70.spelwindows.iomonitor, Me) m_spel.hidewindow(spelnetlib70.spelwindows.iomonitor) 窗口 ID SpelNetLib70.SpelWindows.IOMonitor SpelNetLib70.SpelWindows.TaskManager SpelNetLib70.SpelWindows.ForceMonitor SpelNetLib70.SpelWindows.Simulator 窗口 IO 监视器任务管理器力监视器仿真器 10.2 对话框 I/O 监视器窗口 对话框为模态 : 一个对话框打开时, 将无法使用 VB GUI 的其他元素, 直至关闭该对话框 例如, 要打开机器人管理器对话框 : m_spel.rundialog(spelnetlib70.speldialogs.robotmanager) 一旦对话框打开, 则必须由操作员关闭 在程序中无法关闭对话框 这主要是出于安全考虑 下表所示为可打开的对话框 对话框 ID SpelNetLib70.SpelDialogs.RobotManager SpelNetLib70.SpelDialogs.ControllerTools 对话框 机器人管理器 控制器工具 14 EPSON RC+ 7.0 选件 RC+ API Rev.2

25 11. 播放视频 11. 播放视频 SPELVideo 控制 通过使用 SPELVideo 控制, 您可以轻松地在应用中的窗体上显示实时视觉窗口 当您运行视觉顺序时, 还可在窗口上显示图形 执行以下步骤创建视觉窗口 : 1. 添加 SPELVideo 组件至项目 若要在 VB 工具箱添加控制, 需右击工具箱并选定 选择项目 选择浏览选项卡, 浏览到 \EpsonRC70\Exe 目录并选择 SpelNetLib70.dll 文件 SPELVideo 控制图标将添加至工具箱 2. 将 SPELVideo 控制放在想要显示视频的窗体上 控制尺寸可更改为全尺寸 3. 将 VideoEnabled 属性设为 True 4. 如果您想要显示视觉图形, 则将 GraphicsEnabled 属性设为 True 还必须使用 Spel 类 SpelVideoControl 属性将 SPELVideo 控制连接到 Spel 类实例 放在窗体上的 SPELVideo 控制 当 GraphicsEnabled 属性为 True 且控制连接到 Spel 类实例时, 只要在连接至 Spel 类实例的控制器上执行 VRun 方法, 就会显示视觉图形 如果您在应用中使用多个 SPELVideo 控制, 则应禁用非激活控制上的视频 每次只能显示一个视觉窗口 EPSON RC+ 7.0 选件 RC+ API Rev.2 15

26 12. 使用 AsyncMode 以下所示为使用 Spel 类实例并放置 SPELVideo 控制的 VB 窗体上的视频和图形启用方式示例 : Private Sub Form_Load(sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load m_spel = New Spel m_spel.initialize() m_spel.project = "c:\epsonrc70\projects\test\test.sprj" SpelVideo1.VideoEnabled = True SpelVideo1.GraphicsEnabled = True m_spel.spelvideocontrol = SPELVideo1 End Sub 12. 使用 AsyncMode AsyncMode 允许在执行其他方法时执行 Spel 方法 仅允许异步执行以下 Spel 类方法 : Arc Arc3 Curve CVMove ExecuteCommand Go Home JTran Jump Jump3 Jump3CP Mcal Move PTran Pulse TGo TMove 若要异步执行方法, 需将 AsyncMode 属性设为 True, 然后执行方法 当 AsyncMode 属性为 true 并执行异步方法时, 方法将开始且控制将立即返回至 VB 应用进行进一步处理 如果您在之前的方法执行过程中执行另一异步方法, 则 SPEL 会等第一个方法完成, 然后再开始下一方法并返回至 VB 若要等异步方法完成, 可使用以下方式之一 : 执行 WaitCommandComplete 方法 将 AsyncMode 属性设为 False 16 EPSON RC+ 7.0 选件 RC+ API Rev.2

27 13. SPELCom_Event 13. SPELCom_Event 通过 Spel 类实例生成用户事件 SPELCom_Event eventnumber [, msgarg1, msgarg2, msgarg3,... ] eventnumber msgarg1 msgarg2 msgarg3... 描述 数值为 之间的整数表达 可选 各消息可为数字 字符串字面量或变量名称 该指令可轻松从控制器中运行的 Spel 任务向应用发送实时信息 例如, 可通过发送事件更新工件计数 批号等 SPELCom_Event 示例 在本例中,SPEL+ 任务利用 RC+ API 向应用发送循环数据 Function RunParts Integer cycnum String lot$ Double cyctime cycnum = 0 Do TmrReset(0) cyctime = Tmr(0) cycnum = cycnum + 1 Spelcom_Event 3000, cycnum, lot$, cyctime Wait 0.01 Loop Fend EPSON RC+ 7.0 选件 RC+ API Rev.2 17

28 14. SpelNetLib70 参考 14.1 Spel 类描述 此类允许执行命令并接收 EPSON RC+ 7.0 的事件 文件名 SpelNetLib70.dll 14.2 Spel 类属性 AsyncMode 属性,Spel 类 描述 设置 / 返回异步执行模式 Property AsyncMode As Boolean 默认值 False 返回值如果异步模式启用, 则返回 Boolean 值 True, 否则返回 False WaitCommandComplete AsyncMode 示例 With m_spel.asyncmode = True.Jump("pick").Delay(500).On(1).WaitCommandComplete() End With 18 EPSON RC+ 7.0 选件 RC+ API Rev.2

29 CommandInCycle 属性,Spel 类 描述 返回是否正在执行方法 ReadOnly Property CommandInCycle As Boolean 返回值 如果正在执行方法, 则返回 Boolean 值 True, 否则返回 False AsyncMode CommandInCycle 示例 If m_spel.commandincycle Then MsgBox "A SPEL command is executing, operation aborted" End If EPSON RC+ 7.0 选件 RC+ API Rev.2 19

30 DisableMsgDispatch 属性,Spel 类描述设置 / 返回是否应在 Spel 方法执行期间处理 Windows 消息 DisableMsgDispatch 类型 Boolean 默认值 False 备注通常不得使用该属性 其旨在用于当执行 Spel 方法时不需要键盘或鼠标处理的特殊应用 20 EPSON RC+ 7.0 选件 RC+ API Rev.2

31 ErrorCode 属性,Spel 类 描述 返回当前控制器错误代码 ReadOnly Property ErrorCode As Integer 返回值含有错误代码的整数值 ErrorOn ErrorCode 示例 If m_spel.erroron Then lblerrorcode.text = m_spel.errorcode.tostring() Else lblerrorcode.text = "" End If EPSON RC+ 7.0 选件 RC+ API Rev.2 21

32 ErrorOn 属性,Spel 类 描述如果控制器内发生重大错误, 则返回 True ReadOnly Property ErrorOn As Boolean 返回值如果控制器处于错误状态, 则返回 True, 否则返回 False 备注 控制器处于错误状态时,ErrorOn 属性返回 True, 此时您可以使用 ErrorCode 属性检索错误代码 ErrorCode ErrorOn 示例 If m_spel.erroron Then m_spel.reset End If 22 EPSON RC+ 7.0 选件 RC+ API Rev.2

33 EStopOn 属性,Spel 类 描述返回控制器紧急停止的状态 ReadOnly Property EStopOn As Boolean 返回值如果紧急停止启动, 则返回 True, 否则返回 False EStopOn 示例 If m_spel.estopon Then lblestop.text = "Emergency stop is active" Else lblestop.text = "" EndIf EPSON RC+ 7.0 选件 RC+ API Rev.2 23

34 Force_Sensor 属性,Spel 类 描述设置并返回当前的力传感器编号 Property Force_Sensor As Integer 默认值 1 返回值 当前力传感器编号的整数值 备注 使用任何 force 方法之前, 必须使用此属性设置当前的力传感器 Force_Calibrate Force_GetForces Force_SetTrigger Force_Sensor 示例 ' 读取传感器 2 的 Z 轴力 m_spel.force_sensor = 2 f = m_spel.force_getforce(3) 24 EPSON RC+ 7.0 选件 RC+ API Rev.2

35 MotorsOn 属性,Spel 类 描述设置并返回当前机器人的电机打开或关闭的状态 Property MotorsOn As Boolean 默认值 False 返回值 如果电机打开, 则返回 Boolean 值 True, 否则返回 False PowerHigh Reset Robot MotorsOn 示例 If Not m_spel.motorson Then m_spel.motorson = True End If EPSON RC+ 7.0 选件 RC+ API Rev.2 25

36 OperationMode 属性,Spel 类 描述 读取或设置 EPSON RC+ 7.0 的操作模式 Property OperationMode As SpelOperationMode 返回值 SpelOperationMode 值 备注 当 OperationMode 设至 Program 时,Spel 类当前实例的 EPSON RC+ 7.0 GUI 会打开且控制器操作模式会设至 Program 如果用户关闭 GUI,OperationMode 会设至 Auto 如果从 VB 中将 OperationMode 设至 Auto, 则 GUI 也会关闭 OperationMode 示例 Sub btnspelprogrammode_click _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnhideiomonitor.click Try m_spel.operationmode = _ SpelNetLib70.SpelOperationMode.Program ' 如果想要等用户关闭 RC+ GUI ' 可以在此等待 OperationMode 切换 ' 为 Auto( 自动 ) Do Application.DoEvents() System.Threading.Thread.Sleep(10) Loop Until m_spel.operationmode = _ SpelNetLib70.SpelOperationMode.Auto Catch ex As SpelNetLib70.SpelException MsgBox(ex.Message) End Try End If 26 EPSON RC+ 7.0 选件 RC+ API Rev.2

37 ParentWindowHandle 属性,Spel 类 描述 设置 / 返回用于对话框和窗口的父窗口句柄 Property ParentWindowHandle As Integer 返回值含有窗口句柄的整数值 备注 使用 ParentWindowHandle 在无.NET 窗体的应用中指定父窗口, 如 LabVIEW ShowWindow ParentWindowHandle 示例 m_spel.parentwindowhandle = Me.Handle m_spel.showwindow(spelnetlib70.spelwindows.iomonitor) EPSON RC+ 7.0 选件 RC+ API Rev.2 27

38 PauseOn 属性,Spel 类 描述返回控制器暂停状态的状态 ReadOnly Property PauseOn As Boolean 返回值如果控制器处于暂停状态, 则返回 True, 否则返回 False Continue Pause PauseOn 示例 If m_spel.pauseon Then btnpause.enabled = False btncontinue.enabled = True End If 28 EPSON RC+ 7.0 选件 RC+ API Rev.2

39 PowerHigh 属性,Spel 类 描述设置并返回当前机器人的电量状态 Property PowerHigh As Boolean 默认值 False 返回值如果当前机器人电量较高, 则返回 True, 否则返回 False MotorsOn PowerHigh 示例 If Not m_spel.powerhigh Then m_spel.powerhigh = True End If EPSON RC+ 7.0 选件 RC+ API Rev.2 29

40 Project 属性,Spel 类 描述 设置 / 返回当前项目 Property Project As String 默认值 空字符串 返回值含有项目路径与文件的字符串 备注 设置 Project 时, 必须提供 EPSON RC+ 7.0 项目制作文件的完整路径与名称 制作文件即带.SPRJ 扩展名的项目名称 Project 示例 m_spel.project = "c:\epsonrc70\projects\myapp\myapp.sprj" 30 EPSON RC+ 7.0 选件 RC+ API Rev.2

41 ProjectBuildComplete 属性,Spel 类 描述返回当前项目创建的状态 ReadOnly Property ProjectBuildComplete As Boolean 返回值如果项目创建已完成, 则返回 True, 否则返回 False BuildProject ProjectBuildComplete 示例 If m_spel.projectbuildcomplete Then lblbuild.text = "Project build is Complete" Else lblbuild.text = "Project build is not Complete" End If EPSON RC+ 7.0 选件 RC+ API Rev.2 31

42 ResetAbortEnabled 属性,Spel 类 描述设置 / 返回是否应启用 ResetAbort 方法 Property ResetAbortEnabled As Boolean 默认值 True 返回值如果 ResetAbort 已启用, 则返回 True, 否则返回 False ResetAbort ResetAbortEnabled 示例 ' 启用重置中断 m_spel.resetabortenabled = True 32 EPSON RC+ 7.0 选件 RC+ API Rev.2

43 Robot 属性,Spel 类 描述设置 / 返回当前机器人编号 Property Robot As Integer 默认值 如果存在一个或多个机器人, 则第一个 Spel 实例的默认值为 1, 否则为 0 对于所有其他 Spel 实例, 默认值为 0 返回值含有当前机器人编号的整数值 备注 对于使用多个机器人的系统, 使用 Robot 属性设置机器人执行随后的机器人相关命令, 如动作命令 RobotModel RobotType Robot 示例 m_spel.robot = 2 If Not m_spel.motorson Then m_spel.motorson = True End If EPSON RC+ 7.0 选件 RC+ API Rev.2 33

44 RobotModel 属性,Spel 类 描述返回当前机器人的型号名称 ReadOnly Property RobotModel As String 返回值含有当前机器人型号名称的字符串 Robot RobotType RobotModel 示例 lblrobotmodel.text = m_spel.robotmodel 34 EPSON RC+ 7.0 选件 RC+ API Rev.2

45 RobotType 属性,Spel 类 描述返回当前机器人的类型 ReadOnly Property RobotType As SpelRobotType 返回值 SpelRobotType 值 Robot RobotModel RobotType 示例 Select Case m_spel.robottype Case SpelNetLib70.SpelRobotType.Scara lblrobottype.text = "Scara" Case SpelNetLib70.SpelRobotType.Cartesian lblrobottype.text = "Cartesian" End Select EPSON RC+ 7.0 选件 RC+ API Rev.2 35

46 SafetyOn 属性,Spel 类 描述返回控制器安全防护输入的状态 ReadOnly Property SafetyOn As Boolean 返回值如果安全防护打开, 则返回 True, 否则返回 False 备注 应用启动时, 使用 SafetyOn 属性获取安全防护状态, 然后使用 SafeguardOpen 和 SafeguardClose 事件更新状态 SafetyOn 示例 If m_spel.safetyon Then lblsafeguard.text = "Safe guard is active" Else lblsafeguard.text = "" End If 36 EPSON RC+ 7.0 选件 RC+ API Rev.2

47 SPELVideoControl 属性,Spel 类 描述用于将 SPELVideo 控制连接至 Spel 类实例, 以显示视频和图形 Property SpelVideoControl As SpelVideo Graphics Enabled VideoEnabled Camera SpelVideoControl 示例 m_spel.spelvideocontrol = SpelVideo1 EPSON RC+ 7.0 选件 RC+ API Rev.2 37

48 Version 属性,Spel 类 描述返回当前的 EPSON RC+ 7.0 软件版本 ReadOnly Property Version As String 返回值含有当前 EPSON RC+ 7.0 软件版本的字符串 Version 示例 ' 获取软件版本 curver = m_spel.version 38 EPSON RC+ 7.0 选件 RC+ API Rev.2

49 WarningCode 属性,Spel 类 描述返回控制器警告代码 ReadOnly Property WarningCode As Integer 返回值含有当前控制器警告代码的整数值 WarningOn WarningCode 示例 If m_spel.warningon Then lblwarningcode.text = m_spel.warningcode.tostring() Else lblwarningcode.text = "" End If EPSON RC+ 7.0 选件 RC+ API Rev.2 39

50 WarningOn 属性,Spel 类 描述 返回控制器警告状态的状态 ReadOnly Property WarningOn As Boolean 返回值如果控制器处于警告状态, 则返回 True, 否则返回 False WarningCode WarningOn 示例 If m_spel.warningon Then lblwarningstatus.text = "ON" Else lblwarningstatus.text = "OFF" End If 40 EPSON RC+ 7.0 选件 RC+ API Rev.2

51 14.3 Spel 类方法 Accel 方法,Spel 类 描述 设置点到点动作命令 Go Jump 和 Pulse 的加速度和减速度 Sub Accel (PointToPointAccel As Integer, PointToPointDecel As Integer, _ [JumpDepartAccel As Integer], [JumpDepartDecel As Integer], _ [JumpApproAccel As Integer], [JumpApproDecel As Integer]) PointToPointAccel PointToPointDecel JumpDepartAccel JumpDepartDecel JumpApproAccel JumpApproDecel Accels Speed Accel 示例 m_spel.accel(50, 50) m_spel.go ("pick") 之间表示最大加速率百分比的整数表达式 之间表示最大减速率百分比的整数表达式 之间表示 Jump 命令 Z 轴向上动作的最大加速率百分比的整数表达式 之间表示 Jump 命令 Z 轴向上动作的最大减速率百分比的整数表达式 之间表示 Jump 命令 Z 轴向下动作的最大加速率百分比的整数表达式 之间表示 Jump 命令 Z 轴向下动作的最大减速率百分比的整数表达式 EPSON RC+ 7.0 选件 RC+ API Rev.2 41

52 AccelR 方法,Spel 类 描述设置工具旋转动作的加速度和减速度 Sub AccelR (Accel As Single, [Decel As Single]) Accel 0.1 至 5000 deg/sec 2 之间的单一表达式, 用以在动作命令中使用 ROT 时定义工具旋转加速度 如果省略了 Decel, 则此值会用于加速率和减速率 Decel 可选 0.1 至 5000 deg/sec 2 之间的单一表达式, 用以在动作命令中使用 ROT 时定义工具旋转减速度 Arc Arc3 BMove Jump3CP Power SpeedR TMove AccelR 示例 Sub MoveToPlace() m_spel.accelr(100) m_spel.move("place ROT") End Sub 42 EPSON RC+ 7.0 选件 RC+ API Rev.2

53 AccelS 方法,Spel 类 描述设置线性内插 ( 直线 ) 动作命令 Jump3CP Move TMove 的加速度和减速度 Sub AccelS (Accel As Single, Decel As Single, [JumpDepartAccel As Single], [JumpDepartDecel As Single], _ [JumpApproAccel As Single], [JumpApproDecel As Single] ) Accel 之间以 mm/sec 2 为单位的单一表达式, 用以定义直线和连续路径动作的加速度和减速度值 如果省略了 Decel, 则此值会用于加速率和减速率 Decel 之间以 mm/sec 2 为单位的单一表达式, 用以定义直线和连续路径动作的减速度值 一个用于表示加速率和减速率的 JumpDepartAccel JumpDepartDecel JumpApproAccel JumpApproDecel 之间表示 Jump3CP 命令 Z 轴向上动作的最大加速率百分比的单一表达式 之间表示 Jump3CP 命令 Z 轴向上动作的最大减速率百分比的单一表达式 之间表示 Jump3CP 命令 Z 轴向下动作的最大加速率百分比的单一表达式 之间表示 Jump3CP 命令 Z 轴向下动作的最大减速率百分比的单一表达式 Accel SpeedS Jump3CP Move TMove AccelS 示例 Sub MoveToPlace() m_spel.accels(500) m_spel.move(pick) m_spel.accels(500, 300) m_spel.move(place) End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 43

54 Agl 方法,Spel 类 描述返回选定旋转轴的关节角度, 或选定线性轴的位置 Function Agl (JointNumber As Integer) As Single JointNumber Pls CX - CT Agl 示例 Dim j1angle As Single j1angle = m_spel.agl(1) 1-9 之间表示关节编号的整数表达式 44 EPSON RC+ 7.0 选件 RC+ API Rev.2

55 Arc 方法,Spel 类 描述 Arc 可利用 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 搜索表达式以及并行处理语句 AccelR AccelS SpeedR SpeedS Arc3 CVMove Go Jump Jump3 Jump3CP Move BGo BMove TGo TMove CP Till Arc 示例 ' 使用 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!") EPSON RC+ 7.0 选件 RC+ API Rev.2 45

56 Arc3 方法,Spel 类 描述 Arc3 可利用 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 EndPoint 使用整数 SpelPoint 或字符串表达式指定中点 使用整数 SpelPoint 或字符串表达式指定端点 使用字符串表达式时, 内容可包括 ROT ECP CP SYNC Till 搜索表达式以及并行处理语句 AccelR AccelS SpeedR SpeedS Arc CVMove Go Jump Jump3 Jump3CP Move BGo BMove TGo TMove CP Till Arc3 示例 ' 使用 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!") 46 EPSON RC+ 7.0 选件 RC+ API Rev.2

57 Arch 方法,Spel 类 描述定义与 JUMP 指令一同使用的 ARCH ( 开始水平动作前需移动的 Z 高度 ) Sub Arch (ArchNumber As Integer, DepartDist As Integer, ApproDist As Integer) ArchNumber 待定义的 Arch 编号 有效 Arch 编号为 Arch 表中的 7 个条目 (0-6) DepartDist ApproDist Jump Jump3 Jump3CP Arch 示例 Sub SetArchs() With m_spel.arch(1, 30, 30).Arch(2, 60, 60).Jump("P1 C1").Jump("P2 C2") End With End Sub 启动水平动作之前,Jump 指令开始时移动的起始距离, 单位为毫米 Jump 指令目标位置上方的结束距离, 单位为毫米 EPSON RC+ 7.0 选件 RC+ API Rev.2 47

58 Arm 方法,Spel 类 描述选择当前的机器人机械臂 Sub Arm (ArmNumber As Integer) ArmNumber 0-15 之间的整数表达式 用户最多可选择 16 个不同的机械臂 机械臂 0 是标准 ( 默认 ) 机器人机械臂 机械臂 1-15 是 ArmSet 指令定义的辅助机械臂 ArmSet GetArm Tool Arm 示例 m_spel.arm(1) 48 EPSON RC+ 7.0 选件 RC+ API Rev.2

59 ArmClr 方法,Spel 类 描述清除 ( 取消定义 ) 当前机器人的机械臂 Sub ArmClr (ArmNumber As Integer) ArmNumber 1-15 之间的整数表达式 机械臂 0 是标准 ( 默认 ) 机器人机械臂, 无法清除 机械臂 1-15 是 ArmSet 指令定义的辅助机械臂 ArmSet GetArm Tool ArmClr 示例 m_spel.armclr(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 49

60 ArmDef 方法,Spel 类 描述返回是否定义了机器人机械臂 Function ArmDef (ArmNumber As Integer) As Boolean ArmNumber 1-15 之间的整数表达式 机械臂 0 是标准 ( 默认 ) 机器人机械臂, 始终已定义 机械臂 1-15 是使用 ArmSet 方法定义的辅助机械臂 返回值如果指定的机械臂已定义, 则返回 True, 否则返回 False ArmSet GetArm Tool ArmDef 示例 x = m_spel.armdef(1) 50 EPSON RC+ 7.0 选件 RC+ API Rev.2

61 ArmSet 方法,Spel 类 描述指定辅助机器人机械臂 Sub ArmSet ( ArmNumber As Integer, Param1 As Single, Param2 As Single, Param3 As Single, Param4 As Single, Param5 As Single ) ArmNumber Param1 Param2 Param3 Param4 Param5 Arm Tool TLSet 整数值 :1-15 的有效范围内 用户最多可选择 16 个不同的机械臂 机械臂 0 是标准 ( 默认 ) 机器人机械臂 机械臂 1-15 是使用 ArmSet 指令定义的辅助机械臂 ( 对于 SCARA 机器人 ) 肘关节中心线至新定向轴中心线的水平距离 ( 即, 新辅助机械臂的定向轴中心线所在的位置 ) ( 对于 Cartesian 机器人 )X 轴方向位置相对于 X 轴原点位置的偏移量, 单位为 mm ( 对于 SCARA 机器人 ) 正常肘中心线与正常定向轴中心线之间的成线以及新辅助机械臂肘中心线和新定向轴中心线之间的成线之间的偏移量 ( 度 ) ( 这 2 条线应在肘中心线处相交, 所成角度即 Param2 ) ( 对于 Cartesian 机器人 )Y 轴方向位置相对于 Y 轴原点位置的偏移量, 单位为 mm ( 对于 SCARA 和 Cartesian 机器人 ) 新定向轴中心与旧定向轴中心之间的 Z 高度偏移量 ( 此为距离量 ) ( 对于 SCARA 机器人 ) 新辅助轴肩中心线至肘中心线的距离 ( 对于 Cartesian 机器人 ) 这是一个虚 ( 指定为 0) ( 对于 SCARA 和 Cartesian 机器人 ) 新定向轴与旧定向轴之间的角度偏移量 ( 度 ) ArmSet 示例 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 EPSON RC+ 7.0 选件 RC+ API Rev.2 51

62 Atan 方法,Spel 类 描述返回数值表达式的弧正切值 Function Atan (number As Double) As Double number 返回值指定值的弧正切值 Atan2 表示角度值的正切值的数值表达式 Atan 示例 Dim angle As Double angle = m_spel.atan(.7) 52 EPSON RC+ 7.0 选件 RC+ API Rev.2

63 Atan2 方法,Spel 类 描述返回虚线连接点 (0,0) 和 (X,Y) 的角度, 单位为弧度 Function Atan2 (Dx As Double, Dy as Double) As Double Dx Dy 表示 X 坐标的数值表达式 表示 Y 坐标的数值表达式 返回值含有角度的 double 值 Atan Atan2 示例 Dim angle As Double angle = m_spel.atan2(-25, 50) EPSON RC+ 7.0 选件 RC+ API Rev.2 53

64 AtHome 方法,Spel 类 描述如果当前机器人位于起始点位置, 则返回 True Funciton AtHome () As Boolean 返回值如果当前机器人位于起始点位置, 则返回 True, 否则返回 False Home AtHome 示例 If m_spel.athome() Then lblcurpos.text = "Robot is at home position" Else lblcurpos.text = "Robot is not at home position" End If 54 EPSON RC+ 7.0 选件 RC+ API Rev.2

65 AxisLocked 方法,Spel 类 描述如果指定轴处于伺服控制之下, 则返回 True Function AxisLocked (AxisNumber As Integer) As Boolean AxisNumber 表示轴编号的数值表达式 数值可为 1-9 返回值如果指定轴处于伺服控制之下, 则返回 True SLock SFree AxisLocked 示例 If m_spel.axislocked(1) Then lblaxis1.text = "Robot axis #1 is locked" Else lblaxis1.text = "Robot axis #1 is free" End If EPSON RC+ 7.0 选件 RC+ API Rev.2 55

66 Base 方法,Spel 类 描述定义基座坐标系 Sub Base ( OriginPoint As SpelPoint [, XAxisPoint As SpelPoint] [, YAxisPoint As SpelPoint] [, Alignment As SpelBaseAlignment] ) OriginPoint 表示基座坐标系原点的 SpelPoint XAxisPoint 可选 位于基座坐标系 X 轴任意位置的 SpelPoint YAxisPoint 可选 位于基座坐标系 Y 轴任意位置的 SpelPoint Alignment Local 可选 提供 XAxisPoint 和 YAxisPoint 时, 使用 Alignment 指定与基座对齐的轴 Base 示例 Dim originpoint As New SpelPoint originpoint.x = 50 originpoint.y = 50 m_spel.base(originpoint) 56 EPSON RC+ 7.0 选件 RC+ API Rev.2

67 BGo 方法,Spel 类 描述在选定的本地坐标系中执行点到点的相对运动 Sub BGo (PointNumber As Integer) Sub BGo (Point As SpelPoint) Sub BGo (PointExpr As String) 每个具有一个指定机械臂在 BGo 动作期间所移至端点的 此为点到点动作结束时的最终位置 PointNumber Point PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定端点 通过使用 SpelPoint 数据类型指定端点 通过使用字符串表达式指定端点 Accel Speed Arc Arc3 CVMove Go Jump Jump3 Jump3CP Move BMove TGo TMove CP Till BGo 示例 ' 使用点编号 m_spel.tool(1) m_spel.bgo(100) ' 使用 SpelPoint Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = m_spel.bgo(pt) ' 使用点表达式 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") EPSON RC+ 7.0 选件 RC+ API Rev.2 57

68 BMove 方法,Spel 类 描述 在选定的本地坐标系中执行线性内插相对运动 Sub BMove (PointNumber As Integer) Sub BMove (Point As SpelPoint) Sub BMove (PointExpr As String) 每个具有一个指定机械臂在 BMove 动作期间所移至端点的 此为线性内插动作结束时的最终位置 PointNumber Point PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定端点 通过使用 SpelPoint 数据类型指定端点 通过使用字符串表达式指定端点 AccelR AccelS SpeedR SpeedS Arc Arc3 CVMove Go Jump Jump3 Jump3CP Move BGo TGo TMove CP Till BMove 示例 ' 使用点编号 m_spel.tool(1) m_spel.bmove(100) ' 使用 SpelPoint Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = m_spel.bmove(pt) ' 使用点表达式 m_spel.bmove("p0 /L /2") ' 使用并行处理 m_spel.bmove("p1!d50; On 1; D90; Off 1!") ' 使用点标签 m_spel.bmove("pick") 58 EPSON RC+ 7.0 选件 RC+ API Rev.2

69 Box 方法,Spel 类 描述指定并显示结束检查区域 Sub Box (AreaNumber As Integer, MinX as Single, MaxX as Single, MinY as Single, MaxY as Single, MinZ As Single, MaxZ as Single) AreaNumber 1-15 之间表示 15 个框中待定义框的整数值 MinX MaxX MinY MaxY MinZ MaxZ 可设至结束检查区域的最小 X 坐标位置 可设至结束检查区域的最大 X 坐标位置 可设至结束检查区域的最小 Y 坐标位置 可设至结束检查区域的最大 Y 坐标位置 可设至结束检查区域的最小 Z 坐标位置 可设至结束检查区域的最大 Z 坐标位置 BoxClr BoxDef Plane Box 示例 m_spel.box(1, -5, 5, -10, 10, -20, 20) EPSON RC+ 7.0 选件 RC+ API Rev.2 59

70 BoxClr 方法,Spel 类 描述清除 box( 结束检查区域 ) 的定义 Sub BoxClr (BoxNumber As Integer) BoxNumber 1 至 15 之间表示区域编号的整数表达式 Box BoxDef BoxClr 示例 m_spel.boxclr(1) 60 EPSON RC+ 7.0 选件 RC+ API Rev.2

71 BoxDef 方法,Spel 类 描述返回是否已定义 Box Funciton BoxDef (BoxNumber As Integer) As Boolean BoxNumber 1 至 15 之间表示区域编号的整数表达式 返回值如果已定义指定 box, 则返回 True, 否则返回 False Box BoxClr BoxDef 示例 x = m_spel.boxdef(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 61

72 BTst 方法,Spel 类 描述返回数字中 1 位的状态 Function BTst (Number As Integer, BitNumber As Integer) As Boolean Number 用表达式或数值指定位测试的数字 BitNumber 指定待测试的位 (0-31 之间的整数值 ) 返回值如果已设置指定位, 则返回 True, 否则返回 False On Off BTst 示例 x = m_spel.btst(data, 2) 62 EPSON RC+ 7.0 选件 RC+ API Rev.2

73 BuildProject 方法,Spel 类 描述构建 Project 属性指定的 EPSON RC+ 7.0 项目 Sub BuildProject () Project ProjectBuildComplete BuildProject 示例 With m_spel.project = "c:\epsonrc70\projects\myproj\myproj.sprj" If Not.ProjectBuildComplete() Then.BuildProject() End If End With EPSON RC+ 7.0 选件 RC+ API Rev.2 63

74 Call 方法,Spel 类 描述调用 ( 执行 ) 可随意返回一个值的 SPEL + 函数 Function Call (FuncName As String [, Parameters As String) As Object FuncName Parameters 当前项目中已定义的函数名称 可选 含有调用所需的字符串表达式 返回值 SPEL+ 函数的返回值 数据类型与函数的数据类型匹配 备注 使用 Call 方法调用 SPEL + 函数并检索返回值 将 Call 结果分配到变量时, 确保使用正确的数据类型, 否则会发生类型不匹配的错误 还可调用通过 VB 应用在 SPEL + 代码中定义的 DLL 函数 Project Xqt Call 示例 'VB 代码 Dim errcode As Integer errcode = m_spel.call("getpart") 'SPEL + 函数 Function GetPart As Integer Long errnum OnErr GPErr errnum = 0 Jump P1 On vacuum Wait SW(vacOn) = 1, 2 If TW(0) = 1 Then errnum = VAC_TIMEOUT EndIf GPExit: GetPart = errnum Exit Function GPErr: errnum = Err GoTo GPExit Fend 64 EPSON RC+ 7.0 选件 RC+ API Rev.2

75 ClearPoints 方法,Spel 类 描述清除当前机器人内存中的点 Sub ClearPoints () LoadPoints Robot SavePoints SetPoint ClearPoints 示例 With m_spel.clearpoints().setpoint(1, 100, 200, -20, 0, 0, 0).Jump(1) End With EPSON RC+ 7.0 选件 RC+ API Rev.2 65

76 Connect 方法,Spel 类 描述连接 Spel 类实例和控制器 Sub Connect (ConnectionNumber As Integer) ConnectionNumber 连接编号的整数表达式 当前必须设至 1 备注 Spel 类实例需要与控制器通信时, 便会自动连接 如果需要明确连接至控制器, 则使用 Connect 方法 Disconnect Initialize Connect 示例 Try m_spel.connect(1) Catch ex As SpelNetLib70.SpelException MsgBox(ex.Message) End Try 66 EPSON RC+ 7.0 选件 RC+ API Rev.2

77 Continue 方法,Spel 类 描述如果发生暂停, 则恢复控制器中的所有任务 Sub Continue () 备注使用 Continue 恢复已被 Pause 方法或安全防护打开所暂停的所有任务 如果安全防护在任务运行时打开, 则机器人会逐渐减速至停止且机器人电机将关闭 安全防护关闭之后, 可使用 Continue 恢复循环 Pause Start Stop Continue 示例 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 SpelNetLib70.SpelException MsgBox(ex.Message) End Try End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 67

78 Ctr 方法,Spel 类 描述返回指定输入计数器的计数器值 Function Ctr (BitNumber As Integer) As Integer BitNumber 设置为计数器的输入位数 同一时间只能有 16 个计数器处于活动状态 返回值返回计数器值 CtReset Ctr 示例 lblcounter.text = m_spel.ctr(1).tostring() 68 EPSON RC+ 7.0 选件 RC+ API Rev.2

79 CtReset 方法,Spel 类 描述重置指定输入计数器的计数器值 还将输入定义为计数器输入 Sub CtReset (BitNumber As Integer) BitNumber 设置为计数器的输入位数 同一时间只能有 16 个计数器处于活动状态 Ctr CtReset 示例 m_spel.ctreset(2) EPSON RC+ 7.0 选件 RC+ API Rev.2 69

80 Curve 方法,Spel 类 描述定义沿曲线路径移动机械臂所需的数据和点 可在路径中定义多个数据点, 以提高路径精度 Sub Curve (FileName As String, Closure As Boolean, Mode As Integer, NumOfAxis As Integer, PointList As String) FileName Closure Mode 点数据存储文件的路径和名称字符表达式 指定 filename 的结尾附有扩展名 CRV, 因此用户无需指定扩展名 执行 Curve 指令时, 将创建 filename 指定是否将路径的最后一个点连接至第一个点的 Boolean 表达式 指定机械臂是否在 U 轴的正切方向自动内插 模式设置正切校正 0 No 2 Yes NumOfAxis 2-4 之间指定曲线动作期间所控制轴数的整数表达式, 如下所示 : 2- 在 XY 平面生成曲线, 无 Z 轴移动或 U 轴旋转 3- 在 XYZ 平面生成曲线, 无 U 轴旋转 (Theta 1 Theta 2 和 Z) 4- 在 XYZ 平面生成曲线,U 轴旋转 ( 控制所有 4 个轴 ) PointList { 点表达式 P( 起始点 : 终点 )} [, 输出命令 ]... 该实际是一系列点编号以及以逗号分隔的可选输出语句或以冒号分隔的升序排列的点 通常, 这一系列点以逗号分隔, 如下所示 : Curve MyFile, O, 0, 4, P1, P2, P3, P4 备注用 Curve 定义待用 CVMove 方法执行的样条路径 有关更多详细信息, 请参阅 SPEL+ 命令 Curve Curve (SPEL + Statement) CVMove Method Curve 示例 m_spel.curve("mycurvefile", True, 0, 4, "P(1:3), On 1, P(4:7)") m_spel.cvmove("mycurvefile") 70 EPSON RC+ 7.0 选件 RC+ API Rev.2

81 CVMove 方法,Spel 类 描述执行 Curve 指令定义的连续样条路径动作 Sub CVMove (FileName As String [, OptionList As String]) FileName OptionList 连续路径动作数据所需文件的路径和名称字符串表达式 此文件必须事先通过 Curve 指令创建 可选 含有 Till 规范的字符表达式 备注使用 CVMove 执行用 Curve 方法定义的路径 有关更多详细信息, 请参阅 SPEL + 命令 CVMove 如果需要用 CP 执行 CVMove, 则建议通过 SPEL + 任务代替应用来执行 CVMove 其原因在于 : 为正确执行 CP 动作, 系统需要提前了解下一动作的目标位置 但由于每次执行一条 RC+ API 命令, 系统无法提前了解下一目标位置 Curve, CVMove (SPEL+ Command) CVMove 示例 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") EPSON RC+ 7.0 选件 RC+ API Rev.2 71

82 CX CY CZ CU CV CW CR CS CT 方法,Spel 类 描述检索点的坐标值 CV 和 CW 用于 6 轴机器人 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 指定待检索指定坐标的点的字符串表达式 可使用任一有效的点表达式 P* 还可用于检索当前位置的坐标 返回值指定坐标值 CX CY CZ 的返回值 : 实际值 (mm) CU CV CW 的返回值 : 实际值 ( 度 ) CR CS CT 的返回值 : 实际值 GetPoint SetPoint CX CY CZ CU CV CW CR CS CT 示例 Dim x As Single, y As Single x = m_spel.cx("p1") y = m_spel.cy("p*") 72 EPSON RC+ 7.0 选件 RC+ API Rev.2

83 Delay 方法,Spel 类 描述延迟指定的毫秒数 Sub Delay (Milliseconds As Integer) Milliseconds 含有待延迟毫秒数的整数值 Delay 示例 m_spel.delay(500) EPSON RC+ 7.0 选件 RC+ API Rev.2 73

84 DegToRad 方法,Spel 类 描述将度转换为弧度 Function DegToRad (degrees As Double) As Double degrees 返回值 含有弧度的双值 RadToDeg DegToRad 示例 Dim rad As Double 待转换为弧度的度数 rad = m_spel.degtorad(45) 74 EPSON RC+ 7.0 选件 RC+ API Rev.2

85 Disconnect 方法,Spel 类 描述断开 Spel 类实例的当前连接 Sub Disconnect () 备注 用 Disconnect 断开当前控制器的连接 Connect Initialize Disconnect 示例 Try m_spel.disconnect() Catch ex As SpelNetLib70.SpelException MsgBox(ex.Message) End Try EPSON RC+ 7.0 选件 RC+ API Rev.2 75

86 ECP 方法,Spel 类 描述选择 ECP 定义 Sub ECP (ECPNumber As Integer) ECPNumber 0-15 之间表示 16 个 ECP 定义中将与下一动作指令一同使用的定义的整数 ECPSet ECP 示例 m_spel.ecp(1) m_spel.move("p1 ECP") 76 EPSON RC+ 7.0 选件 RC+ API Rev.2

87 ECPClr 方法,Spel 类 描述清除 ( 取消定义 ) 当前机器人的外部控制点 Sub ECPClr (ECPNumber As Integer) ECPNumber 表示待清除 ( 取消定义 ) 的 15 个外部控制点之一的整数表达式 (ECP 0 为默认点, 无法清除 ) ECP ECPDef ECPClr 示例 m_spel.ecpclr(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 77

88 ECPDef 方法,Spel 类 描述返回 ECP 定义状态 Function ECPDef (ECPNumber As Integer) As Boolean ECPNumber 表示返回状态的 ECP 的整数值 返回值如果已定义指定 ECP, 则返回 True, 否则返回 False ECP ECPClr ECPDef 示例 x = m_spel.ecpdef(1) 78 EPSON RC+ 7.0 选件 RC+ API Rev.2

89 ECPSet 方法,Spel 类 描述定义 ECP( 外部控制点 ) Sub ECPSet (ECPNumber As Integer, XCoord as Double, YCoord as Double, ZCoord as Double, UCoord as Double [, VCoord As Double] [, WCoord as Double)] ECPNumber XCoord YCoord ZCoord UCoord VCoord WCoord 1-15 之间表示 15 个外部控制点中待定义点的整数值 外部控制点 X 坐标 外部控制点 Y 坐标 外部控制点 Z 坐标 外部控制点 U 坐标 可选 外部控制点 V 坐标 可选 外部控制点 W 坐标 ArmSet ECP GetECP TLSet ECPSet 示例 m_spel.ecpset(1, 100.5, 99.3, 0, 0) EPSON RC+ 7.0 选件 RC+ API Rev.2 79

90 EnableEvent 方法,Spel 类 描述启用 EventReceived 事件的某些系统事件 Sub EnableEvent (Event As SpelEvents, Enabled as Boolean) Event Enabled EventReceived 待启用或禁用的事件 设为 True 启用事件, 设为 False 禁用事件 EnableEvent 示例 With m_spel.enableevent(spelnetlib70.spelevents.projectbuildstatus, True).BuildProject() End With 80 EPSON RC+ 7.0 选件 RC+ API Rev.2

91 ExecuteCommand 方法,Spel 类 描述向 EPSON RC+ 7.0 发送命令并等待命令完成 Sub ExecuteCommand (Command As String, [ByRef Reply As String]) Command 含有 SPEL + 命令的字符串 Reply 可选回复 备注通常情况下,ExecuteCommand 不是必需的 大多数操作均可通过 Spel 方法执行 然而, 有时候需要执行 SPEL + 多语句 多语句即含有以分号分隔的多个语句的一行命令 使用 ExecuteCommand 执行多语句 例如 : m_spel.executecommand("jump pick; ON tipvac") 最大命令行长度为 200 个字符 Pause ExecuteCommand 示例 m_spel.executecommand("jump P1!D50; ON 1!") EPSON RC+ 7.0 选件 RC+ API Rev.2 81

92 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 之间表示各关节允许定位误差的整数值 关节 7 8 和 9 的此数值是可选的 Weight Fine 示例 m_spel.fine(1000, 1000, 1000, 1000, 0, 0) 82 EPSON RC+ 7.0 选件 RC+ API Rev.2

93 Force_Calibrate 方法,Spel 类 描述 为当前力传感器的所有轴设置零偏移 Sub Force_Calibrate( ) 备注 应在应用启动时为每个传感器调用 Force_Calibrate 这样将计入传感器上安装的组件重量 Force_Sensor Force_GetForces Force_SetTrigger Force_Calibrate 示例 m_spel.forcesensor = 1 m_spel.force_calibrate() EPSON RC+ 7.0 选件 RC+ API Rev.2 83

94 Force_ClearTrigger 方法,Spel 类 描述 清除当前力传感器的所有触发条件 Sub Force_ClearTrigger( ) 备注 使用 Force_ClearTrigger 清除当前力传感器的所有触发条件 Force_Sensor Force_GetForces Force_SetTrigger Force_ClearTrigger 示例 m_spel.forcesensor = 1 m_spel.force_cleartrigger() 84 EPSON RC+ 7.0 选件 RC+ API Rev.2

95 Force_GetForce 方法,Spel 类 描述 返回指定力传感器轴的力 Function Force_GetForce( Axis As SpelForceAxis) As Single Axis 待检索的轴值, 如下所示 : 备注 SpelForceAxis 数值 XForce 1 YForce 2 ZForce 3 XTorque 4 YTorque 5 ZTorque 6 使用 Force_GetForce 读取当前为一个轴设置的力 单位由力传感器的配置决定 Force_Sensor Force_GetForces Force_SetTrigger Force_GetForce 示例 m_spel.forcesensor = 1 zforce = m_spel.force_getforce(spelforceaxis.zforce) EPSON RC+ 7.0 选件 RC+ API Rev.2 85

96 Force_GetForces 方法,Spel 类 描述 以数组形式返回所有力传感器轴的力和扭矩 Sub Force_GetForces( Values() As Single) Values 备注 将返回的具有 6 个元素的一维数组 使用 Force_GetForces 一次读取所有力值和扭矩值 Force_Sensor Force_GetForces Force_SetTrigger Force_GetForces 示例 Dim values() as Single = Nothing m_spel.forcesensor = 1 m_spel.force_getforces(values) 86 EPSON RC+ 7.0 选件 RC+ API Rev.2

97 Force_SetTrigger 方法,Spel 类 描述 为 Till 命令设置力触发器 Sub Force_SetTrigger( Axis As SpelForceAxis, Threshold As Single, CompareType As SpelForceCompareType ) Axis 用于触发器的轴, 如下所示 : SpelForceAxis 数值 XForce 1 YForce 2 ZForce 3 XTorque 4 YTorque 5 ZTorque 6 Threshold 表示阈值的单一表达式 CompareType LessOrEqual 或 GreatorOrEqual 备注 若要停止力传感器的动作, 必须设置传感器的触发器, 然后在动作语句中使用 Till Force 可使用多个轴设置触发器 然后为每个轴调用 Force_SetTrigger 若要清除所有触发条件, 使用 Force_ClearTrigger Force_ClearTrigger Force_Sensor Till Force_SetTrigger 示例 m_spel.forcesensor = 1 m_spel.force_settrigger(spelforceaxis.zforce, -2.0, _ SpelForceCompareType.GreaterOrEqual) m_spel.till("force") m_spel.move("p1 Till") EPSON RC+ 7.0 选件 RC+ API Rev.2 87

98 GetAccel 方法,Spel 类 描述返回指定加速度 / 减速度值 Function GetAccel (ParamNumber As Integer) As Integer ParamNumber 可含有以下数值的整数表达式 : 1: 加速度规定值 2: 减速度规定值 3:Jump 的起始加速度规定值 4:Jump 的起始减速度规定值 5:Jump 的结束加速度规定值 6:Jump 的结束减速度规定值 返回值 含有指定加速度 / 减速度值的整数 Accel GetAccel 示例 Dim x As Integer x = m_spel.getaccel(1) 88 EPSON RC+ 7.0 选件 RC+ API Rev.2

99 GetArm 方法,Spel 类 描述返回当前机器人的当前机械臂编号 Function GetArm () As Integer 返回值 含有当前机械臂编号的整数 Arm ArmSet Robot Tool GetArm 示例 savearm = m_spel.getarm() m_spel.arm(2) EPSON RC+ 7.0 选件 RC+ API Rev.2 89

100 GetControllerInfo 方法,Spel 类 描述返回当前控制器的相关信息 Function GetControllerInfo() As SpelControllerInfo 返回值 SpelControllerInfo 实例 GetErrorMessage 备注 GetControllerInfo 返回 SpelControllerInfo 类的新实例, 其含有控制器的信息属性 GetControllerInfo 示例 Dim info As SpelControllerInfo Dim msg As String info = m_spel.getcontrollerinfo() msg = "Project Name:" & info.projectname & vbcrlf _ & "Project ID:" & info.projectid MsgBox(msg) 90 EPSON RC+ 7.0 选件 RC+ API Rev.2

101 GetCurrentUser 方法,Spel 类 描述返回当前的 EPSON RC+ 7.0 用户 Function GetCurrentUser () As String 返回值 含有当前用户的字符串变量 Login GetCurrentUser 示例 Dim currentuser As String currentuser = m_spel.getcurrentuser() EPSON RC+ 7.0 选件 RC+ API Rev.2 91

102 GetECP 方法,Spel 类 描述返回当前 ECP 编号 Function GetECP () As Integer 返回值 含有当前 ECP 编号的整数 ECP ECPSet GetECP 示例 saveecp = m_spel.getecp() m_spel.ecp(2) 92 EPSON RC+ 7.0 选件 RC+ API Rev.2

103 GetErrorMessage 方法,Spel 类 描述返回指定错误的错误消息或警告代码 Function GetErrorMessage (ErrorCode As Integer) As String ErrorCode 返回值 含有错误消息的字符串 ErrorCode GetErrorMessage 示例 Dim msg As String 用以返回相关错误消息的错误代码 If m_spel.erroron Then msg = m_spel.geterrormessage(m_spel.errorcode) MsgBox(msg) End If EPSON RC+ 7.0 选件 RC+ API Rev.2 93

104 GetIODef 方法,Spel 类 描述 获取输入 输出或内存 I/O 位 字节或字的定义信息 Sub GetIODef(Type As SpelIOLabelTypes, Index As Integer, ByRef Label as String, ByRef Description As String) Type 指定 I/O 类型, 如下所示 : Index Label Description 返回值 InputBit = 1,InputByte = 2,InputWord = 3 OutputBit = 4,OutputByte = 5,OutputWord = 6, MemoryBit = 7,MemoryByte = 8,MemoryWord = 9 指定位或端口号 返回标签 返回描述 数值通过 Label 和 Description 返回 备注 使用 GetIODef 获得用于当前项目中所有 I/O 的标签和描述 SetIODef GetIODef 示例 Dim label As String Dim desc As String m_spel.getiodef(speliolabeltypes.inputbit, 0, label, desc) 94 EPSON RC+ 7.0 选件 RC+ API Rev.2

105 GetLimZ 方法,Spel 类 描述返回当前的 LimZ 设置 Function GetLimZ () As Single 返回值 含有 LimZ 值的实际值 LimZ Jump GetLimZ 示例 savelimz = m_spel.getlimz() m_spel.limz(-22) EPSON RC+ 7.0 选件 RC+ API Rev.2 95

106 GetPoint 方法,Spel 类 描述检索机器人点的坐标数据 Function GetPoint (PointNumber As Integer) As SpelPoint Function GetPoint (PointName As String) As SpelPoint PointNumber 当前机器人控制器点内存中点的整数表达式 PointName 字符串表达式 可以是点标签,"Pxxx" "P*" 或 "*" SetPoint GetPoint 示例 Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = 25.0 m_spel.go(pt) 96 EPSON RC+ 7.0 选件 RC+ API Rev.2

107 GetRobotPos 方法,Spel 类 描述 返回当前的机器人位置 Function GetRobotPos( PosType As SpelRobotPosType, Arm As Integer, Tool As Integer, Local As Integer) As Single() PosType Arm Tool Local 返回值 指定待返回的位置数据类型 指定机器人机械臂的整数表达式 指定机器人工具的整数表达式 指定机器人本地的整数表达式 含有 9 个元素的单数据类型数组 返回的数据取决于指定的 PosType World Joint Pulse GetPoint X Y Z U V W R S T J1 J2 J3 J4 J5 J6 J7 J8 J9 Pls1 Pls2 Pls3 Pls4 Pls5 Pls6 Pls7 Pls8 Pls9 GetRobotPos 示例 Dim values() As Single values = m_spel.getrobotpos(spelrobotpostype.world, 0, 0, 0) EPSON RC+ 7.0 选件 RC+ API Rev.2 97

108 GetSpeed 方法,Spel 类 描述返回当前机器人的三个速度设置之一 Function GetSpeed (ParamNumber As Integer) As Integer ParamNumber Speed GetSpeed 示例 Dim x As Integer x = m_spel.getspeed(1) 评估一个以下数值的整数表达式 1:PTP 动作速度 2:Jump 起始速度 3:Jump 结束速度 98 EPSON RC+ 7.0 选件 RC+ API Rev.2

109 GetTool 方法,Spel 类 描述返回当前机器人的当前工具编号 Function GetTool () As Integer 返回值 含有当前工具编号的整数 Arm TLSet Tool GetTool 示例 savetool = m_spel.gettool() m_spel.tool(2) EPSON RC+ 7.0 选件 RC+ API Rev.2 99

110 GetVar 方法,Spel 类 描述返回控制器中 SPEL + 全局保留变量的值 Function GetVar(VarName As String) As Object VarName SPEL + 全局保留变量的名称 对于数组, 可返回整个数组或仅返回一个元素 返回值 返回数据类型由 SPEL + 变量类型决定的数值 备注 可使用 GetVar 检索控制器当前项目中所有全局保留变量的数值 在能够检索数值之前, 必须已成功构建项目 如果需要检索整个数组, 则在 VarName 中提供数组名称 若要检索数组中的一个元素, 在 VarName 中提供下标 SetVar GetVar 示例 在 SPEL+ 项目中, 定义变量 : Global Preserve Integer g_myintvar Global Preserve Real g_myrealarray(10) Global Preserve String g_mystringvar$ Function main... Fend 在 VB 项目中 : 由于 g_myintvar 定义为整数, 因此用于检索 g_myinvar 数值的 VB 变量必须定义为整数 对于 g_myrealarray,vb 变量必须定义为一维数组 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$") 100 EPSON RC+ 7.0 选件 RC+ API Rev.2

111 Go 方法,Spel 类 描述以点到点的形式将机械臂从当前位置移至指定点或 XY 位置 GO 指令可同时移动任意组合的机器人轴 Sub Go (PointNumber As Integer) Sub Go (Point As SpelPoint) Sub Go (PointExpr As String) 每个具有一个指定机械臂在 Go 动作期间所移至端点的 此为点到点动作结束时的最终位置 PointNumber Point PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定端点 通过使用 SpelPoint 数据类型指定端点 通过使用字符串表达式指定端点 Accel Speed Arc Arc3 CVMove Jump Jump3 Jump3CP Move BGo BMove TGo TMove Arch CP Sense Till Go 示例 ' 使用点编号指定点 m_spel.tool(1) m_spel.go(100) ' 使用 SpelPoint 指定点 Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = 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") EPSON RC+ 7.0 选件 RC+ API Rev.2 101

112 Halt 方法,Spel 类 描述暂停指定任务的执行 Sub Halt (TaskNumber As Integer) Sub Halt (TaskName As String) TaskNumber 待暂停任务的任务号 任务号范围为 1 至 32 TaskName 含有任务名称的字符串表达式 Resume Xqt Halt 示例 m_spel.halt(3) 102 EPSON RC+ 7.0 选件 RC+ API Rev.2

113 Here 方法,Spel 类 描述示教当前位置的点 Sub Here (PointNumber As Integer) Sub Here (PointName As String) PointNumber PointName 当前机器人点内存中点的整数表达式 可使用以 0 开头的任何有效点编号 点标签的字符串表达式 SetPoint Here 示例 m_spel.here("p20") EPSON RC+ 7.0 选件 RC+ API Rev.2 103

114 HideWindow 方法,Spel 类 描述 隐藏之前用 ShowWindow 显示的 EPSON RC+ 7.0 窗口 Sub HideWindow (WindowID As SpelWindows, Parent As Form) WindowID 待隐藏 EPSON RC+ 7.0 窗口的 ID RunDialog ShowWindow HideWindow 示例 Sub btnhideiomonitor_click _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnhideiomonitor.click m_spel.hidewindow(spelnetlib70.spelwindows.iomonitor) End Sub 104 EPSON RC+ 7.0 选件 RC+ API Rev.2

115 Home 方法,Spel 类 描述将机器人机械臂移至用户定义的并用 HomeSet 方法设置的起始点位置 Sub Home () HomeSet MCal Home 示例 With m_spel.motorson = True.Home() End With EPSON RC+ 7.0 选件 RC+ API Rev.2 105

116 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 Home MCal HomeSet 示例 每个关节的 Home 位置编码器脉冲值 关节 7 8 和 9 是可选的 ' 将当前位置设为 Home 位置 With m_spel.homeset(.pls(1),.pls(2),.pls(3),.pls(4), 0, 0) End With 106 EPSON RC+ 7.0 选件 RC+ API Rev.2

117 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] ) Step 1-9 通知各轴应在 Home 过程各步骤返回起始点的位模式 在步骤 1 期间, 0 至全部轴之间任意数量的轴均可在第一步过程中返回至起始点位置 步骤 7 9 为可选, 用于具有 6 个轴以上的机器人 Home HomeSet Mcordr Hordr 示例 m_spel.hordr(2, 13, 0, 0, 0, 0) EPSON RC+ 7.0 选件 RC+ API Rev.2 107

118 Hour 方法,Spel 类 描述返回累计的系统运行小时数 Function Hour () As Single 返回值表示时间的整数表达式 Hour 示例 Dim hoursrunning As Single hoursrunning = m_spel.hour() 108 EPSON RC+ 7.0 选件 RC+ API Rev.2

119 ImportPoints 方法,Spel 类 描述将点文件导入当前机器人的当前项目 Sub ImportPoints (SourcePath As String, ProjectFileName As String [, RobotNumber As Integer] ) SourcePath 含有待导入当前项目的特定路径和文件的字符串表达式 扩展名必须为.PTS ProjectFileName 含有待导至当前机器人或在提供 RobotNumber 时指定机器人的当前项目的特定文件的字符表达式 扩展名必须为.PTS RobotNumber SavePoints 可选 将使用点文件的机器人的整数表达式 指定为 0 可使文件成为公共点文件 ImportPoints 示例 With m_spel.importpoints("c:\mypoints\model1.pts", "robot1.pts") End With EPSON RC+ 7.0 选件 RC+ API Rev.2 109

120 In 方法,Spel 类 描述返回指定输入端口的状态 每个端口含有 8 个输入位 ( 一个字节 ) Function In (PortNumber As Integer) As Integer Function In (Label As String) As Integer PortNumber Label 表示其中一个输入端口的整数表达式 每个端口含有 8 个输入位 ( 一个字节 ) 含有输入字节标签的字符串表达式 返回值 0 至 255 之间表示输入端口状态的整数表达式 InBCD Out OpBCD Sw In 示例 Dim port1value As Integer port1value = m_spel.in(1) 110 EPSON RC+ 7.0 选件 RC+ API Rev.2

121 InBCD 方法,Spel 类 描述使用 BCD 格式返回 8 个输入的输入状态 ( 二进制编码的十进制 ) Function InBCD (PortNumber As Integer) As Integer Function InBCD (Label As String) As Integer PortNumber Label 表示其中一个输入端口的整数表达式 含有输入字节标签的字符串表达式 返回值 0 至 9 之间表示输入端口状态的整数表达式 In Out OpBCD Sw InBCD 示例 Dim port1value As Integer port1value = m_spel.inbcd(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 111

122 Initialize 方法,Spel 类 描述初始化 Spel 类实例 Sub Initialize () 备注 通常情况下, 当执行第一个方法时会自动初始化 Spel 类实例 EPSON RC+ 7.0 载入内存时, 初始化会需要几秒的时间 因此, 在一些情况下, 可能希望在启动时首先在应用中调用 initialize Connect Disconnect Initialize 示例 m_spel.initiialize() 112 EPSON RC+ 7.0 选件 RC+ API Rev.2

123 InsideBox 方法,Spel 类 描述返回结束检查区域的检查状态 Function InsideBox (BoxNumber As Integer) As Boolean BoxNumber 1 至 15 之间表示所返回状态的结束检查区域的整数表达式 返回值 如果机器人夹具末端位于指定框内, 则返回 True, 否则返回 False Box InsidePlane InsideBox 示例 x = m_spel.insidebox(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 113

124 InsidePlane 方法,Spel 类 描述 返回结束检查平面的检查状态 Function InsidePlane (PlaneNumber As Integer) As Boolean PlaneNumber 1 至 15 之间表示所返回状态的结束检查平面的整数表达式 返回值 如果机器人夹具末端位于指定框内, 则返回 True, 否则返回 False InsideBox Plane InsidePlane 示例 x = m_spel.insideplane(1) 114 EPSON RC+ 7.0 选件 RC+ API Rev.2

125 InW 方法,Spel 类 描述返回指定输入字端口的状态 每个字端口含有 16 个输入位 Function InW (PortNumber As Integer) As Integer Function InW (Label As String) As Integer PortNumber Label 表示输入端口的整数 含有输入字标签的字符串表达式 返回值 0 至 之间表示输入端口的整数值 In InBCD Out OpBCD Sw InW 示例 Dim data As Integer data = m_spel.inw(0) EPSON RC+ 7.0 选件 RC+ API Rev.2 115

126 JRange 方法,Spel 类 描述以脉冲形式定义指定轴的允许工作范围 Sub JRange ( JointNumber As Integer, LowerLimitPulses As Integer, UpperLimitPulses As Integer) JointNumber LowerLimitPulses UpperLimitPulses 1-9 之间表示将指定 JRange 的关节的整数值 表示指定关节下限范围的编码器脉冲计数位置的整数值 表示指定关节上限范围的编码器脉冲计数位置的整数值 XYLim JRange 示例 m_spel.jrange(1, , 30000) 116 EPSON RC+ 7.0 选件 RC+ API Rev.2

127 JS 方法,Spel 类 描述 Jump Sense 会检测机械臂在完成 JUMP 指令 ( 使用 SENSE 输入 ) 之前是否已停止或机械臂是否已完成 JUMP 移动 Function JS () As Boolean 返回值 如果在动作期间检测到 SENSE 输入, 则返回 True, 否则返回 False JT Jump Jump3 Jump3CP Sense Till JS 示例 With m_spel.sense("sw(1) = On").Jump("P1 Sense") stoppedonsense =.JS() End With EPSON RC+ 7.0 选件 RC+ API Rev.2 117

128 JT 方法,Spel 类 描述返回当前机器人最近 Jump Jump3 或 Jump3CP 指令的状态 Function JT () As Integer 返回值 JT 会返回设置或清除了以下位的整数 : 上升动作开始或上升距离为 0 时,0 位设为 1 水平动作开始或水平距离为 0 时,1 位设为 1 下降动作开始或下降距离为 0 时,2 位设为 1 上升动作完成或上升距离为 0 时,16 位设为 1 水平动作完成或水平距离为 0 时,17 位设为 1 下降动作完成或下降距离为 0 时,18 位设为 1 JS Jump Jump3 Jump3CP Sense Till JT 示例 Dim status As Integer With m_spel.till("sw(1) = On").Jump("P1 Till") If.JT() And 4 = 4 Then MessageBox.Show("Motion stopped during decent") EndIf End With 118 EPSON RC+ 7.0 选件 RC+ API Rev.2

129 JTran 方法,Spel 类 描述执行相对关节移动 Sub JTran (JointNumber As Integer, Distance As Single) JointNumber Distance PTran Pulse JTran 示例 待移动的特定关节 ' 移动关节 1, 正方向 45 度 m_spel.jtran(1, 45.0) 待移动的距离 对于旋转关节, 单位为度 ; 对于线性关节, 单位为毫米 EPSON RC+ 7.0 选件 RC+ API Rev.2 119

130 Jump 方法,Spel 类 描述使用点到点动作将机械臂从当前位置移至指定点, 首先垂直上移, 然后水平移动, 最后再垂直下移到达最终目标点 Sub Jump (PointNumber As Integer) Sub Jump (Point As SpelPoint) Sub Jump (PointExpr As String) 每个具有一个指定机械臂在 Jump 动作期间所移至端点的 此为点到点动作结束时的最终位置 PointNumber Point PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定端点 通过使用 SpelPoint 数据类型指定端点 通过使用字符串表达式指定端点 Accel Speed Arc Arc3 CVMove Go Jump3 Jump3CP Move BGo BMove TGo TMove Arch CP Sense Till Jump 示例 ' 使用点编号指定点 m_spel.tool(1) m_spel.jump(100) ' 使用 SpelPoint 指定点 Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = 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") 120 EPSON RC+ 7.0 选件 RC+ API Rev.2

131 Jump3 方法,Spel 类 描述使用两个 CP 动作和一个 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 使用点编号或字符串点表达式的当前位置上方的起始点 使用点编号或字符串点表达式的目标位置上方的结束点 使用点编号或字符串点表达式动作的目标位置 Accel AccelR AccelS Speed SpeedR SpeedS Arc Arc3 CVMove Go Jump Jump3CP Move BGo BMove TGo TMove Arch CP Sense Till Jump3 示例 ' 使用标签指定点 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 = pa = m_spel.getpoint("p2") pa.z = 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", "approch", "place") EPSON RC+ 7.0 选件 RC+ API Rev.2 121

132 Jump3CP 方法,Spel 类 描述使用三个 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 使用点编号或字符串点表达式的当前位置上方的起始点 使用点编号或字符串点表达式的目标位置上方的结束点 使用点编号或字符串点表达式动作的目标位置 AccelR AccelS SpeedR SpeedS Arc Arc3 CVMove Go Jump Jump3 Move BGo BMove TGo TMove Arch CP Sense Till Jump3CP 示例 ' 使用点编号指定点 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 = pa = m_spel.getpoint("p2") pa.z = 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") 122 EPSON RC+ 7.0 选件 RC+ API Rev.2

133 LimZ 方法,Spel 类 描述设置 JUMP 命令的 Z 轴高度默认值 Sub LimZ (ZLimit As Single) ZLimit Jump Z 轴可移动范围内的坐标值 LimZ 示例 savelimz = m_spel.getlimz() m_spel.limz(-22) EPSON RC+ 7.0 选件 RC+ API Rev.2 123

134 LoadPoints 方法,Spel 类 描述将 SPEL + 点文件载入当前机器人的控制器点内存 Sub LoadPoints (FileName As String) FileName ImportPoints SavePoints 当前项目中的有效点文件 LoadPoints 示例 With m_spel.loadpoints("part1.pts") End With 124 EPSON RC+ 7.0 选件 RC+ API Rev.2

135 Local 方法,Spel 类 描述定义本地坐标系 Sub Local (LocalNumber As Integer, OriginPoint As SpelPoint, [XAxisPoint As SpelPoint], [YAxisPoint As SpelPoint]) LocalNumber OriginPoint XAxisPoint YAxisPoint Base 本地坐标系编号 总共可定义 15 个本地坐标系 ( 采用整数值 1 至 15) 本地坐标系原点 SpelPoint 变量 可选 本地坐标系 X 轴上一点的 SpelPoint 变量 可选 本地坐标系 Y 轴上一点的 SpelPoint 变量 Local 示例 Dim originpoint As New SpelPoint originpoint.x = 100 originpoint.y = 50 m_spel.local(1, originpoint) EPSON RC+ 7.0 选件 RC+ API Rev.2 125

136 LocalClr 方法,Spel 类 描述清除为当前机器人定义的 Local Sub LocalClr (LocalNumber As Integer) LocalNumber 表示 15 个本地中 ( 采用整数 1 至 15) 待清除 ( 取消定义 ) 本地的整数表达式 Local LocalDef LocalClr 示例 m_spel.localclr(1) 126 EPSON RC+ 7.0 选件 RC+ API Rev.2

137 LocalDef 方法,Spel 类 描述返回本地定义状态 Function LocalDef (LocalNumber As Integer) As Boolean LocalNumber 返回值 表示所返回状态的本地坐标系的整数表达式 如果已定义指定本地, 则返回 True, 否则返回 False Local LocalClr LocalDef 示例 Dim localexists As Boolean localexists = m_spel.localdef(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 127

138 Login 方法,Spel 类 描述作为另一个用户登录到 EPSON RC+ 7.0 Sub Login (LoginID As String, Password As String) LoginID Password 含有用户登录 ID 的字符串表达式 含有用户密码的字符串表达式 备注您可在应用中使用 EPSON RC+ 7.0 安全 例如 : 可显示允许不同用户登录系统的菜单 每类用户具有各自的安全权限 有关安全的更多详细信息, 请参阅 EPSON RC+ 7.0 用户指南 如果启用了安全却并未执行 LogIn, 则会作为访客用户登录您的 VB 应用 如果 EPSON RC+ 7.0 中的 Auto LogIn 启用, 则会作为当前的 Windows 用户自动登录应用 ( 如果 EPSON RC+ 7.0 中已配置此类用户 ) GetCurrentUser Login 示例 With m_spel.project = "c:\epsonrc70\projects\myproject\myproject.sprj".login("operator", "oprpass") End With 128 EPSON RC+ 7.0 选件 RC+ API Rev.2

139 MCal 方法,Spel 类 描述通过增量编码器对机器人执行机器校准 Sub MCal () MCalComplete MotorsOn MCal 示例 If Not m_spel.mcalcomplete() Then m_spel.mcal() End If EPSON RC+ 7.0 选件 RC+ API Rev.2 129

140 MCalComplete 方法,Spel 类 描述 如果已成功完成 MCal, 则返回 True Function MCalComplete () As Boolean 返回值 如果 MCal 已完成, 则返回 True, 否则返回 False MCal MCalComplete 示例 If m_spel.mcalcomplete() Then lblstatus.text = "MCal Complete" Else lblstatus.text = "MCal Not Complete" End If 130 EPSON RC+ 7.0 选件 RC+ API Rev.2

141 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 过程各步骤返回起始点的位模式 在步骤 1 期间,0 至全部轴之间任意数量的轴均可在第一步过程中返回至起始点位置 步骤 7 9 为可选, 用于具有 6 个轴以上的机器人 Home HomeSet Hordr MCal Mcordr 示例 m_spel.mcordr(2, 13, 0, 0, 0, 0) EPSON RC+ 7.0 选件 RC+ API Rev.2 131

142 MemIn 方法,Spel 类 描述返回指定内存 I/O 字节端口的状态 每个端口含有 8 个内存 I/O 位 Function MemIn (PortNumber As Integer) As Integer Function MemIn (Label As String) As Integer PortNumber Label 表示其中一个内存 I/O 端口的整数表达式 含有内存 I/O 字节标签的字符串表达式 返回值 含有端口值的整数 In InBCD MemOut MemSw Sw Off On Oport MemIn 示例 data = m_spel.memin(1) 132 EPSON RC+ 7.0 选件 RC+ API Rev.2

143 MemInW 方法,Spel 类 描述返回指定内存 I/O 字端口的状态 每个字端口含有 16 个内存 I/O 位 Function MemInW (PortNumber As Integer) As Integer Function MemInW (Label As String) As Integer PortNumber Label 表示内存 I/O 字的整数表达式 含有内存 I/O 字标签的字符串表达式 返回值 含有端口值的整数 In InBCD MemIn MemSw Sw Off On Oport MemInW 示例 data = m_spel.meminw(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 133

144 MemOff 方法,Spel 类 描述关闭 S/W 内存 I/O 的指定位 Sub MemOff (BitNumber As Integer) Sub MemOff (Label As String) BitNumber Label 表示其中一个内存 I/O 位的整数表达式 含有内存 I/O 位标签的字符串表达式 In InBCD MemOut MemSw Sw Off On Oport MemOff 示例 m_spel.memoff(500) 134 EPSON RC+ 7.0 选件 RC+ API Rev.2

145 MemOn 方法,Spel 类 描述打开 S/W 内存 I/O 的指定位 Sub MemOn (BitNumber As Integer) Sub MemOn (Label As String) BitNumber Label 表示其中一个内存 I/O 位的整数表达式 含有内存 I/O 位标签的字符串表达式 In InBCD MemOut MemSw Sw Off On Oport MemOn 示例 m_spel.memon(500) EPSON RC+ 7.0 选件 RC+ API Rev.2 135

146 MemOut 方法,Spel 类 描述根据用户指定的 8 位值同时设置 8 个内存 I/O 位 Sub MemOut (PortNumber As Integer, Value As Integer) Sub MemOut (Label As String, Value As Integer) PortNumber Label 表示其中一个内存 I/O 字节的整数表达式 含有内存 I/O 字节标签的字符串表达式 Value 含有指定字节输出模式的整数表达式 有效值范围为 In InBCD MemIn MemSw Sw Off On Oport MemOut 示例 m_spel.memout(2, 25) 136 EPSON RC+ 7.0 选件 RC+ API Rev.2

147 MemOutW 方法,Spel 类 描述根据用户指定的 16 位值同时设置 16 个内存 I/O 位 Sub MemOutW (PortNumber As Integer, Value As Integer) Sub MemOutW (Label As String, Value As Integer) PortNumber Label 表示其中一个内存 I/O 字的整数表达式 含有内存 I/O 字标签的字符串表达式 Value 使用表达式或数值指定输出数据 ( 整数范围为 0 至 65535) In InBCD MemIn MemSw Sw Off On Oport MemOutW 示例 m_spel.memoutw(2, 25) EPSON RC+ 7.0 选件 RC+ API Rev.2 137

148 MemSw 方法,Spel 类 描述返回指定的内存 I/O 位状态 Function MemSw (BitNumber As Integer) As Boolean Function MemSw (Label As String) As Boolean BitNumber Label 表示其中一个内存 I/O 位的整数表达式 含有内存 I/O 位标签的字符串表达式 返回值 如果指定的内存 I/O 打开, 则返回 True, 否则返回 False In InBCD MemIn Sw Off On Oport MemSw 示例 If m_spel.memsw(10) Then m_spel.on(2) End If 138 EPSON RC+ 7.0 选件 RC+ API Rev.2

149 Move 方法,Spel 类 描述使用线性内插 ( 即直线移动 ) 将机械臂从当前位置移至指定点 Sub Move (PointNumber As Integer) Sub Move (Point As SpelPoint) Sub Move (PointExpr As String) 每个具有一个指定机械臂在 Move 动作期间所移至端点的 此为线性内插动作结束时的最终位置 PointNumber Point PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定端点 通过使用 SpelPoint 数据类型指定端点 通过使用字符串表达式指定端点 AccelR AccelS SpeedR SpeedS Arc Arc3 CVMove Go Jump Jump3 Jump3CP BGo BMove TGo TMove Arch CP Till Move 示例 ' 使用点编号指定点 m_spel.tool(1) m_spel.move(100) ' 使用 SpelPoint 指定点 Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = 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") EPSON RC+ 7.0 选件 RC+ API Rev.2 139

150 Off 方法,Spel 类 描述关闭指定输出 Sub Off (BitNumber As Integer) Sub Off (Label As String) BitNumber Label 表示其中一个标准或扩展输出的整数表达式 用以通知 Off 指令待关闭的输出 含有输出位标签的字符串表达式 On Oport Out OutW Off 示例 m_spel.off(1) 140 EPSON RC+ 7.0 选件 RC+ API Rev.2

151 On 方法,Spel 类 描述打开指定输出 Sub On (BitNumber As Integer) Sub On (Label As String) BitNumber Label 表示其中一个标准或扩展输出的整数表达式 用以通知 On 指令待打开的输出 含有输出位标签的字符串表达式 Off Oport Out OutW On 示例 m_spel.on(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 141

152 OpBCD 方法,Spel 类 描述使用 BCD( 二进制编码的十进制 ) 格式同时设置 8 个输出位 OpBCD (PortNumber As Integer, Value As Integer) OpBCD (Label As String, Value As Integer) PortNumber 表示其中一个端口的整数 每个端口含有 8 个输出位 ( 一个字节 ) Value 0-99 之间表示指定端口输出模式的整数 第二位 ( 称为个位 ) 表示端口中的 4 个低位输出, 第一位 ( 称为十位 ) 表示端口中的 4 个高位输出 Off Out Sw OpBCD 示例 m_spel.opbcd(1, 25) 142 EPSON RC+ 7.0 选件 RC+ API Rev.2

153 Oport 方法,Spel 类 描述返回指定输出位的状态 Function Oport (BitNumber As Integer) As Boolean Function Oport (Label As String) As Boolean BitNumber Label 表示其中一个标准和扩展离散输出的整数表达式 含有输出字节标签的字符串表达式 返回值 如果指定的输出位打开, 则返回 True, 否则返回 False Off On OpBCD Out Sw Oport 示例 If m_spel.oport(1) Then m_spel.on(2) End If EPSON RC+ 7.0 选件 RC+ API Rev.2 143

154 Out 方法,Spel 类 描述同时读取或设置 8 个输出位 ( 一个字节 ) 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 之间表示输出端口输出模式的整数 如果以十六进制形式表示, 则范围为 &H0 至 &HFF 返回值 之间含有端口值的整数 InBCD OpBCD Oport OutW Sw Out 示例 m_spel.out(1, 240) 144 EPSON RC+ 7.0 选件 RC+ API Rev.2

155 OutW 方法,Spel 类 描述同时读取或设置 16 个输出位 ( 一个字 ) 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 表示其中一个输出端口的整数 含有输出字标签的字符串表达式 之间表示输出端口输出模式的整数 如果以十六进制形式表示, 则范围为 &H0 至 HFFFF 返回值 之间含有端口值的整数 InBCD OpBCD Oport Out Sw OutW 示例 m_spel.outw(1, 240) EPSON RC+ 7.0 选件 RC+ API Rev.2 145

156 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 返回值 含有以度或毫米为单位的指定关节角度的单值 Agl Pls CX CT PAgl 示例 Dim t1angle As Single t1angle = m_spel.pagl(1, 1) 146 EPSON RC+ 7.0 选件 RC+ API Rev.2

157 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 Point1 Point2 Point3 Point4 Rows Columns 以 0 至 15 的整数表示的托盘编号 定义第一个托盘位置的点变量 定义第二个托盘位置的点变量 定义第三个托盘位置的点变量 可选 定义第四个托盘位置的点变量 托盘横向侧的点数 每个数为 1 至 之间的整数 托盘纵向侧的点数 每个数为 1 至 之间的整数 Jump Go SetPoint Pallet 示例 m_spel.pallet(1, 1, 2, 3, 4, 3, 4) EPSON RC+ 7.0 选件 RC+ API Rev.2 147

158 Pause 方法,Spel 类 描述暂停控制器中的所有 SPEL + 任务 如果机器人正在移动, 则其会自动减速直至停止 Sub Pause () Continue EventReceived Stop Pause 示例 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 148 EPSON RC+ 7.0 选件 RC+ API Rev.2

159 PDef 方法,Spel 类 描述返回指定点的定义状态 Function PDef (PointNumber As Integer) As Boolean PointNumber 当前机器人点内存中点编号的整数表达式 返回值 如果指定点已定义, 则返回 True, 否则返回 False PDel PDef 示例 x = m_spel.pdef(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 149

160 PDel 方法,Spel 类 描述删除指定的位置数据 Sub PDel (FirstPointNumber As Integer, [LastPointNumber As Integer]) FirstPointNumber LastPointNumber 指定删除范围内第一个点的整数表达式 可选 指定删除范围内最后一个点的整数表达式 如果忽略, 则只会删除 FirstPointNumber 中指定的点 PDef LoadPoints Clear SavePoints PDel 示例 m_spel.pdel(1, 10) m_spel.savepoints("model1.pts") 150 EPSON RC+ 7.0 选件 RC+ API Rev.2

161 Plane 方法,Spel 类 描述定义平面 Sub Plane (PlaneNumber As Integer, Point As SpelPoint) PlaneNumber Point 1-15 之间表示 15 个平面中待定义平面的整数 表示结束检查平面坐标数据的点数据 PlaneClr PlaneDef Plane 示例 m_spel.plane(1, -5, 5, -10, 10, -20, 20) EPSON RC+ 7.0 选件 RC+ API Rev.2 151

162 PlaneClr 方法,Spel 类 描述清除 ( 取消定义 ) 平面 Sub PlaneClr (PlaneNumber As Integer) PlaneNumber 1-15 之间表示 15 个平面中待清除平面的整数 Plane PlaneDef PlaneClr 示例 m_spel.planeclr(1) 152 EPSON RC+ 7.0 选件 RC+ API Rev.2

163 PlaneDef 方法,Spel 类 描述返回是否已定义平面 Function PlaneDef (PlaneNumber As Integer) As Boolean PlaneNumber 1 至 15 之间表示平面编号的整数表达式 返回值 如果指定的平面已定义, 则返回 True, 否则返回 False Plane PlaneClr PlaneDef 示例 x = m_spel.planedef(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 153

164 Pls 方法,Spel 类 描述返回每个轴在当前位置的当前编码器脉冲数 Function Pls (JointNumber As Integer) As Integer JointNumber 获取当前编码器脉冲数的特定轴 (1 至 9) 返回值 含有指定关节当前脉冲数的整数 Agl Pulse Pls 示例 j1pulses = m_spel.pls(1) 154 EPSON RC+ 7.0 选件 RC+ API Rev.2

165 PTPBoost 方法,Spel 类 描述设置短距离 PTP( 点到点 ) 动作的增量 Sub PTPBoost (BoostValue As Integer [, DepartBoost As Integer] [, ApproBoost As Integer]) BoostValue DepartBoost ApproBoost 之间的整数表达式 可选 Jump 起始增量值 之间的整数表达式 可选 Jump 结束增量值 之间的整数表达式 PTPBoostOK PTPBoost 示例 m_spel.ptpboost(50) m_spel.ptpboost(50, 30, 30) EPSON RC+ 7.0 选件 RC+ API Rev.2 155

166 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 PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定目标点 通过使用 SpelPoint 数据类型指定目标点 通过使用字符串表达式指定目标点 返回值 如果将使用 PTPBoost, 则返回 True, 否则返回 False PTPBoost PTPBoostOK 示例 If m_spel.ptpboostok(1) Then m_spel.go(1) End If 156 EPSON RC+ 7.0 选件 RC+ API Rev.2

167 PTran 方法,Spel 类 描述通过脉冲执行相对关节移动 Sub PTran (JointNumber As Integer, Pulses As Integer) JointNumber Pulses JTran Pulse PTran 示例 待移动的特定关节 待移动的脉冲数 ' 移动关节 1, 正方向 5000 个脉冲 m_spel.ptran(1, 5000) EPSON RC+ 7.0 选件 RC+ API Rev.2 157

168 Pulse 方法,Spel 类 描述通过点到点控制将机器人机械臂移至所有机器人关节脉冲值指定的点 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 的脉冲值的整数表达式 关节 5-9 是可选的 注 : 脉冲值必须介于各关节指定的范围内 Go Move Jump Pulse 示例 m_spel.pulse(5000, 1000, 0, 0) 158 EPSON RC+ 7.0 选件 RC+ API Rev.2

169 Quit 方法,Spel 类 描述终止任务号指定的任务的执行 Sub Quit (TaskNumber As Integer) Sub Quit (TaskName As String) TaskNumber 待中断任务的任务号 任务号范围为 1 至 32 TaskName 含有任务名称的字符串表达式 Halt Resume Xqt Quit 示例 m_spel.quit(3) EPSON RC+ 7.0 选件 RC+ API Rev.2 159

170 RadToDeg 方法,Spel 类 描述将弧度转换为度 Function RadToDeg (Radians As Double) As Double Radians 返回值 含有待转换为度的弧度的双值表达式 含有以度为单位的转换值的双值 DegToRad RadToDeg 示例 Dim deg As Double deg = m_spel.radtodeg(1) 160 EPSON RC+ 7.0 选件 RC+ API Rev.2

171 RebuildProject 方法,Spel 类 描述完全重新构建 Project 属性中指定的当前项目 Sub RebuildProject () BuildProject EnableEvent EventReceived Project ProjectBuildComplete RebuildProject 示例 With m_spel.project = "c:\epsonrc70\projects\myproject\myproject.sprj".rebuildproject() End With EPSON RC+ 7.0 选件 RC+ API Rev.2 161

172 Recover 方法,Spel 类 描述 Recover 会将机器人移回至安全防护打开时所在的位置 Function Recover () As Boolean 备注 Recover 方法可在安全防护关闭之后用以打开机器人电机, 并将机器人缓慢移回至安全防护打开时所在的位置 Recover 成功完成后, 可执行 Cont 方法继续循环 如果 Recover 已成功完成, 则会返回 True 如果在恢复动作期间发生暂停 中止或安全防护打开, 则 Recover 会返回 False 返回值 如果恢复动作已完成, 则返回 True, 否则返回 False Continue Pause Recover 示例 此示例首先执行 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 With 此示例所示为在按下按钮时使用按钮执行 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 162 EPSON RC+ 7.0 选件 RC+ API Rev.2

173 Sub btnrecover_mouseup( _ ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles btnrecover.mouseup m_spel.pause() End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 163

174 Reset 方法,Spel 类 描述将控制器设为初始化状态 Sub Reset () ResetAbort Reset 示例 m_spel.reset() 164 EPSON RC+ 7.0 选件 RC+ API Rev.2

175 ResetAbort 方法,Spel 类 描述重置使用 Stop 方法设置的中止标志 Sub ResetAbort () 备注执行 Stop 方法且循环中不存在任何其他 Spel 方法时, 则下一 Spel 方法将会生成用户中止错误 这样便会使得无论何时发出 Stop, 正在执行 Spel 方法的例程都会收到错误 此时可使用 ResetAbort 清除这种条件 注 :ResetAbortEnabled 属性必须设为 True, 以使 ResetAbort 功能工作 Abort Reset ResetAbortEnabled ResetAbort 示例 Sub btnmcal_click() Handles btnmcal.click m_spel.resetabort() m_spel.mcal() End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 165

176 Resume 方法,Spel 类 描述继续被 Halt 方法暂停的任务 Sub Resume (TaskNumber As Integer) Sub Resume (TaskName As String) TaskNumber 已中断任务的任务号 任务号范围为 1 至 32 TaskName 含有任务名称的字符串表达式 Quit Xqt Resume 示例 m_spel.resume(2) 166 EPSON RC+ 7.0 选件 RC+ API Rev.2

177 RunDialog 方法,Spel 类 描述运行 EPSON RC+ 7.0 对话框 Sub RunDialog (DialogID As SpelDialogs) DialogID 待运行 EPSON RC+ 7.0 对话框的 ID ShowWindow RunDialog 示例 Sub btnrobotmanager_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnrobotmanager.click m_spel.rundialog(speldialogs.robotmanager) End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 167

178 SavePoints 方法,Spel 类 描述保存当前机器人的点 Sub SavePoints (FileName As String) FileName LoadPoints 保存当前项目中点的文件名称 SavePoints 示例 With m_spel.savepoints("part1.pts") End With 168 EPSON RC+ 7.0 选件 RC+ API Rev.2

179 Sense 方法,Spel 类 描述指定输入条件, 若此条件满足, 则会在目标位置上方停止机器人, 进而完成正在进行的 Jump Sub Sense (Condition As String) As Boolean Condition Jump JS 指定 I/O 条件 有关详细信息, 请参阅 SPEL+ 语言参考手册中的 Sense 语句 Sense 示例 With m_spel.sense("sw(1) = On").Jump("P1 SENSE") stoppedonsense =.JS() End With EPSON RC+ 7.0 选件 RC+ API Rev.2 169

180 SetIODef 方法,Spel 类 描述设置输入 输出或内存 I/O 位 字节或字的 I/O 标签和描述 Sub SetIODef (Type As SpelLabelTypes, Index As Integer, Label As String, Description As String) Type 指定 I/O 类型, 如下所示 : Index Label Description 备注 InputBit = 1,InputByte = 2,InputWord = 3 OutputBit = 4,OutputByte = 5,OutputWord = 6 MemoryBit = 7,MemoryByte = 8,MemoryWord = 9 指定位或端口号 指定新标签 指定新描述 使用 SetIODef 定义所有 I/O 点的标签和描述 GetIODef SetIODef 示例 Dim label, desc As String label = "StartCycle" desc = "Starts the robot cycle" m_spel.setiodef(spellabeltypes.inputbit, 0, label, desc) 170 EPSON RC+ 7.0 选件 RC+ API Rev.2

181 SetPoint 方法,Spel 类 描述设置当前机器人点的坐标数据 Sub SetPoint (PointNumber As Integer, Point As SpelPoint) Sub SetPoint (PointNumber As Integer, 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 (PointNumber As Integer, 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 (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) PointNumber X Y Z U V W S T 指定当前机器人点内存中点编号的整数表达式 指定点的 X 坐标 指定点的 Y 坐标 指定点的 Z 坐标 指定点的 U 坐标 指定点的 V 坐标 指定点的 W 坐标 指定点的 S 坐标 指定点的 T 坐标 Local 指定点的本地编号 没有本地时使用 0 Hand Elbow Wrist 指定点的手方向 指定点的肘方向 指定点的手腕方向 GetPoint LoadPoints SavePoints SetPoint 示例 Dim pt As SpelPoint ' 获取 P1 坐标 pt = m_spel.getpoint(1) ' 随变化设置点 pt.u = pt.u m_spel.setpoint(1, pt) EPSON RC+ 7.0 选件 RC+ API Rev.2 171

182 SetVar 方法,Spel 类 描述设置 SPEL + 全局保留变量的值 Sub SetVar (VarName As String, Value As Object) VarName SPEL + 全局保留变量的名称 Value 新值 备注 可使用 SetVar 设置单变量和数组变量的值 请参见以下示例 GetVar SetVar 示例 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)) 172 EPSON RC+ 7.0 选件 RC+ API Rev.2

183 SFree 方法,Spel 类 描述释放伺服控制的指定机器人轴 Sub SFree () Sub SFree (ParamArray Axes() As Integer) Axes SLock SFree 示例 含有一个用以释放每个机器人轴的元素的整数数组 可指定编号为 1 9 之间的任一轴 ' 自由轴 1 和 2 m_spel.sfree(1, 2) EPSON RC+ 7.0 选件 RC+ API Rev.2 173

184 ShowWindow 方法,Spel 类 描述显示 EPSON RC+ 7.0 窗口 Sub ShowWindow (WindowID As SpelWindows, [Parent As Form]) WindowID 待显示 EPSON RC+ 7.0 窗口的 ID Parent 备注 可选.NET 窗体将作为父窗口 可使用 Parent 为窗口指定.NET 父窗体 如果无法使用.NET 父窗体, 则必须忽略 Parent 并使用 ParentWindowHandle 属性设置父窗体的句柄 HideWindow ParentWindowHandle RunDialog ShowWindow 示例 Sub btnshowiomonitor_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnshowiomonitor.click m_spel.showwindow(spelnetlib70.spelwindows.iomonitor, Me) End Sub 174 EPSON RC+ 7.0 选件 RC+ API Rev.2

185 Shutdown 方法,Spel 类 描述关闭或重启 Windows Sub Shutdown (Mode As SpelShutdownMode) Mode 0 = 关闭 Windows 1 = 重启 Windows Reset Shutdown 示例 ' 重启 Windows m_spel.shutdown(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 175

186 SLock 方法,Spel 类 描述将指定的轴返回至伺服控制 Sub SLock () Sub SLock (ParamArray Axes() As Integer) Axes SFree SLock 示例 含有一个用以锁定每个机器人轴的元素的整数数组 可指定编号为 1 9 之间的任一轴 ' 恢复轴 1 和轴 2 的伺服控制 m_spel.slock(1, 2) 176 EPSON RC+ 7.0 选件 RC+ API Rev.2

187 Speed 方法,Spel 类 描述指定用于点到点指令 Go Jump 和 Pulse 的机械臂速度 Sub Speed (PointToPointSpeed As Integer [, JumpDepartSpeed As Integer] [, JumpApproSpeed As Integer] ) PointToPointSpeed JumpDepartSpeed JumpApproSpeed 指定或显示用于点到点指令 Go Jump 和 Pulse 的机械臂速度 之间表示 Jump 指令 Z 轴向上动作速度的整数 之间表示 Jump 指令 Z 轴向下动作速度的整数 Accel Jump Go Speed 示例 m_spel.speed(50) EPSON RC+ 7.0 选件 RC+ API Rev.2 177

188 SpeedR 方法,Spel 类 描述指定使用 ROT 时的工具旋转速度 Sub SpeedR (RotationSpeed As Single) RotationSpeed 指定以度 / 秒为单位的工具旋转速度 Arc Arc3 BMove Jump3CP Power TMove SpeedR 示例 m_spel.speedr(100) 178 EPSON RC+ 7.0 选件 RC+ API Rev.2

189 SpeedS 方法,Spel 类 描述指定用于连续路径指令 Jump3CP Move Arc 和 CVMove 的机械臂速度 Sub SpeedS (LinearSpeed As Single [, JumpDepartSpeed As Single] [, JumpApproSpeed As Single] ) LinearSpeed JumpDepartSpeed JumpApproSpeed 指定用于连续路径指令 Jump3CP Move Arc 和 CVMove 的机械臂速度 之间表示 Jump3CP 指令 Z 轴向上动作速度的单一表达式 之间表示 Jump3CP 指令 Z 轴向下动作速度的单一表达式 AccelS Jump3CP Move TMove SpeedS 示例 m_spel.speeds(500) EPSON RC+ 7.0 选件 RC+ API Rev.2 179

190 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 示例 Sub btnstart_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnstart.click m_spel.start(0) End Sub 180 EPSON RC+ 7.0 选件 RC+ API Rev.2

191 StartBGTask 方法,Spel 类 描述启动一个 SPEL + 任务作为后台任务 Sub StartBGTask (FuncName As String) FuncName 待执行函数的名称 备注使用 StartBGTask 启动控制器中的 Spel+ 后台任务 后台任务必须在控制器中启用 请注意,BGMain 会在控制器切至自动模式时自动启动, 因此通常情况下,StartBGTask 不是必需的 如果需要停止所有任务, 然后再启动后台任务, 则需要使用 StartBGTask Call Start Stop Xqt StartBGTask 示例 ' 停止所有任务, 包括后台任务 m_spel.stop(spelstoptype.stopalltasks) m_spel.rebuildproject() ' 开始主后台任务 m_spel.startbgtask("bgmain") EPSON RC+ 7.0 选件 RC+ API Rev.2 181

192 Stop 方法,Spel 类 描述 停止控制器中正在运行的所有 SPEL + 任务 Sub Stop () Sub Stop (SpelStopType StopType) StopType 可选 指定仅停止正常任务 (StopNormalTasks) 还是停止所有任务 (StopAllTasks) 如果忽略, 则会指定 StopNormalTasks Continue Pause Start SpelStopType Stop 示例 Sub btnstop_click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnstop.click m_spel.stop() End Sub 182 EPSON RC+ 7.0 选件 RC+ API Rev.2

193 Sw 方法,Spel 类 描述返回选定的输入位状态 Function Sw (BitNumber As Integer) As Boolean Function Sw (Label As String) As Boolean BitNumber Label 表示其中一个标准或扩展输入的整数表达式 含有输入位标签的字符串表达式 返回值如果指定的输入位打开, 则返回 True, 否则返回 False In InBCD MemSw Off On Oport Sw 示例 If m_spel.sw(1) Then m_spel.on(2) End If EPSON RC+ 7.0 选件 RC+ API Rev.2 183

194 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 PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定目标点 通过使用 SpelPoint 数据类型指定目标点 通过使用字符串表达式指定目标点 返回值如果能够从当前位置移至目标位置, 则返回 True, 否则返回 False Go Jump Move TGo TMove TargetOK 示例 If m_spel.targetok("p1 /F") Then m_spel.go("p1 /F") End If 184 EPSON RC+ 7.0 选件 RC+ API Rev.2

195 TasksExecuting 方法,Spel 类 描述如有任何 SPEL + 任务正在执行, 则返回 True Function TasksExecuting () As Boolean 返回值如有任何 SPEL + 任务正在执行, 则返回 True, 否则返回 False Stat TaskState Xqt TasksExecuting 示例 tasksrunning = m_spel.tasksexecuting() EPSON RC+ 7.0 选件 RC+ API Rev.2 185

196 TaskState 方法,Spel 类 描述返回任务的状态 Function TaskStatus (TaskNumber As Integer) As SpelTaskState Function TaskStatus (TaskName As String) As SpelTaskState TaskNumber TaskName 返回值 SpelTaskState 值 Stat TasksExecuting Xqt 待返回执行状态的任务编号 含有任务名称的字符串表达式 TaskStatus 示例 Dim taskstatus As SpelTaskState taskstatus = m_spel.taskstate(2) 186 EPSON RC+ 7.0 选件 RC+ API Rev.2

197 TeachPoint 方法,Spel 类 描述运行允许操作员步进并示教一个点的对话框 Function TeachPoint ( PointFile As String, PointNumber As Integer, Prompt As String ) As Boolean PointFile PointNumber Prompt 返回值 含有点文件名称的字符串 待示教的点编号 含有示教对话框底部显示的指示性文本的字符串 如果操作员点击了示教按钮, 则返回 True; 如果操作员点击了取消, 则返回 False 备注 使用 TeachPoints 可允许操作员示教控制器中的一个机器人点 执行 TeachPoints 时, 将从控制器加载点文件 点击示教按钮时, 将在控制器中示教点并将点文件保存至控制器 TeachPoint 示例 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 EPSON RC+ 7.0 选件 RC+ API Rev.2 187

198 Till 方法,Spel 类 描述指定事件条件, 如果此条件满足, 则会在中间位置减速并停止机器人, 以完成正在进行的动作命令 (Jump Go Move 等 ) Sub Till (Condition As String) As Boolean Condition 指定 I/O 条件 有关详细信息, 请参阅 SPEL+ 语言参考手册中的 Till 语句 Go Jump JS Sense TillOn Till 示例 With m_spel.till("sw(1) = On").Go("P1 TILL") End With 188 EPSON RC+ 7.0 选件 RC+ API Rev.2

199 TillOn 方法,Spel 类 描述如果在最后的 Go/Jump/Move 语句期间因 till 条件而发生停止, 则返回 True Function TillOn () As Boolean 返回值如果机器人因 Till 条件而停止, 则返回 True, 否则返回 False 备注 使用 TillOn 可检查 Till 条件是否在使用 Till 的最后一个动作命令期间打开 TillOn 等同于 ((Stat(1) And 2) <> 0) Jump Stat Till TillOn 示例 If m_spel.tillon() Then m_spel.jump(2) End If EPSON RC+ 7.0 选件 RC+ API Rev.2 189

200 TGo 方法,Spel 类 描述在选定的工具坐标系中执行点到点的相对运动 Sub TGo (PointNumber As Integer) Sub TGo (Point As SpelPoint) Sub TGo (PointExpr As String) 每个具有一个指定机械臂在 TGo 动作期间所移至端点的 此为点到点动作结束时的最终位置 PointNumber Point PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定端点 通过使用 SpelPoint 数据类型指定端点 通过使用字符串表达式指定端点 Accel Speed Arc Arc3 CVMove Go Jump Jump3 Jump3CP Move BGo BMove TMove CP Till TGo 示例 ' 使用点编号指定点 m_spel.tool(1) m_spel.tgo(100) ' 使用 SpelPoint 指定点 Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = 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") 190 EPSON RC+ 7.0 选件 RC+ API Rev.2

201 TLClr 方法,Spel 类 描述清除 ( 取消定义 ) 工具坐标系 Sub TLClr (ToolNumber As Integer) ToolNumber 表示待清除 ( 取消定义 ) 工具的整数表达式 ( 工具 0 为默认工具, 无法清除 ) Tool ToolDef ToolClr 示例 m_spel.toolclr(1) EPSON RC+ 7.0 选件 RC+ API Rev.2 191

202 TLDef 方法,Spel 类 描述返回工具定义状态 Function TLDef (ToolNumber As Integer) As Boolean ToolNumber 表示返回状态的工具的整数表达式 返回值如果指定的工具已定义, 则返回 True, 否则返回 False Tool ToolClr ToolDef 示例 m_spel.tooldef(1) 192 EPSON RC+ 7.0 选件 RC+ API Rev.2

203 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 1-15 之间表示 15 个工具中待定义工具的整数表达式 ( 工具 0 为默认工具, 无法修改 ) Point 含有点数据的 SpelPoint XCoord YCoord ZCoord UCoord VCoord WCoord 工具坐标系原点 X 坐标 工具坐标系原点 Y 坐标 工具坐标系原点 Z 坐标 工具坐标系绕着 Z 轴旋转 工具坐标系绕着 Y 轴旋转 工具坐标系绕着 X 轴旋转 Arm Armset GetTool Tool TLSet 示例 m_spel.tlset(1,.5, 4.3, 0, 0, 0, 0) EPSON RC+ 7.0 选件 RC+ API Rev.2 193

204 TMove 方法,Spel 类 描述在选定的工具坐标系中执行线性内插相对运动 Sub TMove (PointNumber As Integer) Sub TMove (Point As SpelPoint) Sub TMove (PointExpr As String) 每个具有一个指定机械臂在 TMove 动作期间所移至端点的 此为线性内插动作结束时的最终位置 PointNumber Point PointExpr 通过对当前机器人控制器点内存中之前示教的点使用点编号来指定端点 通过使用 SpelPoint 数据类型指定端点 通过使用字符串表达式指定端点 AccelR AccelS SpeedR SpeedS Arc Arc3 CVMove Go Jump Jump3 Jump3CP Move BGo BMove TGo CP Till TMove 示例 ' 使用点编号指定点 m_spel.tool(1) m_spel.tmove(100) ' 使用 SpelPoint 指定点 Dim pt As SpelPoint pt = m_spel.getpoint("p*") pt.x = m_spel.tmove(pt) ' 使用表达式指定点 m_spel.tgo("p0") m_spel.tgo("xy(0, 0, -20, 0)") ' 使用并行处理 m_spel.tmove("p1!d50; On 1; D90; Off 1!") ' 使用标签指定点 m_spel.tmove("pick") 194 EPSON RC+ 7.0 选件 RC+ API Rev.2

205 Tool 方法,Spel 类 描述选择工具定义 Sub Tool (ToolNumber As Integer) ToolNumber 0-15 之间表示 16 个工具定义中将与下一动作指令一同使用的定义的整数 TLSet Arm TGo TMove Tool 示例 m_spel.tool(1) m_spel.tgo(100) EPSON RC+ 7.0 选件 RC+ API Rev.2 195

206 TrapStop 方法,Spel 类 描述如果当前机器人被之前动作命令中的陷阱停止, 则返回 True Function TrapStop () As Boolean 返回值如果机器人被陷阱停止, 则返回 True, 否则返回 False EStopOn ErrorOn TrapStop 示例 If m_spel.trapstop() Then MsgBox "Robot stopped by Trap" End If 196 EPSON RC+ 7.0 选件 RC+ API Rev.2

207 TW 方法,Spel 类 描述返回 WAIT 条件和 WAIT 定时器间隔的状态 Function TW () As Boolean 返回值如果发生超时, 则返回 True, 否则返回 False WaitMem WaitSw TW 示例 Const PartPresent = 1 m_spel.waitsw(partpresent, True, 5) If m_spel.tw() Then MsgBox "Part present time out occurred" End If EPSON RC+ 7.0 选件 RC+ API Rev.2 197

208 UserHasRight 方法,Spel 类 描述返回当前登录的用户是否具有指定权限 Function UserHasRight (SpelUserRights Right) As Boolean Right 返回值 希望检查当前登录用户的权限 如果用户具有指定的权限, 则返回 True, 否则返回 False Login GetCurrentUser UserHasRight 示例 Dim hasright As Boolean hasright = m_spel.userhasright(speluserrights.editpoints) 198 EPSON RC+ 7.0 选件 RC+ API Rev.2

209 VCal 方法,Spel 类 描述该指令允许您执行视觉校准循环 Sub VCal (CalibName As String) CalibName 评估当前项目中校准方案名称的字符串表达式 备注执行 VCal 方法时, 机器人将移动 因此, 在执行 VCal 之前应确认操作员已准备就绪 VCal 仅执行校准循环 不允许示教点 需使用 VCalPoints 示教点 此外, 必须首先在 EPSON RC+ 7.0 中设置校准 有关详细信息, 请参阅 Vision Guide 手册 VCalPoints VCal 示例 m_spel.vcal("camcal1") EPSON RC+ 7.0 选件 RC+ API Rev.2 199

210 VCalPoints 方法,Spel 类 描述该命令允许示教视觉校准点 Sub VCalPoints (CalibName As String) CalibName 评估当前项目中校准方案名称的字符串表达式 备注执行 VCalPoints 命令时, 将打开示教校准点对话框 点击确定后, 将自动保存校准数据 但必须已在 EPSON RC+ 7.0 中创建校准方案 VCal VCalPoints 示例 m_spel.vcalpoints("camcal1") 200 EPSON RC+ 7.0 选件 RC+ API Rev.2

211 VCls 方法,Spel 类 描述清除视觉图形 Sub VCls () 备注使用 VCls 方法清除视觉屏幕 VRun VCls 示例 m_spel.vcls() EPSON RC+ 7.0 选件 RC+ API Rev.2 201

212 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 示例 m_spel.vcreatecalibration(1, "mycal") 202 EPSON RC+ 7.0 选件 RC+ API Rev.2

213 VCreateObject 方法,Spel 类 描述在当前项目中创建视觉对象 Sub VCreateObject ( Sequence As String, ObjectName As String, ObjectType As SpelVisionObjectTypes ) Sequence ObjectName 含有当前项目中视觉序列名称的字符串表达式 含有将在序列 Sequence 中创建的对象名称的字符串表达式 ObjectType 指定视觉对象类型的 SpelVisionObjectTypes 对象类型 SpelVisionObjectTypes 数值 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 VCreateSequence VDeleteObject VDeleteSequence VCreateObject 示例 m_spel.vcreateobject("myseq", "myblob", SpelVisionObjectTypes.Blob) EPSON RC+ 7.0 选件 RC+ API Rev.2 203

214 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 示例 m_spel.vcreatesequence(1, "myseq") 204 EPSON RC+ 7.0 选件 RC+ API Rev.2

215 VDeleteCalibration 方法,Spel 类 描述删除当前项目中的视觉校准 Sub VDeleteCalibration (CalibName As String) CalibName 含有当前项目中视觉校准名称的字符串表达式 VCreateCalibration VDeleteObject VDeleteSequence VDeleteCalibration 示例 m_spel.vdeletecalibration("mycal") EPSON RC+ 7.0 选件 RC+ API Rev.2 205

216 VDeleteObject 方法,Spel 类 描述删除当前项目中的视觉对象 Sub VDeleteObject (Sequence As String, ObjectName As String) Sequence 含有当前项目中视觉序列名称的字符串表达式 ObjectName 含有当前项目中视觉对象名称的字符串表达式 VCreateObject VCreateSequence VDeleteSequence VDeleteObject 示例 m_spel.vdeleteobject("myseq", "myobj") 206 EPSON RC+ 7.0 选件 RC+ API Rev.2

217 VDeleteSequence 方法,Spel 类 描述删除当前项目中的视觉序列 Sub VDeleteSequence (Sequence As String) Sequence 含有当前项目中视觉序列名称的字符串表达式 VCreateObject VCreateSequence VDeleteObject VDeleteSequence 示例 m_spel.vdeletesequence("myseq") EPSON RC+ 7.0 选件 RC+ API Rev.2 207

218 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 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 Double) 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 String) Sequence Object 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 如果属性用于序列, 则此字符串必须为空 PropCode 指定属性代码的 SpelVisionProps 值 Value 含有属性或结果值的变量 变量类型必须与属性或结果类型匹配 VSet VRun VGet 示例 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 208 EPSON RC+ 7.0 选件 RC+ API Rev.2

219 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 X Y U VGetPixelXYU VGetRobotXYU 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 表示结果编号的整数表达式 将含有是否找到对象的 Boolean 变量 将包含以毫米为单位的 x 坐标的实际变量 将包含以毫米为单位的 y 坐标的实际变量 将包含以度为单位的角度的实际变量 VGetCameraXYU 示例 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) EPSON RC+ 7.0 选件 RC+ API Rev.2 209

220 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 MaxX MinY MaxY VGet 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 表示结果编号的整数表达式 将包含以像素为单位的最小 x 坐标的实际变量 将包含以像素为单位的最大 x 坐标的实际变量 将包含以像素为单位的最小 y 坐标的实际变量 将包含以像素为单位的最大 y 坐标的实际变量 VGetExtrema 示例 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 210 EPSON RC+ 7.0 选件 RC+ API Rev.2

221 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 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 将包含以像素为单位的左坐标的整数变量 将包含以像素为单位的顶坐标的整数变量 将包含以像素为单位的宽度的整数变量 将包含以像素为单位的高度的整数变量 VSetModelWin VGetSearchWin VSetSearchWin VGetModelWin 示例 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 EPSON RC+ 7.0 选件 RC+ API Rev.2 211

222 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 X Y U VGetCameraXYU VGetRobotXYU 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 表示结果编号的整数表达式 将含有是否找到对象的 Boolean 变量 将包含以像素为单位的 x 坐标的实际变量 将包含以像素为单位的 y 坐标的实际变量 将包含以度为单位的角度的实际变量 VGetPixelXYU 示例 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) 212 EPSON RC+ 7.0 选件 RC+ API Rev.2

223 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 X Y U VGetCameraXYU VGetPixelXYU 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 表示结果编号的整数表达式 将包含 boolean 查找状态的整数变量 如果 found 为 false, 则不会定义 x y 和 u 将包含以毫米为单位的 x 坐标的实际变量 将包含以毫米为单位的 y 坐标的实际变量 将包含以度为单位的角度的实际变量 VGetRobotXYU 示例 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) EPSON RC+ 7.0 选件 RC+ API Rev.2 213

224 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 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 将包含以像素为单位的左坐标的整数变量 将包含以像素为单位的顶坐标的整数变量 将包含以像素为单位的宽度的整数变量 将包含以像素为单位的高度的整数变量 VGetModelWin VSetModelWin VSetSearchWin VGetSearchWin 示例 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 214 EPSON RC+ 7.0 选件 RC+ API Rev.2

225 VLoad 方法,Spel 类 描述加载当前项目的视觉属性 Sub VLoad () 备注如果想要在程序启动时将视觉属性设置 模型和字体恢复为初始设置, 则可使用 VLoad 方法 VSave VLoad 示例 m_spel.vload() EPSON RC+ 7.0 选件 RC+ API Rev.2 215

226 VLoadModel 方法,Spel 类 描述加载磁盘文件的视觉模型 Sub VLoadModel (Sequence As String, Object As String, Path As String) Sequence Object Path 含有当前项目中序列名称的字符串 含有对象名称的字符串 对象必须为 Correlation Geometric 或 Polar 加载模型的文件的完整路径名称, 不包括扩展名 备注如果文件中的模型数据为错误类型, 则会发生错误 例如 : 如果尝试将 polar 模型载入 correlation, 则会发生错误 如果提供文件扩展名, 则会将其忽略 共有两个与 filename 相关的文件 对于 correlation 和 geometric 模型,ModelOrgX 和 ModelOrgY 值会与模型窗口宽度和高度一起恢复 对于 polar 模型, 将恢复 Radius Thickness 和 AngleOffset VSaveModel VLoadModel 示例 m_spel.vloadmodel("seq01", "corr01", "d:\models\part1") 216 EPSON RC+ 7.0 选件 RC+ API Rev.2

227 VRun 方法,Spel 类 描述运行当前项目中的视觉序列 Sub VRun (Sequence As String) Sequence 备注 含有当前项目中序列名称的字符串 VRun 会与采用任意类型相机校准或无校准的序列协同工作 若要显示图形, 需要使用 SPELVideo 控制并将 Spel 类实例的 SpelVideoControl 属性设为 SPELVideo 控制 执行 VRun 后, 使用 VGet 检索结果 VGet VSet VRun 示例 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", SpelVisionProps.CameraX, x).vget("seq01", "corr01", SpelVisionProps.CameraY, y).vget("seq01", "corr01", SpelVisionProps.Angle, angle) FindPart = True End If End With End Function EPSON RC+ 7.0 选件 RC+ API Rev.2 217

228 VSave 方法,Spel 类 描述保存当前项目中的所有视觉数据 Sub VSave () 备注使用 VSave 可永久保存视觉属性的所有更改 VSet VSave 示例 With m_spel.vset("seq01", "blob01", SpelVisionProps.SearchWinLeft, 100).VSet("seq01", "corr01", SpelVisionProps.Accept, useraccept).vsave() End With 218 EPSON RC+ 7.0 选件 RC+ API Rev.2

229 VSaveImage 方法,Spel 类 描述将视觉视频窗口保存到 PC 磁盘文件 Sub VSaveImage (Sequence As String, Path As String) Sub VSaveImage (Sequence As String, Path As String, WithGraphics As Boolean) Sequence Path 含有当前项目中序列名称的字符串 保存图像目标文件的完整路径名称, 包括扩展名 WithGraphics 设置是否将序列结果图形保存至图像文件的 Boolean 表达式 备注使用 VSaveImage 可将视频显示屏中的图像保存至磁盘 文件扩展名必须为 MIM (Vision Guide 的默认格式 ) BMP TIF 或 JPG LoadImage(SPELVideo 控制 ) VSaveImage 示例 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 EPSON RC+ 7.0 选件 RC+ API Rev.2 219

230 VSaveModel 方法,Spel 类 描述将视觉对象搜索模型保存到 PC 磁盘文件 Sub VSaveModel (Sequence As String, Object As String, Path As String) Sequence Object Path 含有当前项目中序列名称的字符串 含有对象名称的字符串 对象必须为 Correlation Geometric 或 Polar 保存模型目标文件的完整路径名称, 不包括扩展名 备注执行 VSaveModel 时,EPSON RC+ 7.0 会创建两个文件 (Path + 扩展名 ):Path.VOB Path.MDL 对于 correlation 和 geometric 模型,ModelOrgX 和 ModelOrgY 值会与模型窗口同时保存 对于 Polar 模型, 将保存 Radius Thickness 和 AngleOffset VLoadModel VSaveModel 示例 m_spel.vsavemodel("seq01", "corr01", "d:\models\part1") 220 EPSON RC+ 7.0 选件 RC+ API Rev.2

231 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 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 Double ) Sub VSet (Sequence As String, Object As String, PropCode As SpelVisionProps, Value As String ) Sequence Object 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 如果属性用于序列, 则此字符串必须为空 PropCode 指定属性代码的 SpelVisionProps 值 Value 含有新值的表达式 表达式类型必须与属性类型匹配 VGet VRun VSet 示例 m_spel.vset("seq01", "corr01", SpelVisionProps.Accept, 250) EPSON RC+ 7.0 选件 RC+ API Rev.2 221

232 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 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 以像素为单位表示左坐标的整数表达式 以像素为单位表示顶坐标的整数表达式 以像素为单位表示宽度的整数表达式 以像素为单位表示高度的整数表达式 VGetModelWin VGetSearchWin VSetSearchWin VSetModelWin 示例 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", left + 50, _ top - 10, width, height).vrun("testseq") End With 222 EPSON RC+ 7.0 选件 RC+ API Rev.2

233 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 含有当前项目中视觉序列名称的字符串表达式 含有序列 Sequence 中对象名称的字符串表达式 以像素为单位表示左坐标的整数表达式 以像素为单位表示顶坐标的整数表达式 以像素为单位表示宽度的整数表达式 以像素为单位表示高度的整数表达式 VGetModelWin VSetModel VGetSearchWin VSetSearchWin 示例 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 EPSON RC+ 7.0 选件 RC+ API Rev.2 223

234 VShowModel 方法,Spel 类 描述显示对象模型 有关更多详细信息, 请参阅 Vision Guide 属性参考中的 ShowModel 属性 Sub VShowModel (Sequence As String, Object As String) Sequence Object 含有当前项目中视觉序列名称的字符串表达式 含有当前项目中视觉对象名称的字符串表达式 VShowSequence VTrain VShowModel 示例 m_spel.vshowmodel("myseq", "myobj") 224 EPSON RC+ 7.0 选件 RC+ API Rev.2

235 VShowSequence 方法,Spel 类 描述显示序列中的所有对象 Sub VShowSequence (Sequence As String) Sequence 含有待创建视觉序列名称的字符串表达式 备注 使用 VShowSequence 可显示序列中的对象, 无需运行序列 有效对象颜色 ( 洋红 ) 将用于所有对象, 因此能够很容易看到这些对象 其适用于机器人相机移至使用多个序列扫描的工件特定部位上方的情况 机器人定位后, 可调用 VShowSequence 显示序列 VShowModel VShowSequence 示例 m_spel.vshowsequence("myseq") EPSON RC+ 7.0 选件 RC+ API Rev.2 225

236 VStatsReset 方法,Spel 类 描述重置当前项目中指定序列的视觉统计 Sub VStatsReset (Sequence As String) Sequence 含有当前项目中视觉序列名称的字符串表达式 备注 VStatsReset 仅针对当前 EPSON RC+ 7.0 会话重置内存中指定序列的统计 如果想要永久保存更改, 应执行 VStatsSave 否则, 如果重启 EPSON RC+ 7.0, 则会恢复磁盘中的统计 VStatsResetAll VStatsShow VStatsSave VStatsReset 示例 Sub btnresetstats_click() m_spel.vstatsreset("seq01") End Sub 226 EPSON RC+ 7.0 选件 RC+ API Rev.2

237 VStatsResetAll 方法,Spel 类 描述重置所有序列的视觉统计 Sub VStatsResetAll 备注 VStatsResetAll 仅针对当前 EPSON RC+ 7.0 会话重置内存中的统计 如果想要永久保存更改, 应执行 VStatsSave 否则, 如果重启 EPSON RC+ 7.0, 则会恢复磁盘中的统计 VStatsReset VStatsShow VStatsSave VStatsResetAll 示例 Sub btnresetstats_click() m_spel.vstatsresetall() End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 227

238 VStatsSave 方法,Spel 类 描述保存当前项目中所有序列的视觉统计 Sub VStatsSave () 备注如果您想要保存视觉统计的更改, 则必须在关闭 EPSON RC+ 7.0 之前执行 VStatsSave VStatsReset VStatsResetAll VStatsShow VStatsSave 示例 Sub btnresetstats_click() m_spel.vstatssave() End Sub 228 EPSON RC+ 7.0 选件 RC+ API Rev.2

239 VStatsShow 方法,Spel 类 描述显示当前项目中指定序列的视觉统计对话框 Sub VStatsShow (Sequence As String) Sequence 含有当前项目中视觉序列名称的字符串表达式 VStatsReset VStatsResetAll VStatsSave VStatsShow 示例 Sub btnshowstats_click() m_spel.vstatsshow("seq01") End Sub EPSON RC+ 7.0 选件 RC+ API Rev.2 229

240 VTeach 方法,Spel 类 描述示教 correlation geometric 或 polar 模型 Sub VTeach (Sequence As String, Object As String, ByRef Status as Integer) Sequence Object 当前项目中视觉序列的名称 Sequence 中的对象名称 可示教 Correlation Geometric 或 Polar 对象 Status 返回状态 如果成功, 返回 1, 否则返回 0 备注调用 VTeach 之前, 必须确保模型窗口位于正确位置 对于 polar 对象, 搜索窗口和 thickness 必须设置正确 使用 VSet 设置搜索窗口位置和 thickness 对于 correlation 和 geometric 对象, 搜索窗口和模型窗口必须设置正确 使用 SearchWin 和 ModelWin 的 VSet 设置搜索和模型窗口位置 或者可使用 VTrain 命令, 以使操作员能够交互更改窗口 示教模型后, 可使用 VSaveModel 方法将其保存至 PC 磁盘文件内 VTrain VSaveModel VTeach 示例 Dim status As Integer ' 首先让操作员变换窗口位置 m_spel.vtrain("seq01", "corr01", status) ' 现在示教模型 m_spel.vteach("seq01", "corr01", status) 230 EPSON RC+ 7.0 选件 RC+ API Rev.2

241 VTrain 方法,Spel 类 描述该命令允许您培训整个序列中的对象或单个对象 Sub VTrain (Sequence As String [, Object As String] [, Flags as Integer]) Sequence Object Flags 当前项目中视觉序列的名称 Sequence 中的对象名称 您可培训任一类型的对象 如果 Object 为空字符串, 则可培训整个序列 可选 配置 VTrain 对话框 1- 显示示教按钮 2- 不显示模型窗口 返回值如果操作员点击确定按钮, 则 VTrain 返回 True, 否则返回 False 备注执行 VTrain 时, 会打开一个对话框, 显示实时视频图像和显示的指定对象 操作员可缩放 / 移动搜索窗口, 并培训模型窗口 ( 针对 correlation 和 geometric 对象 ) 当操作员完成时, 可点击确定保存更改, 或点击取消忽略更改 如果点击确定, 则新信息会自动保存至当前项目 如果设置了 flags 位 1, 则会显示示教按钮 对于 Correlation Geometric 和 Polar 对象, 如果点击示教按钮, 则会示教模型 在运行 VTrain 检查是否培训模型之后, 可检索 ModelOK 属性 对于 Blob 对象, 按钮将打开直方图对话框, 且操作员可调节高低阈值, 然后查看更改效果 如果设置了 flags 位 2, 则不会显示模型窗口 操作员仅可更改搜索窗口 对于 correlation 和 geometric 对象, 如果不需要显示示教按钮, 则可在调用 VTrain 后调用 VTeach 以示教模型 EPSON RC+ 7.0 选件 RC+ API Rev.2 231

242 VTeach VSaveModel VTrain 示例 Dim status As Integer ' 首先让操作员变换窗口位置 m_spel.vtrain("seq01", "corr01") ' 现在示教模型 m_spel.vteach("seq01", "corr01", status) 232 EPSON RC+ 7.0 选件 RC+ API Rev.2

243 WaitCommandComplete 方法,Spel 类 描述该命令会等待以 AsyncMode = True 开始的命令完成 Sub WaitCommandComplete () AsyncMode WaitCommandComplete 示例 With m_spel.asyncmode = True.Jump("pick").Delay(500).On(1).WaitCommandComplete() End With EPSON RC+ 7.0 选件 RC+ API Rev.2 233

244 WaitMem 方法,Spel 类 描述等待内存位状态发生改变 Sub WaitMem (BitNumber As Integer, Condition As Boolean, Timeout As Single) BitNumber Condition Timeout 备注 表示内存位编号的整数表达式 表示内存位状态的 Boolean 表达式 表示最大等待时间 ( 单位为秒 ) 的单一表达式 应始终检查是否因使用 TW 方法而发生超时 请参见以下示例 WaitSw WaitMem 示例 ' 等待内存位 1 变为 1( 真 ) ' 最长时间为 5 秒 m_spel.waitmem(1, True, 5) ' WaitMem 是否超时? If m_spel.tw() Then MsgBox "memory bit time out occurred" End If 234 EPSON RC+ 7.0 选件 RC+ API Rev.2

245 WaitSw 方法,Spel 类 描述等待输入位状态发生改变 Sub WaitSw (BitNumber As Integer, Condition As Boolean, Timeout As Single) BitNumber Condition Timeout 备注 表示输入位编号的整数表达式 表示输入位状态的 Boolean 表达式 表示最大等待时间 ( 单位为秒 ) 的单一表达式 应始终检查是否因使用 TW 方法而发生超时 请参见以下示例 WaitMem WaitSw 示例 Const PartPresent = 1 m_spel.waitsw(partpresent, True, 5) If m_spel.tw() Then MsgBox "Part present time out occurred" End If EPSON RC+ 7.0 选件 RC+ API Rev.2 235

246 WaitTaskDone 方法,Spel 类 描述等待任务完成并返回状态 Function WaitTaskDone (TaskNumber As Integer) As SpelTaskState Function WaitTaskDone (TaskName As String) As SpelTaskState TaskNumber TaskName 返回值 SpelTaskState 值 待返回执行状态的任务编号 含有任务名称的字符串表达式 SpelTaskState Stat TasksExecuting TaskState Xqt WaitTaskDone 示例 Dim taskstatus As SpelTaskState m_spel.xqt 2, "mytask" taskstatus = m_spel.waittaskdone(2) 236 EPSON RC+ 7.0 选件 RC+ API Rev.2

247 Weight 方法,Spel 类 描述指定机器人机械臂的 weight Sub Weight (PayloadWeight As Single, ArmLength As Single) Sub Weight (PayloadWeight As Single, Axis As SpelAxis, [Axis]) PayloadWeight 待承载的夹具末端重量, 单位为 Kg ArmLength 第二机械臂的旋转中心至夹具末端的重心之间的距离, 单位为 mm Axis 指定分配有效负载重量的附加轴 (S 或 T) JRange Tool Weight 示例 m_spel.weight(2, 2.5) EPSON RC+ 7.0 选件 RC+ API Rev.2 237

248 Xqt 方法,Spel 类 描述启动一个 SPEL + 任务 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 方法等待任务完成, 或者可使用 EventReceived 和任务状态事件等待任务完成 Call EnableEvent EventReceived Xqt 示例 m_spel.xqt(2, "conveyor") ' 为 RunPart 函数提供一个 m_spel.xqt(3, "RunPart(3)") Dim funccall As String funccall = "RunPart(" & partnum & ")" m_spel.xqt(3, funccall) 238 EPSON RC+ 7.0 选件 RC+ API Rev.2

249 XYLim 方法,Spel 类 描述设置机器人的允许动作范围限制 Sub XYLim (XLowerLimit As Single, XUpperLimit As Single, YLowerLimit As Single, YUpperLimit As Single [, ZLowerLimit As Single ] [, ZUpperLimit As Single]) XLowerLimit XUpperLimit YLowerLimit YUpperLimit ZLowerLimit ZUpperLimit 机器人可行进的最小 X 坐标位置 ( 机器人不得移至 X 坐标小于 minx 的位置 ) 机器人可行进的最大 X 坐标位置 ( 机器人不得移至 X 坐标大于 maxx 的位置 ) 机器人可行进的最小 Y 坐标位置 ( 机器人不得移至 Y 坐标小于 miny 的位置 ) 机器人可行进的最大 Y 坐标位置 ( 机器人不得移至 Y 坐标大于 maxy 的位置 ) 可选 机器人可行进的最小 Z 坐标位置 ( 机器人不得移至 Z 坐标小于 minz 的位置 ) 可选 机器人可行进的最大 Z 坐标位置 ( 机器人不得移至 Z 坐标大于 maxz 的位置 ) 备注 XYLim 用于定义动作范围限制 很多机器人系统允许用户定义关节限制, 而 SPEL+ 语言允许定义关节限制和动作范围限制 实际上, 这便允许用户创建其应用的工作范围 ( 请牢记, 也可通过 SPEL 定义关节范围限制 ) 通过 XYLim 值确定的动作范围仅适用于动作命令目标位置, 但不适用于从起始位置到目标位置的动作路径 因此, 机械臂可能会在动作期间移至 XYLim 范围以外 ( 即, XYLim 范围不影响脉冲 ) JRange XYLim 示例 m_spel.xylim(0, 0, 0, 0) EPSON RC+ 7.0 选件 RC+ API Rev.2 239

250 XYLimClr 方法,Spel 类 描述清除 ( 取消定义 )XYLim 定义 Sub XYLimClr () XYLim XYLimDef XYLimClr 示例 m_spel.xllimclr() 240 EPSON RC+ 7.0 选件 RC+ API Rev.2

251 XYLimDef 方法,Spel 类 描述返回是否已定义 XYLim Function XYLimDef () As Boolean 返回值如果 XYLim 已定义, 则返回 True, 否则返回 False XYLim XYLimClr XYLimDef 示例 m_spel.xllimdef() EPSON RC+ 7.0 选件 RC+ API Rev.2 241

252 14.4 Spel 类事件 EventReceived 事件,Spel 类 描述 当 EPSON RC+ 7.0 发送系统事件或当 SPEL + 中运行的程序使用 SPELCom_Event 语句发送事件时发生 EventReceived (ByVal sender As Object, ByVal e As SpelNetLib70.SpelEventArgs) e.event e.message 备注 表示特定用户定义事件的编号 含有事件消息的字符串 EPSON RC+ 7.0 会发出多个系统事件 如下表所述 系统事件 一些事件默认为禁用 若要使用这些事件, 应启用 EnableEvent 方法 事件编号事件消息常量描述 1 "PAUSE" SpelEvents.Pause 2 "SAFE GUARD OPEN" SpelEvents.SafeGuardOpen 3 "SAFE GUARD CLOSE" SpelEvents.SafeGuardClose Project build status text "Error xxx!:mmm in task at line yyy" Text from print statement SpelEvents.ProjectBuildStatus SpelEvents.Error SpelEvents.Print 7 "ESTOP ON" SpelEvents.EStopOn 8 "ESTOP OFF" SpelEvents.EStopOff 9 "CONTINUE" SpelEvents.Continue 10 任务暂停时发生 默认为启用 安全防护打开时发生 默认为启用 安全防护关闭时发生 默认为启用 每条构建状态消息会在 BuildProject 方法期间发送 根据需要添加 CRLF 这些消息与 EPSON RC+ 7.0 GUI 中 Project Build Status 窗口显示的消息相同 此事件必须使用 EnableEvent 方法启用 默认为禁用 因未处理的错误或产生系统错误而中止任务时发生 默认为启用 从 SPEL + 任务中执行 Print 语句时发生 默认为禁用 紧急停止条件改为 ON 时发生 默认为启用 紧急停止条件改为 OFF 时发生 默认为启用 执行完 Cont 后发生 默认为启用 <Robot #>,"MOTOR ON" SpelEvents.MotorOn 所示机器人的电机处于 ON 时发生 默认为禁用 242 EPSON RC+ 7.0 选件 RC+ API Rev.2

253 事件编号事件消息常量描述 11 <Robot #>,"MOTOR OFF" SpelEvents.MotorOff 所示机器人的电机处于 OFF 时发生 默认为禁用 12 <Robot #>,"POWER HIGH" SpelEvents.PowerHigh 所示机器人的电量处于 HIGH 时发生 默认为禁用 13 <Robot #>,"POWER LOW" SpelEvents.PowerLow 所示机器人的电量处于 LOW 时发生 默认为禁用 14 "TEACH MODE" SpelEvents.TeachMode 示教模式激活时发生 默认为启用 15 "AUTO MODE" SpelEvents.AutoMode 自动模式激活时发生 默认为启用 "<TaskID>,<Status>, <FuncName>" SpelEvents.TaskStatus 任务状态变化时发生 默认为禁用 16 Status: "RUN", "HALT", "PAUSE", FINISHED,"ABORTED" 17 "SHUTDOWN" SpelEvents.Shutdown RC+ 正在关闭时发生 18 "ALL TASKS STOPPED" SpelEvents.AllTasksStopped 所有任务已停止时发生 EPSON RC+ 7.0 选件 RC+ API Rev.2 243

254 用户事件 您可以使用 SPELCom_Event 命令将事件从 SPEL + 程序发送至 VB 应用 Spelcom_Event 3000, cycnum, lotnum, cyctime 该语句执行时, 将通过事件编号和消息调用 EventReceived 例程 有关 SPELCom_Event 的详细信息, 请参阅 EPSON RC+ 7.0 在线帮助或 13. SPELCom_Event Use 示例 Sub m_spel_eventreceived ( _ ByVal sender As Object, _ ByVal e As SpelNetLib70.SpelEventArgs) _ Handles m_spel.eventreceived Redim tokens(0) As String Select Case e.event Case 3000 tokens = e.message.split(new [Char]() {" "c}, _ System.StringSplitOptions.RemoveEmptyEntries) lblcyccount.text = tokens(0) lbllotnumber.text = tokens(1) lblcyctime.text = tokens(2) End Select End Sub 处理事件 从 Spel 类实例中调用 EventReceived 时, 需要等待事件处理例程完成 因此, 不得试图在 EventReceived 例程期间执行任何 RC+ API 命令来尽快完成例程 如果您想根据发生的事件执行命令, 则在 EventReceived 中设置标记并通过事件处理以外的主循环处理此标记 例如 : 在您的 VB 主窗体 Load 程序中, 可创建接收来自 SPEL + 事件的事件循环 在 spel_eventreceived 例程中, 设置全局标记指明已接收的事件 然后, 可通过 Load 程序中创建的事件循环执行实际的事件处理 显示事件消息在窗体中添加 TextBox 控制 每次收到事件时, 将在 TextBox 控制的 Text 属性中显示事件消息 EnableEvent(Spel 类 ) 244 EPSON RC+ 7.0 选件 RC+ API Rev.2

255 14.5 SPELVideo 控制 描述 此控制允许显示视觉系统的视频 有关此控制使用方法的详细信息, 请参阅第 11 章播放视频 文件名 SpelNetLib70.dll 14.6 SPELVideo 控制属性 此控制支持除.NET 标准组件属性以外的下列属性, 如 Left Top Width 和 Height 有关标准属性的文件, 请参阅 Visual Basic 在线帮助 Camera GraphicsEnabled VideoEnabled Camera 属性,SPELVideo 控制 描述 设置 / 获取显示视频的相机编号 这对于想在步进操作 实时视频监控等过程中显示视频是非常有用的 如果正在使用此控制显示视觉序列的图形, 那么在序列运行时, 将使用序列的相机编号代替此属性值 Property Camera As Integer 默认值 0 显示的任一相机 返回值 含有当前相机编号的整数值 VideoEnabled GraphicsEnabled 示例 SpelVideo1.Camera = 1 EPSON RC+ 7.0 选件 RC+ API Rev.2 245

256 GraphicsEnabled 属性,SPELVideo 控制 描述 设置 / 返回是否在运行序列后显示视觉图形 为查看图形, 必须使用 SPELVideo 控制属性将控制连接至 Spel 类实例 此属性可 联机 设置, 这样便可在序列运行时打开 / 关闭图形 Property GraphicsEnabled As Boolean 默认值 False 返回值 如果显示视觉图形, 则返回 True, 否则返回 False Camera VideoEnabled 示例 SpelVideo1.GraphicsEnabled = True 246 EPSON RC+ 7.0 选件 RC+ API Rev.2

257 VideoEnabled 属性,SPELVideo 控制描述确定是否显示视频 Property VideoEnabled As Boolean 默认值 False 返回值如果显示视频, 则返回 True, 否则返回 False Camera GraphicsEnabled 示例 SpelVideo1.VideoEnabled = True EPSON RC+ 7.0 选件 RC+ API Rev.2 247

258 14.7 SPELVideo 控制方法 LoadImage 方法,SPELVideo 控制 描述加载文件中的图像以便显示 Sub LoadImage (Path As String) Path 加载图像文件的完整路径名称, 包括扩展名 备注使用 LoadImage 加载之前保存的图像以便显示 文件扩展名必须为 BMP TIF 或 JPG VSaveImage(Spel 类 ) LoadImage 示例 m_spelvideo.loadimage("c:\rejectimages\reject001.bmp") 248 EPSON RC+ 7.0 选件 RC+ API Rev.2

259 14.8 SPELVideo 控制事件 此控制的所有事件均为标准.NET 事件 有关详细信息, 请参阅 Visual Basic 在线帮助 14.9 SpelControllerInfo 类 成员名称类型描述 ProjectName String 控制器中项目的名称 ProjectID String 控制器中项目的唯一项目 ID 以下为示例 Dim info As SpelNetLib70.SpelControllerInfo info = m_spel.getcontrollerinfo() Label1.Text = info.projectid + " " + info.projectname EPSON RC+ 7.0 选件 RC+ API Rev.2 249

260 14.10 SpelException 类 SpelException 属性 SpelException 方法 SpelException 类由 ApplicationException 类派生而来 它增加了 ErrorNumber 属性和一些构造函数 下例所示即如何检索错误编号和错误消息 Try m_spel.go(1) Catch (ex As SpelNetLib70.SpelException) MsgBox(ex.ErrorNumber & " " & ex.message) End Try ErrorNumber As Integer Sub New () 默认构造函数 Sub New (Message As String) 指定错误消息的可选构造函数 Sub New (ErrorNumber As Integer, Message As String) 指定错误编号和相关消息的可选构造函数 Sub New (Message As String, Inner As Exception) 指定错误消息和内部异常的可选构造函数 Sub New (ErrorNumber As Integer, Message As String, Inner As Exception) 指定错误编号 错误消息和内部异常的可选构造函数 250 EPSON RC+ 7.0 选件 RC+ API Rev.2

261 14.11 SpelPoint 类 SpelPoint 类可用于多个动作方法以及 Spel 类的 GetPoint 和 SetPoint 方法 下面是一些例子 : 1: Dim pt As New SpelNetLib70.SpelPoint(25.5, 100.3, -21, 0) m_spel.go(pt) 2: Dim pt As New SpelNetLib70.SpelPoint pt.x = 25.5 pt.y = pt.z = -21 m_spel.go(pt) 3: Dim pt As New SpelNetLib70.SpelPoint pt = m_spel.getpoint("p*") pt.y = 222 m_spel.go(pt) EPSON RC+ 7.0 选件 RC+ API Rev.2 251

262 SpelPoint 属性 X As Single Y As Single Z As Single U As Single V As Single W As Single R As Single S As Single T As Single Hand As SpelHand Elbow As SpelElbow Wrist As SpelWrist Local As Integer J1Flag As Integer J2Flag As Integer J4Flag As Integer J6Flag As Integer J1Angle As Single J4Angle As Single 252 EPSON RC+ 7.0 选件 RC+ API Rev.2

263 SpelPoint 方法 Sub Clear () 清除所有点数据 Sub New () 默认构造函数 创建空点 ( 清除所有数据 ) Sub New (X As Single, Y As Single, Z As Single, U As Single [, V As Single] [, W As Single] ) 指定坐标的新点的可选构造函数 Function ToString ([Format As String]) As String 允许指定 Format 的 ToString 覆盖 它可以返回 SPEL + 中定义的点 格式可为 : Empty "XY" "XYST" 返回具有所有坐标和属性的整个点 返回 "XY( )" 返回 "XY( ) :ST( )" EPSON RC+ 7.0 选件 RC+ API Rev.2 253

264 14.12 枚举 SpelBaseAlignment 枚举 成员名称 数值 描述 XAxis 0 与 X 轴对齐 YAxis 1 与 Y 轴对齐 SpelDialogs 枚举成员名称 数值 描述 RobotManager 1 机器人管理器对话框 ID ControllerTools 2 工具 控制器对话框 ID SpelElbow 枚举成员名称 数值 描述 Above 1 肘的方向为上方 Below 2 肘的方向为下方 SpelEvents 枚举成员名称 数值 描述 Pause 1 Pause 事件 ID SafeguardOpen 2 安全防护打开事件 ID SafeguardClose 3 安全防护关闭事件 ID ProjectBuildStatus 4 项目构建状态事件 ID Error 5 错误事件 ID Print 6 打印事件 ID EstopOn 7 紧急停止 on 事件 ID EstopOff 8 紧急停止 off 事件 ID Continue 9 Continue 事件 ID MotorOn 10 电机 on 事件 ID MotorOff 11 电机 off 事件 ID PowerHigh 12 电量 high 事件 ID PowerLow 13 电量 low 事件 ID TeachMode 14 示教模式事件 ID AutoMode 15 自动模式事件 ID TaskStatus 16 任务状态事件 ID Shutdown 17 Shutdown 事件 ID AllTasksStopped 18 所有任务停止事件 ID 254 EPSON RC+ 7.0 选件 RC+ API Rev.2

265 SpelForceAxis 枚举 成员名称 数值 描述 XForce 1 指定 X 力轴 YForce 2 指定 Y 力轴 ZForce 3 指定 Z 力轴 XTorque 4 指定 X 扭矩轴 YTorque 5 指定 Y 扭矩轴 ZTorque 6 指定 Z 扭矩轴 SpelForceCompareType 枚举 成员名称 数值 描述 LessOrEqual 0 力小于或等于指定阈值时触发 Till GreaterOrEqual 1 力大于或等于指定阈值时触发 Till SpelHand 枚举成员名称 数值 描述 Righty 1 手的方向为右 Lefty 2 手的方向为左 SpelIOLabelTypes 枚举 成员名称 数值 描述 InputBit 1 指定输入位 InputByte 2 指定输入字节 InputWord 3 指定输入字 OutputBit 4 指定输出位 OutputByte 5 指定输出字节 OutputWord 6 指定输出字 MemoryBit 7 指定内存位 MemoryByte 8 指定内存字节 MemoryWord 9 指定内存字 SpelOperationMode 枚举 成员名称 数值 描述 Auto 1 EPSON RC+ 7.0 处于 auto 模式 Program 2 EPSON RC+ 7.0 处于 program 模式 EPSON RC+ 7.0 选件 RC+ API Rev.2 255

266 SpelRobotType 枚举 成员名称数值描述 Joint 1 机器人类型为 joint Cartesian 2 机器人类型为 Cartesian Scara 3 机器人类型为 SCARA Cylindrical 4 机器人类型为 Cylindrical SixAxis 5 机器人类型为 6 轴式 RS 6 机器人类型为 SCARA RS 系列 SpelShutdownMode 枚举 成员名称数值描述 ShutdownWindows 0 将关闭 Windows RebootWindows 1 将重启 Windows SpelStopType 枚举 成员名称数值描述 StopNormalTasks 0 仅停止正常任务 ( 非后台任务 ) StopAllTasks 1 停止所有任务, 包括后台任务 SpelTaskState 枚举 成员名称数值描述 Quit 0 任务处于 quit 状态 Run 1 任务处于 run 状态 Aborted 2 任务已中止 Finished 3 任务已完成 Breakpoint 4 任务位于断点处 Halt 5 任务处于 halt 状态 Pause 6 任务处于 pause 状态 Step 7 正在 step 执行任务 Walk 8 正在 walk 任务 Error 9 任务处于错误状态 Waiting 10 任务处于 wait 状态 SpelTaskType 枚举 成员名称数值描述 Normal 0 任务为正常任务 NoPause 1 任务不受 pause 影响 NoEmgAbort 2 任务不受紧急停止影响 256 EPSON RC+ 7.0 选件 RC+ API Rev.2

267 SpelUserRights 枚举 成员名称数值描述 All -1 用户具有所有权限 None 0 用户没有权限 EditSecurity 1 用户可以配置安全性 SysConfig 2 用户可以更改系统配置 EditPrograms 4 用户可以编辑程序 EditPoints 8 用户可以编辑点 EditVision 16 用户可以更改视觉属性 JogAndTeach 32 用户可以步进和示教 CommandWindow 64 用户可以使用命令窗口 EditRobotParameters 128 用户可以编辑机器人 ConfigureOptions 256 用户可以配置选项 ViewAudit 512 用户可以查看安全审计日志 EditProject 1024 用户可以编辑项目配置 DeleteAudit 2048 用户可以删除安全审计日志条目 TeachPoints 4096 用户可以示教点 ChangeOutputs 8192 用户可以更改输出状态 ChangeMemIO 用户可以更改内存 I/O 状态 EditGUIBuilder 用户可以在 GUI Builder 中进行更改 SpelVisionObjectTypes 枚举 成员名称数值描述 Correlation 1 Correlation 对象 Blob 2 Blob 对象 Edge 3 Edge 对象 Polar 4 Polar 对象 Line 5 Line 对象 Point 6 Point 对象 Frame 7 Frame 对象 ImageOp 8 ImageOp 对象 OCR 9 OCR 对象 CodeReader 10 CodeReader 对象 Geometric 11 Geometric 对象 ColorMatch 14 Color Match 对象 LineFinder 15 Line Finder 对象 ArcFinder 16 Arc Finder 对象 DefectFinder 17 Defect Finder 对象 SpelVisionProps 枚举 SpelWrist 枚举 此枚举适用于所有视觉属性和结果 有关详细信息, 请参阅 Vision Guide Reference 手册 成员名称数值描述 NoFlip 1 手腕方向为无翻转 Flip 2 手腕方向为翻转 EPSON RC+ 7.0 选件 RC+ API Rev.2 257

268 SpelWindows 枚举 成员名称数值描述 IOMonitor 1 I/O 监视器窗口 ID TaskManager 2 任务管理器窗口 ID ForceMonitor 3 力监视器窗口 ID Simulator 4 仿真器窗口 ID Spel 错误编号和消息 有关错误编号和错误消息, 请参阅 SPEL + 语言参考 258 EPSON RC+ 7.0 选件 RC+ API Rev.2

269 15. 使用 LabVIEW 15. 使用 LabVIEW 15.1 概述 本章包含有关使用 LabVIEW 和 RC+ API 的信息 将介绍以下主题 初始化在应用中使用 Spel 属性和方法关闭使用对话框和窗口 15.2 初始化 添加 Spel 类的构造函数节点 在您可以从 Spel 类调用方法或使用属性之前, 必须使用构造函数节点创建 Spel 类实例 您应在应用中使用一个 Spel 类实例 在将包含 Spel 类实例的 VI 方框图视图中, 从 [RC+ API] [.NET palette] 添加构造函数节点 将出现 [Select.NET Constructor] ] 对话框 在 [Assembly] 列表中选择 SpelNetLib70 并在 [Objects ] 列表中选择 Spel, 如下所示 点击 <OK> 在方框图中创建 Spel 构造函数节点 EPSON RC+ 7.0 选件 RC+ API Rev.2 259

270 15. 使用 LabVIEW 初始化 Spel 类实例 添加用于 Spel 类 Initialize 方法的 Invoke 节点 Initialize 执行时, 将在后台作为服务器配置和启动 RC 连接至控制器和设置项目 添加用于 Spel 类 Connect 方法的 Invoke 节点 设置用于需使用的控制器连接的 ConnectionNumber 若要查看连接编号, 首先启动 EPSON RC+ 7.0, 然后选择 [ 设置 ]-[PC 至控制器通信 ] 添加用于 Spel 类 Project 属性的 Property 节点 将 Project 设为所需的项目文件 15.3 使用 Spel 属性和方法 15.4 关闭 添加更多节点, 以将 Spel 属性和方法用于您的应用 必须将前一节点的参考输出连接至当前节点的参考输入 这样便允许每个属性或方法使用您在上述步骤中创建和初始化的 Spel 类实例 有关可使用的属性和方法信息, 请参阅 SpelNetLib70 参考章节 使用 Spel 类实例完成时, 需要调用 Dispose 方法 这样将关闭与 Spel 类实例相关的 EPSON RC+ 7.0 服务器 通常情况下, 应在应用结束时调用 Dispose 如果您的应用在未调用 Dispose 情况下中止, 由于 LabVIEW( 客户端过程 ) 会继续运行, 所以 RC+ 过程也将继续运行 当您再次启动应用时, 如果 RC+ 过程正在运行, 则过程会重新开始 但是, 如果您试图运行 RC+ GUI, 则其会询问您是否想要运行 RC+ 的另一实例 在这种情况下, 可首先从 Windows 任务管理器终止 RC+ 过程 (erc70.exe), 然后再运行 EPSON RC+ 7.0 GUI 15.5 使用对话框和窗口 与.NET 应用共用时, 通常会将.NET 父窗体用作通过 Spel 类实例显示的父对话框和窗口 但是 LabVIEW 不会使用.NET 窗体, 因此, 要通过 LabVIEW 显示窗口和对话框, 需使用 ParentWindowHandle 属性 将其设至 VI 的窗口句柄 然后, 您便可以调用 Windows API FindWindow 方法获取窗口句柄 使用 ParentWindowHandle 时, 必须调用没有 Parent 的 Spel.ShowWindow 260 EPSON RC+ 7.0 选件 RC+ API Rev.2

Visual Basic D 3D

Visual Basic D 3D Visual Basic 2008 2D 3D 6-1 6-1 - 6-2 - 06 6-2 STEP 1 5-2 (1) STEP 2 5-3 (2) - 6-3 - Visual Basic 2008 2D 3D STEP 3 User1 6-4 (3) STEP 4 User1 6-5 (4) - 6-4 - 06 STEP 5 6-6 (5) 6-3 6-3-1 (LoginForm) PictureBox1

More information

Microsoft Word - 小心翼翼的二十一點N.doc

Microsoft Word - 小心翼翼的二十一點N.doc 投 稿 類 別 : 資 訊 類 篇 名 : 小 心 翼 翼 的 二 十 一 點 作 者 : 陳 鈺 文 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 李 伯 謙 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 胡 家 媛 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 指 導 老 師 : 周 曉 玲 老 師 陳 思 亮 主 任 壹 前 言 一 研 究 動 機 平

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

VB程序设计教程

VB程序设计教程 高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处

More information

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

Microsoft Word - CX1000-HMI_程序开发_PLC通讯 用 VB.Net 开发 CX1000 的 HMI 第二部分和 TwinCAT PLC 通讯 一 TwinCAT 动态库 TwinCAT.Ads.dll The TwinCAT.Ads.dll 是一个.NET 类库, 它提供和 ADS 设备通讯的类 如果 TwinCAT PLC 运行在 IPC 上, 则需要添加的类库是路径 \TwinCAT\ADS Api\.NET\v1.1.4322 下的 TwinCAT.Ads.dll

More information

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f 27 1 Vol.27 No.1 CEMENTED CARBIDE 2010 2 Feb.2010!"!!!!"!!!!"!" doi:10.3969/j.issn.1003-7292.2010.01.011 OPC 1 1 2 1 (1., 412008; 2., 518052), OPC, WinCC VB,,, OPC ; ;VB ;WinCC Application of OPC Technology

More information

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc TwinCAT 2001.12.11 TwinCAT 1. TwinCAT... 3 2.... 4... 4...11 3. TwinCAT PLC... 13... 13 PLC IEC 61131-3... 14 4. TwinCAT... 17... 17 5. TwinCAT... 18... 18 6.... 19 Maschine.pro... 19... 27 7.... 31...

More information

多層次傳銷與獎金系統

多層次傳銷與獎金系統 醒 吾 技 術 學 院 資 訊 管 理 系 ( 五 專 部 ) 九 十 六 學 年 度 畢 業 專 題 多 層 次 傳 銷 與 獎 金 系 統 組 員 : 921506122 游 濬 瑋 921506126 陳 彥 宇 921506139 林 龍 華 921506144 陳 昶 志 921506149 楊 璧 如 指 導 老 師 : 汪 淵 老 師 中 華 民 國 九 十 七 年 一 月 十 一 醒

More information

尿路感染防治.doc

尿路感染防治.doc ...1...1...2...4...6...7...7...10...12...13...15...16...18...19...24...25...26...27...28 I II...29...30...31...32...33...34...36...37...37...38...40...40...41...43...44...46...47...48...48...49...52 III...55...56...56...57...58

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

TC35短信发送程序设计

TC35短信发送程序设计 http://www.dragonsoft.net.cn/down/project/tc35_sms.rar TC35 AT /down/book/tc35_at.pdf TC35/TC35i GSM Modem TC35 GSM POS COM SIM DOWN COM E, vbcr AT VB6.0 1)C# http://www.yesky.com/softchannel/72342380468109312/20040523/1800310.shtml,

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft PowerPoint - OPVB1基本VB.ppt 大 綱 0.VB 能 做 什 麼? CH1 VB 基 本 認 識 1.VB 歷 史 與 版 本 2.VB 環 境 簡 介 3. 即 時 運 算 視 窗 1 0.VB 能 做 什 麼? Visual Basic =>VB=> 程 式 設 計 語 言 => 設 計 程 式 設 計 你 想 要 的 功 能 的 程 式 自 動 化 資 料 庫 計 算 模 擬 遊 戲 網 路 監 控 實 驗 輔 助 自 動

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

穨ecr2_c.PDF

穨ecr2_c.PDF i ii iii iv v vi vii viii 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 26 27 2 28 29 30 31 32 33 34 35 36 37 38 39 40 3 4 41 42 43 5 44 45 46 6 47 48 49 50 51 52 1 53 2 54 55 3 56

More information

電腦相關罪行跨部門工作小組-報告書

電腦相關罪行跨部門工作小組-報告書 - ii - - iii - - iv - - v - - vi - - vii - - viii - (1) 2.1 (2) (3) 13.6 (4) 1.6 (5) 21 (6) (7) 210 (8) (9) (10) (11) ( ) ( 12) 20 60 16 (13) ( ) (

More information

i

i i ii iii iv v vi vii viii ===== 1 2 3 4 5 6 7 8 9 10 ==== 11 12 13 14 15 16 17 18 19 ==== ==== 20 .. ===== ===== ===== ===== ===== ======.. 21 22 ===== ===== ===== ===== 23 24 25 26 27 28 29 ==== ====

More information

发展党员工作手册

发展党员工作手册 发 展 党 员 工 作 问 答 目 录 一 总 论...9 1. 发 展 党 员 工 作 的 方 针 是 什 么? 如 何 正 确 理 解 这 个 方 针?... 9 2. 为 什 么 强 调 发 展 党 员 必 须 保 证 质 量?... 9 3. 如 何 做 到 慎 重 发 展?... 10 4. 如 何 处 理 好 发 展 党 员 工 作 中 的 重 点 与 一 般 的 关 系?...11 5.

More information

i

i 9 1 2 3 4 i 5 6 ii iii iv v vi vii viii 1 1 1 2 3 4 2 5 6 2 3 2.10 ( 2.11 ) ( 2.11 ) ( 2.9 ) 7 8 9 3 10 5% 2% 4 11 93% (2001 02 2003 04 ) ( ) 2,490 (100%) 5 12 25% (2.57% 25%) 6 (2001 02 2003 04 ) 13 100%

More information

39898.indb

39898.indb 1988 4 1998 12 1990 5 40 70.................................................. 40.............................................................. 70..............................................................

More information

2 Bamboo Windows Macintosh 2.0 I1009 Wacom Co., Ltd Wacom Wacom Wacom Wacom /96/EC (WEEE) WEEE Wacom 2002/96/EC Wacom RoHS 2002/95

2 Bamboo Windows Macintosh 2.0 I1009 Wacom Co., Ltd Wacom Wacom Wacom Wacom /96/EC (WEEE) WEEE Wacom 2002/96/EC Wacom RoHS 2002/95 1 Windows Macintosh Bamboo Touch (CTT-460) Bamboo Pen (CTL-460, CTL-660) Bamboo Bamboo Fun (CTH-460, CTH-461, CTH-661) ExpressKeys 1 2 Bamboo Windows Macintosh 2.0 I1009 Wacom Co., Ltd. 2009 Wacom Wacom

More information

讨论稿

讨论稿 签 署 稿 北 京 市 君 泽 君 律 师 事 务 所 关 于 武 汉 道 博 股 份 有 限 公 司 发 行 股 份 及 支 付 现 金 购 买 资 产 并 募 集 配 套 资 金 暨 关 联 交 易 之 标 的 资 产 过 户 的 法 律 意 见 中 国 北 京 市 西 城 区 金 融 大 街 甲 9 号 金 融 街 中 心 南 楼 6 层 邮 政 编 码 :100033 电 话 :(8610)66523388

More information

untitled

untitled 說 參 例 邏 邏 1. 說 2. 數 數 3. 8 4. 理念 李 龍老 立 1. 理 料 2. 理 料 3. 數 料 4. 流 邏 念 5. 良 6. 讀 行 行 7. 行 例 來 邏 1. 說 說 識 量 2. 說 理 類 3. 數 數 念 4. 令 5. 良 6. 流 邏 念 7. 說 邏 理 力 1. 2. 3. 4. 5. 列 念 1 參 1. ( Visual Basic 例 ) (1)

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

ThreeDtunnel.doc

ThreeDtunnel.doc (12) 1 1. Visual Basic Private Sub LoadDatabase() Dim strip As String Dim straccount As String Dim strpassword As String Dim strdatabase As String Dim strtable As String Dim strsql As String Dim strtemp1

More information

untitled

untitled PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說

More information

一、

一、 ... 1...24...58 - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - i. ii. iii. iv. i. ii. iii. iv. v. vi. vii. viii. ix. x. - 9 - xi. - 10 - - 11 - -12- -13- -14- -15- C. @ -16- @ -17- -18- -19- -20- -21- -22-

More information

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344> 1. 請 問 誰 提 出 積 體 電 路 (IC) 上 可 容 納 的 電 晶 體 數 目, 約 每 隔 24 個 月 (1975 年 更 改 為 18 個 月 ) 便 會 增 加 一 倍, 效 能 也 將 提 升 一 倍, 也 揭 示 了 資 訊 科 技 進 步 的 速 度? (A) 英 特 爾 (Intel) 公 司 創 始 人 戈 登. 摩 爾 (Gordon Moore) (B) 微 軟 (Microsoft)

More information

Measurement Studio Expands Your Test and Measurement Programming Power

Measurement Studio Expands Your Test and Measurement Programming Power NI-DAQmx NI-DAQ NI-DAQmx NI-DAQ NI-DAQmx NI-DAQmx NI-DAQ NI-DAQmx NI-DAQmx LabVIEW LabWindows/CVI ANSI C Measurement Studio Visual Studio I/O 1. I/O API I/O NI NI NI NI ADE 1.NI-DAQmx NI & MAX DAQ Assistant

More information

Power & Flexibility MEIDEN MOTOR DRIVE SYSTEM MEIDEN MOTOR DRIVE SYSTEM Meiden Europe Ltd. Meiden America, Inc. Meiden Technical Center North America LLC Dubai Branch Meiden India Pvt. Ltd. Meiden

More information

V39用户手册0227.doc

V39用户手册0227.doc 300 2004 (FCC) FCC I/O B Cet appareil numérique de la classe B respecte toutes les exigences du Réglement sur le matériel brouilieur du Canada. Windows Windows 98 Windows 2000 Windows ME Windows XP Microsoft

More information

ActiveX Control

ActiveX Control ActiveX Control For Visual Basic 2005.NET [ 版本 : 1.0] 1 安裝 Windows 驅動程式 請依照下列步驟 : 1. 執行 Windows 驅動程式安裝程式 ( 此範例為 PIO-DIO) 驅動程式位置 : CD:\NAPDOS\PCI\PIO-DIO\dll_ocx\Driver http://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/pio-dio/dll_ocx/driver/

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

untitled

untitled Headquarters Nakanoshima Mitsui Building 3-3-3 Nakanoshima, Kita-ku Osaka, 530-0005, Japan Phone : +81-6-6441-0011 URL : http://tsubakimoto.com Chain & Power Transmission Sales 1-3 Kannabidai 1-chome Kyoutanabe,

More information

上海盛瑞电子有限公司

上海盛瑞电子有限公司 2015/5/22 1 / 9 一运动指令 MoveJ MoveJ[\Conc,]ToPoint,Speed[\V] [\T],Zone[\Z][\Inpos],Tool[\WObj]; 1 [\Conc,]: 协作运动开关 (switch) 2 ToPoint: 目标点, 默认为 * (robotarget) 3 Speed: 运行速度数据 (speeddata) 4 [\V]: 特殊运行速度 mm/s

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

CD DX Onkyo CD CD Cs

CD DX Onkyo CD CD Cs CD DX-7355... 2... 13... 15 Onkyo CD CD... 26 Cs 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. S3125A 13. 14. 15. A. B. C. D. E. F. 16. 17. 18. 20cm 8" 10cm 4" 10cm 4" Cs-2 1. 2. Onkyo 3. 4. AC230V 50Hz AC120V

More information

(Microsoft Word - \261d\260\267\244\244\244\345\253O\263\346_201403)

(Microsoft Word - \261d\260\267\244\244\244\345\253O\263\346_201403) 香 港 德 輔 道 中 71 號 永 安 集 團 大 廈 九 樓 9/F., Wing On House, 71 Des Voeux Road C., Hong Kong. Tel: 2867 0888 Fax: 3906 9906 康 健 住 院 現 金 保 險 計 劃 保 單 投 保 人 以 一 份 投 保 書 及 聲 明 謹 向 中 銀 集 團 保 險 有 限 公 司 ( 下 稱 本 公 司

More information

509 (ii) (iii) (iv) (v) 200, , , , C 57

509 (ii) (iii) (iv) (v) 200, , , , C 57 59 (ii) (iii) (iv) (v) 500,000 500,000 59I 18 (ii) (iii) (iv) 200,000 56 509 (ii) (iii) (iv) (v) 200,000 200,000 200,000 500,000 57 43C 57 (ii) 60 90 14 5 50,000 43F 43C (ii) 282 24 40(1B) 24 40(1) 58

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

Untitled

Untitled 201801970041 1 1 4 2 6 3 7 4 8 5 9 875-11 Postal Address:5-11/F,West Tower of China Overseas Property Plaza, Building 7,NO.8,Yongdingmen Xibinhe Road, Dongcheng District, Beijing Post Code100077 Tel+86(10)88095588

More information

榫 卯 是 什 麼? 何 時 開 始 應 用 於 建 築 中? 38 中 國 傳 統 建 築 的 屋 頂 有 哪 幾 種 形 式? 40 大 內 高 手 的 大 內 指 什 麼? 42 街 坊 四 鄰 的 坊 和 街 分 別 指 什 麼? 44 北 京 四 合 院 的 典 型 格 局 是 怎 樣 的

榫 卯 是 什 麼? 何 時 開 始 應 用 於 建 築 中? 38 中 國 傳 統 建 築 的 屋 頂 有 哪 幾 種 形 式? 40 大 內 高 手 的 大 內 指 什 麼? 42 街 坊 四 鄰 的 坊 和 街 分 別 指 什 麼? 44 北 京 四 合 院 的 典 型 格 局 是 怎 樣 的 目 錄 中 華 醫 藥 以 醫 術 救 人 為 何 被 稱 為 懸 壺 濟 世? 2 什 麼 樣 的 醫 生 才 能 被 稱 為 華 佗 再 世? 4 中 醫 如 何 從 臉 色 看 人 的 特 質? 6 中 醫 怎 樣 從 五 官 看 病? 8 中 醫 看 舌 頭 能 看 出 些 什 麼 來? 10 中 醫 真 的 能 靠 一 個 枕 頭, 三 根 指 頭 診 病 嗎? 12 切 脈 能 判 斷

More information

Microsoft Word - MP2018_Report_Chi _12Apr2012_.doc

Microsoft Word - MP2018_Report_Chi _12Apr2012_.doc 人 力 資 源 推 算 報 告 香 港 特 別 行 政 區 政 府 二 零 一 二 年 四 月 此 頁 刻 意 留 空 - 2 - 目 錄 頁 前 言 詞 彙 縮 寫 及 注 意 事 項 摘 要 第 一 章 : 第 二 章 : 第 三 章 : 第 四 章 : 附 件 一 : 附 件 二 : 附 件 三 : 附 件 四 : 附 件 五 : 附 件 六 : 附 件 七 : 引 言 及 技 術 大 綱 人

More information

南華大學數位論文

南華大學數位論文 1 i -------------------------------------------------- ii iii iv v vi vii 36~39 108 viii 15 108 ix 1 2 3 30 1 ~43 2 3 ~16 1 2 4 4 5 3 6 8 6 4 4 7 15 8 ----- 5 94 4 5 6 43 10 78 9 7 10 11 12 10 11 12 9137

More information

李天命的思考藝術

李天命的思考藝術 ii iii iv v vi vii viii ix x 3 1 2 3 4 4 5 6 7 8 9 5 10 1 2 11 6 12 13 7 8 14 15 16 17 18 9 19 20 21 22 10 23 24 23 11 25 26 7 27 28 12 13 29 30 31 28 32 14 33 34 35 36 5 15 3 1 2 3 4 5 6 7 8 9 10 11

More information

皮肤病防治.doc

皮肤病防治.doc ...1...1...2...3...4...5...6...7...7...9...10... 11...12...14...15...16...18...19...21 I ...22...22...24...25...26...27...27...29...30...31...32...33...34...34...36...36...37...38...40...41...41...42 II

More information

性病防治

性病防治 ...1...2...3...4...5...5...6...7...7...7...8...8...9...9...10...10... 11... 11 I ...12...12...12...13...14...14...15...17...20...20...21...22...23...23...25...27...33...34...34...35...35 II ...36...38...39...40...41...44...49...49...53...56...57...57...58...58...59...60...60...63...63...65...66

More information

中国南北特色风味名菜 _一)

中国南北特色风味名菜 _一) ...1...1...2...3...3...4...5...6...7...7...8...9... 10... 11... 13... 13... 14... 16... 17 I ... 18... 19... 20... 21... 22... 23... 24... 25... 27... 28... 29... 30... 32... 33... 34... 35... 36... 37...

More information

全唐诗24

全唐诗24 ... 1... 1... 2... 2... 3... 3... 4... 4... 5... 5... 6... 6... 7... 7... 8... 8... 9... 9...10...10...10...11...12...12...12...13...13 I II...14...14...14...15...15...15...16...16...16...17...17...18...18...18...19...19...19...20...20...20...21...21...22...22...23...23...23...24

More information

心理障碍防治(下).doc

心理障碍防治(下).doc ( 20 010010) 787 1092 1/32 498.50 4 980 2004 9 1 2004 9 1 1 1 000 ISBN 7-204-05940-9/R 019 1880.00 ( 20.00 ) ...1...2...2...3...4...5...6...7...8...9...10... 11...12...13...15...16...17...19...21 I ...23...24...26...27...28...30...32...34...37...39...40...42...42...44...47...50...52...56...58...60...64...68

More information

Microsoft Word - Paper on PA (Chi)_2016.01.19.docx

Microsoft Word - Paper on PA (Chi)_2016.01.19.docx 立 法 會 發 展 事 務 委 員 會 二 零 一 六 年 施 政 報 告 及 施 政 綱 領 有 關 發 展 局 的 措 施 引 言 行 政 長 官 在 二 零 一 六 年 一 月 十 三 日 發 表 題 為 創 新 經 濟 改 善 民 生 促 進 和 諧 繁 榮 共 享 的 二 零 一 六 年 施 政 報 告 施 政 報 告 夾 附 施 政 綱 領, 臚 列 政 府 推 行 的 新 措 施 和

More information

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 电 子 教 案 P1 2 978-7-111-27081-2 计 算 机 应 用 基 础 ( 第 2

More information

穨文件1

穨文件1 2-1 Access 2000 Visual Basic Access 2000 97 Office Visual Basic Visual Basic Visual Basic VBA Visual Basic Visual Basic 2-1-1 Visual Basic Access Visual Basic ( ) 2-1 2-1 Visual Basic 2-1 Microsoft Access

More information

SA-DK2-U3Rユーザーズマニュアル

SA-DK2-U3Rユーザーズマニュアル USB3.0 SA-DK2-U3R 2007.0 2 3 4 5 6 7 8 System Info. Manual Rebuild Delete RAID RAID Alarm Rebuild Rate Auto compare Temp Management Load Default Elapse time Event Log 0 2 3 4 2 3 4 ESC 5

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

14A 0.1%5% 14A 14A.52 1 2 3 30 2

14A 0.1%5% 14A 14A.52 1 2 3 30 2 2389 30 1 14A 0.1%5% 14A 14A.52 1 2 3 30 2 (a) (b) (c) (d) (e) 3 (i) (ii) (iii) (iv) (v) (vi) (vii) 4 (1) (2) (3) (4) (5) 400,000 (a) 400,000300,000 100,000 5 (b) 30% (i)(ii) 200,000 400,000 400,000 30,000,000

More information

(Chi)_.indb

(Chi)_.indb 1,000,000 4,000,000 1,000,000 10,000,000 30,000,000 V-1 1,000,000 2,000,000 20,000,00010,000,0005,000,000 3,000,000 30 20% 35% 20%30% V-2 1) 2)3) 171 10,000,00050% 35% 171 V-3 30 V-4 50,000100,000 1) 2)

More information

穨_2_.PDF

穨_2_.PDF 6 7.... 9.. 11.. 12... 14.. 15.... 3 .. 17 18.. 20... 25... 27... 29 30.. 4 31 32 34-35 36-38 39 40 5 6 : 1. 2. 1. 55 (2) 2. : 2.1 2.2 2.3 3. 4. ( ) 5. 6. ( ) 7. ( ) 8. ( ) 9. ( ) 10. 7 ( ) 1. 2. 3. 4.

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc 草 稿 致 省 級 管 理 單 位 之 推 薦 書 二 零 零 九 年 十 月 十 七 日 加 拿 大 中 醫 管 理 局 聯 盟 All rights reserved 序 言 加 拿 大 中 醫 管 理 局 聯 盟, 於 二 零 零 八 年 一 月 至 二 零 零 九 年 十 月 間, 擬 定 傳 統 中 醫 執 業 之 基 礎 文 件 由 臨 床 經 驗 豐 富 之 中 醫 師 教 育 者 及

More information

untitled

untitled 975 AirMeter TM Test Tool 用 户 手 册 August 2006 Rev. 1, 12/11(Simplified Chinese) 2006-2011 Fluke Corporation. All rights reserved. Specifications are subject to change without notice. All product names

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

6020

6020 6020 ... 1 1.1... 1 1.2... 1 1.3 6020... 2 1.3... 5 1.3.1... 5 1.3.2 ISA I/O (S1)... 5 1.3.3 (J4,5,6)... 6 1.3.4... 6... 9 2.1... 9 2.2... 9 2.3 COMPILING AND LINKING... 11 2.3.1 MICROSOFT C MICROSOFT

More information

緒 言 董 事 會 宣 佈, 為 能 更 具 效 率 調 配 本 集 團 內 的 資 金 有 效 降 低 集 團 的 對 外 貸 款, 並 促 進 本 集 團 內 公 司 間 的 結 算 服 務, 於 2016 年 9 月 30 日, 本 公 司 中 糧 財 務 與 管 理 公 司 訂 立 財 務

緒 言 董 事 會 宣 佈, 為 能 更 具 效 率 調 配 本 集 團 內 的 資 金 有 效 降 低 集 團 的 對 外 貸 款, 並 促 進 本 集 團 內 公 司 間 的 結 算 服 務, 於 2016 年 9 月 30 日, 本 公 司 中 糧 財 務 與 管 理 公 司 訂 立 財 務 香 港 交 易 及 結 算 所 有 限 公 司 及 香 港 聯 合 交 易 所 有 限 公 司 對 本 公 告 的 內 容 概 不 負 責, 對 其 準 確 性 或 完 整 性 亦 不 發 表 任 何 聲 明, 並 明 確 表 示, 概 不 對 因 本 公 告 全 部 或 任 何 部 分 內 容 而 產 生 或 因 倚 賴 該 等 內 容 而 引 致 的 任 何 損 失 承 擔 任 何 責 任 JOY

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc)

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc) : TBFAT-G5MP-MN004-11 1 GX Series PLC Program Manual 2 GX Series PLC Program Manual Contents Contents...3 1... 1-1 1.1... 1-2 1.2... 1-3 1.2.1... 1-3 1.2.2... 1-4 1.2.3... 1-4 1.2.4... 1-6 1.3... 1-7 1.3.1...

More information

T1028_Manual_KO_V3 0.pdf

T1028_Manual_KO_V3 0.pdf 2009 : 2009/09 PC Microsoft, MS-DOS, Windows, Windows Sound System Microsoft Corporation Intel, Atom Intel Corporation Sound Blaster, Sound Blaster ProCreative Technology I AC AC AC AC AC - 115 V/60 Hz

More information

Untitled

Untitled 2018 01970040 1 1 4 2 6 3 7 4 8 5 9 8 75-11 Postal Address 5-11/F,West Tower of China Overseas Property Plaza, Building 7,NO.8,Yongdingmen Xibinhe Road, Dongcheng District, Beijing Post Code 100077 Tel

More information

三維空間之機械手臂虛擬實境模擬

三維空間之機械手臂虛擬實境模擬 VRML Model of 3-D Robot Arm VRML Model of 3-D Robot Arm MATLAB VRML MATLAB Simulink i MATLAB Simulink V-Realm Build Joystick ii Abstract The major purpose of this thesis presents the procedure of VRML

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

<4D6963726F736F667420576F7264202D20A9C9B164C2E5C0F8BAEEA658AB4FAB4FB3E6205FA4A4A4E5AAA95F5F3230313431305F746F2049545F>

<4D6963726F736F667420576F7264202D20A9C9B164C2E5C0F8BAEEA658AB4FAB4FB3E6205FA4A4A4E5AAA95F5F3230313431305F746F2049545F> 香 港 中 環 德 輔 道 中 71 號 永 安 集 團 大 廈 9 樓 9/F., Wing On House, 71 Des Voeux Road Central, Hong Kong. Tel: 2867 0888 Fax: 3906 9906 怡 康 醫 療 綜 合 保 保 單 投 保 人 以 一 份 投 保 書 及 聲 明 謹 向 中 銀 集 團 保 險 有 限 公 司 ( 下 稱 本 公

More information

untitled

untitled 年報 2019 Investment Projects Property Investment Holiday Inn Express Kaifeng City Centre A wholly-owned hotel development with approximately 240 guest rooms located in city centre of Kaifeng. Scheduled

More information

PTS7_Manual.PDF

PTS7_Manual.PDF User Manual Soliton Technologies CO., LTD www.soliton.com.tw - PCI V2.2. - PCI 32-bit / 33MHz * 2 - Zero Skew CLK Signal Generator. - (each Slot). -. - PCI. - Hot-Swap - DOS, Windows 98/2000/XP, Linux

More information

Teaching kit_A4_part4.indd

Teaching kit_A4_part4.indd 4 ( 學 生 ) i. 認 識 專 題 研 習 甚 麽 是 專 題 研 習? 專 題 研 習 是 學 會 學 習 的 其 中 一 個 關 鍵 項 目 學 生 根 據 自 己 或 老 師 所 訂 立 的 主 題, 依 照 本 身 的 興 趣 和 能 力, 在 老 師 的 指 導 下, 擬 定 研 習 題 目, 設 定 探 討 的 策 略 和 方 法, 進 行 一 系 列 有 意 義 的 探 索 歷

More information

<4D6963726F736F667420576F7264202D20A4A4B0EAB371AB4FB3E65FA4A4A4E5AAA95F5F32303133>

<4D6963726F736F667420576F7264202D20A4A4B0EAB371AB4FB3E65FA4A4A4E5AAA95F5F32303133> 香 港 德 輔 道 中 71 號 永 安 集 團 大 廈 9 樓 電 話 :2867 0888 傳 真 :3906 9906 查 詢 熱 線 :3187 5100 中 國 通 意 外 急 救 醫 療 計 劃 保 單 投 保 人 以 一 份 投 保 書 及 聲 明 謹 向 中 銀 集 團 保 險 有 限 公 司 ( 下 稱 本 公 司 ) 申 請 下 述 保 險 該 份 投 保 書 及 聲 明 已 被

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

(Microsoft Word - PK254P\262\331\327\366\312\326\262\341.doc)

(Microsoft Word - PK254P\262\331\327\366\312\326\262\341.doc) PROKIN 3.0 软 件 操 作 手 册 TecnoBody S.r.l. Published: Luglio 2006 Code-Version: 1 目 录 第 一 节... 7 介 绍... 7 手 册 中 使 用 的 安 全 标 志 和 符 号... 8 概 述... 10 安 全 规 则... 11 PROKIN 系 统 安 装... 11 系 统 组 成... 13 系 统 安 装

More information

「香港中學文言文課程的設計與教學」單元設計範本

「香港中學文言文課程的設計與教學」單元設計範本 1. 2. 3. (1) (6) ( 21-52 ) (7) (12) (13) (16) (17) (20) (21) (24) (25) (31) (32) (58) 1 2 2007-2018 7 () 3 (1070) (1019-1086) 4 () () () () 5 () () 6 21 1. 2. 3. 1. 2. 3. 4. 5. 6. 7. 8. 9. ( ) 7 1. 2.

More information

untitled

untitled ADF Web ArcGIS Server ADF GeocodeConnection control 4-2 Web ArcGIS Server Application Developer Framework (ADF).NET interop semblies.net Web ADF GIS Server 4-3 .NET ADF Web Represent the views in ArcMap

More information

68369 (ppp quickstart guide)

68369 (ppp quickstart guide) Printed in USA 04/02 P/N 68369 rev. B PresencePLUS Pro PC PresencePLUS Pro PresencePLUS Pro CD Pass/Fails page 2 1 1. C-PPCAM 2. PPC.. PPCAMPPCTL 3. DB9D.. STPX.. STP.. 01 Trigger Ready Power 02 03 TRIGGER

More information

EPSON Safety Instructions Manual

EPSON Safety Instructions Manual ... 2... 9... 11... 12 Epson... 14 1 2 3 4 5 ( ) A/V 50cm 6 7 + - 8 LCD LCD LCD 9 14 UL NEMKO CSA FIMKO BSI LCIE IMQ CEBEC SAA KEMA OVE PSE SEV EK SEMKO CCC DEMKO PSB VDE 10 CD-ROM http://www.epson.com

More information

untitled

untitled 2013 2 3 4 16 20 36 38 43 55 69 71 73 74 76 77 79 80 171 175 1 2 14.8419.0% 28.7516.5%20 174.14 14.1% 71.07 7.3% 46.6125.9% 8.323.6% 2017 13% 3 2 4 24 104 3 CNG2 CNG14.84 LNG 23 1,445.301,292.60 29.27

More information

6. 4 5 6 7 8 9 10 11 ...1... 1...1...1...2... 3...3...5...9... 11...11...11...12...12... 13...13...14... 16...16...19...20 I 1 ---------------------------------------------------3 2 ------------------------------------------------6

More information

全唐诗28

全唐诗28 ... 1... 1... 1... 2... 2... 2... 3... 3... 4... 4... 4... 5... 5... 5... 5... 6... 6... 6... 6... 7... 7... 7... 7... 8... 8 I II... 8... 9... 9... 9...10...10...10...11...11...11...11...12...12...12...13...13...13...14...14...14...15...15...15...16...16...16...17...17

More information

AL-MX200 Series

AL-MX200 Series PostScript Level3 Compatible NPD4760-00 TC Seiko Epson Corporation Seiko Epson Corporation ( ) Seiko Epson Corporation Seiko Epson Corporation Epson Seiko Epson Corporation Apple Bonjour ColorSync Macintosh

More information

穨學前教育課程指引.PDF

穨學前教育課程指引.PDF i 1 1.1 1 1.2 1 4 2.1 4 2.2 5 2.3 7 2.4 9 2.5 11 2.6 1 2 1 5 3.1 1 5 3.2 1 5 19 4.1 19 4.2 19 4.3 2 1 4.4 29 4.5 38 4.6 4 3 4.7 47 50 5.1 5 0 5.2 5 0 5.3 6 2 5.4 9 4 5.5 1 2 6 ( ) 1 2 7 ( ) 1 31 ( ) 1

More information

IsPostBack 2

IsPostBack 2 5 IsPostBack 2 TextBox 3 TextBox TextBox 4 TextBox TextBox 1 2 5 TextBox Columns MaxLength ReadOnly Rows Text TextMode TextMode MultiLine TextMode MultiLine True False TextMode MultiLine Password MulitLine

More information

中医疗法(下).doc

中医疗法(下).doc ( 20 010010) 787 1092 1/32 498.50 4 980 2004 9 1 2004 9 1 1 1 000 ISBN 7-204-05940-9/R 019 1880.00 ( 20.00 ) ...1...2...3...4...13...15...17...17...24...25...26...26...28...28...29...31...31...33...33

More information

Chi BoCom H (insert Cover and Back cover).indb

Chi BoCom H (insert Cover and Back cover).indb 2 2 49 3 4 27 30 50 55 93 33 38 41 44 2011 6 30 2011 6 30 2010 12 31 % 4,347,717 3,951,593 10.02 2,433,056 2,236,927 8.77 4,099,307 3,727,936 9.96 3,157,975 2,867,847 10.12 247,542 222,773 11.12 4.40 3.96

More information

2 Intuos 4 Windows Macintosh 1.0 G2208 Wacom Co., Ltd Wacom Wacom Wacom Wacom /96/EC (WEEE) WEEE Wacom 2002/96/EC Wacom RoHS 2002/

2 Intuos 4 Windows Macintosh 1.0 G2208 Wacom Co., Ltd Wacom Wacom Wacom Wacom /96/EC (WEEE) WEEE Wacom 2002/96/EC Wacom RoHS 2002/ 1 Windows Macintosh 1 2 Intuos 4 Windows Macintosh 1.0 G2208 Wacom Co., Ltd. 2008 Wacom Wacom Wacom Wacom 2003 1 27 2002/96/EC (WEEE) WEEE Wacom 2002/96/EC Wacom RoHS 2002/95/EC RoHS Tool ID QuickPoint

More information

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

眼病防治

眼病防治 ( 20 010010) 787 1092 1/32 498.50 4 980 2004 9 1 2004 9 1 1 1 000 ISBN 7-204-05940-9/R 019 1880.00 ( 20.00 ) ...1...1...2...3...5...5...6...7...9... 11...13...14...15...17...18...19...20...21 I II...21...22...23...24...25...27...27...28...29...30...31...33...33...34...36...38...39...40...41...42...43...45

More information

中国南北特色风味名菜 _八)

中国南北特色风味名菜 _八) ( 20 010010) 7871092 1/32 356.25 4 760 2004 8 1 2004 8 1 11 000 ISBN 7-204-05943-3/Z102 1026.00 ( 18.00 ) ...1...2...2...4...6...7...8...9... 10... 11... 12... 13... 13... 14... 15... 17... 18... 19...

More information

Converting image (bmp/jpg) file into binary format

Converting image (bmp/jpg) file into binary format RAiO Image Tool 操作说明 Version 1.0 July 26, 2016 RAiO Technology Inc. Copyright RAiO Technology Inc. 2013 RAiO TECHNOLOGY INC. www.raio.com.tw Revise History Version Date Description 0.1 September 01, 2014

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

untitled

untitled ArcGIS Server Web services Web services Application Web services Web Catalog ArcGIS Server Web services 6-2 Web services? Internet (SOAP) :, : Credit card authentication, shopping carts GIS:, locator services,

More information