咨詢(xún)電話
ENGLISH0755-88840386咨詢(xún)電話
0755-88840386發(fā)布時(shí)間:2021-12-08 17:58:35 |來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
0 引言
江蘇永鋼集團(tuán)隨著科技的發(fā)展, 生產(chǎn)能力日漸增強(qiáng), 日生產(chǎn)鋼坯達(dá)一萬(wàn)多噸, 公司現(xiàn)有的2 臺(tái)汽車(chē)衡承擔(dān)著企業(yè)鋼坯稱(chēng)重任務(wù)。隨著集團(tuán)信息化生產(chǎn)管理水平不斷提高, 對(duì)生產(chǎn)計(jì)量數(shù)據(jù)的完整性、及時(shí)性和準(zhǔn)確性要求也在不斷提高, 但采用人工稱(chēng)重的作業(yè)方式使得稱(chēng)重自動(dòng)化程度較低, 達(dá)不到高效和準(zhǔn)確稱(chēng)重的目的, 并且浪費(fèi)很多的人力和物力, 效率低、誤差大, 造成不必要的損失。
針對(duì)這種現(xiàn)狀, 運(yùn)用計(jì)算機(jī)、網(wǎng)絡(luò)通信等先進(jìn)技術(shù), 設(shè)計(jì)無(wú)人值守稱(chēng)重系統(tǒng), 把汽車(chē)衡稱(chēng)重過(guò)程與微機(jī)結(jié)合, 實(shí)現(xiàn)汽車(chē)衡稱(chēng)重數(shù)據(jù)的自動(dòng)采集和管理 , 為企業(yè)鋼坯生產(chǎn)計(jì)量提供可靠的數(shù)據(jù)。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)采用客戶/服務(wù)器( C /S)模式, C /S結(jié)構(gòu)主要是指將一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)分解成前臺(tái)的客戶(或稱(chēng)前端) 應(yīng)用程序和后臺(tái)的服務(wù)器部分, 充分利用兩端硬件環(huán)境的優(yōu)勢(shì), 將任務(wù)合理分配到客戶端和服務(wù)器端來(lái)實(shí)現(xiàn), 降低了系統(tǒng)的通信開(kāi)銷(xiāo)。這種結(jié)構(gòu)的核心是客戶端應(yīng)用程序發(fā)送數(shù)據(jù)至服務(wù)器端, 遠(yuǎn)程服務(wù)器端是稱(chēng)重計(jì)量中心, 接收并存儲(chǔ)從各個(gè)稱(chēng)重分點(diǎn)客戶端發(fā)送過(guò)來(lái)的稱(chēng)重?cái)?shù)據(jù), 并對(duì)客戶端提供數(shù)據(jù)查詢(xún)分析等功能, 完成客戶端提交的請(qǐng)求, 最后將結(jié)果返回客戶端應(yīng)用程序。客戶端可以根據(jù)用戶的配置要求, 實(shí)現(xiàn)對(duì)不同汽車(chē)衡稱(chēng)重客戶端按需進(jìn)行個(gè)性化設(shè)置, 采集稱(chēng)重?cái)?shù)據(jù)并使用統(tǒng)一的日志格式將稱(chēng)重?cái)?shù)據(jù)上報(bào)至遠(yuǎn)程服務(wù)器端, 客戶端具有數(shù)據(jù)報(bào)送失敗時(shí)自動(dòng)存儲(chǔ)到本地客戶端歷史文件夾中的功能。
2 系統(tǒng)實(shí)現(xiàn)
考慮到軟件系統(tǒng)是遠(yuǎn)程工作且無(wú)人值守, 而且有可能多部門(mén)使用, 因此穩(wěn)定性、可靠性、靈活性是重中之重, 將客戶端應(yīng)用系統(tǒng)設(shè)計(jì)為四個(gè)可獨(dú)立運(yùn)行的子系統(tǒng)則能更好地滿足企業(yè)需求。
2. 1 發(fā)卡子系統(tǒng)
由于鋼坯運(yùn)輸車(chē)是固定的, 我們還給每輛車(chē)配置一個(gè)無(wú)線射頻卡, 卡中的信息包括卡號(hào)、車(chē)號(hào)、姓名、發(fā)貨單位、收貨單位、規(guī)格、產(chǎn)品名稱(chēng)等。其在系統(tǒng)中定義的結(jié)構(gòu)如下:
CZXX= record
KH: string; / /卡號(hào)
CH: string; / /車(chē)號(hào)
PZ: s tring; / /皮重
end;
在發(fā)卡時(shí), 發(fā)卡子系統(tǒng)根據(jù)系統(tǒng)配置的信息, 將卡號(hào)、車(chē)號(hào)、皮重等基本信息寫(xiě)入射頻卡中, 同時(shí)將卡中的信息存儲(chǔ)至客戶端及服務(wù)器端數(shù)據(jù)庫(kù)中, 以便在稱(chēng)重過(guò)程中使用卡號(hào)對(duì)車(chē)輛信息進(jìn)行關(guān)聯(lián)。
上位機(jī)與射頻卡讀卡器之間的通信是發(fā)卡子系統(tǒng)實(shí)現(xiàn)的關(guān)鍵, 我們采用RS485串口通信。RS485串口主動(dòng)傳送卡號(hào), 程序中只需要監(jiān)測(cè)是否有卡號(hào)傳入即可。當(dāng)有卡號(hào)傳入后檢測(cè)卡號(hào)是否合法, 如果合法則打開(kāi)后道閘, 允許上秤, 否則語(yǔ)音提示卡號(hào)不能識(shí)別。
當(dāng)射頻卡中的信息被讀入到讀寫(xiě)器中, PLC自動(dòng)讀取其中的數(shù)據(jù), 并把數(shù)據(jù)輸入到上位機(jī)。上位機(jī)根據(jù)唯一的射頻卡卡號(hào)訪問(wèn)數(shù)據(jù)庫(kù), 查找該車(chē)相關(guān)信息。通信除了硬件電路外, 還需統(tǒng)一兩者的通信協(xié)議。由于RS485是一種半雙工通信協(xié)議, 發(fā)送數(shù)據(jù)和接收數(shù)據(jù)共用同一物理通道, 在任意時(shí)刻只允許一臺(tái)網(wǎng)絡(luò)終端設(shè)備處于工作狀態(tài), 若有一臺(tái)以上的設(shè)備同時(shí)發(fā)送數(shù)據(jù), 則會(huì)產(chǎn)生總線沖突, 使整個(gè)系統(tǒng)通信癱瘓。在發(fā)卡子系統(tǒng)中安裝射頻卡讀卡器和相應(yīng)讀卡器驅(qū)動(dòng), 發(fā)卡子系統(tǒng)通過(guò)RS485串口按一定周期循檢兩個(gè)射頻卡讀卡器。若有車(chē)輛刷卡, 檢測(cè)卡號(hào)是否合法。若為合法卡, 讀出卡號(hào), 并從客戶端本地?cái)?shù)據(jù)庫(kù)中讀取射頻卡中的車(chē)號(hào)等其他信息, 并將這些數(shù)據(jù)提交給稱(chēng)重子系統(tǒng)以便使用車(chē)號(hào)關(guān)聯(lián)本地?cái)?shù)據(jù)庫(kù)中的質(zhì)保書(shū)編碼, 再由計(jì)算機(jī)發(fā)送命令至道路門(mén)閘控制儀, 打開(kāi)道閘, 進(jìn)入汽車(chē)衡稱(chēng)量流程, 同時(shí)不再檢測(cè)讀卡器, 直到當(dāng)前自動(dòng)稱(chēng)量流程結(jié)束; 否則語(yǔ)音提示卡號(hào)不能識(shí)別。在手動(dòng)稱(chēng)重模式下, 由工作人員完成整個(gè)稱(chēng)重過(guò)程, 本系統(tǒng)不產(chǎn)生作用。
2. 2 稱(chēng)重子系統(tǒng)
稱(chēng)重子系統(tǒng)的主要功能是與儀表通信, 并采集計(jì)量數(shù)據(jù)。通過(guò)數(shù)據(jù)輸入輸出卡獲得光電檢測(cè)器的狀態(tài), 判斷汽車(chē)衡稱(chēng)重狀態(tài)并顯示信息, 完成汽車(chē)衡稱(chēng)重?cái)?shù)據(jù)采集, 并將稱(chēng)重相關(guān)的數(shù)據(jù)寫(xiě)到本地?cái)?shù)據(jù)庫(kù)臨時(shí)表中, 為數(shù)據(jù)上報(bào)子系統(tǒng)提供上報(bào)數(shù)據(jù)。稱(chēng)重子系統(tǒng)主要實(shí)現(xiàn)稱(chēng)重?cái)?shù)據(jù)的采集, 系統(tǒng)開(kāi)始以間隔500毫秒的速度對(duì)稱(chēng)重儀表進(jìn)行連續(xù)通信。若采集到重量數(shù)據(jù)且不為零即表明車(chē)輛已進(jìn)入稱(chēng)重位置, 則關(guān)閉后道路門(mén)閘, 系統(tǒng)開(kāi)始以間隔1秒的速度對(duì)稱(chēng)重儀表進(jìn)行連續(xù)通信。對(duì)連續(xù)5次采集到稱(chēng)重?cái)?shù)據(jù)作對(duì)比, 根據(jù)所采集的量值是否超越最小保留值、是否達(dá)到穩(wěn)定次數(shù)判斷是否處于穩(wěn)態(tài)。如穩(wěn)態(tài), 則取穩(wěn)定值中相同值次數(shù)最多的值寫(xiě)入數(shù)據(jù)庫(kù), 結(jié)束此次重車(chē)稱(chēng)重過(guò)程, 然后進(jìn)入下一輛車(chē)稱(chēng)重狀態(tài); 否則啟動(dòng)自動(dòng)報(bào)警。本文采用De lph i開(kāi)發(fā)環(huán)境, 借助于微軟的M SComm 控件編寫(xiě)事件驅(qū)動(dòng)代碼, 使用RS232串口實(shí)現(xiàn)汽車(chē)衡稱(chēng)重儀器與微機(jī)通信。MSComm 控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)和過(guò)程,通過(guò)編程來(lái)設(shè)置串行通信的參數(shù) (端口、波特率、校驗(yàn)等) , 語(yǔ)句如下:
DBCom In fo= record
sC ommNo: In teger; / /端口
sBt:l string; / /波特率
sS jw: string; / /數(shù)據(jù)位
sJojy: s tring; / /奇偶校驗(yàn)
sT zw: string; / /停止位
sS jqs:f string; / /數(shù)據(jù)信息起始符
sSJCD: integer; / /數(shù)據(jù)信息長(zhǎng)度
sData_B: Integer; / /數(shù)據(jù)開(kāi)始位置
sData_E: Integer; / /數(shù)據(jù)結(jié)束位置
sWD_B: In teger; / /穩(wěn)定值開(kāi)始位置
sWD_E: In teger; / /穩(wěn)定值結(jié)束位置
sWD_Va lue: string; / /穩(wěn)定值
end;
2. 3 數(shù)據(jù)上報(bào)子系統(tǒng)
數(shù)據(jù)上報(bào)子系統(tǒng)從本地?cái)?shù)據(jù)庫(kù)臨時(shí)表中讀取需要上報(bào)的數(shù)據(jù), 由系統(tǒng)自動(dòng)生成可執(zhí)行的SQL語(yǔ)句并用XM 標(biāo)準(zhǔn)組織封裝。根據(jù)系統(tǒng)配置指定的地址和端口, 采用TCP /IP協(xié)議將數(shù)據(jù)上報(bào)至遠(yuǎn)程服務(wù)器端執(zhí)行, 最終把此次車(chē)輛鋼坯稱(chēng)重信息寫(xiě)入到遠(yuǎn)程數(shù)據(jù)庫(kù)中。
數(shù)據(jù)上報(bào)子系統(tǒng)采用的關(guān)鍵技術(shù)有:
1) 數(shù)據(jù)緩存采用數(shù)據(jù)緩存存放上報(bào)數(shù)據(jù), 同時(shí)為數(shù)據(jù)上報(bào)子系統(tǒng)提供獲得需要報(bào)送的XM L數(shù)據(jù)和刪除報(bào)送成功數(shù)據(jù)的方法, 為大量數(shù)據(jù)的快速處理提供了可靠的保障, 避開(kāi)系統(tǒng)內(nèi)存數(shù)據(jù)處理的瓶頸。
2) XML技術(shù) 使用XML作為數(shù)據(jù)傳輸?shù)母袷? 將采集到的數(shù)據(jù)包以子節(jié)點(diǎn)的形式存放于XML文檔, 組織傳輸數(shù)據(jù),減少了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流量。
主要實(shí)現(xiàn)過(guò)程: 用封裝了So ckets 2的connec t函數(shù)與遠(yuǎn)程服務(wù)器端建立連接; 取得需要報(bào)送的XML 數(shù)據(jù)包; 用封裝了Sockets 2的send函數(shù)報(bào)送XM L數(shù)據(jù)包。上報(bào)數(shù)據(jù)的過(guò)程要注意當(dāng)監(jiān)聽(tīng)網(wǎng)絡(luò)連接失敗或者數(shù)據(jù)報(bào)送成功時(shí)通知數(shù)據(jù)上報(bào)子系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行相應(yīng)處理; 當(dāng)監(jiān)聽(tīng)網(wǎng)絡(luò)連接成功或者數(shù)據(jù)報(bào)送成功時(shí)通知數(shù)據(jù)上報(bào)子系統(tǒng)可以報(bào)送數(shù)據(jù)并且刪除報(bào)送成功的數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)出現(xiàn)故障無(wú)法上報(bào)數(shù)據(jù)時(shí), 將數(shù)據(jù)保存到本地客戶端; 當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí)上傳歷史數(shù)據(jù)。服務(wù)器端接收上報(bào)的XML數(shù)據(jù)包并執(zhí)行其中的SQL語(yǔ)句, 根據(jù)質(zhì)保書(shū)編碼找到對(duì)應(yīng)的記錄并將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。
2. 4 數(shù)據(jù)管理子系統(tǒng)
數(shù)據(jù)管理子系統(tǒng)采用C /S 模式下基于連接的網(wǎng)絡(luò)通信模式。該通信模式首先在客戶端和服務(wù)器之間定義一套通信協(xié)議, 并創(chuàng)建So cket類(lèi), 利用這個(gè)類(lèi)在服務(wù)器和數(shù)據(jù)管理子系統(tǒng)客戶端創(chuàng)建一條可靠的鏈接進(jìn)行數(shù)據(jù)傳輸; 客戶端發(fā)出請(qǐng)求, 服務(wù)器監(jiān)聽(tīng)來(lái)自客戶機(jī)的請(qǐng)求, 并為客戶機(jī)提供響應(yīng)服務(wù); 最終通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)從遠(yuǎn)程服務(wù)器端數(shù)據(jù)庫(kù)中取得需要的數(shù)據(jù)。在C /S多層結(jié)構(gòu)和大規(guī)模網(wǎng)絡(luò)化應(yīng)用中, 效率瓶頸往往在數(shù)據(jù)庫(kù), 因此在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí), 我們將數(shù)據(jù)管理子系統(tǒng)中存儲(chǔ)過(guò)程和觸發(fā)器完成的工作作為業(yè)務(wù)邏輯部署到服務(wù)器上, 從而提高了數(shù)據(jù)管理子系統(tǒng)的處理效率。系統(tǒng)主要包括數(shù)據(jù)查詢(xún)、數(shù)據(jù)統(tǒng)計(jì)和數(shù)據(jù)打印等模塊, 實(shí)現(xiàn)了數(shù)據(jù)查詢(xún)、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)打印等功能。
數(shù)據(jù)查詢(xún)模塊主要提供以下方式的數(shù)據(jù)查詢(xún)功能:
1) 系統(tǒng)可以隨時(shí)提供查詢(xún)當(dāng)天、當(dāng)月、當(dāng)年到此時(shí)的稱(chēng)重?cái)?shù)據(jù), 以便工作人員進(jìn)行跟蹤管理;
2) 系統(tǒng)可以隨時(shí)提供查詢(xún)當(dāng)天、當(dāng)月、當(dāng)年到此時(shí)鋼坯出廠總的噸數(shù);
3) 系統(tǒng)可以隨時(shí)提供查詢(xún)某天、某月、某年車(chē)輛裝載的鋼坯的詳細(xì)記錄及其質(zhì)保書(shū)等信息, 有利于對(duì)車(chē)輛進(jìn)行有序的管理和控制。
數(shù)據(jù)統(tǒng)計(jì)模塊: 根據(jù)稱(chēng)重日期、發(fā)貨單位、收貨單位、品名將指定時(shí)間段內(nèi)稱(chēng)重?cái)?shù)據(jù)分類(lèi)統(tǒng)計(jì)出來(lái)。
數(shù)據(jù)打印模塊: 主要完成計(jì)量單據(jù)打印、統(tǒng)計(jì)報(bào)表生成的功能。根據(jù)管理統(tǒng)計(jì)的需要分為單車(chē)打印、多車(chē)打印、同時(shí)打印等模塊。
3 系統(tǒng)應(yīng)用
該系統(tǒng)操作簡(jiǎn)單、實(shí)用, 可實(shí)現(xiàn)計(jì)量、打印、數(shù)據(jù)保存、傳輸?shù)榷囗?xiàng)功能, 并可根據(jù)用戶的實(shí)際要求設(shè)置、修改報(bào)表格式和操作權(quán)限; 通過(guò)與局域網(wǎng)的連接, 可聯(lián)網(wǎng)稱(chēng)重; 而且生產(chǎn)控制終端可隨時(shí)監(jiān)控過(guò)秤操作和采集稱(chēng)重?cái)?shù)據(jù)。計(jì)量過(guò)程及結(jié)果由計(jì)算機(jī)自動(dòng)操作和計(jì)算得出, 減小了人為因素對(duì)計(jì)量結(jié)果的影響, 計(jì)量數(shù)據(jù)準(zhǔn)確、可靠、真實(shí)。
目前, 該系統(tǒng)成功應(yīng)用于江蘇永鋼集團(tuán)鋼坯稱(chēng)重計(jì)量, 為鋼坯計(jì)量和管理提供實(shí)時(shí)數(shù)據(jù)。永鋼集團(tuán)年產(chǎn)鋼量近400 萬(wàn)噸,因稱(chēng)重計(jì)量不準(zhǔn)確帶來(lái)的損失就可達(dá)500萬(wàn)元。自從使用無(wú)人值守稱(chēng)重系統(tǒng)后, 將稱(chēng)量誤差率控制在指標(biāo)范圍內(nèi), 給企業(yè)帶來(lái)了直接的經(jīng)濟(jì)效益, 實(shí)現(xiàn)了企業(yè)計(jì)量中心對(duì)鋼坯重量的無(wú)人值守計(jì)量, 為企業(yè)領(lǐng)導(dǎo)掌握連鑄車(chē)間鋼坯生產(chǎn)情況提供實(shí)時(shí)數(shù)據(jù),從而合理地組織、安排生產(chǎn)活動(dòng), 為制定計(jì)劃和作出經(jīng)營(yíng)決策提供可靠數(shù)據(jù), 提高了生產(chǎn)效率和經(jīng)濟(jì)效益。
4 結(jié)束語(yǔ)
本文實(shí)現(xiàn)的無(wú)人值守稱(chēng)重系統(tǒng)于2007年3月投入企業(yè)鋼坯稱(chēng)量, 經(jīng)過(guò)一年多的使用和考察, 效果很好。系統(tǒng)以其計(jì)量準(zhǔn)確、快速、功能完備、操作簡(jiǎn)單、可靠性高等特點(diǎn), 滿足了目前企業(yè)自動(dòng)化信息快速發(fā)展的需要。當(dāng)然, 隨著企業(yè)自動(dòng)化系統(tǒng)和現(xiàn)場(chǎng)設(shè)備的不斷更新, 可以在本系統(tǒng)的基礎(chǔ)上進(jìn)行功能擴(kuò)展, 更好地滿足企業(yè)自動(dòng)化稱(chēng)重的要求。
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請(qǐng)聯(lián)系刪除