组态王接口

2024-05-27

组态王接口(精选四篇)

组态王接口 篇1

组态王驱动采用Windows标准COM组件, 组态王把每一台与其通讯的下位机都看作是外部设备, 把每一个设备的驱动程序作为外部设备与组态王的通讯接口。在组态王运行时, 外部设备通过接口驱动程序与上位机组态王进行数据交互, 实现数据的采集功能和指令、数据的下发功能。每个外部设备的驱动程序都作为一个COM对象, 这样外部设备、驱动程序和组态王就构成了一个完整的控制系统。

2、组态王IO驱动采集机制

2.1 IO驱动在组态王中的处理过程

驱动程序在运行过程中, 与组态王的至少两个线程相关联, 一个是数据采集线程, 一个是主线程, 其中数据采集线程还可能包含多个线程。数据采集线程如果在在包队列空的情况下会每隔50ms扫描会此线程里的所有变量, 扫描周期最快为50ms, 对于到达采集周期的变量, 组态王会依据驱动中订制的打包规则进行变量的打包, 形成一个包队列, 组态王依次处理这些包队列, 直到包队列的每个元素都处理完毕。处理完毕后组态王会判断扫描周期是否达到, 如果扫描周期到达了, 就进行下一次扫描。

2.2 包处理机制在组态王中的规定

所谓包, 就是为了高效的进行数据采集和发送, 定义的一种变量的集合体, 同一类变量在采集和发送过程中合成一个整体共同处理, 减少了因反复处理单个变量所消耗的时间。组态王处理数据都是以包的形式进行的, 组态王订制了包的各种属性, 规定在读数据和写数据共存的包队列里, 写属性包相对于读包有更高的优先级, 即写包是插在包队列中的第一个读包之前的, 这样就保证了每个写属性包都会优先进行处理。打包完毕后, 组态王会调用每一个包处理函数来处理每一个包中的数据写入或采集, 直至把包处理完毕, 再进行下一次处理。

2.3 通讯失败的处理

对于一般的驱动程序来说, 一个包队列中所有包的处理过程是依次进行的, 也就是说只有在当前包中变量的写入或采集完成以后, 包处理函数运行结束并且返回值为TRUE后, 组态王才会调用下一个包的处理函数。如果前一个包的处理函数返回FALSE, 即认为组态王与设备通讯出现了问题, 有可能发生了数据发送失败, 也有可能数据接收失败, 或设备没有响应等情况, 这时组态王暂时不会再次发送或接收导致失败的命令和数据, 组态王会按照驱动中写入的规则重新组织命令结构, 并调用重连函数对设备尝试连接, 如果外部设备能够正常响应命令或上发数据, 则表示尝试连接成功, 组态王则又会调用包的处理函数来继续完成数据的采集;如果设备仍然没有正确响应, 则认为尝试连接再次失败, 组态王会再一次调用重连函数, 重复上述过程, 如果三次调用重连都连接失败, 这种情况组态王就会认为与外部设备的通讯失败, 监视画面上会显示“???”以提示用户通信失败。

3、组态王软件的数据采集研究

3.1 组态王数据采集规则和流程

整个数据采集按上面说的过程依次处理数据包, 并把采集上来的变量值保存在变量队列中, 变量队列是一个大小为8K的结构体, 用来存储变量数据。组态王主线程会以运行系统基准频率来采集变量队列中的各个值, 并做相应处理, 比如:画面的动画更新, 后台命令语言的执行, 历史数据库的记录等等。组态王所能支持的最快基准频率为55ms。

3.2 变量采集频率与运行系统基准频率的关系

采集线程每隔50ms扫描所有变量, 并在所有变量中分辨出到达采集频率的变量。扫描频率之所以设置为50ms是基于以下考虑:因为普通人眼一秒最多能分辨20帧也就是50ms数据的变化, 组态王监控画面是一种人机界面软件, 是留给用户监测控制的, 所以50ms的扫描速度完全可以满足画面监控的要求。从上图我们也可以看出, 变量采集频率最快就是扫描频率50ms。一般变量采集频率应设为50ms的整数倍。

运行系统基准频率的含义是:组态王数据词典中的变量值, 也就是所说的实时库, 在变量队列中的更新频率。变量队列每更新一次, 变量队列中的数据清空, 接下来会触发曲线、动画连接和数据库等所有与之相关的操作, 使之得到相应的更新, 组态王默认的运行系统基准频率为500ms。运行系统基准频率一般应该慢于变量采集频率, 但由于变量队列容量有限 (8K) , 在变量比较多的时候, 运行系统基准频率最好不要慢于变量采集频率的10倍, 否则变量队列里的值有可能会溢出。

3.3 变量采集速度的理论算法

一个变量包的处理速度一般与以下四个因素有关:

(1) 代码处理时间。

(2) 链路传输时间。

对于不同链路的设备, 传输速度不同, 消耗的时间也是不一样的。一般来说, 以太网的传输速度要快于串口的传输速度。

(3) 设备反应时间。

(4) 线程调度时间。组态王工程浏览器中设备下的每个条目都代表运行系统中的一个线程。一般情况下, 各个线程中的数据采集是并行的, 不会相互影响。但是当系统负荷过大时, 比如组态王的工程过于复杂、点数过大, 或者Windows系统本身的负荷过大时, 这些线程之间的调度时间可能会成为影响数据采集速度的主要因素。

从上面的公式, 可以看出:

如果当前线程包队列中的所有变量的处理时间总和小于50* (采集频率var/50) + ( (采集频率var%50) >0?50:0) , 单个变量的实际采集周期Cvar=50* (采集频率var/50) + ( (采集频率var%50) >0?50:0) 。

如果当前线程包队列中的所有变量的处理时间总和大于50* (采集频率var/50) + ( (采集频率var%50) >0?50:0) , 单个变量的实际采集周期Cvar=当前线程包队列中的所有变量的处理时间总和。

参考文献

组态王论文 篇2

随着现代社会的发展,人们生活以及工业生产经常涉及到水位和流量的控制问题,例如饮料、食品加工,居民生活用水的供应,溶液过滤,污水处理,化工生产等多种行业的生产加工过程,通常要使用蓄液池。

因此,需要设计合适的控制器自动调整蓄液池的进出流量,使得蓄液池内水位保持正常水平,以保证产品的质量和生产效益。这些不同背景的实际问题都可以简化为某种水箱的水位控制问题。通过进行了多次的实验得出了一些相关的数据,水箱水位控制系统的设计应用非常广泛,可以把一系列复杂的水位控制系统简化成一个水箱水位控制系统来实现。

由于水位检测应用领域的不同,性能指标和技术要求也有差异,但适用有效的测量成为共同的发展趋势,随着电子技术及计算机技术的发展,水位检测的自动控制成为其今后的发展趋势,控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能根据控制效果及时修正运行参数,这样能有效地减少工人的疲劳和失误,提高生产过程的实时性、安全性。随着计算机控制技术应用的普及、可靠性的提高及价格的下降,水位检测的计算机控制必将得到更加广泛的应用。

监控画面的开发和运行是有工程浏览器调用画面制作系统和画面运行系统来完成的。通过对现场数据的采集处理,以动画显示、报警和事件处理、实时趋势曲线、历史趋势曲线和报表输出等多种方式向用户提供检验控制系统的动态运行情况。组态界面上既可以时事观察到系统的动态变化,也可观察前几次的实验数据。

也就是说组态王(kingview)软件就是一个仿真实验的试验平台,该仿真实验 设备输出

报表打印

报警输出

现场控制

动画显示

实 时 数 据 库

时 数 据 库

组态软件核心

构成动画

报警组态 流量控制

设计报表平台一方面继承传统实验的参与性和操作性的优点;另一方面又可利用计算机优势,发挥其资源共享、直观形象、动态模拟、减少实验支出等优点,克服传统实验的不足之处,进一步提高实验效率。由于可观察实验过程的动态情况,有利于调动实验者的实验积极性和创造性。

实践证明,系统具有可用一台电脑对多个参数进行巡回采集和处理,显示界面好、易于操作、运行可靠、便于管理升级和扩充等优点。

一、水箱水位监控系统仿真实验软件设计方案

水位监控系统是典型的控制类试验系统。该系统包括水位监控系统主界面、报警和事件、实时趋势曲线、历史趋势曲线、报表系统。现简要说明利用组态王软件制作水位控制系统的实验。

