pdf版下载地址:http://pan.baidu.com/s/1hrKoza8

文件名:ccsa9

第九章

9-1 简述国内外组态软件现状。

组态软件产品于20 世纪80 年代初出现,并在80 年代末期进入我国。但在90 年代中期之前,组态软件在我国的应用并不普及。究其原因,大致有以下几点:

⑴国内用户还缺乏对组态软件的认识,项目中没有组态软件的预算,或宁愿投入人力物力针对具体项目做长周期的繁冗的上位机的编程开发,而不采用组态软件。

⑵在很长时间里,国内用户的软件意识还不强,面对价格不菲的进口软件(早期的组态软件多为国外厂家开发),很少有用户愿意去购买正版。

⑶当时国内的工业自动化和信息技术应用的水平还不高,组态软件提供了对大规模应用、大量数据进行采集、监控、处理并可以将处理的结果生成管理所需的数据,这些需求并未完全形成。

随着工业控制系统应用的深入,在面临规模更大、控制更复杂的控制系统时,人们逐渐意识到原有的上位机编程的开发方式。对项目来说是费时费力、得不偿失的,同时,MIS(管理信息系统,Management Information System)和CIMS(计算机集成制造系统,ComputerIntegratedManufacturing System)的大量应用,要求工业现场为企业的生产、经营、决策提供更详细和深入的数据,以便优化企业生产经营中的各个环节。因此,在1995 年以后组态软件在国内的应用逐渐得到了普及。

9-2 组态王的主要版本有哪些?

⑴InTouch:Wonderware 的InTouch软件是最早进入我国的组态软件。在20 世纪80 年代末、90 年代初,基于Windows 3.1 的InTouch 软件曾让我们耳目一新,并且InTouch 提供了丰富的图库。但是,早期的InTouch 软件采用DDE 方式与驱动程序通讯,性能较差,最新的InTouch 7.0 版已经完全基于32 位的Windows 平台,并且提供了OPC 支持。

⑵Fix:美国Intellution 公司以Fix 组态软件起家,1995 年被爱默生收购,现在是爱默生集团的全资子公司,Fix6.x 软件提供工控人员熟悉的概念和操作界面,并提供完备的驱动程序(需单独购买)。Intellution将自己最新的产品系列命名为Ifix,在Ifix 中,Intellution 提供了强大的组态功能,

但新版本与以往的6.x 版本并不完全兼容。原有的Script 语言改为VBA(Visual Basic for Application),并且在内部集成了微软的VBA 开发环境。遗憾的是,Intellution并没有提供6.1 版脚本语言到VBA 的转换工具。在Ifix 中,Intellution 的产品与Microsoft的操作系统、网络进行了紧密的集成。Intellution 也是OPC(Ole for Process Control)组织的发起成员之一。Ifix 的OPC 组件和驱动程序同样需要单独购买。

⑶Citech:CIT 公司的Citech也是较早进入中国市场的产品。Citech 具有简洁的操作方式,但其操作方式更多的是面向程序员,而不是工控用户。Citech 提供了类似C 语言的脚本语言进行二次开发,但与Ifix 不同的是,Citech 的脚本语言并非是面向对象的,而是类似于C 语言,这无疑为用户进行二次开发增加了难度。

⑷WinCC:Simens 的WinCC 也是一套完备的组态开发环境,Simens 提供类似C 语言的脚本,包括一个调试环境。WinCC 内嵌OPC 支持,并可对分布式系统进行组态。但WinCC的结构较复杂,用户最好经过Simens 的培训以掌握WinCC 的应用。

⑸组态王:组态王是国内第一家较有影响的组态软件开发公司(更早的品牌多数已经湮灭)。组态王提供了资源管理器式的操作主界面,并且提供了以汉字作为关键字的脚本语言支持。组态王也提供多种硬件驱动程序。

⑹力控:大庆三维公司的力控是国内较早就已经出现的组态软件之一。随着Windows 3.1的流行,又开发出了16 位Windows 版的力控。但直至Windows 95 版本的力控诞生之前,它主要用于公司内部的一些项目。32 位下的1.0 版的力控,在体系结构上就已经具备了较为明显的先进性,其最大的特征之一就是其基于真正意义的分布式实时数据库的三层结构,而且其实时数据库结构可为可组态的活结构。在1999—2000 年期间,力控得到了长足的发展,最新推出的2.0 版在功能的丰富特性、易用性、开放性和I/O 驱动数量,都得到了很大的提高。

9-3 简述组态王和下位机的通讯原理。

“组态王”把第一台下位机看作是外部设备,在开发过程中您可以根据“设备配置向导”的提示一步步完成连接过程。在运行期间,组态王通过驱动程序和这些外部设备交换数据,包括采集数据和发送数据/指令。每一个驱动程序都是一个COM对象,这种方式使通讯程序和组态王构成一个完整的系统,既保证了运行系统的高效率,也使系统能够达到很大的规模。

图9-2  组态王和下位机通讯

9-4组态王变量的主要类型有哪些?

⑴基本变量类型

变量的基本类型共有两类:I/O 变量、内存变量。I/O 变量是指可与外部数据采集程序直接进行数据交换的变量,如下位机数据采集设备(如PLC、仪表等)或其他应用程序(如DDE、OPC 服务器等)。这种数据交换是双向的、动态的,就是说:在“组态王”系统运行过程中,每当I/O 变量的值改变时,该值就会自动写入下位机或其他应用程序;每当下位机或应用程序中的值改变时,“组态王”系统中的变量值也会自动更新。所以,那些从下位机采集来的数据、发送给下位机的指令,比如“反应罐液位”、“电源开关”等变量,都需要设置成“I/O变量”。内存变量是指那些不需要和其他应用程序交换数据、也不需要从下位机得到数据、只在“组态王”内需要的变量,比如计算过程的中间变量,就可以设置成“内存变量”。

⑵变量的数据类型

组态王中变量的数据类型与一般程序设计语言中的变量比较类似,主要有以下几种:

①实型变量:类似一般程序设计语言中的浮点型变量,用于表示浮点(float)型数据,取值范围10E−38~10E+38,有效值7 位。

②离散变量:类似一般程序设计语言中的布尔(BOOL)变量,只有0,1 两种取值,用于表示一些开关量。

③字符串型变量:类似一般程序设计语言中的字符串变量,可用于记录一些有特定含义的字符串,如名称,密码等,该类型变量可以进行比较运算和赋值运算。字符串长度最大值为128 个字符。

④整数变量:类似一般程序设计语言中的有符号长整数型变量,用于表示带符号的整型数据,取值范围(−2 147 483 648)~2 147 483 647。

⑤结构变量:当组态王工程中定义了结构变量时,在变量类型的下拉列表框中会自动列出已定义的结构变量,一个结构变量作为一种变量类型,结构变量下可包含多个成员,每一个成员就是一个基本变量,成员类型可以为:内存离散、内存整型、内存实型、内存字符串、I/O 离散、I/O整型、I/O 实型、I/O 字符串。

⑶特殊变量类型

特殊变量类型有报警窗口变量、历史趋势曲线变量、系统预设变量三种。这几种特殊类型的变量正是体现了“组态王”系统面向工控软件、自动生成人机接口的特色。

①报警窗口变量:这是工程人员在制作画面时通过定义报警窗口生成的,在报警窗口定义对话框中有一选项为:“报警窗口名”,工程人员在此处键入的内容即为报警窗口变量。此变量在数据词典中是找不到的,是组态王内部定义的特殊变量。可用命令语言编制程序来设置或改变报警窗口的一些特性,如改变报警组名或优先级,在窗口内上下翻页等。

②历史趋势曲线变量:这是工程人员在制作画面时通过定义历史趋势曲线时生成的,在历史趋势曲线定义对话框中有一选项为:“历史趋势曲线名”,工程人员在此处键入的内容即为历史趋势曲线变量(区分大小写)。此变量在数据词典中是找不到的,是组态王内部定义的特殊变量。工程人员可用命令语言编制程序来设置或改变历史趋势曲线的一些特性,如改变历史趋势曲线的起始时间或显示的时间长度等。

③系统预设变量:预设变量中有8 个时间变量是系统已经在数据库中定义的,用户可以直接使用。

$年:返回系统当前日期的年份。

$月:返回1~12 之间的整数,表示一年之中的某一月。

$日:返回1~31 之间的整数,表示一月之中的某一天。

$时:返回0~23 之间的整数,表示一天之中的某一钟点。

$分:返回0~59 之间的整数,表示一小时之中的某分钟。

$秒:返回0~59 之间的整数,表示一分钟之中的某一秒。

$日期:返回系统当前日期。

$时间:返回系统当前时间。

以上变量由系统自动更新,工程人员只能读取时间变量,而不能改变它们的值。预设变量还有:

$用户名:在程序运行时记录当前登录的用户的名字。

$访问权限:在程序运行时记录当前登录的用户的访问权限。

图9-8  定义变量

$启动历史记录:表明历史记录是否启动(1=启动;0=未启动)。

$启动报警记录:表明报警记录是否启动(1=启动;0=未启动)。

$新报警:每当报警发生时,“$新报警”被系统自动设置为1。由工程人员负责把该值恢复到0。

$启动后台命令:表明后台命令是否启动(1=启动;0=未启动)。

$双机热备状态:表明双机热备中计算机的所处状态。

$毫秒:返回当前系统的毫秒数。

$网络状态:用户通过引用网络上计算机的$网络状态的变量得到网络通讯的状态。

