当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]引言随着智能仪表和现场总线技术越来越多地应用于工业现场,计算机控制系统内部各软硬件间以及不同系统间需要进行大量的信息共享与交互。由于目前企业使用的控制系统往往由

引言

随着智能仪表和现场总线技术越来越多地应用于工业现场,计算机控制系统内部各软硬件间以及不同系统间需要进行大量的信息共享与交互。由于目前企业使用的控制系统往往由不同厂商开发,因此相互间的兼容性差。

虽然采用专用接口或数据库互连可实现部分信息交互,但因实施成本高、系统集成难度大,所以大家一直在探讨新的解决方法,OPC(OLE for process contr01)技术就是其中之一。

OPC规范是由AB、西门子等200多家自动化厂商与微软合作制定的一项工业标准。该标准定义了在微软操作系统下,不同程序、设备之间交换实时数据的方法,能将现场信号按照统一的标准与各厂商提供的软件无缝连接,同时对硬件制造商和软件开发商划分了界限,大大提高了控制系统的互操作性、适应性和可扩展性。

1 基于OPC技术的液位控制系统

1.1液位对象

液位对象是常见的工业过程被控对象,复杂液位对象具有时变、非线性、大滞后和不确定性等过程对象的典型特征。

本文提出的液位系统是一种基于OPC技术的多级网络控制平台,并在其中嵌入了模糊控制算法,控制网络很好地实现了现场操作级、工程师站和专家站的信息共享。同时,通过Access数据库、VB等应用软件将专家知识库、过程模型、仿真图件及实际生产过程无缝地连接起来,组成了一种开放的、即插即用的工业实时监控系统。

本文所用对象为深圳固高公司的三容水箱系统,其双容液位部分结构如图1所示。

 

图1 液位对象结构

水由水泵从储水箱中抽出后,流经电磁阀、水柱1、手动阀1、水柱2、手动阀2,再回到储水箱。该对象的输入信号为电磁阀电压,输出信号为两水柱水位。各阀门的开度变化均可影响对象的非线性程度。

1.2液位控制系统的OPC结构

本文中的液位控制系统采用图2所示的网络结构。该系统由现场操作级、工程师站和专家站三级网络组成。

 

图2 液位控制系统网络结构

1.2.1现场操作级

现场操作级包括液位对象、数据采集卡和控制PC机。主要完成以下功能。

①液位传感器的静态标定与动态校准;

②液位信号的数据采集处理,并通过OPC协议将数据传输给工程师站和专家站;

③液位系统画面监控及控制方式的选择,包括手动与自动控制。

1.2.2工程师站

工程师站由3台控制PC机组成,装有RSView32、VB等高级应用软件,主要完成以下功能。

①集中显示液位控制系统所有可视化信息,包括各个水柱高度、电磁阀状态、控制模式和给定数值等;

②设置系统的初始化状态和复杂控制算法,并可在线修改各控制算法的参数;

③可改变整个系统各控制回路中的手动、自动控制模式;

④生成液位系统各种数据的班报、日报、月报和年报表。

1.2.3专家站

专家站计算机装有BSView32、Matlab、LabVIEW和Access数据库等高级应用程序,主要功能如下。

①管理整个控制系统,对突发错误作出相关处理;

②对系统进行建模仿真及优化计算;

③建立各项指标数据库,将历史数据、操作报告和报警信息存入数据库。

此外,由图2可知,专家站中预留了控制系统升级接口,日后其他开发人员开发不同的控制算法时,可以方便地与原有系统建立数据通信,无须再开发底层数据采集与通信程序,简化了开发步骤。

2 液位控制系统的OPC实现

液位系统的工程师站和专家站均采用了RSView32组态软件。在工程师站中,RSView32通过其自带的VBA程序开发系统进行模糊控制等复杂算法的运算;在专家站中,借助BSView32卓越的管理系统和数据库功能可以管理整个控制系统,建立各项指标数据库,存储历史数据。

由此可见,组态软件RSView32相当于一座中间桥梁,将现场操作级、工程师站和专家站连接了起来。因此,该液位系统需要解决3个核心问题:如何实现现场实时信号的采集、如何在组态软件BSView32中嵌入复杂控制算法以及如何实现工程师站与专家站组态软件之间的数据通信。

2.1数据采集

为了获取实时液位信号,我们采用VB编程操作数据采集卡采集现场数据。

本系统采用的是阿尔泰公司的PCI2006数据采集卡,它自带接受访问的底层驱动。因此,在正式编程之前,需要把开发商提供的模块文件PCI2006.bas加入到VB工程当中。通过VB程序采集数据的步骤和核心代码如下。

 

 

2.2组态软件OPC通信方法

现场操作级、工程师站和专家站计算机上都装有BSView32组态软件。该软件支持基于OPC技术的数据交换。将现场操作级的RSView32设定为服务器,工程师站和专家站的BSView32设定为客户机,则现场数据和控制参数可以在3站之间双向传递。

在OPC服务器设定中,现场操作级计算机取名为Waterl,在RSView32中建立一个新的节点,则各项参数设置如表1所示。

 

表1 OPC服务器参数表

在客户机设定中,服务器计算机均为Water,则在工程师站和专家站上的RSView32中分别建立一个新的节点,各项参数设置如表2所示。

 

表2 客户机参数表

需要注意的是,客户机上OPC节点设定中的服务计算机名应当填入OPC服务器的计算机名称,且更新速率应该大于服务器中OPC节点的更新速率。

