您好,欢迎光临本网站![请登录][注册会员]  
文件名称: [第10讲]易控工程中的编程—用户程序(二).pdf
  所属分类: 其它
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-10-11
  提 供 者: weixin_********
 详细说明:[第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最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: