行业动态

当前位置:首页>>新闻中心>>行业动态 发布时间:2019-02-14 10:28:02

基于PLC的双向地磅无人值守称重系统的设计与实

时间:2019-02-14 10:28:02 来源:本站 点击数:2103

过去,许多石化企业的车辆过磅称重采用有人值守系统,即:通过现场人工计量的方式,多个地磅需要安排多个司磅员,司磅员手工记录车辆皮重和毛重,再根据计算得出的石油化工品的净重来结算业务。而传统的单机无人值守系统结构单一,未对外提供数据接口,无法实现与第三方系统的无缝对接,且操作流程复杂、耗时长、参与人员过多,易造成计量管理混乱、执行效率低下,各种作弊现象也时有发生。因此,随着通信与网络技术的快速发展,越来越多的企业希望装卸车地磅本地业务处理采用无人值守型远程监控方式,包括自动识别车号、自动检测车位、自动引导、自动保存称重数据及生成各类报表等,从而增强工业园区装卸车的管理执行力,提高工作效率,高效地实现与MIS/ERP系统的数据共享与沟通,有效防止夹带作弊、车辆不完全上磅、遥控作弊等多种作弊行为,堵塞各种管理漏洞,实现管控一体化。

近几年来,无人值守称重系统在煤矿、冶金、化工等行业均有广泛应用[4-6]。该系统通常配合定量装车系统、SCADA(supervisory control and data acquisition,监控与数据采集)系统、排队叫号系统等有序地实现整个库区的储运管理,其安全性、可靠性、稳定性保证了企业物流安全和人力财产安全。在工程应用中,可利用研华科技亚当模块来控制现场道闸信号和红外信号,并和地衡信号一起通过Prolinx网关传送给上位机。该方法简单易行,在大型的多磅称重需求中相对能降低成本,但是所需实现的功能过于分散,对于称重信号的计算与处理必须通过上位机来完成,在项目管理中不利于分工合作,而且该模块的稳定性依赖于计算机,信号采样速度较低。因此,本文根据某石化企业的项目需求,针对地衡数目较少的小型称重系统,利用Allen-Bradley Micro850控制器,通过网络互联,实现了地衡称重的无人值守管理。

1.地磅无人值守称重系统总体结构

地衡无人值守称重系统主要由地衡、红外光栅、道闸、IC读卡器摄像头等构成,其网络结构如 1所示。该系统将采集到的现场数据通过以太网传输与中央控制室的称重管理软件进行数据交换和管理,从而实现车辆过地衡时数据自动监测和远程管理的功能。

地磅采用传感式电子汽车衡,用于车辆装卸称重;红外光栅利用多束红外光对射来判断车辆停放位置是否正确;道闸的开启与关闭均由地感线圈触发控制,用于限制车辆的通行,达到提示与安全保障的目的;基于RFID[10]技术的IC(integrated circuit,集成电路)卡通过无线电波与读卡器进行数据传输,自动识别业务信息,保证每笔业务的唯一性;摄像头一般有3个,为车前摄像、车后摄像和全景摄像,用于称重过程图像采集和视频动态录像;LED (light emitting diode, 发光二极管)显示屏通过Prolinx通讯网关将数据传输格式由Modbus RTU转换成Ethernet/IP格式,用于显示提示信息,引导司机完成整个称重过程。

2.双向地磅无人值守称重系统的设计与实现

2.1 PLC选型

根据无人值守系统的功能要求与特性,PLC(programmable logic controller,可编程逻辑控制器)采用Allen-Bradley Micro850控制器。该控制器价格低廉,但具有高灵活性、高I/O性能、低空间占用、高稳定性的特点。它内置24 V直流输出电源,配置48点的数字量I/O模块,且可至多扩展4I/O模块,同时配备串行通信plug-in功能性插件及嵌入式10/100Base-T以太网端口,支持Modbus TCPEthernet/IPModbus RTU等协议,并采用可拆卸端子设计[13]

2.2 I/O配置与地址映射

地磅系统分为单向和双向两种类型。根据实际需求,本文研究双向地衡无人值守称重系统,如 2所示,其中,地感线圈、红外光栅、IC读卡器、道闸各为2个。用到的数字量输入为地感线圈信号和红外信号,共计4个输入点;数字量输出为道闸信号,共计4个输出点。道闸的开启与关闭由不同的输出点控制,称重系统I/O配置如 1所示。

