第10讲]易控工程中的编程—用户程序(二)

上传人:qt****68 文档编号:47876015 上传时间:2018-07-05 格式:PDF 页数:12 大小:1.32MB
返回 下载 相关 举报
第10讲]易控工程中的编程—用户程序(二)_第1页
第1页 / 共12页
第10讲]易控工程中的编程—用户程序(二)_第2页
第2页 / 共12页
第10讲]易控工程中的编程—用户程序(二)_第3页
第3页 / 共12页
第10讲]易控工程中的编程—用户程序(二)_第4页
第4页 / 共12页
第10讲]易控工程中的编程—用户程序(二)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《第10讲]易控工程中的编程—用户程序(二)》由会员分享,可在线阅读,更多相关《第10讲]易控工程中的编程—用户程序(二)(12页珍藏版)》请在金锄头文库上搜索。

1、第七章 易控工程中的编程用户程序 易控(INSPEC)培训教程 140 WWW.CONTROLEASE.COM 九思易自动化软件 图 7.18 用户程序编辑器的智能感知:输入“.” 图 7.19 用户程序编辑器的智能感知示:继续输入“.” 图 7.20 用户程序编辑器的智能感知:选择“Open” 第四节 自定义方法 在编写用户程序时,有时候需要到处使用重复的代码片断,如果到处拷贝粘 贴,即容易出错也不便于代码的修改完善。因此需要把反复使用的代码封装到一起,定义为一个函数指令,供其它地方调用。在易控面向对象的语言中,这个函 数被称为“方法” ,用户自己定义的函数就是自定义方法。自定义方法是一段封

2、 装的程序片断,可以在工程的任何用户程序中调用。 易控(INSPEC)培训教程 第七章 易控工程中的编程用户程序 九思易自动化软件 WWW.CONTROLEASE.COM 141 自定义方法能很好解决代码重用的问题, 提高用户程序开发的效率和简化代 码的管理。需要修改时只要修改一处,不用处处修改。 图 7.21 定义自定义方法处 自定义方法的使用涉及两个方面对内容,首先是定义方法,然后是使用该方 法。 一、自定义方法的创建 定义一个自定义方法,在工程树的“用户程序”节点下进行。双击“自定义 方法”节点打开自定义方法的配置工作页,如图 7.22 所示。 图 7.22 自定义方法配臵工作页 在“方

3、法名称”列中输入方法的名称,也可以在“方法内容”的代码处直接 修改。在“说明”列中输入方法的简要说明,使得在不打开方法的内容时,即可 知道方法的作用,便于管理。返回值和参数列均不可修改,需要在“方法内容” 的代码中修改,列在这里是为了方便查看和管理。 图 7.22 的例子中配置了两个自定义方法:Add 和 ShutDown,从配置页就可 以看出 Add 方法是将两个整数相加获得一个整数的方法, 当然这只是一个演示, 在实际中是不必要的。 ShutDown 方法是一个不需要参数和没有返回值的方法,其作用就是安全的第七章 易控工程中的编程用户程序 易控(INSPEC)培训教程 142 WWW.CO

4、NTROLEASE.COM 九思易自动化软件 将计算机电源关机。方法的代码可通过选中“方法内容”列中的栅格,点击栅格 中的“” 按钮,弹出“用户程序代码编辑器” ,在那里察看、输入和修改自定 义方法的内容。 图 7.23 举例的 ShutDown 方法首先弹出一个确认关机的对话框, 在用户选择 Yes 肯定回答后,退出工程并关闭计算机电源,否则什么也不会作。 图 7.23 自定义方法的内容示例 自定义方法包含方法的名称、说明、调用参数、返回值类型、方法的程序体 等几个部分构成。图 7.24 标注了自定义方法的各个部分。 图 7.24 自定义方法的几个构成部分 二、自定义方法的使用 自定义方法定

5、义好后,即可在用户程序中调用。在用户程序编辑器的命令窗 口中有一个“自定义”分类,该分类下列出了已经定义的自定义方法,双击方法 的名称就可以将该方法插入到用户程序代码中。图 7.25 列出了用户程序编辑器易控(INSPEC)培训教程 第七章 易控工程中的编程用户程序 九思易自动化软件 WWW.CONTROLEASE.COM 143 中的命令窗口中的“自定义”方法分类和所包含的自定义方法(例子) 。 第五节 外部程序引用 在编写易控的用户程序时,可以使用 不仅仅可以使用易控提供的各种命令,访问工程的对象,修改对象的属性和调用工 程对象的各种方法,定义自己的方法指令, 还可以使用标准C#语言提供的