9-5简述建立原料罐填充动画链接的主要步骤。

所谓“动画连接”就是建立画面的图素与数据库变量的对应关系。对于我们即将建立的“监控中心”,如果画面上的原料罐、反应罐(矩形框对象)的大小能够随着变量“原料罐1液位”等变量值的大小而改变,那么,对于操作者来说,他就能够看到一个反应工业现场状态的监控画面,这正是本课程的目标。接下来为1号原料罐、2号原料罐、反应罐三个图素建立动画连接。

在画面上双击图形对象“1号原料罐”,弹出“动画连接”对话框。单击“填充”按钮,弹出“填充连接”对话框,对话框设置如图9-9。注意填充方向和填充色的选择。单击“确定”。单击“动画连接”对话框的“确定”。用同样的方法设置“2号原料罐”和“反应罐”的动画连接设置“反应罐”的动画连接时需要将“最大填充高度”的“对应数值”设为2000。原料罐和反应罐的动画连接设置完毕。

图9-9 动画连接

作为一个实际上可用的监控程序,可能操作者仍需要知道液面的准确高度,而不仅仅是设置刻度。这个功能由“模拟值输出”动画来实现。在工具箱中选用文本工具,在“1号原料罐”矩形框的中部输入字符串“####”。这个字符串的内容是任意的,比如你可以输入“原料罐1液位”当画面程序实际运行时,字符串的内容将被你需要输出的模拟值所取代。用同样的方法,在另两个矩形框的中部输入字符串。操作完成后,画面如图9-10。双击文本对象“####”,弹出“动画连接”对话框。单击“模拟值输出”,弹出“模拟值输出连接”对话框,对话框设置如图9-11。在此处,“表达式”是要输出的变量的名称。在其他的情况下,此处可输入复杂的表达式,包括变量名、运算符、函数等。输出格式可以随意更改,它们与字符串“####”的长短无关。单击“确定”。单击“动画连接”对话框的“确定”,完成设置。同样的方法,为另两个字符串建立“模拟值输出”动画连接,连接的表达式分别为变量“原料罐2液位”和“反应罐液位”。

图9-10  动画连接

图9-11动画连接

选择Touchmak菜单“文件\全部存”。只有保存画面上的改变以后,在Touchvew中才能看到你的工作成果。启动画面运行程序Touchvew 。Touchvew启动后,选择菜单“画面\打开”,在弹出的对话框中选择“监控中心”。运行画面如下图。

图9-12 运行画面

9-6设置实时趋势曲线的主要步骤有哪些?

激活画面制作系统Touchmak,在工具箱中选用“实时趋势曲线”工具,然后在画面上绘制趋势曲线,画面如图9-13;为了让操作者使用方便,在趋势曲线的下方需要增加标注,说明各种颜色的曲线所代表的变量。双击此实时趋势曲线对象,弹出“实时趋势曲线对象”对话框,对话框设置如图9-13所示。

图9-13实时趋势曲线和实时报警

图9-14添加实时趋势曲线

⒋设置实时报警窗口

在工具箱中选用报警窗口工具,在画面上绘制报警窗口,画面如图9-15;为使报警窗口内能显示变量的非正常变化,你必须先做如下设置:切换到工程浏览器,在左侧选择“报警组”然后双击右侧的图标进入“报警组定义”对话框。在“报警组定义”对话框中将“RootNode”修改为“车间”。单击“确认”,关闭“修改报警组”对话框。单击“报警组定义”对话框的“确认”按钮。

图9-15添加实时报警

在工程浏览器的左侧选择“数据词典”,在右侧双击变量名“原料罐1液位”。在“变量属性”对话框中单击“报警定义”标签。将对话框设置如图9-16;报警组名已经自动设为“车间”。单击“确定”,关闭对话框。用同样的方法定义变量“原料罐2液位”和“反应罐液位”的报警限只有在“变量定义”对话框中定义了变量的报警方式后,才能在报警窗口中显示此变量。接下来设置报警窗口。双击此报警窗口对象,弹出对话框,对话框设置如图9-17;各种文本的颜色你可自由设置。单击“报警信息格式”,设置格式如9-17;单击“确认”单击“报警窗口定义”的确定按钮。

图9-16定义实时报警

图9-17定义实时报警

图9-18定义实时报警

选择菜单“文件/全部存”,保存你的工作成果。激活画面运行程序Touchvew,画面效果如下:

图9-19  实时报警运行画面

