0 引言
隨著科學(xué)技術(shù)的進(jìn)步及生產(chǎn)力水平的提高, 工業(yè)生產(chǎn)朝著集成自動(dòng)化方向發(fā)展
1 硬件系統(tǒng)組成與功能
1.1 硬件系統(tǒng)組成
該文硬件系統(tǒng)由觸摸屏、托利多稱重儀表
圖1 系統(tǒng)硬件結(jié)構(gòu)圖 下載原圖
系統(tǒng)工作原理:稱重傳感器讀取稱重重量并在托利多稱重儀表顯示出來(lái), 供產(chǎn)品檢測(cè)人員記錄查看;托利多稱重儀表通過(guò)RS232串口數(shù)據(jù)線把重量數(shù)據(jù)傳到觸摸屏內(nèi)部的數(shù)據(jù)內(nèi)存區(qū)中, 內(nèi)部處理器對(duì)傳來(lái)的數(shù)據(jù)進(jìn)行截取、校驗(yàn)、二次校驗(yàn), 再轉(zhuǎn)換成有效信息, 最后在觸摸屏上顯示出來(lái), 實(shí)現(xiàn)與稱重儀表的同步顯示, 方便工作人員對(duì)工業(yè)現(xiàn)場(chǎng)稱重狀態(tài)的實(shí)時(shí)監(jiān)視。
1.2 硬件系統(tǒng)功能
觸摸屏:由24 V直流電源供電, 通過(guò)RS232串口通信數(shù)據(jù)線接收稱重儀表傳來(lái)的實(shí)時(shí)數(shù)據(jù), 然后對(duì)接收的數(shù)據(jù)進(jìn)行截取、存儲(chǔ)、校驗(yàn)、轉(zhuǎn)換, 沒(méi)有錯(cuò)誤后實(shí)時(shí)顯示出來(lái), 最后在觸摸屏上以大字號(hào)實(shí)時(shí)顯示稱重儀表上的數(shù)據(jù)值。
稱重儀表:由220 V交流電源供電, 通過(guò)信號(hào)線對(duì)稱重傳感器傳來(lái)的模擬量數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換
稱重傳感器:用于稱重重量, 獲得具體的重量測(cè)量信息, 并通過(guò)RS232串口通信數(shù)據(jù)線將獲得的重量數(shù)據(jù)以模擬量的形式傳輸給稱重儀表。
2 上位機(jī)程序設(shè)計(jì)
2.1 程序設(shè)計(jì)流程
軟件設(shè)計(jì)流程如圖2所示。
圖2 軟件設(shè)計(jì)流程圖 下載原圖
基于威綸通EasyBuilder Pro開(kāi)發(fā)環(huán)境, 一方面對(duì)組態(tài)界面開(kāi)發(fā)環(huán)境的顯示進(jìn)行合理地組態(tài)布局, 另一方面對(duì)通信方式進(jìn)行編程, 借助內(nèi)部函數(shù)對(duì)儀表實(shí)時(shí)發(fā)過(guò)來(lái)的數(shù)據(jù)進(jìn)行加工處理, 進(jìn)行數(shù)據(jù)截取、校驗(yàn)、轉(zhuǎn)換、顯示等步驟。
2.2 通信數(shù)據(jù)傳送與處理
為使硬件系統(tǒng)與軟件系統(tǒng)很好地結(jié)合, 兩者通信方式的參數(shù)設(shè)置需要一致, 上電后對(duì)與通信數(shù)據(jù)有關(guān)的稱重儀表進(jìn)行參數(shù)設(shè)置, 而軟件編程的算法是保證系統(tǒng)準(zhǔn)確實(shí)時(shí)顯示的核心部分。
2.2.1 對(duì)IND236稱重儀表通信設(shè)置
IND236稱重儀表通過(guò)RS232接口進(jìn)行數(shù)據(jù)傳輸
連續(xù)輸出格式說(shuō)明:
1) ASCII 文本開(kāi)始字符 (0x02) , 始終發(fā)送。
2) 顯示的重量, 可以是毛重或是凈重。6位, 沒(méi)有小數(shù)點(diǎn)或符號(hào)。不足6位前補(bǔ)空格。
3) 皮重, 具有6位皮重?cái)?shù)據(jù)。在此顯示的字段中沒(méi)有小數(shù)點(diǎn)。
4) ASCII 回車<CR>字符 (0x0D) 。
5) 啟用和校驗(yàn)時(shí)需要校檢位的發(fā)送。校驗(yàn)和用于檢測(cè)數(shù)據(jù)發(fā)送中的錯(cuò)誤
由于觸摸屏MT8150iE使用COM1口與托利多儀表進(jìn)行通信, 故將接口類型設(shè)置為“RS232”。然后對(duì)COM1口進(jìn)行通信參數(shù)設(shè)置, 點(diǎn)擊COM1口對(duì)應(yīng)的“設(shè)置”, 根據(jù)IND236對(duì)參數(shù)配置的要求, 選用其默認(rèn)參數(shù)配置, 將波特率設(shè)定為“9600”, 數(shù)據(jù)位設(shè)定為“8Bits”, 校驗(yàn)位設(shè)定為“None”, 停止位設(shè)為“1Bits”, 超時(shí)設(shè)為“1.0”, 設(shè)備屬性窗口和通信端口設(shè)置如圖3所示。
表1 標(biāo)準(zhǔn)連續(xù)輸出格式 導(dǎo)出到EXCEL
| 狀態(tài) | 指示的重量 | 皮重 | ||||||||||||||||||||||||||||
| 字符 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | ||||||||||||
| 數(shù)據(jù) | STX | SB-A | SB-B | SB-C | MSD | - | - | - | - | LSD | MSD | - | - | - | - | LSD | CR | CHK | ||||||||||||
圖3 設(shè)備屬性窗口和通信端口設(shè)置 下載原圖
2.2.2 利用內(nèi)建函數(shù)接收數(shù)據(jù)
首先用到通信相關(guān)的函數(shù)即INPORT為內(nèi)建函數(shù), 使得觸摸屏可以接收儀表數(shù)據(jù), 具體格式為:INPORT (read_data[start], "device_name", read_count, return_value) , 從串行端口或者以太網(wǎng)絡(luò)讀取數(shù)據(jù)至HMI。這些資料保存在read_data[start]~ read_data[start+read_count-1]一維數(shù)組中, device必須選擇為“Free Protocol”PLC類型。read_count是設(shè)定需要讀取的命令位組長(zhǎng)度, 可以是常數(shù)或者變量。若此函數(shù)能夠成功的從PLC或者控制器中讀取數(shù)據(jù), 則return_value值為1, 否者為0。觸摸屏每個(gè)周期從儀表獲得數(shù)據(jù)后, 根據(jù)開(kāi)始標(biāo)志與結(jié)束標(biāo)志從中提取出所需信息, 存入數(shù)組中等待進(jìn)行下一步解讀, 程序語(yǔ)句如下:
2.2.3 數(shù)據(jù)截取與校驗(yàn)程序
為保證數(shù)據(jù)同步顯示, 需要對(duì)儀表發(fā)來(lái)的數(shù)據(jù)實(shí)時(shí)處理, 通過(guò)INPORT內(nèi)建函數(shù)對(duì)稱重儀表發(fā)來(lái)的數(shù)據(jù)進(jìn)行截取、校驗(yàn)、轉(zhuǎn)換處理, 才能保證截取的數(shù)據(jù)達(dá)到同步顯示的效果, 是保證稱重儀表同步正常顯示的關(guān)鍵一步。程序如下:
為保證稱重?cái)?shù)據(jù)在觸摸屏上顯示正確無(wú)誤, 又增加了二次校驗(yàn)功能, 使得顯示更加穩(wěn)定, 經(jīng)過(guò)實(shí)驗(yàn), 在半年多的實(shí)際應(yīng)用中, 沒(méi)出現(xiàn)任何錯(cuò)誤, 保證了用戶在實(shí)際應(yīng)用中的體驗(yàn), 程序段如下:
當(dāng)完成二次校驗(yàn)時(shí), 則需要對(duì)截取的數(shù)據(jù)分段進(jìn)行譯碼處理, 把帶有負(fù)數(shù)的單位以及稱重儀表中的單位對(duì)應(yīng)起來(lái)的數(shù)據(jù)進(jìn)行轉(zhuǎn)換處理, 當(dāng)完成這些必要的步驟后, 需要在觸摸屏上對(duì)應(yīng)位置正確顯示出稱重?cái)?shù)值以及單位。根據(jù)IND236的連續(xù)輸出格式, 數(shù)組中第5~第10為重量的數(shù)值信息, 故從數(shù)組中取出第5~第10的數(shù)據(jù), 因組態(tài)軟件提供了眾多十分方便的轉(zhuǎn)換函數(shù), 故在此可直接調(diào)用組態(tài)軟件攜帶的函數(shù)ASCII2FLOAT, 將數(shù)據(jù)由ASCII碼轉(zhuǎn)為浮點(diǎn)數(shù)。再?gòu)臄?shù)組中分別取出3個(gè)狀態(tài)位對(duì)應(yīng)的數(shù)據(jù), 即數(shù)組中的第2~第4個(gè)數(shù)據(jù), 根據(jù)表提供的參數(shù)設(shè)置手冊(cè), 對(duì)IND236的狀態(tài)字節(jié)位的定義分別確定小數(shù)點(diǎn)位置、數(shù)值的正負(fù)和單位, 對(duì)數(shù)值進(jìn)行相應(yīng)的處理并傳送到相應(yīng)的地址。程序如下:
2.3 觸摸屏與稱重儀表大字號(hào)實(shí)時(shí)顯示
把需要的數(shù)據(jù)都解析出來(lái)后, 調(diào)用內(nèi)建函數(shù), 使傳過(guò)來(lái)的數(shù)據(jù)以與稱重儀表上的稱重值和所對(duì)應(yīng)的單位在觸摸屏中顯示出來(lái)
圖4 觸摸屏與儀表大字號(hào)實(shí)時(shí)顯示實(shí)物圖 下載原圖
3 結(jié)語(yǔ)
該文依托威綸通觸摸屏, 使用梅特勒-托利多的工業(yè)電子秤為硬件基礎(chǔ), 借助威綸通觸摸屏自帶的開(kāi)發(fā)工具, 使得系統(tǒng)上下位機(jī)更穩(wěn)定地配合;使用RS232串口通信接口來(lái)傳輸數(shù)據(jù), 實(shí)現(xiàn)對(duì)稱重儀表數(shù)據(jù)大字號(hào)同步顯示。該系統(tǒng)經(jīng)調(diào)試運(yùn)行后現(xiàn)已投入使用, 經(jīng)過(guò)半年多的現(xiàn)場(chǎng)運(yùn)行, 表明該文數(shù)據(jù)傳輸可靠, 效果理想, 滿足了生產(chǎn)需求。程序代碼可移植性好, 具有較大的市場(chǎng)推廣價(jià)值。系統(tǒng)設(shè)計(jì)方案簡(jiǎn)單, 經(jīng)濟(jì)、有效, 同步性穩(wěn)定可靠, 也提高了設(shè)備的可維護(hù)性, 成本低, 使用方便。




