电子秤数据采集控制系统的设计与实现
针对现场电子称数据无实时自动记录的现状,以RS-485通讯协议对电子秤的皮重、毛重等数据进行采集,基于C#语 言开发了一套数据采集控制系统,从而达到出厂产品净重一致、产品信息标识自动打印、形成加工产品质量可追溯的目的。
湖北烟草金叶复烤有限责任公司襄阳复烤厂打叶复烤线打 包段,配有两条成品烟叶装箱线,在自动预称装箱后,并线进行 人工复称、捆扎。预称、复称均采用动态电子秤 (IND560称重显示控制器),烟箱的皮重值为人工在称重显示控 制器中输入定值,在生产过程中发现,同批次烟箱中每个烟箱的 重量都有差别,最大相差1kg。为了满足产品质量均质化要求, 产品质量可追溯,对现有设备及操作方法进行了改进,编制了电 子称数据采集控制系统,从而达到出厂烟箱净重一致、产品信息 标识自动打印、形成加工产品质量可追溯的目的。
1.系统介绍
该系统的结构图,见图1。主要由电子秤、现场监控计算机、标 签打印机等组成。通过将预称的1号、2号电子秤自动称出的当前 烟箱皮重值,按先进先出的方式传输给现场监控计算机,当烟叶预 装箱完成后,进入复称环节后,现场监控计算机将存储的烟箱皮重 值做为3号秤皮重的标准值,人工进行烟叶的增减,确保所有出厂 成品的净重值相同,并自动对出厂产品的皮重值、净重值、箱号等 信息进行保存,同时打印出当前烟箱的产品信息标识。
2.系统的设计与实现
2.1电子秤的设置
称重显示控制器IND560自带一个标准串行端口 COM1, 提供RS-232、RS-422和RS-485接口。出于经济运行考虑,本 系统采用RS-485协议进行通讯。在显示控制器上进行了自动 去皮功能、C〇M 口通讯设置。
自动去皮功能:按设置功能键进入主菜单Scale (秤的参 数)Ta「e (皮重)Auto Tare (自动去皮),设置 Ta「e Threshold Wt(自动去皮阈值)=10kg、Rest Threshold Weight(皮重复位 阈值)=5kg、Motion Check(动态检查)=Enabled。烟箱的重量 一般为13kg~16kg,当烟箱进入秤台后,重量超过自动去皮阈 值10kg且稳定时,仪表显示净重零,被捕获的稳定重量作为皮 重值被保存后进行装箱,预装箱完成输送出秤台后,电子称称重 重量低于皮重复位阈值3kg时,自动去皮功能被再次激活。
通讯设置:按设置功能键进入主菜单Communication(通 讯)Seria丨(串 口 )C〇M1,设置 Baud(波特率)=9600、Data 巳its (数据位)=8、Parity (校验位)=None、Flow control (流控制)= None、Interface(接 口)=RS485C
按设置功能键进入主菜单Communication (通讯)Con- nection (连接)设置 Port (端 口 ) =C〇M1、Assignment (任务)= Continuous 〇utput、checksum(校验和)=Disabled。
2.2通讯线的连接
在现场监控计算机上加装M0XA公司的多串口卡CP- 114EL,并进行硬件跳线SW1=〇FF、SW2-1=〇N、SW2-2 = 〇FF、SW2-3=〇N、SW2-4=〇FF。通讯线采用屏蔽双绞线,将 CP-114EL的9芯D形插头分别与三台电子称中的C0M1接 线端子条进行连接。硬件连接如图2:
2.3系统软件的设计
称重显示控制器IND560采用标准的连续输出模式向现场 监控计算机传数据。具体如图3:
连续输出格式说明:
1)数据输出以十六进制02开始;
2)状态字;
3)重量显示值,六位字节,没有符号和小数点。前导零用空 格代替;
4)皮重,六位字节,没有小数点;
5)ASCII 回车字符
6)校验和,仅设置为有效时进行传输,校验和用于检查传输 数据中的错误。
该系统采用RS-485串口通信技术,以Framework3.5为 开发环境,通过Microsoft公司提供的C#中的SerlalPorl类,完 成电子称与现场监控计算机的串口通信,编制出了电子称数据 采集控制系统可视化软件。
2.3.1RS-485串行通信接口
RS-485是目前最常用的一种串行通信接口,具有良好的 抗噪声干扰性,长的传输距离和多站能力等,最大传输距离在 1200m左右,数据最高传输速率为10Mbps。采用RS-485串 口通信能够满足设计的要求。
2.3.2C#与COM 口的串口通讯
C#读写COM 口主要是调用Se「ialPo「t类中的函数。在初 始化波特率、数据位、停止位和奇偶校验的同时,将输入输出数 据流和该串口建立一个映射,串口的输入输出操作就直接反映 在输入流和输出流上。通过Se「ialPo「t类的W「ite()和Read()方 法取得端口的输入流和输出流。
2.3.3C#与串行口通讯的软件实现
串口读写数据的流程图如图4所示。
串口读写程序如下所示:
/打开并初始化串口程序/
Se「ialPo「t po「t 1= new Se「ialPort ();//获取通信端口 C〇M1
po「t1.BaudRate = 9600;// 波特率
port1.Pa「ity = Pa「ity.None;// 无奇偶校验位
po「t1.StopBits = StopBits.One;// 一个停止位
po「t1.Handshake = Handshake.RequestToSend;// 控制协议
po「t1.ReceivedBytesTh「eshold = 4;//设置 DataReceived 事件发生
前内部输入缓冲区中的字节数
po「t1.DataReceived += new Se「ialDataReceivedEventHandle「 (po「t1_DataReceived);
//DataReceived 事件委托 po「t1.〇pen(); // 打开串口
//向串口发送数据
byte[] W「iteBuffe「 = Encoding.ASCII.GetBytes(CommandSt「ing); po「t1.W「ite(W「iteBuffe「, 0, W「iteBuffe「.Length);
//循环接收数据 while (po「t1.BytesToRead > 0)邀 cha「ch = (cha「)po「t1.ReadByte();
cu「「entline.Append(ch);
)
3.系统软件的结构、功能及界面
该系统主要由5个模块组成,分别为:串口通讯模块、数据 实时采集控制模块、数据查询模块、权限管理模块、标签打印模 块组成。各模块的功能如下:
1)串口通讯模块。该模块实现了现场监控计算机与电子称 的串口通讯设置,实现数据的传输。
2)数据实时采集控制模块。该模块用于将1、2号电子称的 皮重值进行排序并做为3号称的皮重值进行复称,记录产品的 箱号、装箱时间、生产班次、等级、皮重、净重、毛重、生产厂家、委 托厂家、质检人员等数据。其中皮重、净重是通过串口自动接收 数据,不需人工记录。同时将记录的实时数据传输至数据库中用 于产品的追溯。
3)数据查询模块。该模块可按时间、班次、箱号、委托厂家等 查询条件进行查询所记录的产品生产加工信息。
4)权限管理模块。该模块实现不同的管理人员对系统操作 的不同权限,其中管理员可添加或更改操作员,实现对系统的任 何操作、修改,而操作员只有记录数据的权限。
5)标签打印模块。该模块用于实时打印产品的称重相关信 息,并可根据不同的标签格式要求,进行格式修改。
电子称数据采集控制系统的软件界面如图5所示。
4.结束语
以C#语言为系统软件平台,通过RS-485通信方式实现 了对多台电子称的实时数据采集与控制,实现了达到出厂产品 净重一致、产品信息标识自动打印、形成加工产品质量可追溯的 目的。