基于Delphi的称重控制器上位机软件设计与实现

类别:最新资讯 时间:2018-03-21 点击:116 次

介绍了在Windows环境下利用Del- phi7. 0开发的称重控制器上位机软件设 计与实现,包括上位机和PLC通信的设 计,上位机监控软件的总体设计、数据库 设计、模块设计等,完成了对称重控制器 的状态监视、通讯设置、参数设置、料种 设置、生成报表、显示实时曲线、历史曲 线等功能.实验表明该软件使用方便、调 节灵活、可移植性强,很好地实现了称重 控制器的人机交互功能,实践证明该设 计方法是有效的.
称重控制器是应用于冶金、矿山化工、交通、公路建设等场所的 皮带秤上的仪表,具有高精度、高可靠性的特点.PLC (Programmable Logic Controller)作为新_代工业控制器,以其高性价比在工业测控系 统中获得广泛的应用.虽然PLC具有使用简单方便、抗干扰性强、故 障率低等优点,但它也有不能提供良好的人机界面,数据处理与管理 能力弱等缺点.将PC与PLC结合起来,既可以充分利用PLC的可靠 性高、开发周期短、编程容易等特点,又可充分利用计算机友好的人 机界面,实现人机对话和监控功能a].称重控制器安装在皮带秤下 面,皮带上面有各个配料仓.本文介绍了由工业控制计算机和CP5613 通讯网卡组成的监控系统,利用Delphi7.0和 Access 数据库开发了称 重控制器上位机软件.该系统采用上下位机的主从式结构,PLC作为 下位机完成称重控制器数据的实时采集和对各个称重控制器的控制 功能;上位机采用计算机与PLC进行数据交换,实现通讯设置、料种 设置、仪表参数设置等.CP5613网卡用于工业控制计算机连接到 Profibus DP现场总线,数据的实时通讯基于Profibus协议,通过专用 数据线与控制站实现数据通讯。
1.系统组成
System components
该系统分为3层:上位机(工业控制计算机和CP5613通讯网 卡)、现场控制站(PLC)和现场传感器.其系统结构如图1所示。

上位机以操作监视为主要任务,并有管理功能. 上位机监控软件采用Delphi7.0, Access 数据库和 Photoshop7. 0图像处理软件进行开发.其软件平台 完成系统中的时钟、通讯、料种、仪表等参数设置,实 时显示各个配料秤的累计量、瞬时流量、实时料种的 配比,并将每班的生产情况记录到数据库中.上位机 通过现场总线接口卡CP5613使上位工控机接入DP 网络,这样上位机与现场总线就连接为能完成运行、 操作等功能的控制网络系统,即Profibus DP现场总 线通过CP5613接口卡与上位机进行通信.现场控制 站直接面对控制对象(各个称重控制器),完成对工 业现场的测控操作.通过称重控制器中的称重传感 器和测速传感器来测量系统的各种运行参数,并将 其返回到控制站,写入上位机的实时数据库中.
2.上位机与PLC之间的通信
Communication between the host computer andthe PLC
上位机作为主站能够通过PLC监控下层设备的 状态,首先要实现上位机与PLC间的通信.PC与 PLC间通常采用串行通信方式.上位机同PLC间的 通信采用主从应答方式,在通信过程中上位机始终 处于主动方,PLC则处于被动方,所有数据交换只能 在主站和从站之间进行,从站之间不能直接交换数 据,如果从站之间需要交换数据,必须通过主站中 转.上位机先向PLC发送指令帧PLC接收了上位机 的指令后,先进行FCS校验,看其是否正确,如果正 确,则接收并向上位机传送响应帧;否则,PLC拒绝 向上位机传送数据.需要说明的是,整个通信过程中 因PLC中配有通信机制,一般不对PLC进行编程. 上位机接收到PLC传送的数据,也要判断正确与否, 若正确,则接收,完成一次正常通信;否则,通信需要 重新开始.
2. 1 PLC数据通信协议
2.1.1通信条件
要使上位机与下位机正确地交换数据,必须保 证双方在初始化时要使波特率、数据位数、停止位 数、奇偶校验均保持一致;还必须严格按照PLC的通 信协议的规定及帧格式编写PC的通信程序.
2.1.2 PC ^PLC的命令帧
PLC传输协议的一般格式为