1 双向地磅无人值守称重系统I/O配置Table 1 I/O configuration of bidirectional weighbridge unattended weighing system

变量名

数据类型

描述

_IO_EM_DI_00

Bool

地感1线圈

_IO_EM_DI_01

Bool

红外光栅1

_IO_EM_DI_02

Bool

地感2线圈

_IO_EM_DI_03

Bool

红外光栅2

_IO_EM_DO_00

Bool

道闸1开启

_IO_EM_DO_01

Bool

道闸1关闭

_IO_EM_DO_02

Bool

道闸2开启

_IO_EM_DO_03

Bool

道闸2关闭

表选项 

本系统用到的2080-serialisor plug-in串口模块共有2个,分别使用MSG_Modbus功能块和ARD(ASCⅡ read)功能块来读取IC读卡器和地衡数据。由于2种数据传输方式不同,需要分别对它们组态,将串行传输方式分别设定为Modbus RTUModbus ASCⅡ。同时,为了响应Modbus主站的读写命令,必须将变量映射到Modbus地址中。读/写保持寄存器初始地址为400001H,本系统共用到22个变量,部分变量标签的Modbus地址映射如 2所示。

2 变量的Modbus地址映射Table 2 Modbus address mapping of variables

变量名

数据类型

首地址

所使用的地址

A_dw_out_cardNo1

dword

400001

400001-400002

A_dw_out_cardNo2

dword

400003

400003-400004

A_r_out_weightCurrent

real

400005

400005-400006

A_r_out_weightResult

real

400007

400007-400008

A_w_out_infrared1

word

400021

400021

A_w_out_infrared2

word

400022

400022

表选项 

2.3 系统控制流程

根据实际工况,PLC控制模式设计为自动控制手动控制维护三种。一般情况下,称量过程按照正常程序和步骤,以自动控制方式进行。

司机在业务大厅根据ERP (enterprise resource planning,企业资源计划)系统生成的发货单开票制卡后,等待叫号,依次过磅称重。车辆驶向地磅时,地感线圈感应到车轮振荡,从而控制道闸开启,延时几秒后触发红外光栅。需要注意的是,本文设置的地磅被感应的最低限值为20 kg,防止因人为、天气或其它因素的干扰导致红外光栅被意外触发。司机将车停稳后进行刷卡,上位机查询数据库对卡内信息进行比对,以确定业务是否存在,如果连刷3次一直提示不存在,则道闸自动打开,提醒司机下磅重新开票办理业务。为了便于区分,本文规定以“1”开头的为正向行驶,以“2”开头的为反向行驶,当业务不存在时,定义为以“3”开头,两侧道闸同时打开,车辆可从任意一侧下磅。双向地衡自动控制流程如 3所示。当出现意外或紧急情况时,可通过上位机将控制方式改为手动控制模式,PLC程序将被旁通,现场所有设备直接由上位机控制。出于安全考虑,当进行设备维修和养护时,可将控制方式改为维护模式,此时PLC程序和上位机被锁定,不允许执行任何操作。

2.4 数据采集

本系统基于CCW(connected components workbench)组态软件进行设计编程。IC卡号的读取是通过Modbus RTU串行传输模式,采用MSG_Modbus功能块,以非连续触发的方式,Modbus RTU主站读写从站保持寄存器的数据,并将数据存放于缓存区LocalAddr中。若MSG指令执行成功,则输出Q置为“True”

地磅称重信号无法直接获得,必须通过二次表将数据提供给PLC。本文采用的二次表为Mettler Toledo T800称重仪表,它提供了2个串行口(COM1COM2),通过COM1将数据输出到PLC,波特率设为9 600 b/s8位无校验,输出方式为Toledo连续输出。二次表的数据是以18个字节的ASCⅡ码形式输出的,起始符为02H,第5~10位用于存储毛重,为6位不带小数点和符号的数字;第17位为回车符0DH,只有读到回车符,才被认为数据获取完整。因此,在PLC编程时,需要对第5~10位进行数据格式转换,然后由上位机来判断所获得的当前值是皮重还是毛重。首先通过软件内置的AWA功能块,将数据以十六进制ASCⅡ的格式存入缓存区Source中;接着利用ARD功能块读取ASCⅡ字符,并将它转换成Dint类型,然后需要分别判断第5~10位的字节是否为空格,即是否为“32”,若是,则将“0”赋值给该位,若不是,则减去“48”,将差值赋给该位;最后,将每一位数值乘以它的数量级再求和,得到实际质量为:

