首页 > 范文大全 > 正文

电杆车间信息化管理系统的一种设计方案

开篇:润墨网以专业的文秘视角,为您筛选了一篇电杆车间信息化管理系统的一种设计方案范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:介绍了一种适合电杆厂等水泥制品行业应用的工厂生产线信息化管理系统的建设方案。通过采用串口服务器,将生产现场的串口信号转换为以太网信号进行远距离传送,用PC机通过虚拟串口进行数据采集,PC机程序采用VC++编程,采集到的数据以数字和曲线的方式实时显示,并存储在ACCESS数据库中供查询、分析和管理用。

关键词:串口服务器,串口通信,数据库

中图分类号:E271文献标识码: A

目前国内水泥制品企业生产现场的自动化和信息化水平普遍比较低,与发达国家相比差距比较大。一方面,为产品质量,企业需要对产品生产过程的各个生产环节进行质量把控,需要取得实际的控制数据。另一方面,为参与市场竞争,企业需要了解实时的能源消耗,确定单位产品能耗并进行节能降耗工作。这些数据都需要通过建立生产现场的信息采集系统来取得。由于行业特点,目前国内没有公司提供成套集散控制系统,设备生产厂家的设备大部分也不提供数据输出口,而且产品的生产线设备往往是不同厂家的设备,要上信息采集系统成本高投入大,大部分中小企业没有这个能力。本文将介绍一种适用与中小规模企业的数据采集方案,投入成本低,维护简单,可以以循序渐进的方式根据需要逐步添加数据采集点,可以根据需要连接不同通信协议的设备。

1系统总体结构

本文设计的系统对电杆车间的用电量、蒸汽耗用量、张拉数据、离心数据、蒸养数据等进行实时采集。采用集散控制模式,各数据采集点分别为现场控制设备和现场数字化仪表(型号及具体实现不在这里做详细介绍),这些现场设备均提供RS232串行接口,通信协议为MODBUS协议或其它标准或自定义协议。数据采集和管理软件运行在PC机上,软件采用VC++进行编程。该软件采用读写串口的方式和个现场设备仪表通信,获得需要采集的数据和发送控制指令。相同种类设备的多个数据采集点先通过RS485总线进行连接然后转换为以太网信号通过网线和交换机连接到PC机,或着由现场控制器根据要求将采集到的多个点的数据重新编码后转换为以太网信号通过网线和交换机连接到PC机,拓展非常灵活。采集到的数据保存在ACCESS数据库文件中,不同性质设备数据放在数据库中不同的表里。这些采集的数据作为基础数据用于查询、分析和形成需要的管理数据。比如查询显示各电杆的张拉数据,看是否张拉到规定的拉力,是否有断筋的情况,进行质量追溯。显示当天每班生产完成后实际电耗和蒸汽使用量并转换成货币成本值等,提供数据进行产品成本控制管理。

2实现方法

2.1数据采集网络的建设

集散系统的采集点数量比较多,串口数量也会很多,如果采用多串口卡来扩展串口数量,成本比较高,连线也很多,而且长距离传输信号两端都要用RS232/RS485模块进行转换。如果用单独的RS485总线进行通信,由于RS485通信时是半双工的工作模式,并且是采用轮询各设备的通信方式,必然造成通信效率低下,不能满足众多设备和pc机通信的使用要求。所以本系统不采用多串口卡的方式和单独RS485总线的方式进行数据通信,考虑到投资成本和现场设备的多样性,也不采用其它现场总线进行连接,而是采用普通的以太网做为连接网络,通过串口服务器将各现场设备的串口信号转换为网络信号并通过网络交换机连接到PC机的网线接口,然后在PC机上通过虚拟串口软件将各个连入的网线端口虚拟成串口,PC机上的数据采集和管理软件就像操作实际串口一样读写现场设备的参数。连接到PC机上的只有一根网线,在对数据实时性要求不高的场合,这种方式是一种廉价且高效的连接方式,目前国内很多中小型集散系统都采用这种方式。

2.2 软件设计

本系统中,数据采集管理软件是核心,软件采用VC++进行编程设计,Visual C++由于功能强大和应用灵活,编译的代码执行速度快效率高等优点,同时也得到了Microsoft系统的最好支持,因此Visual C++也是底层系统软件开发的首选工具,用于串口通信编程和数据库编程也是很好的选择。为了程序的可读性、可扩展性和方便代码的重复利用,在编程过程中,充分利用C++的特性,对代码的功能进行详细划分,把不同功能的代码分成不同的类,分别编成不同的模块类进行封装,方便了重复调用,减少了代码编写量,而且对功能模块的维护和扩充也变得很方便。数据采集及管理系统核心模块主要由显示界面类、主执行模块、串口读写模块、数据库模块、曲线绘制模块、权限管理模块、数据分析模块、注册模块等类型模块组成。