其中:@为帧开始标志符;IP1、IP2表示节点号,是指 定与上位机通讯的PLC;ID1、D2表示识别码,为命 令代码,占2个字节;CT表示正文,用以设置具体的 命令参数;F1.F2表示帧校验码(FCS),占2个字节, 它是从开始符“@ ”到正文结束的所有字符的ASCII 码按位异或的结果”和“/”字符表示命令结 束3 .识别码和正文取决于传输的上位机链接命令; FCS由上位机计算;命令帧的正文最多可以有131 个字节,一个大于等于132字节的命令必须分成若 干帧,命令分段应使用回车定界符,而不是终止符, 终止符只能用在最后一帧的末尾.
2.1.3 PLC ^PC的响应帧
当PLC收到上位机的指令后,以上面格式应答. @、节点号和识别码的含义与命令帧格式中的含义 相同;响应码表示指令完成的状态(是否有错误); FCS由PLC计算给出,用来判断PLC的应答是否可 靠;终止符通过设置“* ”和“/”表示应答结束.
2.2上位机的通信编程
用Delphi7.0实现串行通信,常用的2种方法 是:使用API函数;使用如MsComm或PComm等控 件.使用API编写串行通信程序复杂,需要掌握大量 软硬件知识,适合于编写复杂的低层次通信程序.相 比较而言,利用MsComm控件则相对较简单,该控件 具有丰富的与串行通信密切相关的属性及事件,支 持多线程,提供了对串口的各种操作.通信程序采用 Delphi7. 0编写,使用通信控件MsComm,该控件封装 了通信过程中的底层操作程序,用户只需要设置和 监控软件的相关属性和事件即OnComm事件就可以 实现串行通信.在编写通信程序之前,先对MsComm 一些属性进行初始化,完成串口通信设置.设计时常 用属性如下.
CommPort.设置并返回通信端口号.
InBufferSize.确定接收缓冲区大小,一般采用默 认值.
InputLen.指定每次从接收缓冲区读取的字符 数,若设置为0,则1次读入输入缓冲区所有字符.
OutBufferSize.确定发送缓冲区大小,一般采用 默认值.
Settings.以字符串形式设置并返回串行通信协 议,由波特率、奇偶校验、数据位、停止位组成.一般 情况下设置为“9600, E, 8, 1 ”,含义是波特率为 9 600 bps,奇校验,8个数据位,1个停止位.
采用MsComm接收数据有2种方法:事件驱动方式和定时查询方式.本系统采用2者结合的方式, 当PC机向PLC发送数据后,就一方面不断地检查 PLC是否响应回答,当ComEvReceive事件驱动时, PC机接收PLC的响应;另一方面在OnComm事件中 轮询端口,当串口缓冲区接收到数据时,触发On-Comm 事件,这时启动定时器轮询端口,并关闭On-Comm 事件.若定时器计时到,通过串行通信口向指 定地址的仪表发出读命令,等待时间到则检查In- BufferCount属性值来判断输入缓冲区是否接收到了 相应数目的字符,从而进行数据的读取、判断数据合 法性和数据的存储、处理、显示.接收完一帧后再打 开OnComm事件等待下一次触发.当窗口串口的接 收缓冲区没有接收到数据时,不触发OnComm事件, 也就不会启动定时器轮询端口,释放CPU资源.PC 机的通信流程如图2所示.

在此次实验中,PLC通讯口初始化选用9 600 bps、8位数据位、1个校验位、1个停止位;自定义以 @开头的信息作为有用信息的标志;引入2个中断, 即接收结束事件和发送结束事件,完成PLC接收到 PC机的数据后对PC机的一个响应过程3] . PLC通 信流程如图3所示.

