|
本文介紹一個(gè)觸摸屏在RS485通信時(shí)遇到數(shù)據(jù)延時(shí)的一個(gè)解決方法。
前段時(shí)間做單片機(jī)系統(tǒng)、電路板、控制器、儀器、物聯(lián)網(wǎng)、工控、電子產(chǎn)品、軟件開發(fā)項(xiàng)目(Q:2531二六3726)時(shí)“接診”了一個(gè)“病人”:是一臺(tái)裝置,它的主控板實(shí)現(xiàn)了控制3臺(tái)泵,采集傳感器信息,主控板的一個(gè)串口用TTL電平與自帶的一個(gè)觸摸屏A通信,主控板的另一個(gè)串口用485 & Modbus RTU協(xié)議與觸摸屏B通信,觸摸屏B帶2臺(tái)裝置,出現(xiàn)問題是其中一臺(tái)裝置的一個(gè)數(shù)據(jù)在觸摸屏B上顯示延遲。
1.png (14.25 KB, 下載次數(shù): 43)
下載附件
2024-3-13 20:24 上傳
1、 系統(tǒng)詳細(xì)信息
主控板處理器是STC單片機(jī),觸摸屏A是淘晶馳7寸屏,觸摸屏B是昆侖通態(tài)10寸屏,泵是直流12V/13W的隔膜泵,系統(tǒng)電源用的是12V/5A的電源適配器。
2、 出現(xiàn)了什么問題?
在啟動(dòng)裝置后,各個(gè)裝置與自帶的觸屏A參數(shù)顯示與控制正常,各個(gè)裝置與連接的觸摸屏B控制功能正常,但是在觸摸屏B上參數(shù)顯示有一個(gè)裝置(如裝置2)的一個(gè)數(shù)據(jù)不正常,出現(xiàn)很長(zhǎng)時(shí)間數(shù)據(jù)不更新的情況。
3、 可能的原因
懷疑泵的電機(jī)導(dǎo)致485信號(hào)干擾:
由于在每一臺(tái)裝置里布置了3臺(tái)12V直流電機(jī),電機(jī)在運(yùn)行時(shí)可能產(chǎn)生電磁干擾導(dǎo)致485電平錯(cuò)誤。
那么,先采取的解決方法是將裝置內(nèi)外的485電纜由并線改為雙絞線,并串磁珠,這在理論上是可以降低電磁干擾對(duì)485信號(hào)的影響。
那就試一試,不過(guò)盡管采取了換雙絞線串磁珠的的措施,但是數(shù)據(jù)不更新的現(xiàn)象依然存在,那么把485芯片和單片機(jī)也換了,但是問題也沒解決。
既然不是硬件問題,那么看看程序:
由于在昆侖通態(tài)觸摸屏組態(tài)Modbus RTU協(xié)議時(shí)數(shù)據(jù)更新是查詢反饋法,就是觸摸屏發(fā)送讀指令,主控板需根據(jù)要求反饋數(shù)據(jù)。
是不是在主控板里觸摸屏的讀指令多了被覆蓋了?那么在主控板的程序里除了收到觸屏的讀指令后反饋之外,再加個(gè)定時(shí)發(fā)送數(shù)據(jù)給觸屏。但是經(jīng)測(cè)試,觸屏上數(shù)據(jù)長(zhǎng)時(shí)間不更新的現(xiàn)象還是存在,看來(lái)這也不是主要問題。
最后到觸屏組態(tài)界面,發(fā)現(xiàn)“通訊等待時(shí)間”為200毫秒,疑似有點(diǎn)問題,“通訊等待時(shí)間”是觸屏發(fā)送指令后收到返回幀的允許等待時(shí)間,超過(guò)這個(gè)時(shí)間數(shù)據(jù)會(huì)被丟棄。
而在本案里主控板里收到觸屏的讀指令之后可能不會(huì)馬上反饋數(shù)據(jù),要等到while循環(huán)到了處理觸屏指令時(shí)才會(huì)向觸屏發(fā)送數(shù)據(jù),這里在while循環(huán)里執(zhí)行的代碼還有點(diǎn)多,有可能會(huì)超過(guò)200毫秒才會(huì)回復(fù)數(shù)據(jù)。
2.png (156.3 KB, 下載次數(shù): 51)
下載附件
2024-3-13 20:24 上傳
那么把“通訊等待時(shí)間”改為600試一試:見證奇跡的時(shí)刻到來(lái)了,把觸屏的這個(gè)參數(shù)改了之后,觸屏B與兩個(gè)裝置之間通信無(wú)比“絲滑”,觸屏上數(shù)據(jù)響應(yīng)非常及時(shí),問題解決,那么這個(gè)系統(tǒng)就“治好了”。
其實(shí)這真是一個(gè)小細(xì)節(jié),“通訊等待時(shí)間”200是默認(rèn)值一般無(wú)需修改,但是在不同的通信對(duì)應(yīng)方可能會(huì)有不同的情況,這個(gè)參數(shù)也要根據(jù)系統(tǒng)情況做修改設(shè)置。這雖小,但也夠折騰,難在意想不到,項(xiàng)目經(jīng)驗(yàn)就是一步一步積累的。
一點(diǎn)小總結(jié)分享,全文完。
沙鷗 成都 2024年3月13日
|
|