A_real=i=510(1010?i×A_out[i])A_real=∑i=510(1010?i×A_out[i])

(1)

式中:A_real为实际称重有效值,A_out[i]表示第5~10位十进制字符,字符范围为0~9

2.5 质量信号的滤波处理

称重车辆载重一般是成吨计的,而地磅二次表的测量精度是20 kg, 车辆上磅停稳后,会因人为、天气等各种因素的干扰,导致称重值不断跳变,因此,在程序中加入了250 ms的定时器来不断更新称重值,LED显示屏、二次表和上位机信息管理系统中可显示实时质量变化。同时,为了获得较准确的皮重和毛重,必须将质量信号进行滤波处理,取一个稳定的有效值提供给业务站,以便开票出单。传统的滤波算法有平均值滤波、限幅滤波、中位值滤波、滑动平均值滤波等,本文采用的是对称重数据进行2次过滤的方法。

1步,采用限幅平均滤波法来粗步筛选数值A_real,由于每隔250 ms刷新一次,取10Buffer数据缓存区,将当前时刻获取的A_real替换前一时刻的值,依次存储到A_weight[1]A_weight[2]A_weight[10]中,通过式(2)求得平均称重值A_weightAverage,然后与第11次取得的当前值进行比较,根据其偏差是否小于等于阈值100 kg为标准来剔除无效的A_real,并将满足条件的当前值赋给A_weightCurrent

A_weightAverage=110i=110A_weight[i]A_weightAverage=110∑i=110A_weight[i]

(2)

2步,通过上面的方法可每250 ms得到一个A_weightCurrent数值,然后定义一个1 s的延时器,每隔4个数据进行一次采样,即每隔1 s将采样值赋给变量A_weightBuffer,再次利用限幅滤波法进行细过滤。当然,为了进一步减小误差,只有当5 s内所取的20个数据全都满足偏差值小于等于20 kg,才能将当前时刻的A_weightCurrent作为真正稳定的称重值赋给A_weightFinal,最后,业务站根据A_weightFinal值统计车辆过磅信息和结算业务。

3 .系统操作管理

本系统基于Server SQL数据库进行后台业务处理,包括制卡、打印提货单和车装出库单等,并通过Visual Studio 2010开发环境将对数据库操作的具体方法发布为WebService服务,实现数据远程访问。同时,利用C#编程语言,开发了一套具备地衡称重及查询装车业务功能的地磅无人值守称重管理系统。 4为称重管理系统客户端界面,计量操作中心的操作员只需输入相应网址,就可通过浏览器登陆系统,查看地衡的过磅信息和业务信息、正在进行的装卸车业务、当前车辆最近30条历史数据等。图中的实装量由批量控制仪提供,批量控制仪在装车系统中通过控制传输管道阀门的开度来控制化工品的流量。受到诸如丙烯等化工品的气相回流、空气浮力、批量控制仪所采取的控制策略等因素的影响,检测到的实装量会存在一定误差,所以目前各石化企业的称装量仍以过磅信息为准。

现分析某石化企业现场的地衡系统称重0#柴油的计量误差。选用Endress+Hauser公司的NXF581批量控制仪,通过连接Promass 83F质量流量计来控制调节阀的开度。现场通过不同的定量,将车辆过磅的净重与批量控制仪显示的实装量进行比较,如 3,分析得出通过该滤波算法能够将计量误差控制在3‰以内,符合实际的工业要求。

3 化工品过磅净重与所示实装量的误差分析Table 3 The error analysis between net weight of petrochemicals weighed by weighbridges and the showed actual amount

定量/t

实装量/t

过磅净重/t

误差/‰

10

9.987

9.980

0.70

15

14.941

14.960

1.27

18

17.975

17.960

0.84

22

21.991

22.000

0.41

30

29.966

29.900

2.20

表选项 

4 .结论

本文利用Micro850设计了双向地磅无人值守称重系统,可实现现场无人值守、司机自助称重以及远程集中计量。整个系统采用了集中监控管理的设计模式和分布式监测数据的智能设备,并设计开发了良好的可视化用户管理界面,促进企业物流、管理等的一体化发展。该系统已正式投入企业的实际应用,并取得了良好的效果。