huangpeng
級別: 論壇先鋒
![]() |
關于modbus通訊的問題 1 比如一個智能溫控器 我現在要用PLC 去讀他的溫度 還的可以設定他的溫度 說說編程思路 2 比如一個變頻器 我用PLC 去讀他的電流 電壓 頻率 這些數據多要在觸摸屏上實時顯示,中間我還的隨時停止,啟動變頻器, 如果變頻器出現報警 PLC 實時的把 報警代碼讀過來 請大家說說編程思路 還是老問題上次發貼沒有一個人討論現在在發帖, |
---|---|
|
auto_world
級別: 家園常客
![]() |
談談我的思路,我用的是自由協議,485模塊掛十幾個變頻器,還有其它儀表,要求和你的差不多,讀取運行參數,控制設備啟停設置運行頻率。我把所有的查詢指令做一個“循環”:即: 1#站發送第一個讀取指令,然后等待變頻器回答,收到回答后發送下一個指令,然后等待回答。每個指令發送完均啟動定時器,設定時間沒有收到回答判定通訊超時,交故障處理函數。依次類推,1#發完發2#,一直把所有變頻器均查詢一遍返回第一臺開始下一個循環。如果,需要起停某臺變頻器,或者設定參數,則在設定命令下達時,中斷當前查詢進程,組幀數據后交發送數據區,下一次發送脈沖到來時立馬發送。 這樣滿足了不間斷指令的要求(查詢),也滿足少量指令(設定頻率起停設備等)的要求。 所有循環均用標志位或狀態字自己控制,不用plc循環指令。(當初開始時用的是plc的循環指令,發現對于通訊plc循環指令并不好用) 波特率盡量設高。 從系統運行來看,還是很好的,掛了十幾個變頻器,拿著對講機,變頻器上數據變了上位機上也立馬變。其中有部分變頻器是pid調節,液位,能穩定跟隨。 不好意思,獻丑了,拋磚引玉,希望高手能指點指點,改進改進。 先道聲謝謝。 |
---|---|
|