客户机上ILSView32中的标记需要连接到OPC服务器,并将对应的数据名称设定为来自设备的名称,节点名为Expert,地址填入现场操作站 RSView32中标记的名称。测试证明,ILSView32的OPC服务器最多可以同时连接10台用作OPC客户的RSView32计算机。

2.3组态软件与VB的通信方法

客户机的组态软件通过OPC技术与VB连接起来,实现复杂控制算法。VB在客户机上与组态软件BSView32的通信方法如下。

先在VB工具栏中的“工程\引用”项加入Rock.well 0PC Automation 2.0,然后定义变量。

Const ServerName=“RSI.RSView320PCTagServer”

Dim Nodename as String //节点名即计算机名

Dim MyOPCServer as OPCServer //OPC服务器

Dim MyOPCGroup as OPCGmup //OPC组[!--empirenews.page--]

Dim MyOPCItem as OPCItem //OPC项对象

Dim OPCItemColleefion as OPCItems //OPC项集合

定义复杂控制算法中的全局变量如下。

Dim tankl as Single //定义1号液位高度变量

Dim Setl as Single //定义1号液位高度给定

定义好所有的变量后,进行OPC的连接、OPC读写等。

由于程序较长,这里不再赘述。整个程序的流程如图3所示。

由于OPC客户建立连接后,占用了服务器资源,因此,程序结束后必须断开OPC连接,释放资源。关键程序如下。

①清除指定的OPC项

OPCItemCollection.RemoveItemCount.Removeh

EmptyServerHandles.RemovehemServer

Set OPChemColleetion=Nothing

②与服务器断开连接并清除

AnOPCSenrer.Disconnect

Set AnOPCServer=Nothing

3 结束语

本文根据工业液位对象的特性,借助BSView32、VB等高级应用软件,采用OPC技术构建了三级网络控制系统。

系统结构开放,可扩展性强,成本低廉,不同厂家的新设备、新软件,只要提供统一的OPC接口,就能与本系统简便互联,减少了底层开发时间和费用。同时,该网络实现了计算机内部应用程序与现场设备、不同软硬件、不同应用程序之间的无缝连接与资源实时共享,可供多个客户同时访问系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在工业领域中,液位控制是一个至关重要的环节。投入式液位计是一种常用于测量液体高度的设备,广泛应用于化工、食品加工、制药等行业。本文将介绍投入式液位计的种类及其接线方法,以便读者对其有一个全面的了解。

关键字: 工业领域 液位控制 投入式液位计

液位控制是工业生产和管理中至关重要的一项任务。在各个行业中,准确、可靠地监测和控制液位对于生产过程的安全性和效率至关重要。磁翻转液位计作为一种常见的液位测量技术,广泛应用于多个领域。本文将介绍磁翻转液位计的原理,并探讨其...

关键字: 液位控制 工业生产 磁翻转液位计

史胜辉,在MTK工作了11年,一直在基带芯片的USB驱动领域做开发和验证。从最开始做USB2.0/3.0 IP验证和驱动开发到后面带领团队做上层协议驱动开发,以及跟硬件设计部门合作开发全新的USB硬件加速器。

关键字: 基带芯片 驱动领域 驱动开发

点击上方名片关注我们朱老师推荐语:此岗位为AIoT终身成长大会员同学提供的自己公司的岗位内推,总部在深圳,是一家专业从事闭路电视监控设备、会议摄像机的研发、制造、销售的高科技企业,有学过嵌入式课程或者海思项目的同学,想换...

关键字: 开发工程师 linux驱动 驱动开发

最近在学习MIPI接口的LCD驱动开发与调试,这里我主要用的是MIPI-DSI接口,它学习起来真的是太复杂了,特别是对于我这种很久都没写驱动来说更是头疼,但是头疼归头疼,工作咱们还是要完成的,那就只能硬着头皮往下肝吧!首...

关键字: MIPI 驱动开发 调试

关注、星标嵌入式云IOT技术圈,精彩及时送达来源|  Linux与SoC整理出了6种驱动开发时与设备注册、设备树相关的调试方法,彼此间没有优先级之分,每种方法不一定是最优解,但可以作为一种debug查找问题的手段,快速定...

关键字: 驱动开发

最近在学习MIPI接口的LCD驱动开发与调试,这里我主要用的是MIPI-DSI接口,它学习起来真的是太复杂了,特别是对于我这种很久都没写驱动来说更是头疼,但是头疼归头疼,工作咱们还是要完成的,那就只能硬着头皮往下肝吧!首...

关键字: MIPI 驱动开发 调试

哈喽,我是老吴,我来继续分享我的学习心得啦。gpio和pinctrl子系统在内核里的使用率非常高,和嵌入式产品的关联非常大。从这两个子系统开始学习驱动开发是个不错的入门选择。本文目录:一、gpio 与 pinctrl二、...

关键字: gp pi 驱动开发

  目前,许多领域都需要对水位、油罐液位、锅炉液位等进行监控。然而,传统的液位控制系统中工业现场和控制室之间都是通过有线模式进行信号传输,缺陷非常明显,其安装、调试成本高,铺设线缆麻烦,其他干扰

关键字: zigbee技术 液位控制 无线控制 无线传感技术

前阵子工作上做了一些关于 ADC 的支持,由于现在 ADC 相关的支持都被移动到了 IIO (Industrial I/O) 子系统下,我查阅了一些关于 IIO 资料,包括书籍、文章、内核文档和代码。个人感觉最好的入门文...

关键字: IO 驱动开发 嵌入式
关闭
关闭