咨询电话

ENGLISH0755-88840386
新闻中心

咨询电话

0755-88840386
您的位置:首页 > 学习专题 > 专业技术专题 > 工业自动化称重仪表>详情页

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

发布时间:2021-04-25 15:46:31 |来源:网络转载

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

称重控制器系统结构图

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

其中: @ 为帧开始标志符; IP1、IP2 表示节点号,是指定与上位机通讯的 PLC; ID1、ID2 表示识别码,为命令代码,占 2 个字节; CT 表示正文,用以设置具体的命令参数; F1、F2 表示帧校验码( FCS) ,占 2 个字节, 它是从开始符“@ ”到正文结束的所有字符的 ASCII码按位异或的结果; “*  ”和“/ ”2 字符表示命令结束[3]. 识别码和正文取决于传输的上位机链接命令; FCS 由上位机计算; 命令帧的正文最多可以有 131 个字节,一个大于等于 132 字节的命令必须分成若干帧,命令分段应使用回车定界符,而不是终止符, 终止符只能用在最后一帧的末尾.
2. 1. 3PLC →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 所示.

PC 机的通信流程图

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

PLC通信流程图

3上位机监控软件设计
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结束语
上位机软件实时采集下位机的数据,可以让管 理者随时掌握装置的运行情况,并通过对生产过程 的关键数据的监控和分析,对出现的问题及时进行 处理. 目前开发的上位机软件具有了必要的功能, 并可以随着用户要求的增加,方便地对软件进行 升级.

 

 

本文源于网络转载,如有侵权,请联系删除

 

深圳市卓禾仪器有限公司是一家专门从事称重仪表和全自动包装码垛生产线的研发及生产的高新技术企业,所生产的JY500系列称重显示控制器(包括配料秤仪表、皮带秤仪表、包装秤仪表、重量变送器等)高速高精度,使用寿命长。卓禾仪器有十数年的现场校验经验,在业内有良好的口碑,且有专门的售后工程师帮忙解决产品使用过程中遇到的技术问题,客户可以放心省心顺心的使用我司的产品。如果对我司的产品感兴趣,欢迎咨询。

分享到