• 官方微信

    CA800二维码微平台 大视野

  • 工控头条

    CA800二维码工控头条App

当前位置:自动化网>自动化文库>应用案例>从工业网到以太网工业数据传输与发布的解决方案

从工业网到以太网工业数据传输与发布的解决方案

发布时间:2010-09-11 来源:中国自动化网 类型:应用案例 人浏览
分享到:
关键字:

以太网工业数据传输

导读:

摘 要:本文介绍了在不改变原有工业网络的情况下,实现从工业网到以太网的数据传输与发布的解决方案。该方案使得工业网中的实时数据能够传输到一台专用服务器的数据库中,并通过这台服务器实现数据的整理、分析和...

摘  要:本文介绍了在不改变原有工业网络的情况下,实现从工业网到以太网的数据传输与发布的解决方案。该方案使得工业网中的实时数据能够传输到一台专用服务器的数据库中,并通过这台服务器实现数据的整理、分析和在以太网上发布。

关键词:工业网、以太网、串口通讯、COM、SQL Server、IIS

Abstract: This paper introduces the solution of industry data’s transmission and publishing from industry network to Ethernet, in case of not changing the original industry network. This scheme makes the real-time data in industry networks can be transmitted in the database of a special-purpose server, and realizes arrangement, analysis and web publishing through this server.

Keywords: Industry Network, Ethernet, Serial Communication, COM, SQL Server, IIS

1. 引言

  南京自来水公司浦口水厂自动控制系统底层部分是由奥地利ELIN公司的ELIN-PLC构成,共有五个站点,由ELIN-BUS专用总线联网,上位机实现监控及系统配置,操作系统为MS-DOS。由于该自动控制系统由外方设计,限于当时的技术,其信息为系统专用,不能与厂级局域网(以太网)实现信息共享,无法实现工业数据的远程访问,对生产、指挥和调度带来不便。

  虽然现在一些工控设备已出现以太网接口,但是对已经建立了完整专用工业网络的工业企业来说,特别是当这些工业网还运行在DOS平台上,更新设备的软硬件成本高昂。本设计针对南京自来水公司浦口水厂自动控制系统,在不改变原有工业网络的情况下,将建立在DOS平台上的专用工业网上的数据传输到以太网上发布。

2. 系统设计

  2.1. 设计目标和要求

  (1) 设计目标:数据从DOS工作站(上位机)传输到NT服务器,存入数据库;数据库实现自动维护;将数据发布在Web页面上。

  (2) 实时性:NT服务器能够及时获取工业数据,并能及时在Web上发布。

  (3) 容错性:在数据传输中能够及时发现并丢弃错误的数据。

  (4) 稳定性:在ELIN-BUS网络上的DOS工作站能够及时准确地提供数据,并保证其原有数据监控功能不受影响。NT服务器端系统能长时间(72小时)连续正常工作。

  (5) 数据存储查询:数据库存储一年内每天的详细数据,永久存储每日平均数据。能够绘出任意时间段任意一项工业数据的变化曲线图。

  2.2. 系统构架

  工业设备通过ELIN-BUS网络将工业数据传输到DOS监控工作站,由于ELIN-BUS网络与以太网完全不兼容,为了实现不同网络间的数据通讯,使用串口线连接ELIN-BUS网络中的一台DOS工作站和以太网中的一台NT服务器,再通过NT服务器将数据在以太网上共享。


图2.1 系统总体结构图

  2.3. DOS工作站端设计

  在DOS工作站中植入一套数据发送程序,工作站启动后,该程序驻留内存。厂方原有组态软件没有对外数据接口,所以在组态软件设计中,定时切换至数据屏幕,并调用数据发送程序。数据发送程序读取DOS的屏幕显示缓冲区,发送一页屏幕数据。数据约每两分钟发送一次。

  2.4. NT服务器端设计

  NT服务器端建立一套程序,其功能为:数据接收、数据分析存储、数据整理、数据查询、Web浏览、辅助工具。

  数据从串口读入,存入Microsoft SQL Server数据库。程序通过 ADO(Microsoft ActiveX Data Object)连接ODBC(Open Database Connectivity)访问 SQL数据库。每日凌晨,程序自动对前一天的数据进行维护,删除过期数据。

  服务器使用IIS(Internet Information Service)提供Web服务,在ASP(Active Server Page)中访问数据库,并通过图表组件,使用户可以在网页上浏览到数据和数据图表。

  NT服务器端系统结构分为三部分:数据库层,包括数据库(SQL Server)和数据访问组件(ODBC、ADO);中间层,由若干个COM对象组成,包括数据库访问对象、串口通讯对象和图表控件。应用层,包括数据接收程序界面和Web应用程序。应用层通过捆绑中间层组件来实现系统主要功能。

3. 数据定义与传输

  3.1. 数据定义

  数据传输格式定义:采用文本的形式传输数据。每页数据分为25行,每行80个字符,每页中的数据项按一定次序排列,目前包括了174项数据。


表3.1 每页数据示例

  每个字符由两个字节组成,第一个字节表示字符的ASCII码,第二个字节表示屏幕中字符的颜色,表示数据状态,包括正常、警报、错误、运行、停止等。每页长度为8000字节。

  3.2. 数据传输与校验

  串口传输的比特率19200bps,1位奇校验,无停止位。传输一页数据耗时8000×(1+8)/ 19200 = 3.75秒,远小于数据两分钟传输一次的间隔。

  在数据传输时,遇到以下情况之一,认为数据传输发生错误,抛弃数据页。

  (1) 寄校验发现错误。

  (2) 数据传输空闲15秒,但是一页数据尚未传输完毕。

  (3) 一页数据中的关键行与设定值不符。关键行是数据页中相对固定的部分。下表中,下划线部分为关键行。


