咨詢電話
ENGLISH0755-88840386發(fā)布時間:2021-05-08 13:43:16 |來源:網(wǎng)絡轉(zhuǎn)載
江蘇某有限公司制造的UM10067網(wǎng)帶爐熱處理生產(chǎn)線,配置自動稱重裝置,稱重控制器由上海某公司生產(chǎn),型號為XK3190-A9+(下稱:稱重控制器),該控制器通過OMRONPLC的232串口獲取熱處理工件的重量數(shù)據(jù)。但在數(shù)據(jù)通訊調(diào)試過程中,存在兩個問題:1)稱重控制器的通訊接口為RS232口,無法實現(xiàn)超過80m的遠距離數(shù)據(jù)通訊;
2)歐姆龍PLC如何對通訊返回的數(shù)據(jù)進行處理,正確解析出重量這一關(guān)鍵的數(shù)據(jù)。為了解決這兩個問題,我們將稱重控制器的RS232通訊端口轉(zhuǎn)換成RS485通訊端口,并且對得到的數(shù)據(jù)進行轉(zhuǎn)換成浮點數(shù)的處理,從而取得了工件重量這一關(guān)鍵性數(shù)據(jù)。通過該方法,我們同樣可以獲得熱處理設備上施耐德電流表的累積電流值以及各種帶通訊接口的質(zhì)量流量計的數(shù)據(jù),并且在上位機上顯示記錄,方便客戶更好的對熱處理生產(chǎn)線進行管理。
1RS232接口轉(zhuǎn)換成RS485接口,實現(xiàn)遠距離通訊
RS-232-C的電氣接口電路采取的是不平衡傳輸方式,即所謂單端通訊,其發(fā)送電平與接收電平的差只有2~3V,所以共模抑制能力較差,容易受到共地噪聲和外部干擾的影響,再加上信號線之間的分布電容,因此其傳送距離最大為15m左右,而在實際使用過程中,稱重控制器距離歐姆龍PLC比較遠,超過80m。
RS485采用平衡驅(qū)動器和差分接收器的組合,差分信號為負邏輯,邏輯“1”以兩線間的電壓差表示為-(2~6)V;邏輯“0”以兩線間的電壓差表示為+(2~6)V,抗共模干擾能力增強,即抗噪聲干擾性好,其最大的通信距離為1219m左右。因此需要對該RS232通訊線路進行RS232轉(zhuǎn)RS485處理。稱重控制器配備的15針232口與9針232口轉(zhuǎn)換線,可以將該設備的通訊接口轉(zhuǎn)換成9針232口。再利用一對RS232轉(zhuǎn)RS485的轉(zhuǎn)換器在稱重器和PLC之間進行連接。注意的是RS232轉(zhuǎn)RS485轉(zhuǎn)換器上的232口與該9針232口均為母頭,無法正常連接,必須使用公頭對公頭交叉線進行連接,對兩個串口的2、3引腳進行交叉連接(TXD接RXD),中間的RS485接線A(+)接A(+),B(-)接B(-)。
圖1是完整的接線示意圖,按照示意圖正確連接后,就可以成功地將稱重控制器由RS232轉(zhuǎn)換成了RS485,再用RS485轉(zhuǎn)換成RS232接到PLC的232接口上。為接下來通過歐姆龍PLC實現(xiàn)遠程數(shù)據(jù)獲取奠定了基礎(chǔ)。
為了驗證這種轉(zhuǎn)換接線是否正確,可以使用普通計算機的串口替代PLC的串口,利用串口調(diào)試助手測試。本測試中我們用到的是D命令(讀凈重),串口調(diào)試助手發(fā)送的十六進制指令為:024144303503。
02:開始符號、41:41H=65D,轉(zhuǎn)換成ASCII碼為A、44:操作命令(讀凈重)、30:異或校驗的高位、35:異或校驗的低位、03:結(jié)束符號。
串口調(diào)試助手發(fā)送跟接收的數(shù)據(jù)如圖2所示。
串口的通訊設定參數(shù)為:9600、N、8、1。從圖中可以看出,接收到的返回數(shù)據(jù)為:0241442B30303334383531313503。
02:開始符號、41:41H=65D,轉(zhuǎn)換成ASCII碼為A、44:操作命令(讀凈重)、2B:2BH=43D,轉(zhuǎn)換成ASCII碼為符號“+”、30:30H=48D,轉(zhuǎn)換成ASCII碼為數(shù)字“0”、33:33H=51D,轉(zhuǎn)換成ASCII碼為數(shù)字“3”、34:34H=52D,轉(zhuǎn)換成ASCII碼為數(shù)字“4”、38:38H=56D,轉(zhuǎn)換成ASCII碼為數(shù)字“8”、35:35H=53D,轉(zhuǎn)換成ASCII碼為數(shù)字“5”、31:31H=49D,轉(zhuǎn)換成ASCII碼為數(shù)字“1”,表示小數(shù)位為1、31:異或校驗的高位、35:異或校驗的低位、03:結(jié)束符號。
從返回的數(shù)據(jù)可得出所需要的值為384.5kg,與實際設備上顯示的數(shù)值一致。
2歐姆龍PLC與通訊接口通訊并解析數(shù)據(jù)
通過上述串口調(diào)試助手與設備的通訊過程可以看出,發(fā)送的指令內(nèi)容為固定內(nèi)容,因此在與歐姆龍PLC通訊的時候,可以通過TXD、RXD命令的方式來實現(xiàn)。歐姆龍PLC通過TXD發(fā)送固定的024144303503指令(保存在DM4000開始的三個DM區(qū)內(nèi)),并用RXD指令將得到的返回數(shù)據(jù)0241442B30303334383531313503保存在歐姆龍PLC內(nèi)存中(D4010開始的7個DM區(qū)),數(shù)據(jù)在內(nèi)存的內(nèi)容如圖3顯示。
將D4012和D4013的數(shù)據(jù)通過HEX指令轉(zhuǎn)換到D5000里面得到0034,通過“BIN(023)”BCD碼到二進制數(shù)保存在D5200里面,然后通過“FLT(452)”16位到浮點數(shù)語句,將D5200轉(zhuǎn)換成浮點數(shù)保存在D5100里面;然后將D5100里面的數(shù)據(jù)乘以100,這里需要注意的是,浮點數(shù)占2個DM區(qū),而數(shù)值“100”只占1個DM區(qū),用浮點數(shù)直接乘以數(shù)值“100”會發(fā)生錯誤。所以先要將乘數(shù)“100”轉(zhuǎn)換成浮點數(shù)保存在D5102里面,然后將D5100與D5102兩個浮點數(shù)相乘,這樣就是正確的結(jié)果。將DM4104的數(shù)據(jù)通過HEX指令轉(zhuǎn)換保存在D5001里面,通過“BIN(023)”BCD碼到二進制數(shù)保存在D5201里面,然后轉(zhuǎn)換成浮點數(shù),保存在D5106里面;最后再通過“+F(454)”浮點加語句,將D5104與D5106相加,結(jié)果保存在D5108里面。這時候我們已經(jīng)成功地將所需要的數(shù)據(jù)以不考慮小數(shù)點位數(shù)以及正負的浮點數(shù)形式保存在了D5106里面。
然后將表示小數(shù)位數(shù)的DM4015的高字節(jié)通過HEX轉(zhuǎn)換保存在D5006里面,通過“BIN(023)”BCD碼到二進制數(shù)保存在D5202里面,然后轉(zhuǎn)換成浮點數(shù)保存在D5112,通過“PWR(840)”指數(shù)冪語句實現(xiàn)10的指數(shù)冪保存在D5114里。這樣同樣需要注意,要先把底數(shù)“10”轉(zhuǎn)換成浮點數(shù)保存在D5110里,然后再通過PWR語句實現(xiàn)指數(shù)冪的換算。如果小數(shù)位數(shù)為1,則D5112里面就是浮點數(shù)的10;如果小數(shù)位數(shù)為2,則D5112里面就是浮點數(shù)的100。
最后通過“/F(457)”浮點整除語句對D5108以及D5114進行處理,結(jié)果保存在D5116里面,即可實現(xiàn)小數(shù)位的功能。數(shù)據(jù)的正負需要通過返回數(shù)據(jù)的第四位數(shù)確定,如果返回的是“2B”,則表示正數(shù),直接將D5116的數(shù)值通過“MOVL”長傳輸指令傳輸?shù)紻5120里;如果返回的是“2D”,則表示負數(shù),這時候需要將“0”轉(zhuǎn)換成浮點數(shù)保存在D5118里,然后通過“-F(455)”浮點數(shù)減用0減去D5116,最終的結(jié)果保存在D5120里面。
通過圖4所示的數(shù)據(jù)處理過程,就可以成功的將我們所需要的數(shù)據(jù)轉(zhuǎn)換成浮點數(shù)保存在D5120里面。
3結(jié)論
通過將設備上的RS232通訊接口轉(zhuǎn)換成RS485接口可以實現(xiàn)歐姆龍PLC遠程獲取數(shù)據(jù)的功能,可以通過將數(shù)據(jù)先轉(zhuǎn)換成浮點數(shù),然后再對浮點數(shù)進行處理,最后以浮點數(shù)的形式保存在PLC內(nèi)存地址中,這樣就可以正確的對數(shù)據(jù)進行解析。
至此,在進行熱處理生產(chǎn)線管理的時候,就可以一目了然的獲得工件的重量、生產(chǎn)線累積消耗的電流以及各種氣氛的累積消耗量,以供客戶更好地分析熱處理設備的性能。
本文源于網(wǎng)絡轉(zhuǎn)載,如有侵權(quán),請聯(lián)系刪除