電子秤數(shù)據(jù)采集控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
針對(duì)現(xiàn)場(chǎng)電子稱數(shù)據(jù)無(wú)實(shí)時(shí)自動(dòng)記錄的現(xiàn)狀,以RS-485通訊協(xié)議對(duì)電子秤的皮重、毛重等數(shù)據(jù)進(jìn)行采集,基于C#語(yǔ) 言開(kāi)發(fā)了一套數(shù)據(jù)采集控制系統(tǒng),從而達(dá)到出廠產(chǎn)品凈重一致、產(chǎn)品信息標(biāo)識(shí)自動(dòng)打印、形成加工產(chǎn)品質(zhì)量可追溯的目的。
湖北煙草金葉復(fù)烤有限責(zé)任公司襄陽(yáng)復(fù)烤廠打葉復(fù)烤線打 包段,配有兩條成品煙葉裝箱線,在自動(dòng)預(yù)稱裝箱后,并線進(jìn)行 人工復(fù)稱、捆扎。預(yù)稱、復(fù)稱均采用動(dòng)態(tài)電子秤 (IND560稱重顯示控制器),煙箱的皮重值為人工在稱重顯示控 制器中輸入定值,在生產(chǎn)過(guò)程中發(fā)現(xiàn),同批次煙箱中每個(gè)煙箱的 重量都有差別,最大相差1kg。為了滿足產(chǎn)品質(zhì)量均質(zhì)化要求, 產(chǎn)品質(zhì)量可追溯,對(duì)現(xiàn)有設(shè)備及操作方法進(jìn)行了改進(jìn),編制了電 子稱數(shù)據(jù)采集控制系統(tǒng),從而達(dá)到出廠煙箱凈重一致、產(chǎn)品信息 標(biāo)識(shí)自動(dòng)打印、形成加工產(chǎn)品質(zhì)量可追溯的目的。
1.系統(tǒng)介紹
該系統(tǒng)的結(jié)構(gòu)圖,見(jiàn)圖1。主要由電子秤、現(xiàn)場(chǎng)監(jiān)控計(jì)算機(jī)、標(biāo) 簽打印機(jī)等組成。通過(guò)將預(yù)稱的1號(hào)、2號(hào)電子秤自動(dòng)稱出的當(dāng)前 煙箱皮重值,按先進(jìn)先出的方式傳輸給現(xiàn)場(chǎng)監(jiān)控計(jì)算機(jī),當(dāng)煙葉預(yù) 裝箱完成后,進(jìn)入復(fù)稱環(huán)節(jié)后,現(xiàn)場(chǎng)監(jiān)控計(jì)算機(jī)將存儲(chǔ)的煙箱皮重 值做為3號(hào)秤皮重的標(biāo)準(zhǔn)值,人工進(jìn)行煙葉的增減,確保所有出廠 成品的凈重值相同,并自動(dòng)對(duì)出廠產(chǎn)品的皮重值、凈重值、箱號(hào)等 信息進(jìn)行保存,同時(shí)打印出當(dāng)前煙箱的產(chǎn)品信息標(biāo)識(shí)。
2.系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.1電子秤的設(shè)置
稱重顯示控制器IND560自帶一個(gè)標(biāo)準(zhǔn)串行端口 COM1, 提供RS-232、RS-422和RS-485接口。出于經(jīng)濟(jì)運(yùn)行考慮,本 系統(tǒng)采用RS-485協(xié)議進(jìn)行通訊。在顯示控制器上進(jìn)行了自動(dòng) 去皮功能、C〇M 口通訊設(shè)置。
自動(dòng)去皮功能:按設(shè)置功能鍵進(jìn)入主菜單Scale (秤的參 數(shù))Ta「e (皮重)Auto Tare (自動(dòng)去皮),設(shè)置 Ta「e Threshold Wt(自動(dòng)去皮閾值)=10kg、Rest Threshold Weight(皮重復(fù)位 閾值)=5kg、Motion Check(動(dòng)態(tài)檢查)=Enabled。煙箱的重量 一般為13kg~16kg,當(dāng)煙箱進(jìn)入秤臺(tái)后,重量超過(guò)自動(dòng)去皮閾 值10kg且穩(wěn)定時(shí),儀表顯示凈重零,被捕獲的穩(wěn)定重量作為皮 重值被保存后進(jìn)行裝箱,預(yù)裝箱完成輸送出秤臺(tái)后,電子稱稱重 重量低于皮重復(fù)位閾值3kg時(shí),自動(dòng)去皮功能被再次激活。
通訊設(shè)置:按設(shè)置功能鍵進(jìn)入主菜單Communication(通 訊)Seria丨(串 口 )C〇M1,設(shè)置 Baud(波特率)=9600、Data 巳its (數(shù)據(jù)位)=8、Parity (校驗(yàn)位)=None、Flow control (流控制)= None、Interface(接 口)=RS485C
按設(shè)置功能鍵進(jìn)入主菜單Communication (通訊)Con- nection (連接)設(shè)置 Port (端 口 ) =C〇M1、Assignment (任務(wù))= Continuous 〇utput、checksum(校驗(yàn)和)=Disabled。
2.2通訊線的連接
在現(xiàn)場(chǎng)監(jiān)控計(jì)算機(jī)上加裝M0XA公司的多串口卡CP- 114EL,并進(jìn)行硬件跳線SW1=〇FF、SW2-1=〇N、SW2-2 = 〇FF、SW2-3=〇N、SW2-4=〇FF。通訊線采用屏蔽雙絞線,將 CP-114EL的9芯D形插頭分別與三臺(tái)電子稱中的C0M1接 線端子條進(jìn)行連接。硬件連接如圖2:
2.3系統(tǒng)軟件的設(shè)計(jì)
稱重顯示控制器IND560采用標(biāo)準(zhǔn)的連續(xù)輸出模式向現(xiàn)場(chǎng) 監(jiān)控計(jì)算機(jī)傳數(shù)據(jù)。具體如圖3:
連續(xù)輸出格式說(shuō)明:
1)數(shù)據(jù)輸出以十六進(jìn)制02開(kāi)始;
2)狀態(tài)字;
3)重量顯示值,六位字節(jié),沒(méi)有符號(hào)和小數(shù)點(diǎn)。前導(dǎo)零用空 格代替;
4)皮重,六位字節(jié),沒(méi)有小數(shù)點(diǎn);
5)ASCII 回車字符
6)校驗(yàn)和,僅設(shè)置為有效時(shí)進(jìn)行傳輸,校驗(yàn)和用于檢查傳輸 數(shù)據(jù)中的錯(cuò)誤。
該系統(tǒng)采用RS-485串口通信技術(shù),以Framework3.5為 開(kāi)發(fā)環(huán)境,通過(guò)Microsoft公司提供的C#中的SerlalPorl類,完 成電子稱與現(xiàn)場(chǎng)監(jiān)控計(jì)算機(jī)的串口通信,編制出了電子稱數(shù)據(jù) 采集控制系統(tǒng)可視化軟件。
2.3.1RS-485串行通信接口
RS-485是目前最常用的一種串行通信接口,具有良好的 抗噪聲干擾性,長(zhǎng)的傳輸距離和多站能力等,最大傳輸距離在 1200m左右,數(shù)據(jù)最高傳輸速率為10Mbps。采用RS-485串 口通信能夠滿足設(shè)計(jì)的要求。
2.3.2C#與COM 口的串口通訊
C#讀寫(xiě)COM 口主要是調(diào)用Se「ialPo「t類中的函數(shù)。在初 始化波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)的同時(shí),將輸入輸出數(shù) 據(jù)流和該串口建立一個(gè)映射,串口的輸入輸出操作就直接反映 在輸入流和輸出流上。通過(guò)Se「ialPo「t類的W「ite()和Read()方 法取得端口的輸入流和輸出流。
2.3.3C#與串行口通訊的軟件實(shí)現(xiàn)
串口讀寫(xiě)數(shù)據(jù)的流程圖如圖4所示。
串口讀寫(xiě)程序如下所示:
/打開(kāi)并初始化串口程序/
Se「ialPo「t po「t 1= new Se「ialPort ();//獲取通信端口 C〇M1
po「t1.BaudRate = 9600;// 波特率
port1.Pa「ity = Pa「ity.None;// 無(wú)奇偶校驗(yàn)位
po「t1.StopBits = StopBits.One;// 一個(gè)停止位
po「t1.Handshake = Handshake.RequestToSend;// 控制協(xié)議
po「t1.ReceivedBytesTh「eshold = 4;//設(shè)置 DataReceived 事件發(fā)生
前內(nèi)部輸入緩沖區(qū)中的字節(jié)數(shù)
po「t1.DataReceived += new Se「ialDataReceivedEventHandle「 (po「t1_DataReceived);
//DataReceived 事件委托 po「t1.〇pen(); // 打開(kāi)串口
//向串口發(fā)送數(shù)據(jù)
byte[] W「iteBuffe「 = Encoding.ASCII.GetBytes(CommandSt「ing); po「t1.W「ite(W「iteBuffe「, 0, W「iteBuffe「.Length);
//循環(huán)接收數(shù)據(jù) while (po「t1.BytesToRead > 0)邀 cha「ch = (cha「)po「t1.ReadByte();
cu「「entline.Append(ch);
)
3.系統(tǒng)軟件的結(jié)構(gòu)、功能及界面
該系統(tǒng)主要由5個(gè)模塊組成,分別為:串口通訊模塊、數(shù)據(jù) 實(shí)時(shí)采集控制模塊、數(shù)據(jù)查詢模塊、權(quán)限管理模塊、標(biāo)簽打印模 塊組成。各模塊的功能如下:
1)串口通訊模塊。該模塊實(shí)現(xiàn)了現(xiàn)場(chǎng)監(jiān)控計(jì)算機(jī)與電子稱 的串口通訊設(shè)置,實(shí)現(xiàn)數(shù)據(jù)的傳輸。
2)數(shù)據(jù)實(shí)時(shí)采集控制模塊。該模塊用于將1、2號(hào)電子稱的 皮重值進(jìn)行排序并做為3號(hào)稱的皮重值進(jìn)行復(fù)稱,記錄產(chǎn)品的 箱號(hào)、裝箱時(shí)間、生產(chǎn)班次、等級(jí)、皮重、凈重、毛重、生產(chǎn)廠家、委 托廠家、質(zhì)檢人員等數(shù)據(jù)。其中皮重、凈重是通過(guò)串口自動(dòng)接收 數(shù)據(jù),不需人工記錄。同時(shí)將記錄的實(shí)時(shí)數(shù)據(jù)傳輸至數(shù)據(jù)庫(kù)中用 于產(chǎn)品的追溯。
3)數(shù)據(jù)查詢模塊。該模塊可按時(shí)間、班次、箱號(hào)、委托廠家等 查詢條件進(jìn)行查詢所記錄的產(chǎn)品生產(chǎn)加工信息。
4)權(quán)限管理模塊。該模塊實(shí)現(xiàn)不同的管理人員對(duì)系統(tǒng)操作 的不同權(quán)限,其中管理員可添加或更改操作員,實(shí)現(xiàn)對(duì)系統(tǒng)的任 何操作、修改,而操作員只有記錄數(shù)據(jù)的權(quán)限。
5)標(biāo)簽打印模塊。該模塊用于實(shí)時(shí)打印產(chǎn)品的稱重相關(guān)信 息,并可根據(jù)不同的標(biāo)簽格式要求,進(jìn)行格式修改。
電子稱數(shù)據(jù)采集控制系統(tǒng)的軟件界面如圖5所示。
4.結(jié)束語(yǔ)
以C#語(yǔ)言為系統(tǒng)軟件平臺(tái),通過(guò)RS-485通信方式實(shí)現(xiàn) 了對(duì)多臺(tái)電子稱的實(shí)時(shí)數(shù)據(jù)采集與控制,實(shí)現(xiàn)了達(dá)到出廠產(chǎn)品 凈重一致、產(chǎn)品信息標(biāo)識(shí)自動(dòng)打印、形成加工產(chǎn)品質(zhì)量可追溯的 目的。