文件名称:
[第10讲]易控工程中的编程—用户程序(二).pdf
开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-10-11
详细说明:[第10讲]易控工程中的编程—用户程序(二)pdf,[第10讲]易控工程中的编程—用户程序(二)第七章易控工程中的绽程一用户程序
易控( INSPEC)培训教程
将计算机电源关机。方法的代码可通过选中“方法内容”列中的栅格,点击栅格
中的“..”按钮,弹出“用户程序代码编辑器”,在那里察看、输入和修改自定
义方法的内容。
图7.23举例的 Shutdown方法首先弹出一个确认关机的对话框,在用户选择
Yes肯定回答后,退出工程并关闭计算机电源,否则什么也不会作。
public static void shutDown
if( MessageBox.show("确实要关机吗?","确认关机",
MessageBoxButtons. YesNO,
MessageBoxIcon question
)= DialogResult Yes
Pr。ject.Exit();
/退出工程
Insystem. werft();/关闭计算机电源
10
图723自定义方法的内容示例
自定义方法包含方法的名称、说明、调用参数、返回值类型、方法的程序体
等几个部分构成。图7.24标注了自定义方法的各个部分。
2//返回两个整数的和的方法Ad程序中的注释说明
public static int Add(int a, int bl
6
return atb
返回值类型
程序体
方法名称参数
图7.24自定义方法的几个构成部分
二、自定义方法的使用
自定义方法定义好后,即可在用户程序中调用。在用户程序编辑器的命令窗
口中有一个“自定义”分类,该分类下列出了已经定义的自定义方法,双击方法
的名称就可以将该方法插入到用户程序代码中。图7.25列出了用户程序编辑器
WW.CONTROLEASE.COM九思易自动化软件
易控( INSPEC)培训教程
第七章易控工程中的编程一用户程序
中的命令窗凵中的“自定义”方法分类和所包含的自定义方法(例了)
命令
啶B系统
司工程
第五节外部程序孙用
●语言
画面
田变量
在编写易控的用户程序吋,可以使用
IO通信
自定义
不仅仅可以使用易控提供的各种命令,访
g Add
s
问工程的对象,修改对象的属性和调用工
9 Qui cached
9 Forward
程对象的各种方法,定义自己的方法指令,
9 Backward
还可以使用标准C#语言提供的所有功能,
田报警
出历史记录
使用 net Framework框架数以万计的庞
±⑥数据库访问
用户
大类库所提供的丰富功能,还可以使用用
国配方
户自己的动态厍,及第三方软件提供商提
国报表
供的类库
图7.25自定义方法的使用
外部程序代码的引用,使得易控可以使用外部的成熟程序代码,将它们的功
能插入到易控中,从而扩展了易控的功能。事实上,不管厂家是在如何不断地去
扩充、完善和丰富组态软件的脚本指令,任何组态软件的脚本指令和能够完成的
功能总是有限的,易控也不例外,但是易控在用户程序中可以直接使用外部高级
语言程序功能的能力,使得易控可以实现在其亡组态软件中难以想象的功能。
一、可用的外部程序代码
易控中可以使用的外部程序代码一般有以下几种类型:
■. NET Framework框架的类库。如在 NET Framework框架类库中微软提供
了专门用于消息队列处理的程序集 System. Messaging. dIl,在其中包含了
连接、监听、管理网络消息队列以及发送、接收和侦听消息的类。在易
控中使用这些类可以实现自己的网络消息队列功能。
■第三方软件提供商提供的NET类库。 NET Framework框架的类库是微
软提供的,其它厂商也提供自己专业的类库,如NⅠ提供的 Measurement
Studio类库包含了专门用于测试、测量和自动化应用的各种类。在易控
中可以使用这些类来做数据采集、分析和显示数据。
用户自己编写的NET类库。除了专门软件厂商提供的类庠外,用户自己
编写的类库一样可以使用
■传统的 Windows动态链接库。除了上述的 NeT Framework框架的类库外,
传统的 Windows动态链接库在易控中乜可以使用,不过使用前需要进行
些包装,在包装的N上I程序集中对 Windows连接库中的函效进行申
九思易白动化软件WwW.CONTROLEASE.COM
143
第七章易控工程中的绽程一用户程序
易控( INSPEC)培训教程
明,通过使用包装程序集间接使用 Windows的动态连接库。但 Windows
的动态链接库本身不需要进行重新编译等任何处理。
这样,易控就事实上可以集成和使用非常广泛的外部程序代码」。而且这些
类库可以是使用不同高级语言开发的,比如C#、 VB.NET等
二、外部程序代码的使用方法
在易控中集成和使用外部代码是专门为高级用户准备的,需要用户具备一定
的编程基础,了解. NET Framework框架的基木概念,如类、类库、方法、属性、
程序集、命名空间等,了解 Windows动态连接库的一些基本知识和使用。
外部程序代码都是以程序集或动态连接库的形式出现,它包含一些位于一个
或多个命名空间下的类或者数据类型等。要使用它们首先要将它们添加到工程中,
然后才可以使用。
添加的过程在易控廾发坏境的工程树的“用户程序外部引用”处进行。双
击“外部引用”节点将弹岀对话框来进行引用外部程序的配置工作。“添加”按
钮将弹出新的对话框添加需要引用的动态链接库(程序集),“移除”按钮则除掉
不需要引用的动态链接库。
外部程序引用
「引用程序集4)引用命名空间
程序集名称
版本路径
匚添加(s)匚移除(R)
匚确定匚取泊
图726外部裎序的引用配置对话框
引用命名空间选中后,则在代码中个需每次都输入类的命名空间,可以简化
用户程序代码的书写。例如易控默认引用了命名空间“ System. Windows:Foms”,
则在显示一个自己定义的对话框时,可以使用“ MessageBox. Show(“提示问子”);
144
WW.CONTROLEASE.COM九思易自动化软件
易控( INSPEC)培训教程
第七章易控工程中的编程一用户程序
来替代“ System. Windows,上orms. MessageBox.Show(“提示文字”);”。
易控默认引用了 Net Framework框架类库中一些常用的类库,不再需要添
加。“添加”按钮用于添加没有引用的类库,包括 NET Framework框架的类厍,
第三方类库和用户自己的类库
“全部程序集”是已经安装到了计算机并已经登记的程序集。“浏览”页则
用于用户自匚从硬盘上去选择特定的程序集。
添加引用
全局程序集浏览最近
程序集名称
版本路径
Accessibility
2.0.0.0
ADODB
7.0.3..
盘 spNetMcext
2.0.0.0
Extensibili ty
7.0.3...
IEExecRemote
IEHos t
2.0.0.0
IIEHos t
pdnctrl
11.0.0.0
ISymYrapper
2.0.0,0
MFCMIFC8O
1.0.0.0
《
确定匚取消
图7.27添加全局程序集
添加引用
回区
全局程序集浏览最近
程序集名称
版本
路径
选择(s
移除(R)
L确定[取消
图7.28添加第三方或者用户自己的程序集
九思易白动化软件WwW.CONTROLEASE.COM
145
第七章易控工程中的绽程一用户程序
易控( INSPEC)培训教程
程序集添加进来以后,程序集中的类就可以使用了。使用的方法也很简单,
般需要先建立一个类的对象(实例化),通过建立的对象来调用其方法和属性。
具体使用方法参考下一节的例子。
第六节用户程序示例
下面以几个简单的用户程序片淅的例子来说叨易控用户程序的使用。
示例
要求在工程中按下“F1”键,打开或关闭工程中的个阀门,如果阀门是关
闭的则打廾,如果是打廾的则关闭。假定工程中有一个“现场.阀门”变量(“现
场”是变量组的名称),将该变量置“1”将打开现场的阀门,置“0”则关闭阀
门,同时该变量为“1”表示阀门是打开的,为“0”表示阀门是关闭的。
实现方法:此例属亍按下个键盘键执行某段程序的功能,这是易控工程
标准的“热键”所实堄的功能。双击工程树的“热键”,在工作区中打廾“热键
用户程序”配置工作页,点击“新建”按钮添加一个热键,选中“热键”栅格,
按“F1”键,选中“程序”栅格,点击“回”小按钮,在弹出的用户程序编辑
器中编写如下程序片断保存即可
现场.阀门=!现场.阀门;
图7.29例一种的用户程序片断
其中的“=!”是C#C-+的标准取反赋值操作符,该条程序也可以写成如下
形式,效果是相同的。
iE(现场.阀门=a1se)
现场.阀门=true
else
现场.阀门=a1se;
图7.30例一中的用户程序片断
示例二
WW.CONTROLEASE.COM九思易自动化软件
易控( INSPEC)培训教程
第七章易控工程中的编程一用户程序
本例要求为工程设置个试运行到期吋间,当运行到期后,弹出个“运行
到期”对话框,提醒用户在工程中输入“运行确认码”,如果用户按要求输入了
正确的确认码,以后工程的运行将不会再弹出运行到期对话框,否则,每隔5分
钟都会再次弹出同样的对话框,直至用户按要求输入了正确的“运行确认码”为
止
实现方法:假定在工程中有一个廾关型变量 Misc. check ended(“Misc”是变
量组的名称)表示运行确认码已经正确输入与否,默认为否(即 false),,会弹
出对话框要求输入确认码。逻辑型变量 Misc. Check ended表示用户已经输入了正
确的确认码与否(默认为否)。则可以在工程中配置一段按照以下条件触发的“条
件程序”。
工程
其
演示工程
胡IO通信
由·变量
±画面
±报警
历史记录
回事件记录
白用户程序
变量改变程序
司工程程序
画面程序
团除件程序
φ自定义方法
叫外部引用
热键
⑥数据库访问
国报表
配方
安全区
图7.31条件触发的用户程序组织
双击工程树的“条件程序”,在工作区屮打开“条件用户程序配置”工作页,
点击“新建”按钮添加·段“条件程序”’,选中“条件衣达式”栅格,输入以下
条件表达式,其含义是当“当系统时间是5分钟的整倍数时,如5分、10分
15分等,并且变量 Check Ended为 False时,程序片断会执行”。
(System Variable Minute%05==0)&&(Msic. Check Ended ==false)
图7.32例2的用户程序片断触发奈件
选中“程序”栅格,点击“”小按钮,在弹出的用户程序编辑器中编写
九思易白动化软件WwW.CONTROLEASE.COM
147
第七章易控工程中的绽程一用户程序
易控( INSPEC)培训教程
如下程序片断,在“执行方式”栅格中,选择“变真吋”即在条件满足的吋刻用
户程序片断只执行一次。
1E( Datetime,Now, Compareto(Msic, erodeD)>=0)//现在时间已经超过设定时间
if(!Msic. Alreadyshowed)
∥对话框已显示则不重复显示,反之则显示
Msic. Alreadyshowed = true
设置对话框已经显示标忐
iE( MessageBOX.show("请在设置画面中输入运行确认码:请联系xx人司售后服多电话获取亥码,谢谢!",
"工程运行到期")= DialcgRcsult.CK)//显示对活框
Msic. Already showed=E1se;//欢话框关闭,清除已显示标志
图7.33例2的用户程序片断内容
该程序片断的含义是,当“当时间超过了设定的期限,并且“工程到期对话
框”还没有显示的时候,显示该对话框,如果用户点击“确定”后,对讦框会消
失,但如果没有输入正确的“运行确认码”,5分钏后,此对话框会再次显示。(注:
输入“运行确认码”、校验码的设计和校验码的正确性校验,在工程中的其亡页
面实现,这甲不再讲述)
示例三
在本例中,用户有一个自己的动态链接库(.NT程序集),其中包含已经实
现且满足自己特殊功能的代码,现要求在易控工程中使用这些代码。
假定,动态链接库的名称为“ My Func Code.dll”,位于D盘根目录下,其中
在命名空间“ sPace”下包含要使用的名称为“ My Class”的类,改类包括实现
特殊功能的方法“ My Function”。适用
“ My Function”是木例的目的。
工程
a演示工程
实现方法:双击工程树“用户程序”
±的IO通信
中(变量
节点下的“外部引用”子节点,在弹出
由回画面
对话框中的“引用程序集”页点击“添
田《报警
历史记录
加”按钮,在弹出对话框的“浏览”页
园事件记录
日遒用尸程序
中点击“选择”,从D盘根目录下找到
哆变量改变程序
“ My FunCode.dlI”程序集,确定后,该
工程程序
国画面程序
动态库公出现在程序集列表中。具体步
团条件程序
◆自定义方法
骤见下列图
凹卧部引用
四热键
⑥数据库访问
国报表
国配方
自安全区
图7.34配置引用外部的DIL
WW.CONTROLEASE.COM九思易自动化软件
易控( INSPEC)培训教程
第七章易控工程中的编程一用户程序
外部程序引用
口引用程序集《引用命名空间
程序集名称
版本
路径
2
添加(4)匚移除(R)
匚确定匚职消」
图7.35添加外部DLL到工程中使用
添加引用
回
全局程序集浏览最近
程序集名称
版本
路径
选择(S)
3
移除(R)
L确定匚取消
图7.36从硬盘选择外部DLL
九思易白动化软件WwW.CONTROLEASE.COM
149
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.