将Web技术与现场总线技术结合实现网络储油罐群远程监控系统的设计

描述

引言

在我国石油、化工、军事、能源等领域现有各类型储油罐数万个,而且随着经济的不断发展,其数量也呈持续上升趋势。其中,大部分油罐均为人工手动计量,效率低,误差大,制约了储油罐群自动化管理水平的提高。管理自动化:由人与计算机技术设备和管理控制对象组成的人机系统,核心是管理信息系统。管理自动化采用多台计算机和智能终端构成计算机局部网络,运用系统工程的方法,实现最优控制与最优管理的目标。大量信息的快速处理和重复性的脑力劳动由计算机来完成,处理结果的分析、判断、决策等由人来完成,形成人、机结合的科学管理系统。工厂或事业单位的人、财、物、生产、办公等业务管理自动化,是以信息处理为核心的综合性技术,涉及电子计算机、通信系统与控制等学科。一般采用由多台具有高速处理大量信息能力的计算机和各种终端组成的局部网络。现代已在管理信息系统的基础上研制出决策支持系统(DSS),为高层管理人员决策提供备选的方案。 对社会的影响 自动化是新的技术革命的一个重要方面。自动化技术的研究、应用和推广,对人类的生产、生活等方式将产生深远影响。生产过程自动化和办公室自动化可极大地提高社会生产率和工作效率,节约能源和原材料消耗,保证产品质量,改善劳动条件,改进生产工艺和管理体制,加速社会的产业结构的变革和社会信息化的进程。

2.系统的功能与体系结构

2.1  系统功能

系统需要能对各储罐进行实时测量和控制。

对每一个油罐需采集的参数有:油品的界面(液位)、温度(罐内油品在任何界面时的上、中、下三点温度值)、油泵的进口和出口压力和油泵的主轴温度;

对每一个油罐需控制和调节的参数有:油泵的进口压力、油泵的出口压力。

能通过上位机(IPC)进行集中的监控管理。

能通过Internet进行远程监控管理。

2.2  系统的体系结构

系统的底层采用CAN总线网络完成现场的测控任务。CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品着称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

监控机根据后台数据处理程序负责对整个CAN总线进行监视管理;

数据库负责存储从底层控制系统中采集的数据、并向系统发送的控制数据以及对进行各种计算直接产生的中间数据,并对历史数据进行存储和归档。

Web服务器是一个基于Internet的超文本分布信息系统。对于客户/服务器体系结构的远程测控系统,远程客户需要通过Internet/Intranet访问服务器端。如今,主要有两种访问模式,即B/S和C/S模式。本文中系统的顶层采用基于浏览器的客户端/服务器B/S(Browser/Server)通信方式。基于Web的CAN网络储油罐群远程监控系体系结构如图1所示。

CAN总线

3 系统底层网络的设计

3.1  基于CAN现场总线的底层网络方案

目前对于油罐参数的采集与传送主要通过RS-485 网络来完成,其检错、纠错、错误定位能力弱,无总线脱离功能。而CAN(Controller Area Network)是一种应用广泛的现场总线,它以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题,允许多主存在。适合于热插拔,高速、检错和纠错能力、良好的EMC特性。CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;

对一个大型储液罐群来说,要构成基于现场总线的控制系统,其检测过程变量的变送器和相关的执行器必须是具有现场总线接口的仪表,其费用很高。本文采用设计现场总线智能I/O的方法,将该智能I/O作为现场总线上的智能接点,将常规变送器和执行器连入现场总线,具有很高的性价比。

3.2  CAN智能I/O的设计

节点是网络上信息的接收和发送站,本设计采用由独立的通信控制芯片与单片机接口构成的智能节点。CAN总线智能节点硬件设计包括:A/D和D/A转换部分、看门狗硬件电路、CAN总线通信接口,其主要硬件结构如图2 所示。

油罐的油位、油温和油泵的进/出口压力以及油泵的主轴温度由变送器进行测量,其输出信号经过多路复用、A/D转换器送入单片机,输出控制每个油泵和调节其进口和出口压力的信息由单片机经D/A转换器送达执行机构。

CAN总线智能节点的软件设计关键是CAN总线通信接口程序,其主要功能是将采集进来的数据经过处理,通过定时中断发送到Web服务器端,同时通过接收中断接收处理来自服务器端的数据查询、设置命令和控制命令。CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。

命令码主要体现在ID标识符上,由于采用的是标准帧格式发送CAN信息帧,因此,ID标识符为11位。其结构如下:ID0~ID5表示大型储液罐群罐号,如“000000”为“1”号罐;ID6~ID8表示大型储液罐群的被控量;ID9~ID10表示命令字,如“10”为设置命令,“11”为控制命令。

程序主要包括初始化程序、接收处理程序和发送处理程序。其重点和难点是SJA1000的初始化,包括工作方式的设置、接收滤波的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断使能寄存器的设置等。

现场控制模块数据的收发是大量的,也是实时性需要的,但是在远程机上的控制通常只是常规的监视和调整,不需要太高的实时性,同时也为了网络的畅通,上位机与远程机上的同步数据刷新率不必设的太高,一般可以设置为采样多个数据后一次性发送。

CAN总线

4 系统的中间层设计

中间层是一个多层结构,主要负责数据读取、数据转发、数据处理、管理及监控等功能,由CAN总线的网关、数据库和WEB服务器组成。

4.1 监控单元的设计

