談?wù)勎业乃悸,我用的是自由協(xié)議,485模塊掛十幾個(gè)變頻器,還有其它儀表,要求和你的差不多,讀取運行參數,控制設備啟停設置運行頻率。我把所有的查詢(xún)指令做一個(gè)“循環(huán)”:即:
1#站發(fā)送第一個(gè)讀取指令,然后等待變頻器回答,收到回答后發(fā)送下一個(gè)指令,然后等待回答。每個(gè)指令發(fā)送完均啟動(dòng)定時(shí)器,設定時(shí)間沒(méi)有收到回答判定通訊超時(shí),交故障處理函數。依次類(lèi)推,1#發(fā)完發(fā)2#,一直把所有變頻器均查詢(xún)一遍返回第一臺開(kāi)始下一個(gè)循環(huán)。如果,需要起停某臺變頻器,或者設定參數,則在設定命令下達時(shí),中斷當前查詢(xún)進(jìn)程,組幀數據后交發(fā)送數據區,下一次發(fā)送脈沖到來(lái)時(shí)立馬發(fā)送。
這樣滿(mǎn)足了不間斷指令的要求(查詢(xún)),也滿(mǎn)足少量指令(設定頻率起停設備等)的要求。
所有循環(huán)均用標志位或狀態(tài)字自己控制,不用plc循環(huán)指令。(當初開(kāi)始時(shí)用的是plc的循環(huán)指令,發(fā)現對于通訊plc循環(huán)指令并不好用)
波特率盡量設高。
從系統運行來(lái)看,還是很好的,掛了十幾個(gè)變頻器,拿著(zhù)對講機,變頻器上數據變了上位機上也立馬變。其中有部分變頻器是pid調節,液位,能穩定跟隨。
不好意思,獻丑了,拋磚引玉,希望高手能指點(diǎn)指點(diǎn),改進(jìn)改進(jìn)。
先道聲謝謝。