国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于以太網(wǎng)通信的車輛自動化稱重管理系統(tǒng)設(shè)計

2022-05-26 13:01:16張江辰徐世許孫學(xué)凱朱君高
制造業(yè)自動化 2022年5期
關(guān)鍵詞:卡號讀卡器上位

張江辰,徐世許,孫學(xué)凱,朱君高

(青島大學(xué) 自動化學(xué)院,青島 266071)

0 引言

在工業(yè)生產(chǎn)和國民經(jīng)濟生活中,車輛稱重業(yè)務(wù)在各個行業(yè)具有廣泛應(yīng)用,始終占據(jù)著重要的地位。國民經(jīng)濟的迅速發(fā)展也使得各類企業(yè)對車輛稱重業(yè)務(wù)的需求量越來越大,這對一些企業(yè)的車輛稱重系統(tǒng)和車輛稱重業(yè)務(wù)部門造成了極大的壓力,同時也為車輛自動化稱重管理系統(tǒng)的發(fā)展帶來了新的挑戰(zhàn)與歷史機遇。某再生能源公司車輛稱重流程復(fù)雜且效率低下,在稱重時需要現(xiàn)場工作人員將車輛稱重信息錄入Excel表格,耗費大量時間成本,并且會發(fā)生現(xiàn)場工作人員與車主串通對稱重數(shù)據(jù)徇私舞弊,給企業(yè)帶來經(jīng)濟上的損失[1]。針對以上存在的問題,設(shè)計了一套適用于企業(yè)的、能夠?qū)崿F(xiàn)車輛自動化稱重、具有稱重管理的車輛自動化稱重管理系統(tǒng)。該系統(tǒng)應(yīng)用后在防止稱重環(huán)節(jié)人員作弊的同時可大大提高用戶的稱重效率,并提高企業(yè)的管理水平。

1 硬件結(jié)構(gòu)

自動化稱重管理系統(tǒng)硬件由上位機、歐姆龍CP1H系列PLC、梅特勒-托利多IND780型稱重儀表、梅特勒-托利多VTS257120-3418型數(shù)字式電子汽車衡、語音播報控制器、信號指示燈、出入口擋桿、紅外對射裝置、地感線圈、監(jiān)控攝像頭組成。車輛稱重前,需要通過RFID讀卡器識別車輛稱重權(quán)限,權(quán)限通過后,PLC控制擋桿打開,兩側(cè)紅燈亮起,現(xiàn)場語音播報“車輛識別成功”,車輛開始駛?cè)肫嚭?;車輛完全駛?cè)肫嚭夂?,紅外對射裝置檢測車輛是否完全上秤;完全上秤后,兩側(cè)檔桿落下,開始讀取車輛重量數(shù)據(jù);數(shù)據(jù)讀取后系統(tǒng)自動進行車輛相關(guān)信息以及稱重數(shù)據(jù)的保存,完成數(shù)據(jù)保存后出口側(cè)檔桿抬起,語音播報“重量讀取完畢,請下稱”;當(dāng)出口側(cè)地感線圈檢測到信號變化后,表示汽車已經(jīng)完全離開汽車衡,出口側(cè)檔桿落下,稱重完成。IND780稱重儀表獲取到車輛重量后,通過工業(yè)以太網(wǎng)傳送到上位機中。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)硬件結(jié)構(gòu)圖

2 上位機通信程序設(shè)計

2.1 上位機與PLC的Fins TCP通信

在車輛自動化稱重過程中,上位機需要對PLC發(fā)送命令指示門禁擋桿和語音播報器發(fā)出動作,當(dāng)上位機讀取到穩(wěn)定的車輛重量數(shù)據(jù)后也需要指示PLC完成對硬件的一系列操作?;贔ins TCP協(xié)議的以太網(wǎng)通信,可以實現(xiàn)上位機與歐姆龍PLC的通信[2]。具體實現(xiàn)過程與編程如下:

1)引入命名空間。用C#語言實現(xiàn)Fins TCP通信需要開啟Socket服務(wù),將PLC作為服務(wù)器端,將上位機作為客戶端來進行通信。開啟Socket服務(wù)必須引入System.Net.Sockets和using System.Net命名空間。引入這兩項命名空間的代碼為:

2)構(gòu)建Fins TCP協(xié)議中PLC的IP地址、端口號、本機節(jié)點等參數(shù)[3]。其中設(shè)定的string類型變量RemoteIP代表PLC的IP地址,int類型變量RemotePort代表端口號,byte類型變量 fra表示本機節(jié)點。相關(guān)代碼如下:

3)建立握手連接。所謂建立握手連接就是上位機向PLC發(fā)送握手連接命令,PLC接收到命令后向上位機返回命令,如果返回命令中無錯誤返回值代表握手連接成功。上位機向PLC發(fā)送握手的命令編碼如下所示:

4)寫位數(shù)據(jù)。對PLC寫數(shù)據(jù)就是將構(gòu)建好的具有寫位數(shù)據(jù)命令Fins TCP協(xié)議幀發(fā)送給PLC。以下程序為構(gòu)建寫位數(shù)據(jù)字段的程序,其中變量memory和sendBit分別表示內(nèi)存地址和位號。

5)返回值判斷。在Fins TCP通信過程中,上位機對PLC發(fā)送Fins TCP協(xié)議指令碼,然后PLC返回響應(yīng)碼,響應(yīng)碼包含響應(yīng)返回值,通過讀取返回值可以判斷指令是否執(zhí)行成功。

2.2 上位機與稱重儀表通信

IND780稱重儀表擁有EtherNet/IP接口,使用Socket服務(wù)可與上位機建立通信[5]。通信建立后,開啟稱重數(shù)據(jù)監(jiān)聽線程,可實現(xiàn)上位機對稱重儀表中數(shù)據(jù)的實時讀取。以下為建立通信和監(jiān)聽線程的主要程序。上位機讀取稱重數(shù)據(jù)的軟件流程圖如圖2所示。

圖2 稱重數(shù)據(jù)讀取軟件流程圖

1)建立通信。

2)建立監(jiān)聽線程。

2.2.2 稱重儀表數(shù)據(jù)輸出格式

稱重儀表的數(shù)據(jù)輸出格式為標(biāo)準(zhǔn)連續(xù)輸出模式,數(shù)據(jù)以十六進制的ASCII碼傳輸,一條完整的數(shù)據(jù)共有18個字符。采用連續(xù)輸出模式一般禁用校驗和,因此除去數(shù)據(jù)標(biāo)志E位,此時總位數(shù)為17。表1為IND780稱重儀表的標(biāo)準(zhǔn)連續(xù)輸出格式數(shù)據(jù)。

表1 儀表標(biāo)準(zhǔn)連續(xù)輸出格式

2.2.3 重量數(shù)據(jù)處理

上位機為了將從稱重儀表中讀取到的數(shù)據(jù)便于處理,首先需要將接收的數(shù)據(jù)從十六進制ASCII碼轉(zhuǎn)換為標(biāo)準(zhǔn)ASCII碼,并將其作為String類型數(shù)據(jù)進行處理。以下為通過String類型數(shù)據(jù)字符串中截取重量數(shù)據(jù)的處理過程:

1)首先使用String類的LastIndexOf(FindStr)方法,設(shè)定數(shù)據(jù)流中的字母“D”的十六進制數(shù)作為需要查找的字符參數(shù)Findstr,此時將返回字母“D”的在字符串中的下標(biāo)。

2)依次向前查找字符串表示重量的起始下標(biāo),使用SubString(a,b)方法,將參數(shù)a設(shè)定為重量數(shù)據(jù)的起始下標(biāo),b作為向后查找的位數(shù),由此可以截取到稱重數(shù)據(jù)。

3)最后上位機在連續(xù)獲取5次數(shù)據(jù)并且之間不超過設(shè)定誤差后,將此次稱重數(shù)據(jù)記錄,這樣就完成了一次穩(wěn)定重量數(shù)據(jù)的讀取。

2.3 上位機與RFID讀卡器的RS485通信設(shè)計

2.3.1 RS485通信建立

使用串口通信的方式實現(xiàn)上位機與RFID讀卡器的RS485通信,在C#語言環(huán)境下實現(xiàn)RS485通信串口通信一般需要調(diào)用SerialPort類來實現(xiàn),在系統(tǒng)硬件設(shè)置選項中,使用SerialPort類可以根據(jù)RFID讀卡器的各項通信參數(shù)來設(shè)置“串口號”,“波特率”,“數(shù)據(jù)位”,“停止位”,“校驗位”,設(shè)置正確后使用硬件連接測試,連接成功后表示建立起通信。

2.3.2 RFID卡號讀取

建立起RS485通信后,根據(jù)RFID讀卡器廠家提供的SDK,只需調(diào)用SDK中設(shè)計好的類和方法,上位機便可以對讀卡器進行相應(yīng)操作,廠家提供的SDK中的類和方法如表2所示。如上位機讀取識別卡信息時需要循環(huán)接收串口信息,系統(tǒng)在開機運行時會自動調(diào)用Card類的start()方法,保持開啟狀態(tài)[4],當(dāng)讀卡器讀取到數(shù)據(jù)時,可以調(diào)用SDK中的讀取函數(shù)即read()方法對卡號信息進行讀取。