计算机控制技术课程配套教材习题解答(第9章)相关推荐

  1. 计算机控制技术课程配套教材习题解答(第1、2、3章)

    pdf版下载地址:http://pan.baidu.com/s/1hrKoza8 文件名:ccsa1_3 第一章 1-1 计算机控制系统的硬件由哪几部分组成?各部分的作用是什么? 硬件包括计算机.过程 ...

  2. 计算机控制技术课程配套教材习题解答(第4、5章)

    pdf版下载地址:http://pan.baidu.com/s/1hrKoza8 文件名:ccsa4_5 模拟量输入输出 第四章 4-1 模拟量输入通道基本组成包括哪些环节,各环节的作用是什么? ⒈模 ...

  3. 计算机控制技术课程配套教材习题解答(第6、7、8章)

    https://blog.csdn.net/ZhangRelay/article/details/97485429 不清楚为何这篇博文点击量如此之高,课程全部资料链接如下: https://zhang ...

  4. 北师范《计算机导论》在线作业,计算机导论教学指导与习题解答简介,目录书摘...

    编辑推荐: 根据教育部"高等学校计算机科学与技术专业规范"组织编写 与美国ACM和IEEE CS ComputingCurricula新进展同步 国家精品教材配套用书 ●提供了教材 ...

  5. c语言程序设计 谢蓉蓉 答案,C语言程序设计/21世纪普通高校计算机公共课程规划教材...

    <21世纪普通高校计算机公共课程规划教材:C语言程序设计>以程序设计为主线,系统介绍C语言及其程序设计技术.<21世纪普通高校计算机公共课程规划教材:C语言程序设计>共10章, ...

  6. 计算机控制pud,控制系统状态空间实施方案计算机控制技术课程实施方案

    <控制系统状态空间实施方案计算机控制技术课程实施方案>由会员分享,可在线阅读,更多相关<控制系统状态空间实施方案计算机控制技术课程实施方案(12页珍藏版)>请在人人文库网上搜索 ...

  7. 惠州学院计算机基础课程配套练习系统

    惠州学院计算机基础课程配套练习系统 地址:http://202.192.224.171/itutoronline 欢迎同学们进去玩玩. 用户名和密码都是学号

  8. 计算机控制技术课程教学设计(10个)

    计算机控制技术课程教学设计(一些思考与尝试) PID算法可以用Matlab或C语言进行学习:系统接口和输入输出可以通过三维仿真软件或实际系统进行学习. ~~~~~~

  9. matlab pid 课设 参考文献,系统控制论文,关于Matlab在计算机控制技术课程“PID控制器参数整定”中的应用相关参考文献资料-免费论文范文...

    导读:本论文可用于系统控制论文范文参考下载,系统控制相关论文写作参考研究. 周少武陈敏沈红远 曾照福 (湖南科技大学信息与电气工程学院 湖南湘潭411201) 摘 要:传统PID参数整定的教学方法以定 ...

最新文章

  1. Java IO流学习总结七:Commons IO 2.5-FileUtils
  2. aspose java_Aspose.Cells for Java
  3. 产品型号 计算机硬件,主流CPU产品型号后缀名详解_CPUCPU评测-中关村在线
  4. php 电梯程序设计,教你写出京东电梯式轮播
  5. 机器学习常用模型:决策树_fairmodels:让我们与有偏见的机器学习模型作斗争
  6. 行高引起的行内块级元素间距
  7. 面试官:你连 RESTful 都不知道我怎么敢要你?| 原力计划
  8. Cocos2d入门--2-- 三角函数的应用
  9. 负载均衡之让nginx跑起来
  10. mysql日志文件的类型和作用_Mysql日志文件和日志类型介绍
  11. 管理感悟:复制代码是错误行为
  12. 六、Xbar-R、柏拉图管制分析
  13. 为什么P2P模式下载的人越多速度越快,为什么P2P伤害机械硬盘
  14. python排名上升_11点告诉你,Python为什么这些年在编程语言排行榜上一直上升?...
  15. 无需更改注册表 实现CHM文件从共享文件中直接打开
  16. win10开启热点后电脑无法打开网页
  17. 阿卜杜拉·法兹里和两个哥哥的故事(二)
  18. 抖音火爆的微信早安推送在线版,无需搭建代码,简单配置即可给心爱的他/她定时推送消息了
  19. 内存耗尽后Redis会发生什么
  20. Enable MMC3 interface On Am57xx

热门文章

  1. 简信CRM轻松解决合同管理问题
  2. 计算机系统结构实践教程(第二版)张晨曦
  3. 17开年第一篇Activity之间传递ListT 以及T对象类型数据的方法
  4. MySQL入门-day06-数据库表设计、视图、索引
  5. 深划痕需要大面积补漆吗_汽车划痕修复有哪些误区
  6. 公司怎么识别水货程序员程序员谈薪水?
  7. 谁能提供一个带条码生成器的CorelDRAW 9 ?
  8. TableEdit UI
  9. 1小时完成别人5小时才能完成的事--信息爆炸时代提高效能
  10. 英语学习笔记11-17讲