系统显示界面是由多个FormView类窗口组成,采集到的每一类设备数据的显示和查询都分别放在一个或几个FormView类窗口中进行,通过菜单选择显示不同的窗口。在窗口中,根据管理需要分别执行显示实时采集数据、显示实时数据曲线、输入查询条件和显示查询结果、显示按设定的分析管理模型得出的供管理参考的数据等。

主执行循环放在CFrameWnd类中进行,在该类的 OnCreate中初始化了一个基本定时器SetTimer(TIME_SEQUENCE,100,AutoCycle);时间设定为100ms,每100ms都会调用一次循环控制模块,所有需要循环反复触发的事件都放在这个函数内进行,如发送串口数据、向数据库追加数据、刷新显示LED控件等。各事件不同的触发间隔时间可以通过计数的方法在该函数内实现,如:需要一秒钟执行一次读某个设备串口的工作,就可以通过设置一个计数变量,每循环一次计数值加100,当计数值等于1000时,执行一次读串口操作,然后将计数变量值清理,然后重新进行计数累加。图1为主循环部分代码

图1主循环部分代码

串口读写是该系统里的一个主要功能,为实现这些功能,分别编写了串口收发模块、MODBUS协议和其它协议的模块、设备数据读写模块等。串口读写模块负责接收和发送串口数据帧。协议模块负责生成奇偶校验码和按协议格式打包、拆包数据帧。协议模块可以根据使用到的协议种类,每种协议编写一个模块。设备数据读写模块是针对各设备编写的串口读写模块,模块中使用了协议模块的派生类,根据所要读写的具体设备的地址、需读写的寄存器地址和数据个数等参数,调用协议模块派生类,直接生成相应的数据帧,简化读写串口的操作,使用时由主循环直接调用设备存储模块的一个函数,不需输入参数既可生成读写数据帧,传送给串口收发模块类进行读写串口操作。提高程序可读性和易维护性。要注意的是,如果需要读写的串口数量少于16个的话,也可以直接使用串口控件MSComm,或使用其它支持读写更多串口的第三方串口控件,此时可以不用专门编写串口读写模块。

关系型数据库管理系统主要有SQL Server、ORACLE、ACCESS几种。本系统选择ACCESS数据库,ACCESS是小型数据库,在数据量逐渐增多的情况下,其处理速度会越来越慢,但是在数据量不是很大的情况下,ACCESS数据库有不需要建服务器、使用维护简单、对管理人员要求低等优点,本设计针对水泥制品行业特点,设计的ACCESS数据库每月自动生成新的文件,使用过程中不需要定期清里数据库,并通过生成合并数据库的方式满足跨月跨年查询的要求。在对查询数据速度要求不是很高的场合是个不错的方案。每月生成新数据库的方法是,建立一个未输入数据的数据库做为以后自动生成数据库的模版,如:CZ_DATA.mdb,数据库里需要用到的各数据表要建好,比如蒸汽流量表,表名为SteamFluxTable,建立需要的字段,自动编号:序号,文本型字段:设备ID,数字型字段:瞬时流量,数字型字段:累计流量,日期/时间型字段:时间和备注型字段:备注。使用数据库前,先取得当前时间,然后以当前时间的年和月组合为新数据库的文件名,比如:201403.mdb,如果同名的数据库已经存在这什么都不做,否则就用标准数据库为模板建一个新数据库名的库文件,然后再打开数据库进行各项操作。建库代码如图2

图2生成数据库代码

对数据库的操作采用ADO方法,ADO是最新的数据库访问技术,它使用更加简单、更加灵活的对象模型,使用ADO作为数据访问接口是目前比较推崇的方法。使用ADO对象前,需要使用 图3 的语句

图3导入ADO库代码

语句将ADO库文件导入到工程中。然后就可以使用ADO库里的三个基本接口_ConnectionPtr接口、_RecordsetPtr接口和_CommandPtr接口指针对数据库进行读、写和查询等操作。

3运行结果

本系统经过调试运行,效果良好,各种不同的管理模块也在逐步追加。框架建好后扩展调试非常方便。运行显示界面如图4

图4 运行显示界面

4结束语

目前国内水泥制品企业多是使用由不同厂家和不同时代的设备组成的生成线,以这种方式进行信息化改造技术难度低,建设成本和使用成本都比较低,本系统结构简单,功能扩展容易,运行过程不需要特别维护,运行稳定且出现故障排除容易,对使用维护人员要求不高,因此特别适合国内水泥制品行业推广使用。

参考文献

Visual C++ 串口通信技术与工程实践 李现勇

Visual C++6.0 数据库开发技术与工程实践 编著:求是科技 责任编辑:张力科