3.上位机监控软件设计
Design of monitoring software for host PC
3. 1总体设计
上位机使用Windows XP作为操作系统,监控软 件采用 Delphi7. 0, Access 数据库和 Photoshop7. 0 图 像处理软件进行开发.上位机监控系统的功能结构如图4所示.
上位机监控系统主要包括用户登陆、监控主界 面、系统设置、报警处理、数据显示、历史查询、系统 曰志、系统帮助等.上位机可以设置各配料秤的给定 流量、料种的配比,可以实时显示各个配料秤的累计 量、瞬时流量、实际料种的配比,将每班的生产情况 记录到数据库中,并根据接收到的数据生成实时生 产报表、历史生产报表,各料种的实时曲线、历史曲 线.上位机主画面可同时显示各仓的通信状态,各个 仓可以选择设置为供料仓或备用仓.
3.2数据库设计
在数据库系统设计上,采用“前台+后台”的结 构,即借助 Access 来建立数据库(后台),利用Del- phi7. 0实现数据输入、查询、报表生成、打印输出等管理功能(前台),前后台之间采用ADO技术实现连 接.Access 数据库是微软公司在Windows环境开发 的一种关系型数据库系统,以表的形式存储数据,需 要创建6个表分别对应6个表的数据存储.这6个 表分别是用户信息表、料种表、仪表参数表、报警记 录表、通讯状态表、本班组配料状况表.其中报警记 录表有料仓、开始时间、结束时间、时长等字段;本班 组配料状况表有料仓、料种、定值、本班累计、本曰累 计等字段.完成数据库的建立之后,Delphi7.0主要 解决数据库的连接、显示和操作3个问题.用 ADOConnection控件完成对数据源的连接,用DB- Grid控件完成对数据库内容的显示,用ADOTable控 件来完成对数据库的操作.ADO和DataGrid控件的 使用以及 Access 数据库的建立6],不再详述.
3.3模块设计
模块化、自动化是软件设计的主题思想.模块 化设计充分发挥了 Delphi面向对象程序开发的优 势,将系统的功能分解成独立的子功能模块,使程 序的开发、调试及维护简单化.自动化将体现在将 程序参数化,按照用户设定的参数自动完成既定的 任务2].
3.3.1用户管理模块
只有合法的系统操作人员或系统管理员才能进 入系统,进行相应的操作.该功能模块由用户登录和 密码修改2个部分组成.
3.3.2监控主界面模块
监控主画面主要监控各仓的通讯状态(通讯出 错还是通讯正常),每个仓的料种的瞬时流量(单 位:t/h)和累计量(单位:t).各个配料仓可以选择设 置为供料仓或备用仓.各个配料仓可以选择设置为 是自动配料还是手动配料.
3.3.3系统设置模块
系统设置模块包括通信参数设置、报警参数设 置、系统参数校正值设置等.
3.3.4报警处理模块
报警的内容包括配料仓超料、缺料;皮带机开、 停;皮带跑偏以及相关参数超出设定值等.报警处理 采用系统自动处理和人为参与2种形式.在自动模 式下,系统将进入预先设定的故障处理程序(如当1 号配料仓缺料时,系统将关闭该仓及皮带机);在手 动模式下,由当前的操作员进行相应的处理.但不管 在何种模式下,系统都会对报警迅速进行定位和声 光提示,并将其写入系统日志.
3.3. 5显示模块
系统接收到的数据可以数字形式、曲线形式、实 时报表等多种形式显示.
3.3.6数据保存模块
在实时监控系统软件中,数据的存储是其中的 一个重要环节,由于系统采用的是关系型数据库,采 集的数据量相对较大,考虑到系统对实时性的要求 较高,故采用了缓冲存储的办法,即在计算机内存中 开辟一段数据存储缓冲区,可以有效地提高系统的 响应速度5].
3.3.7系统日志模块
系统日志记录系统运行的状态和行为,作为系 统的一个组成部分,它为操作人员对系统的操作提 供参考和系统的故障分析.
3.4用户界面设计与实现
登陆界面和报警界面属于Delphi7.0数据库应 用程序设计,比较简单;监控界面涉及上位机和PLC 通信以及Delphi7. 0数据库应用程序设计.用户界面 设计的基本原则是操作方便,直观形象,具有明确的 错误提示.上位机软件运行于Windows XP环境下, 监控主界面是整个设计的核心部分(图5).

由各个配料秤的通讯状态,瞬时量显示值,累计 量显示值组成,并且可以对每个仓的通讯状态进行 控制,是通讯还是停止.如当点击某仓旁边的“手动” 时弹出备用仓设置对话框,用户可以把该仓设置为 供料仓还是备用仓;可以为每个仓所加入的料种设 定定值;可以显示各料种的实时曲线、历史曲线,曲 线的范围可以是1 min,1 h,8 h,1 d等.
菜单栏中一级菜单系统设置有管理员密码、系 统时钟、通讯设置(图6)、料种设置、仪表参数、保存 时间、首班时间等二级菜单,配比设定可以添加新的 料种并进行比例设定,报表菜单有生产日志、小时记 录、料种累计、料仓累计二级菜单.

操作人员通过主工具栏及其级连的子工具栏可 以快速地切换到需要查看或处理的页面,界面直观, 形象,方便操作.
4.结束语
Concluding remarks
上位机软件实时采集下位机的数据,可以让管 理者随时掌握装置的运行情况,并通过对生产过程 的关键数据的监控和分析,对出现的问题及时进行 处理.目前开发的上位机软件具有了必要的功能, 并可以随着用户要求的增加,方便地对软件进行 升级。

中国领先的称重软件技术提供商

The Leading Provider of Geomatic Solutions in China

展开收起网站地图