1、建立新的工程

启动“组态王”工程管理器,选择菜单“文件新建工程”或单击“新建”按钮,弹出如图1所示:

单击“下一步”继续。弹出“新建工程向导之二对话框”,在工程路径文本框中输入一个有效的工程路径,或单击“浏览„”按钮,在弹出的路径选择对话框中选择一个有效的路径。

单击“下一步”继续。弹出“新建工程向导之三对话框”,在工程名称文本框中输入工程的名称,该工程名称同时将被作为当前工程的路径名称。在工程描述文本框中输入对该工程的描述文字。单击“完成”完成工程的新建。进入“工程浏览器”

如图1 建立新的工程

如图2 建立新的画面

(1)、数据变量的建立

数据变量是构成实时数据库的基本单元。数据库是”组态王”软件的核心部分,在工程管理器中,选择”数据库\数据词典”,双击”新建图标”,弹出”变量属性”对话框,创建机械手各个变量数据,数据变量是构成实时数据库的基本单元,建立实时数据库的过程也即定义数据变量的过程。定义数据变量的内容主要包括:指定数据变量名称、类型、初始值和数值范围,确定与数据变量存盘相关的参数,如存盘的周期、存盘的时间范围和保存期限等。数据对象有I/O开关型、I/O数值型、I/O字符型、内存开关型等8种类型。不同类型的数据对象,属性不同,用途也不同。

如图3 数据变量的建立

(2)、水箱水位监控系统的主界面

如图4

主界面

为了使我们能够便捷的完成试验任务,水箱水位监控系统界面除了主界面以外还开发了与实验相关的界面按钮如:报警系统、实施曲线分析,历史曲线检测、报表系统按钮。如图。事先在组态王上建立相应的报警窗口、实时曲线窗口、历史曲线窗口、保镖窗口。要进入相应的界面,就需要按下面相应的按钮,这样画面下方的按钮就可以方便的实现各画面之间的切换。在组态王工程浏览器的工具条上直接点击“VIEW”快捷键即可进入运行系统

(3)、实时曲线和历史曲线

为方便对实验数据进行控制、管理和查阅,则需要进行趋势分析,这是一个监控软件必备的功能。在组态王中,趋势曲线有实时趋势曲线和历史趋势曲线两种。实时曲线(图4-10)以曲线的形式实时显示采集信号变化情况。实时趋势曲线随时间的变化自动卷动,以快速反应变量的新变化,时间轴不能回卷,不能查阅变量的历史数据。

历史趋势曲线(图4-11)可以进行历史数据的查询,但它不会自动卷动,需要通过带有命令功能的按钮来辅助实现查阅功能

如图5 实时曲线和历史曲线

(4)、输出报表

数据报表(图4-12)是生产过程中不可缺少的一个部分,它能够反映出生产过程的实时情况,也能够反映出长期的生产过程状况,使得管理人员可以通过对报表的分析,更好的对生产进行优化。

如图6 报表输出(5)、报警窗口中的报警和事件

系统“变量定义”时允许变量进行上下限报警,运行中变量值超限后,组态王会自动将变量超限情况存储在报警缓冲区中,报警窗口可将报警缓冲区中的报警事件包括事件日期、时间、系统日期、报警时间、变量名、报警类型、报警值、恢复值,等等集中显示出来。图4-9为历史运行中系统发生的部分报警和事件情况。

如图7 报警

(6)、系统程序的编制

如图8 应用程序命令语言

if(本站点水泵==1){

本站点H1=本站点H1+0.1;

} if(本站点罐2进水阀==1)

{

本站点H1=本站点H1-0.05;

本站点H2=本站点H2+0.07;

}