监控单元由含CAN适配卡的工控机(上位机)和后台数据处理程序组成。上位机通过CAN总线智能适配卡PCI-5110与CAN总线进行通信。本程序采用C++Builder编写,有强大的人机交互功能,方便操作人员使用。

数据库采用Microsoft SQL Server 7.0, 负责存储从底层控制系统中采集的数据、向系统发送的控制数据以及对进行各种计算直接产生的中间数据,并对历史数据进行存储和归档,实现控制程序、罐群基本信息和监控信息等的管理功能。它包括当月数据库、历史数据库、系统参数数据库和储罐容积表数据库。当月数据库中的数据超过规定的时间后就会自动地转存到历史数据库中。

4.2  Web服务器的建立

WebSnap是C++ Builder 6.0最新的WebApplication开发架构,使用WebSnap不象Web Service那样需要熟悉套接字Socket,并且在编写服务器或客户应用程序前也无须了解应用程序要提供或使用的服务,可进行WEB快速应用开发。WebSnap在开发数据库应用程序方面有强劲的功能,其ADO数据库连接控件具有很好地连接各种数据库的功能。

WebSnap有以下特征:支持CGI(Common Gateway Interface)Web服务器应用程序、支持对客户请求的多线程处理、提供Web模块的缓存技术以便更快地对用户消息进行响应、支持交叉平台WebSnap把B/S应用的开发代入了一个全新的领域,真正做到了零客户端配置。

4.3  中间层软件设计

中间层的主要功能是:对来自底层的数据信息进行读取、分解(解析)、运算处理(包括对数据库存储),并且响应来自上层的客户请求,对该请求分析处理后转发相应的信息给底层,以达到对底层的监视和控制。其系统软件应用结构如图3所示。

CAN适配卡的控制程序模块将来自CAN适配卡的数据进行解析、存储到数据库,以及把来自Web服务器应用程序传递来的信息进行处理并向CAN适配卡发送相应数据;Web服务器应用程序模块:负责系统的全局调度,接收客户端请求并响应,它担当着对客户控制命令的下传和对上传数据信息的处理;而Windows消息处理模块则建立了Web服务器应用程序和基于CAN适配卡的控制程序的一种沟通机制。

其中,Web服务器应用程序编程使整个系统软件设计的关键部分。在WebSnap中,可以创建五种标准类型的Web服务器应用程序,它们是ISAPI和NASPI类型、独立于操作系统的CGI类型、独立于操作系统的WinCGI类型、Apache类型和Web服务器应用程序调试器类型。为了方便调试服务器应用程序起见,我们采用了Web服务器应用程序调试器类型。

由于WebSnap具备了嵌入脚本的能力,因此我们采用Dreamweaver来制作HTML页面文件并将其作为模板集成到C++ Builder的Web服务器应用程序中,构成一个完美的服务器网站。WebSnap应用程序与数据库的连接主要通过ADO组件技术和SQL。在WebSnap应用程序的主窗体上嵌入ADOConnection组件,使WebSnap应用程序与数据库总保持逻辑连接[6]。

5  数据交互路径

系统中的数据流向大体可分为上行数据和下行数据。上行数据就是从现场采集的数据上传给服务器,下行数据就是服务器接收来自客户浏览器的命令请求下传到相应的现场设备。

5.1 下行数据

当远程客户通过身份(用户名和口令)验证进入控制主页时,选择任务,如“关闭1号储液罐进油阀”,点击提交按钮,这样服务器便接收来自客户浏览器的控制命令请求。客户浏览器把地址栏中的URL内容传给了Web服务器,将URL 第二部分服务器名(192.168.1.238:1024)解码与Web服务器相连,Web服务器应用程序通过WebDispatcher将URL 第四部分路径名(Command)解析,从它的动作项列表中选取【PathInfo】属性值与Command相同的动作项。该动作项触发其对应的页面制作器PageCommand。如果没有找到匹配的动作项,WebDispatcher将调用默认的动作项。PageCommand的属性【HTMLFile】标记着对应的HTML文件地址,其事件属性【OnHTMLTag】标记着PageCommandHTMLTag。当关闭1号储液罐进油阀事件被触发时,页面制作器PageCommand开始构造HTML页面,当发现透明书签〈#IsIn进油阀〉(HTML文件代码中)时,用相应的解析函数PageCommandHTMLTag中的替换文本替代。与此同时,我们在解析函数PageCommandHTMLTag中自定义Windows消息(关闭1号进油阀)并且发送它,当基于CAN适配卡的控制程序截获这个消息时,把关闭1号进油阀编制成命令码“1101100000”封装成CAN信息帧数组的结构成员ID发送到CAN适配卡。经CAN适配卡(转换成CAN协议能识别的数据格式)传到CAN总线时,经验收码和屏蔽码辨别,被CAN总线智能节点1接收,表明要控制的对象是1号大型储液罐。

远程测控系统的命令窗口如图4所示。

CAN总线

5.2 上行数据

上行数据与下行数据流程的原理基本相同。从现场储液罐群被控量中采集来的数据,经各个CAN总线智能节点处理后定时发到CAN总线上,经CAN适配卡进入PC机,基于CAN适配卡的控制程序模块把CAN信息帧数组(VCI_CAN_OBJ结构体类型)中的成员ID标识符提取出来分解,分别把分解得到的罐号和其它被控量存到数据库中。

6  结束语

当前是一个构筑在网络基础之上的信息化时代。将Web技术与现场总线技术的结合,通过现场总线技术将现场设备接入网络,实现控制网络与互联网的完全融合,实现储油罐群的远程网络控制与管理,具有一定的先进性与优越性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分