6、所有功能, 使用.NET Framework 框架数以万计的庞 大类库所提供的丰富功能,还可以使用用 户自己的动态库,及第三方软件提供商提 供的类库。 图 7.25 自定义方法的使用 外部程序代码的引用,使得易控可以使用外部的成熟程序代码,将它们的功能插入到易控中,从而扩展了易控的功能。事实上,不管厂家是在如何不断地去 扩充、完善和丰富组态软件的脚本指令,任何组态软件的脚本指令和能够完成的 功能总是有限的,易控也不例外,但是易控在用户程序中可以直接使用外部高级 语言程序功能的能力,使得易控可以实现在其它组态软件中难以想象的功能。 一、可用的外部程序代码 易控中可以使用的外部程序代码一般有以下几

7、种类型: .NET Framework 框架的类库。 如在.NET Framework 框架类库中微软提供了专门用于消息队列处理的程序集 System.Messaging.dll,在其中包含了 连接、监听、管理网络消息队列以及发送、接收和侦听消息的类。在易 控中使用这些类可以实现自己的网络消息队列功能。 第三方软件提供商提供的.NET 类库。.NET Framework 框架的类库是微 软提供的,其它厂商也提供自己专业的类库,如 NI 提供的 Measurement Studio 类库包含了专门用于测试、测量和自动化应用的各种类。在易控 中可以使用这些类来做数据采集、分析和显示数据。 用户自己

8、编写的.NET 类库。 除了专门软件厂商提供的类库外, 用户自己编写的类库一样可以使用。 传统的 Windows 动态链接库。 除了上述的.NET Framework 框架的类库外, 传统的 Windows 动态链接库在易控中也可以使用,不过使用前需要进行 一些包装,在包装的.NET 程序集中对 Windows 连接库中的函数进行申第七章 易控工程中的编程用户程序 易控(INSPEC)培训教程 144 WWW.CONTROLEASE.COM 九思易自动化软件 明, 通过使用包装程序集间接使用 Windows 的动态连接库。 但 Windows 的动态链接库本身不需要进行重新编译等任何处理。 这

9、样,易控就事实上可以集成和使用非常广泛的外部程序代码了。而且这些 类库可以是使用不同高级语言开发的,比如 C# 、VB.NET 等。 二、外部程序代码的使用方法 在易控中集成和使用外部代码是专门为高级用户准备的, 需要用户具备一定 的编程基础,了解.NET Framework 框架的基本概念,如类、类库、方法、属性、 程序集、命名空间等,了解 Windows 动态连接库的一些基本知识和使用。 外部程序代码都是以程序集或动态连接库的形式出现, 它包含一些位于一个 或多个命名空间下的类或者数据类型等。 要使用它们首先要将它们添加到工程中, 然后才可以使用。 添加的过程在易控开发环境的工程树的“用户

10、程序| 外部引用”处进行。双击“外部引用”节点将弹出对话框来进行引用外部程序的配置工作。 “添加”按 钮将弹出新的对话框添加需要引用的动态链接库(程序集) , “移除”按钮则除掉 不需要引用的动态链接库。 图 7.26 外部程序的引用配臵对话框 引用命名空间选中后,则在代码中不需每次都输入类的命名空间,可以简化 用户程序代码的书写。 例如易控默认引用了命名空间 “System.Windows.Forms” , 则在显示一个自己定义的对话框时, 可以使用 “MessageBox.Show ( “提示问子” ) ; ”易控(INSPEC)培训教程 第七章 易控工程中的编程用户程序 九思易自动化软件