表2 RFID數(shù)據(jù)讀取類及方法表

卡號信息用字符串類型數(shù)據(jù)保存。在上位機成功提取到卡號信息后對該卡號進行數(shù)據(jù)庫中比對,進行比對的數(shù)據(jù)來源為卡信息表。如果卡信息表中存在該卡號,則表示比對成功允許車輛稱重,否則不允許稱重。在車輛稱重過程中不允許對卡號的讀取操作。對卡號讀取并進行判斷的軟件流程圖如圖3所示。

圖3 卡號讀取判斷軟件流程圖

3 系統(tǒng)功能

車輛稱重管理系統(tǒng)在Windows7系統(tǒng)下的Visual Studio 2017平臺開發(fā),用C#語言編程實現(xiàn),具體實現(xiàn)的功能如下:

1)新增車輛信息錄入功能。在車輛入廠前,將需要寫入信息的RFID識別卡發(fā)放給運輸司機。進行制卡時,點擊卡信息維護界面上的增加按鈕,將卡放到讀卡器上,系統(tǒng)會自動讀取卡號[5]。然后輸入各類信息如車牌號、貨物名稱、發(fā)貨單位等,最后保存便完成制卡。新增車輛信息錄入界面如圖4所示。

圖4 新增車輛信息錄入界面

2)系統(tǒng)狀態(tài)監(jiān)視功能。為實時顯示車輛的稱重過程狀態(tài)、展示系統(tǒng)讀取到的各類信息,因此系統(tǒng)的主界面需要監(jiān)控并顯示各類數(shù)據(jù)與狀態(tài)[6]。實時狀態(tài)監(jiān)視界面主要由車輛狀態(tài)監(jiān)視、重量數(shù)據(jù)顯示、車輛信息顯示、臨時表歷史記錄顯示、稱重歷史曲線等組成。稱重顯示主界面如圖5所示。

圖5 車輛稱重顯示主界面

3)稱重數(shù)據(jù)查詢功能。數(shù)據(jù)查詢可以根據(jù)時間段和多個查詢條件如車牌號、卡號、貨物名稱、重量范圍等得到所有的稱重數(shù)據(jù)記錄[7],在數(shù)據(jù)查詢中時間條件是必須輸入條件,其他條件可以自由組合。選擇好查詢條件后,點擊確認(rèn)查詢,可以查詢到數(shù)據(jù)庫中記錄的具體信息。數(shù)據(jù)查詢界面如圖6所示。

圖6 稱重數(shù)據(jù)查詢界面

4 結(jié)語

本文根據(jù)企業(yè)具體稱重需求,結(jié)合歐姆龍PLC與Visual Studio 2017環(huán)境下開發(fā)的上位機軟件,設(shè)計了車輛自動化稱重管理系統(tǒng)。系統(tǒng)具有車輛權(quán)限檢測、動態(tài)檢重、數(shù)據(jù)讀取、數(shù)據(jù)存儲等功能,能夠?qū)④囕v信息自動錄入數(shù)據(jù)庫中,方便用戶查詢、追溯。目前該系統(tǒng)已經(jīng)在企業(yè)中投入使用,減少了人工成本,提高了檢重效率,運行效果穩(wěn)定可靠,為企業(yè)提升了經(jīng)濟效益。

猜你喜歡
卡號讀卡器上位
河南省長葛市彩紅蜂衣蜂帽加工廠
蜜蜂雜志(2022年5期)2022-07-20 09:54:06
河南省長葛市彩紅蜂衣蜂帽加工廠
蜜蜂雜志(2021年11期)2021-02-18 07:21:32
與淘汰命運抗?fàn)帯】炊P記本的讀卡器
特斯拉 風(fēng)云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
基于EMV非接通信規(guī)范的非接觸讀卡器設(shè)計
為二維碼識別的獻禮之作——評測平治二維碼門禁讀卡器
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
好老板
MATLAB實現(xiàn)組態(tài)王中TCP/IP讀卡器監(jiān)控方法
濮阳市| 孟村| 庆安县| 阜阳市| 黑山县| 仪陇县| 吉林省| 华宁县| 五台县| 祁东县| 白河县| 翼城县| 宿松县| 桂阳县| 洪雅县| 水富县| 清水县| 彭阳县| 宜兰县| 平乡县| 旅游| 融水| 沧州市| 称多县| 博罗县| 衡阳市| 休宁县| 台南市| 西林县| 巩义市| 北京市| 宣恩县| 新疆| 宜川县| 遂平县| 左云县| 周宁县| 蚌埠市| 阜南县| 克东县| 如皋市|