基于PLC和串口服务器的称重管理系统设计
2023-08-22刘卜文姜自燃宫志强徐世许
刘卜文,姜自燃,宫志强,徐世许
(青岛大学自动化学院,山东青岛 266071)
0 引言
称重技术是生产工业原料产品所必备的技术,产品需按指定质量进行出库。过去,许多生产企业采用人工计量,即工人在生产现场监视称重仪表,待到达指定质量后,将产品转运。人工计量所需人员多,同一生产车间不同仪表均需人工操作,信息传递慢,难以形成系统性的数据记录,不利于日后数据的查询及校对;同时企业管理层无法实时监管当前生产状况,不利于工作的调整。
随着通讯技术的发展以及生产过程自动化的实现,完善的称重系统成为现代工业生产企业的必备系统。其功能主要包括实时监视生产车间内仪表数据;存储生产信息至SQL Server数据库;实时修改操作信息;远程监管;自动生成EXCEL表格等。应用此类系统可方便工人与管理层实时确认生产信息;减少人工监视称重仪表等待时间,提高生产效率;方便管理层对企业的监管[1]。
1 系统总体方案设计
本称重管理系统主要由上位机、工业交换机、串口服务器、PLC、称重仪表和工业台秤等构成。系统包含2种不同类型的仪表,一种为连续发送数据的C30仪表,另一种为打印模式发送数据的IND236仪表。PLC通过RS485通信向C30仪表发送命令循环读取数据,经其处理后传入指定地址;但IND236仪表只有按下按钮才发送数据,故采用串口服务器将仪表的串口通信转换为以太网通信,通过上位机处理数据。HMI触摸屏负责监视生产状况、查询工作信息、设置生产参数等。上位机软件负责远程监控生产数据,并实现增删改查数据等功能,采用SQL Server数据库存储生产数据。将上位机、串口服务器、HMI触摸屏和PLC连接在工业交换机上,通过以太网通讯实现数据的传输[2]。称重系统硬件结构图如图1所示。
图1 系统硬件结构图
2 系统硬件配置
本称重系统的称重仪表根据工厂需求采用C30仪表和IND236仪表。PLC控制器采用CP2E-N;HMI触摸屏作为生产现场人机交互模块,采用TPC7022Ni;串口服务器采用NPort5650-8-DT,具体硬件型号见表1[3]。
表1 系统硬件列表
3 通信设置
3.1 PLC与称重仪表通信
PLC与4台实时称重的C30仪表通信,因生产车间较大,多个仪表分散在不同位置,且相距较远,故采用RS485通信连接称重仪表。CP2E-N型号PLC采用外置COMM端口,其RS485通信接线为PLC端的RDA-连接仪表端的B,PLC端的RDB+连接仪表端A,PLC通信设置与C30称重仪表相同,波特率为9 600,8位数据位,1位停止位,无校验位,超时响应时间设置为0.1 s[4]。
3.2 PLC与触摸屏通信
PLC与触摸屏之间采用以太网通信,通过交换机连接,在MCGSPro软件中进行通信设置[5]。PLC与触摸屏的IP地址需在同一网段下,设置PLC的IP地址为10.110.59.1,触摸屏的IP为10.110.59.15,本地端口号和远程端口号选9600,网络类型选择0-UDP,服务器客户设置选择0-客户,设备属性页将PLC节点地址改为1,计算机节点地址改为12,下载到触摸屏选择联机,连接方式选TCP/IP网络,目标机名填触摸屏IP。
3.3 通信地址分配
PLC与上位机通信分配地址如表2所示。
表2 PLC与上位机通信分配地址
PLC作为数据传输及处理的中转站,处理4台仪表数据,传输7台仪表数据。地址区的分配需避开特殊功能区,满足客户数据长度,留有备用地址区,方便处理。PLC中接收的仪表及上位机数据需传送至触摸屏显示,同时PLC接收的触摸屏设置及仪表等数据需传送至上位机显示。
4 软件设计
本系统软件设计共分为3部分,采用CX-Programmer软件对PLC进行通信程序以及数据处理程序的设计;采用昆仑通态的MCGSPro软件进行触摸屏操作及监视界面的设计;采用Visual Basic语言进行上位机系统设计;采用SQL Server数据库存储信息。
4.1 PLC程序设计
PLC主要功能为通信数据传输以及通信数据处理,共读取4台仪表,单台读取时间为0.2 s,每0.8 s读完一轮,其工作流程图如图2所示。
图2 PLC工作流程图
CP2E-N对应Modbus-RTU简易主站功能的辅助区位为A640,其固定分配字为D1200~D1299。A640作为简易主站功能的执行位,其二进制位A640.00作为功能的触发位,1为触发,0为停止;A640.01为功能执行正常的标志位,1为正常,0为错误。D1200~D1249存放功能命令代码;D1250~D1299存放返回数据。根据此功能采用梯形图编程编写数据处理及传输程序。
简易主站功能程序实现循环读取4台称重仪表的实时数据,将数据存放在指定地址区。PLC作为主站,4台仪表作为从站,通过串口对从机发送的读取功能命令帧为01 03 0001 0007 55C8,读取1号从机的1号~7号寄存器内容。将命令代码存放至指定位置,发送命令地址及接收通道如表3所示。
表3 发送命令地址及接收通道
D1254高字节存放后续地址数据长度,为寄存器数量的2倍;其低字节存放读取的寄存器内容,从此开始数据错位,此地址低字节和下一地址高字节共同存放一个寄存器的内容,共读取7个寄存器。因多台仪表共用一台PLC,故在接收到数据后立即将数据转存至规划地址区。根据工厂对不同台秤的精度需求,需将读取的数据分别除以浮点数10和100,将精度变成0.1和0.01。
4.2 触摸屏界面设计
触摸屏界面采用MCGSPor组态软件设计,主要包括实时监视界面、设置界面、工作量查询界面、除磁A工作记录、除磁B工作记录等功能界面。通过以太网连接至交换机,与PLC之间建立通信联系,将示数及设置内容关联到指定地址区。
监视界面共监视7台仪表数据,当有仪表出现通信错误时,此仪表对应触摸屏通信指示灯亮红。设置界面用来设置各台仪表所称重的产品名称、批号以及处理此产品的操作员。工作量查询界面可查询当天指定操作员在工位生产了多少产品。触摸屏监视界面如图3、设置界面如图4,查询界面如图5所示。
图3 触摸屏监视界面
图4 触摸屏设置界面
图5 触摸屏设置界面
4.3 上位机软件设计
4.3.1 上位机与PLC通信
在称重过程中,上位机需要实时读取PLC处理后的数据,二者之间的通信采用基于Fins TCP协议的以太网通信[7]。上位机既需读取由PLC直接处理的4台C30仪表数据,也需向PLC发送3台由上位机读取的IND236仪表数据。读取具体实现代码如下:
(1)采用Winsock控件定义连接PLC的IP地址和波特率,代码为:
Winsock1.RemoteHost=″10.110.59.1″
Winsock1.RemotePort=9600
(2)定义Fins指令:
Dim fins()As Byte 'SendData发送的数据数组
fins()= &H80 00 02 00 01 00 00 6D 00 00 01 01 82 07 D1 00 00 8C
其定义含义分别为信息控制域、系统保留、网关允许数目、目标网络地址、PLC节点号01、PLC单元号00、源网络地址00、计算机节点号109、计算机单元号00、服务标识、指令代码第一个字节、0101表读0102表写、D内存区代码、起始地址转十六进制、项目数、读取140个通道数据[8]。
(3)发送Fins命令帧:
Winsock1.SendData fins()
4.3.2 上位机与串口服务器通信
串口服务器通过以太网连接上位机,通过NPort Administrator软件虚拟出端口1、2、3,将IND236称重仪表的RS232转RS485通信转换成以太网通信等待上位机读取。通信设置代码:
MSComm1.CommPort=1
MSComm1.InputMode=1
MSComm1.Settings=″9600,n,8,1″
4.3.3 上位机连接SQL Server数据库
上位机将读取的数据存储在SQL Server数据库中,可通过分类查找功能查出具体产品数据,与数据库连接关键代码如下:
Adodc1.RecordSource=″select * from Table_1″
Adodc1.Recordset.AddNew
Adodc1.Recordset.Update
Adodc1.Refresh
4.3.4 软件主要功能
管理人员远距离对生产现场数据进行监视、增添、存储、修改和删除等操作。可实现手动保存数据,自动备份,数据自动生成Excel表格信息,系统信息另存为其他存储路径等功能。
(1)主界面实时显示7台称重仪表数据,监视当前生产状况;显示最近生产的产品信息(产品名称、批号、质量、操作员、日期时间等);设置查询、设置等操作按钮。
(2)查询界面可显示当日生产的所有信息,并可根据产品名称、批号、操作员、台秤和日期等多种信息分类查询,同时可根据关键词模糊查询。查询界面设置修改、增添、删除和批量操作、数据导出等按钮。
(3)修改界面可对单词产品生产记录进行信息更改;批量操作界面可实现对多条生产记录同时删除;增添界面可对遗漏订单进行补填;数据导出Excel表格可方便第三方调查生产数据信息等。
5 结论
本文基于PLC和串口服务器设计了针对多种类、多台称重仪表的称重管理系统。该系统实现了各台称重仪表数据的统一显示、称重数据的处理、查询生产记录、上位机对数据的统计管理、生产车间对产品的基本设置等功能。该系统上位机软件及触摸屏操作简单,管理人员及现场工人经过简单培训即可适应系统。实际使用证明该系统可准确无误地监控当前生产状态,并通过上位机对过往数据记录进行存档,实时调整生产状态,简化了生产车间的工作流程,去除了人工记录数据环节,加强了管理层对生产现场的信息了解能力,降低了出错率,提升了生产效率并做到了数据可追溯。