谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

基於RS232通訊的熱處理數據獲取與處理

發布時間:2021-05-08 13:43:16 |來源:網絡轉載

江蘇某有限公司製造的UM10067網帶爐熱處理生產線,配置自動稱重裝置,稱重控製器由上海某公司生產,型號為XK3190-A9+(下稱:稱重控製器),該控製器通過OMRONPLC的232串口獲取熱處理工件的重量數據。但在數據通訊調試過程中,存在兩個問題:1)稱重控製器的通訊接口為RS232口,無法實現超過80m的遠距離數據通訊;
2)歐姆龍PLC如何對通訊返回的數據進行處理,正確解析出重量這一關鍵的數據。為了解決這兩個問題,我們將稱重控製器的RS232通訊端口轉換成RS485通訊端口,並且對得到的數據進行轉換成浮點數的處理,從而取得了工件重量這一關鍵性數據。通過該方法,我們同樣可以獲得熱處理設備上施耐德電流表的累積電流值以及各種帶通訊接口的質量K8凯发登录入口計的數據,並且在上位機上顯示記錄,方便客戶更好的對熱處理生產線進行管理。
1RS232接口轉換成RS485接口,實現遠距離通訊
RS-232-C的電氣接口電路采取的是不平衡傳輸方式,即所謂單端通訊,其發送電平與接收電平的差隻有2~3V,所以共模抑製能力較差,容易受到共地噪聲和外部幹擾的影響,再加上信號線之間的分布電容,因此其傳送距離最大為15m左右,而在實際使用過程中,稱重控製器距離歐姆龍PLC比較遠,超過80m。
RS485采用平衡驅動器和差分接收器的組合,差分信號為負邏輯,邏輯“1”以兩線間的電壓差表示為-(2~6)V;邏輯“0”以兩線間的電壓差表示為+(2~6)V,抗共模幹擾能力增強,即抗噪聲幹擾性好,其最大的通信距離為1219m左右。因此需要對該RS232通訊線路進行RS232轉RS485處理。稱重控製器配備的15針232口與9針232口轉換線,可以將該設備的通訊接口轉換成9針232口。再利用一對RS232轉RS485的轉換器在稱重器和PLC之間進行連接。注意的是RS232轉RS485轉換器上的232口與該9針232口均為母頭,無法正常連接,必須使用公頭對公頭交叉線進行連接,對兩個串口的2、3引腳進行交叉連接(TXD接RXD),中間的RS485接線A(+)接A(+),B(-)接B(-)。
圖1是完整的接線示意圖,按照示意圖正確連接後,就可以成功地將稱重控製器由RS232轉換成了RS485,再用RS485轉換成RS232接到PLC的232接口上。為接下來通過歐姆龍PLC實現遠程數據獲取奠定了基礎。

稱重控製器完整通訊接線示意圖

為了驗證這種轉換接線是否正確,可以使用普通計算機的串口替代PLC的串口,利用串口調試助手測試。本測試中我們用到的是D命令(讀淨重),串口調試助手發送的十六進製指令為:024144303503。
02:開始符號、41:41H=65D,轉換成ASCII碼為A、44:操作命令(讀淨重)、30:異或校驗的高位、35:異或校驗的低位、03:結束符號。
串口調試助手發送跟接收的數據如圖2所示。

串口調試助手通訊結果圖

串口的通訊設定參數為:9600、N、8、1。從圖中可以看出,接收到的返回數據為:0241442B30303334383531313503。
02:開始符號、41:41H=65D,轉換成ASCII碼為A、44:操作命令(讀淨重)、2B:2BH=43D,轉換成ASCII碼為符號“+”、30:30H=48D,轉換成ASCII碼為數字“0”、33:33H=51D,轉換成ASCII碼為數字“3”、34:34H=52D,轉換成ASCII碼為數字“4”、38:38H=56D,轉換成ASCII碼為數字“8”、35:35H=53D,轉換成ASCII碼為數字“5”、31:31H=49D,轉換成ASCII碼為數字“1”,表示小數位為1、31:異或校驗的高位、35:異或校驗的低位、03:結束符號。
從返回的數據可得出所需要的值為384.5kg,與實際設備上顯示的數值一致。
2歐姆龍PLC與通訊接口通訊並解析數據
通過上述串口調試助手與設備的通訊過程可以看出,發送的指令內容為固定內容,因此在與歐姆龍PLC通訊的時候,可以通過TXD、RXD命令的方式來實現。歐姆龍PLC通過TXD發送固定的024144303503指令(保存在DM4000開始的三個DM區內),並用RXD指令將得到的返回數據0241442B30303334383531313503保存在歐姆龍PLC內存中(D4010開始的7個DM區),數據在內存的內容如圖3顯示。

歐姆龍PLC發送和接受數據內容圖

將D4012和D4013的數據通過HEX指令轉換到D5000裏麵得到0034,通過“BIN(023)”BCD碼到二進製數保存在D5200裏麵,然後通過“FLT(452)”16位到浮點數語句,將D5200轉換成浮點數保存在D5100裏麵;然後將D5100裏麵的數據乘以100,這裏需要注意的是,浮點數占2個DM區,而數值“100”隻占1個DM區,用浮點數直接乘以數值“100”會發生錯誤。所以先要將乘數“100”轉換成浮點數保存在D5102裏麵,然後將D5100與D5102兩個浮點數相乘,這樣就是正確的結果。將DM4104的數據通過HEX指令轉換保存在D5001裏麵,通過“BIN(023)”BCD碼到二進製數保存在D5201裏麵,然後轉換成浮點數,保存在D5106裏麵;最後再通過“+F(454)”浮點加語句,將D5104與D5106相加,結果保存在D5108裏麵。這時候我們已經成功地將所需要的數據以不考慮小數點位數以及正負的浮點數形式保存在了D5106裏麵。
然後將表示小數位數的DM4015的高字節通過HEX轉換保存在D5006裏麵,通過“BIN(023)”BCD碼到二進製數保存在D5202裏麵,然後轉換成浮點數保存在D5112,通過“PWR(840)”指數冪語句實現10的指數冪保存在D5114裏。這樣同樣需要注意,要先把底數“10”轉換成浮點數保存在D5110裏,然後再通過PWR語句實現指數冪的換算。如果小數位數為1,則D5112裏麵就是浮點數的10;如果小數位數為2,則D5112裏麵就是浮點數的100。
最後通過“/F(457)”浮點整除語句對D5108以及D5114進行處理,結果保存在D5116裏麵,即可實現小數位的功能。數據的正負需要通過返回數據的第四位數確定,如果返回的是“2B”,則表示正數,直接將D5116的數值通過“MOVL”長傳輸指令傳輸到D5120裏;如果返回的是“2D”,則表示負數,這時候需要將“0”轉換成浮點數保存在D5118裏,然後通過“-F(455)”浮點數減用0減去D5116,最終的結果保存在D5120裏麵。
通過圖4所示的數據處理過程,就可以成功的將我們所需要的數據轉換成浮點數保存在D5120裏麵。

數據處理流程圖

3結論
通過將設備上的RS232通訊接口轉換成RS485接口可以實現歐姆龍PLC遠程獲取數據的功能,可以通過將數據先轉換成浮點數,然後再對浮點數進行處理,最後以浮點數的形式保存在PLC內存地址中,這樣就可以正確的對數據進行解析。
至此,在進行熱處理生產線管理的時候,就可以一目了然的獲得工件的重量、生產線累積消耗的電流以及各種氣氛的累積消耗量,以供客戶更好地分析熱處理設備的性能。

 

本文源於網絡轉載,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8