if(本站点罐2出水阀==1){

组态王接口 篇3

摘 要:针对大连海洋大学信息工程学院自动化专业PLC课程缺少组态实验的问题,以电梯控制实验为例,使用组态王软件设计了上位机画面用于监控,并成功实现了上下位机的连接,录制了操作视频,不仅锻炼了学生的动手能力,而且为今后的PLC课程教学改革提供了素材。

关键词:PLC;教学改革;组态王

中图分类号: TP27 文献标识码: A 文章编号: 1673-1069(2016)12-160-2

0 引言

现代社会高楼林立,电梯已经越来越普遍的成为民用和商用的登楼代步设施。而伴随着现代电子和电子信息技术的发展,微机及可编程控制器逐渐在电梯控制中显示出一系列不可替代的优势。组态王软件是一种可以进行自主编程和演示画面编写的监控软件,它针对监控对象的控制过程和运行顺序进行设备通信,可以生动有效地控制现场的一些重要参数,实时的以演示动画的形式反馈给监控方。很多研究者在完成PLC控制程序设计后,用该软件实行对程序的动态模拟,以实现程序的客观性和可用性,近一步确保理论设计与实践环节的吻合[1]。因此该题目的研究具有良好的前景。基于上述原因以及本校现有条件,本文将研究对象定为电梯,研究的问题是基于PLC和组态王的电梯控制。利用组态王和实验室的现有PLC设备,通过查阅相关文献以实验的方式进行实践和创新。

1 电梯控制系统简介

电梯之所以能够上下飞腾,灵活而听话的随叫随到,来满足使用者的需求,是因为它有着一个能够“听”懂人话的大脑——就是它的控制系统。现实中电梯控制系统硬件由轿厢操纵盘、厅门信号、PLC、变频器、调速系统构成,其中PLC负责完成逻辑控制部分[2]。即PLC接收各种逻辑信号并将接收到的信号与预先设定的程序中的信号作对比,然后基于程序规则做出判断发出不同的反馈信号,即向变频器发出起停信号以此完成逻辑控制。这个过程中变频器会将自身的工作状态以信号的模式发送给PLC,二者形成较长作用时间的双相联系。这种控制可以很好地发挥PLC自身的优势,为电梯提供一个稳定灵活的“大脑”。

电梯由安装在各楼层厅门口的上升呼叫按钮和下降呼叫按钮进行呼叫控制,其控制内容为电梯运行方向[3-4]。电梯轿厢内部设有楼层内选按钮S1~S3,用以乘客选择需停靠的楼层;L1为一层指示、L2为二层指示、L3为三层指示,指示灯亮,表示电梯将要到达该层或停于该层;SQ1~SQ3为检测电梯轿厢所在位置的行程开关,是接收外界信号转入PLC内部的重要传感器,实验中需要人为操作给出信号。电梯轿厢在上升途中只响应上升呼叫信号,下降途中只对下降呼叫信号做出反馈,任何反方向的呼叫均不起效果。

基于校实验室现有设备允许的条件(S7-200实训操作台),将楼层定位三层。三层电梯一定程度上可以代表多乘电梯的控制方式,更高层电梯的实际控制是源于三层的控制理念并将这种控制方法重复的计算和判断下去。因此三层电梯是现有条件与控制方案研究相结合的最佳层数。确定电梯层数后我们通过穷举法举出电梯所有可能运行的方式。根据逻辑计算判断各种情况间的关系,得出结果。作为控制的核心部分,也是电梯的运行程序,我们必须考虑到电梯可能存在或处于的所有状态。并根据这种状态来给出响应判断,并指挥电梯进行下一步的运行。确定楼层为三层后,我们就可以根据层数来逐层分析电梯状态即可能发生的情况。

2 梯形图程序设计与分析

梯形图语言是与电气电路控制相呼应的图形语言,本次设计的电梯控制程序使用这种程序来完成控制要求[5]。下面举例说明一些主要环节的程序设计。系统的输入输出分配表如表1。

这段程序是为了完成控制要求中“电梯此时停靠于一层,一层门厅口有上升呼叫信号,进入电梯的乘客按动了三层内选按钮S3,或有三层外部呼叫信号”的程序事件。输入量I0.7是一层行程开关。根据电梯所在位置,I0.7的输入值会发生相应变化。当行程开关SQ1感应到电梯在一层时,I0.7会接通。因为电梯在最低层,因此电梯只能进行上升运行。I0.5表示一层门厅口上升呼叫信号的校验。以常闭指令装入的触点,一般是和网络本身相冲突或存在互锁关系的事件。下方设有相对应的事件自锁环节。网络2是在网络1基础上延伸,即在确定一层并有向上运行的趋势后,确定需要到达的楼层。I0.0表示进入电梯的乘客按动了三层内选按钮S3,此时电梯就产生了升至3层的需要,事件M2.3是程序后文单独定义的“电梯此时停靠于一层,一层门厅口有上升呼叫信号,三层外部呼叫信号”,事件M2.2是程序后文单独定义的“电梯此时停靠于一层,一层门厅口有上升呼叫信号,电梯内有三层内部呼叫信号”,M2.2与M2.3所产生的运行轨迹是相同的,因此可以归结为一个事件方便运行的判断。其他控制要求和控制程序原理相类似。电梯停靠显示的实现举例:

上图程序是在完成电梯所有可能出现的控制事件编程后,通过对事件间的逻辑关系来进行逻辑判断最终给出输出信号的程序。Q0.2是判断后的最终输出结果,有输出分配表得知,其代表一层指示,即电梯运行的过程中会经过或停于此处。将这些可能产生的控制事件具体成编程事件,则有M0.2表示电梯此时停靠于一层,一层门厅口有上升呼叫信号,进入电梯的乘客按动了三层内选按钮S3,或有三层外部呼叫信号;M0.3表示电梯此时停靠于一层、二层门厅口有上升呼叫信号,进入电梯的乘客按动了二层内选按钮S2;M1.1是前两者的同时交集,表示电梯此时停靠于一层、二层和三层门厅口同时有上升呼叫信号,或者进入电梯的乘客同时按动了二层和三层内选按钮S2等情况,即表示电梯需要先去一层后去二层。这三种情况都是电梯轿厢离开一层时的情况,显示电梯位置的指示信号应该是从有到无,这个过程由计时器来控制,在现实使用过程中可以根据电梯的运行加速、减速、平层时间来控制,在此次设计中只给出逻辑计算后的结果。M10.0代表的事件是电梯此时停靠于三层,三层门厅口有下降呼叫信号,进入电梯乘客按动了一层内选按钮S1,或有一层外部呼叫信号;M0.7表示电梯此时停靠于二层,二层门厅口有下降呼叫信号,进入电梯乘客按动了一层内选按钮S1,或有一层外部呼叫信号。M1.2是前两者的交集,电梯从三层下降至二层,停靠开门、关门后再次运行下降至一层。这三种情况都是电梯轿厢从其他层前往一层时的情况,显示电梯位置的指示信号应该是从无到有,这个过程也由计时器来控制。一些互斥的事件间需要设置互锁环节来保证二者不能同时发生,如离开一层时一层内选信号应该为无。

3 基于组态王的监控画面设计与实验

为了满足控制要求和监控要求,画面的设计一般要有与现实电梯相对应的输出显示装置和输入控制按钮。当电梯到达所在楼层时电梯左侧的行道示意图中会在指定位置出现电梯动画。电梯运行指示灯是为了方便乘客得知当前所在位置和将要到达的位置而设定的,这三个指示灯的亮灭是电梯运行过程最直观的体现。

4 总结

通过分析电梯响应呼叫信号而运行的特点,根据现代电梯自动控制理论,并在参考工业和民用领域电梯控制经验的基础上,提出了适合现代电梯运行的控制方案,控制判断核心选用PLC,监控仿真选用组态王软件,以所编写的程序根据内选或者外部呼叫的信号,使梯轿厢在楼层间运转完成乘客搭乘任务或货物运送任务。

本论文立足于现代电梯控制要求和特点来选择控制方案和监控软件并自主编写程序,并对控制过程中各种影响因素作了研究,电梯上升下降过程中避免反方向呼叫的干扰,保证电梯运行能够满足乘客或运送货物的要求,提高了运行效率,具有创新性。

参 考 文 献

[1] 尤翠英.基于PLC的电梯控制系统设计[J].科技创新导报,2010:82-83.

[2] 张学军,张苗苗,谢剑英.电梯控制系统的面向对象分析与实现[J].测控技术,1999,12.

[3] 赵迎春.PLC在电梯控制系统中的应用[J].辽宁师专学报,2004,6(4):84-85.

[4] 汪浩然.基于PLC控制技术的电梯控制系统的设计与实现[J].数字技术与应用,2010:165-168.

组态王接口 篇4

随着自动化系统在各行业的广泛应用, 新研制开发的各种智能化设备越来越多。由于目前没有一种统一的通讯协议标准, 导致不同厂家开发的智能化设备采用的通讯协议也各不相同, 甚至有些设备使用自己定义的通讯协议, 给第三方集成商在使用这些设备时带来极大的不便。通常有以下两种解决办法:1通过增加网关将非标的通讯协议转换为标准的通讯协议后再接入监控系统;2在监控系统中为非标设备编写专门的设备驱动程序, 将非标设备变成监控系统可以识别的设备。

上述两种解决方案一个是要增加硬件, 另一个需要开发工具包 (SDK) 且开发周期较长, 这两种方案都会增加成本支出。

针对以上两种方案的不足, 现在许多通用组态软件提供了一种开放式的接口方案, 即利用OPC技术实现组态软件与外部设备的快速对接, 使用户在开发接口程序时不必关注每种组态软件的数据结构, 只需按照OPC规范要求开发接口程序即可实现与不同组态软件的连接。

利用OPC技术可以为非标设备开发出通用性较好的接口程序, 从而避免了使用不同厂家的组态软件时的重复开发问题。

下面结合实际工作中的案例, 介绍一种新的解决方案, 可以快速、简便地实现非标设备的驱动与接入。为了缩短开发周期使用组态王提供的OPC接口函数库, 在移植到其它组态软件时做必要的修改, 但其基本思想和原理是相同的。

2 系统简介

该配电自动化系统要求将140多块电力多功能仪表的测量数据采集到中央控制室的后台监控计算机, 实现集中监控、定时抄表、报表生成及打印和故障报警等功能。后台监控系统由工控机、网络交换机和以太网转串口转换器组成;后台监控软件是以组态王6.52组态软件为平台开发的, 通讯协议采用MODBUS-RTU。

系统在调试过程中电力多功能仪表的调试较为顺利, 通讯和数据的采集都很正常;但其中有两块测量主变温度的仪表始终无法正常通讯, 经与仪表厂家联系后发现这两块仪表的通讯协议不是标准的MODBUS-RTU, 而是采用的自定协议, 无法直接接入组态王软件中。但这两块仪表采集的主变温度非常重要, 直接关系到系统的安全运行, 必须实时采集监控。

3 与组态王的接口方案

为了解决两块温度仪表的接口问题, 在比较组态王的各种对外接口方式后, 最终决定采用OPC方式将温度数据接入到组态王中。这种方式相比较DDE方式和直接编写设备驱动程序等方式, 最为简便、可靠, 开发周期最短, 对系统稳定性也不会造成影响。基本思路是单独编写一个通讯程序采集主变温度, 再将采集到的主变温度通过OPC接口写入组态王的内存变量中, 在组态王中实现数据的显示、报警和存盘等后处理工作。

4 OPC软件设计

为了方便用户使用组态王的OPC服务器功能, 使用户无需在无其他需求的情况下再购买其它OPC客户端, 组态王提供了一整套与组态王的OPC服务器连接的函数接口, 这些函数可通过提供的动态库KingvewCliend.dll来实现。利用组态王OPC服务器的接口函数, 以DELPHI3.0为开发工具, 快速编写出OPC接口程序, 实现了温度仪表的顺利接入。

OPC接口程序清单如下:

4 在组态王中的测试结果

在组态王的数据词典中增加data10, Ht2010data0…Ht2010data9共11个内存整型变量, 在主画面显示时增加脚本“StartApp (″ht2010.exeCOM8″) ;”自启动接口程序, 在退出系统时增加如下脚本:

测试界面如图1所示。

1#变压器A、B、C三相温度分别关联到ht2010data1、ht2010data2、ht2010data3;2#变压器温度也按顺序做好关联。

运行编辑好的工程, 1#, 2#变压器温度可以正确显示, OPC接口程序调试成功。

5 结论

本文介绍的利用OPC技术为组态王增加设备驱动的方法简单、可靠, 无需增加网关等硬件设备即可快速将非标设备接入组态王中, 而且接口程序可以隐藏运行且不破坏后台监控系统的界面整体性。OPC接口程序的启动和退出均由系统自动完成, 不需要人工干预, 达到无缝连接的效果, 用户体验较好, 易于接受。

上一篇:力学实验课程下一篇:节约型企业