11、 WWW.CONTROLEASE.COM 145 来替代“System.Windows.Forms.MessageBox.Show( “提示文字” ) ; ” 。 易控默认引用了.NET Framework 框架类库中一些常用的类库,不再需要添 加。 “添加”按钮用于添加没有引用的类库,包括.NET Framework 框架的类库, 第三方类库和用户自己的类库。 “全部程序集”是已经安装到了计算机并已经登记的程序集。 “浏览”页则 用于用户自己从硬盘上去选择特定的程序集。 图 7.27 添加全局程序集 图 7.28 添加第三方或者用户自己的程序集 第七章 易控工程中的编程用户程序 易控(INS

12、PEC)培训教程 146 WWW.CONTROLEASE.COM 九思易自动化软件 程序集添加进来以后,程序集中的类就可以使用了。使用的方法也很简单, 一般需要先建立一个类的对象 (实例化) , 通过建立的对象来调用其方法和属性。 具体使用方法参考下一节的例子。 第六节 用户程序示例 下面以几个简单的用户程序片断的例子来说明易控用户程序的使用。 示例示例一一 要求在工程中按下“F1”键,打开或关闭工程中的一个阀门,如果阀门是关 闭的则打开,如果是打开的则关闭。 假定工程中有一个“现场.阀门”变量( “现 场”是变量组的 名称) ,将该变量置“1”将打开现场的阀门,置“0”则关闭阀 门,同时该变

13、量为“1”表示阀门是打开的,为“0”表示阀门是关闭的。 实现方法:实现方法:此例属于按下一个键盘键执行某一段程序的功能,这是易控工程 标准的“热键”所实现的功能。双击工程树的“热键” ,在工作区中打开“热键 用户程序”配置工作页,点击“新建”按钮添加一个热键,选中“热键”栅格,按“F1”键,选中“程序”栅格,点击“”小按钮,在弹出的用户程序编辑 器中编写如下程序片断保存即可。 图 7.29 例一种的用户程序片断 其中的“=! ”是 C#/C+的标准取反赋值操作符,该条程序也可以写成如下 形式,效果是相同的。 图 7.30 例一中的用户程序片断 示例二示例二 易控(INSPEC)培训教程 第七章

14、 易控工程中的编程用户程序 九思易自动化软件 WWW.CONTROLEASE.COM 147 本例要求为工程设置一个试运行到期时间,当运行到期后,弹出一个“运行 到期”对话框,提醒用户在工程中输入“运行确认码” ,如果用户按要求输入了 正确的确认码,以后工程的运行将不会再弹出运行到期对话框,否则,每隔 5 分 钟都会再次弹出同样的对话框,直至用户按要求输入了正确的“运行确认码”为 止。 实现方法:实现方法:假定在工程中有一个开关型变量 Misc.CheckEnded( “Misc”是变 量组的名称)表示运行确认码已经正确输入与否,默认为否(即 false) , ,会弹出对话框要求输入确认码。

15、逻辑型变量 Misc.CheckEnded 表示用户已经输入了正 确的确认码与否 (默认为否) 。 则可以在工程中配置一段按照以下条件触发的 “条 件程序” 。 图 7.31 条件触发的用户程序组织 双击工程树的 “条件程序” , 在工作区中打开 “条件用户程序配置” 工作页, 点击“新建”按钮添加一段“条件程序” ,选中“条件表达式”栅格,输入以下 条件表达式,其含义是当“当系统时间是 5 分钟的整倍数时,如 5 分、10 分、 15 分等,并且变量 CheckEnded 为 False 时,程序片断会执行” 。 图 7.32 例 2 的用户程序片断触发条件 选中“程序”栅格,点击“ ”小按

16、钮,在弹出的用户程序编辑器中编写第七章 易控工程中的编程用户程序 易控(INSPEC)培训教程 148 WWW.CONTROLEASE.COM 九思易自动化软件 如下程序片断,在“执行方式”栅格中,选择“变真时”即在条件满足的时刻用 户程序片断只执行一次。 图 7.33 例 2 的用户程序片断内容 该程序片断的含义是,当“当时间超过了设定的期限,并且“工程到期对话 框”还没有显示的时候,显示该对话框,如果用户点击“确定”后,对话框会消 失, 但如果没有输入正确的 “运行确认码” , 5 分钟后, 此对话框会再次显示。(注: 输入“运行确认码” 、校验码的设计和校验码的正确性校验,在工程中的其它页 面实现,这里不再讲述) 示例三示例三 在本例中,用户有一个自己的动态链接库(.NET 程序集) ,其中包含已经实 现且满足自己特殊功能的代码,现要求在易控工程中使用这些代码

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号