表3.2 原始数表中的关键行

  以上三个步骤虽然不能检测出所有的错误,但能检测出绝大多数错误。现场运行表明,每天发生错误的页数大约是一至两页。

4. 数据库设计

  4.1. 表的定义

  (1) 工业数据表定义

  工业数据表有两类。一类记录了两分钟一次的每天的详细数据。另一类记录了每天的平均数据。两类表的结构是相同的。每天的详细数据存储在不同的表上,其表名为“Dyyyymmdd”,其中“yyyy”表示四位年份,“mm”表示两位月份,“dd”表示两位日期。每日平均数据记录在同一个表 “DailyData”中。


表4.1 数据表字段定义

  由于在每页中的数据可以按行和列来定位(行:数据在该页中的行号;列:左边第一项数据为第0列,第二项数据为第1列,依此类推),数据字段命名为 “AXXYY”,表示的是第“XX”列第“YY”行的数据。从“A0003”到“A1522”共320个数据,即在数据表中建立320个字段,目前仅使用其中的174个,以允许用户在DOS端组态软件中对数据项进行扩充。

  (2) 辅助表的定义

  数据库系统中除了两类数据表之外,还需要一个辅助表来记录一些辅助数据。


表4.2 辅助表子段定义

  字段“TableName”的含义如下表:


表4.3 字段TableName含义表

  4.2. 索引

  索引是简单而有效的加快查询的方法。但是索引的建立会占用一定的存储空间,在插入删除数据时也会增加开销。所以索引不宜过多。数据表中使用了两个索引。一个是主键ID上的主键索引,主键决定了数据在磁盘上的排列顺序,一般没有实质性的意义,但能够加快检索速度。由于时间经常被作为查询条件,所以在字段RecordTime上建立另一个索引,加速查询。

  4.3. 数据库登录与权限

  本系统为数据库访问设置了两个登录帐户:完全访问帐户和只读访问帐户。

  完全访问帐户隶属于db_owner,具有数据库的完全访问权限。该帐户用于服务器端的数据录入、整理和查询。该帐户可以设置为SQL Server 登录或Windows NT登录验证。使用Windows NT登陆验证时,Windows登录用户必须在SQL Server中拥有db_owner身份,一般是Administrator或Administrators组成员。

  只读访问帐户隶属于public,用于Web用户查询数据,用户不能更改数据库。该帐户一般设置为SQL Server登录验证。

  4.4. 数据库容量估算

  详细数据每年新增记录数:(24×60)/ 2 × 365 = 262800;

  假定系统使用时间不超过十年,则十年的每日平均数据纪录数为:10×365 = 3650;

  每条记录占用字节数(各字段长度总和):4 + 8 + 320×8 = 2560B(SQL 2000中每条记录的长度不超过8KB);

  数据库大约需要硬盘空间:2560 ×(262800 + 3650)= 682112000 ≈ 650MB。

  通过估算,数据存储大约需要650MB的容量,加上辅助表空间、索引空间、日志空间、数据库的必要冗余空间、则至少为数据库留有2~3GB的磁盘空间。

5. 软件实现

  5.1. 对象和控件

  对象和控件位于NT服务器端系统的中间层。主要需要建立两个对象和一个控件:

  (1) 数据接收对象:负责串口数据接收模块。


图5.1 数据接收对象程序流程图

  (2) 数据库访问对象:负责数据分析、存储和整理模块和数据项的说明。


图5.2 数据访问对象程序流程图

  (3) 图表控件:在应用程序或在网页中绘制折线图。

  5.2. 接口设计

  系统接口包括:数据接收对象接口、数据访问对象接口、图表控件接口。


图5.3 系统接口设计­­­

  5.3. 应用程序结构

  服务器端的应用程序功能主要有以下模块:原始数据页的显示、数据查询、运行控制(包括数据接收控制和数据库连接控制)和参数设置(包括数据数据传输对象属性设置和数据访问对象的属性设置)。应用程序的主要功能几乎完全由组件提供。

  5.4. Web应用程序设计

  在NT服务器中启动IIS服务,建立一个Web站点,在该站点下建立数据查询页default.asp。数据查询页面需要以下参数:


表5.1 查询页面参数

  输出数据:在页面上显示查询结果,包括数据表和数据折线图。


图5.4 查询页程序流程图

6. 项目总结

  本设计采用了一个串口连接,连接了一台DOS工作站和一台NT服务器,从而实现了从ELIN-BUS网络到以太网的数据传输。在NT服务器上建立数据库,程序自动对数据进行分析整理,并在Web上发布数据。在数据传输的设计中,对于不同的工业网结点可以采用不同的数据采集发送方式,这里采用了文本传输方式,虽然降低了数据传输效率,但是有利于数据项的扩展。

参考文献

  [1] 《SQL Server开发指南》:(美)Ash Rofail、(美)Paul R. Allen著,电子工业出版社,2000;

  [2] 《TCP/IP详解》:(美)W. Richard Stevens著,北京大学出版社,1999;

  [3] 《COM与COM+从入门到精通》:(美)Joseph J. Bambra、(美)Yasser Shohoud著,电子工业出版社。












本文地址:本文地址: http://www.ca800.com/apply/d_1nrutga2l1ntl_1.html

拷贝地址

上一篇:浅谈霍尔电流传感器的应用

下一篇:光传感器在智能照明控制系统中的应用

免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!

相关技术文章
以太网工业数据传输