欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 技術向-如何實現PLC與多臺變頻器的MODBUS/RTU通信 [打印本頁]

作者: 杭州良石技術    時間: 2019-2-26 10:11
標題: 技術向-如何實現PLC與多臺變頻器的MODBUS/RTU通信
如果現在有個項目,需要MODBUS控制五個變頻器,那該怎么辦?

也許你會說,這還不簡單,把前面的通信程序復制五遍不就行了?理論上,這是可行的,但卻是不可行的,為什么呢?因為串口在同一時間,只能進行一次數據交互。這個一次,是指一次讀或是寫操作。這就好比一個很窄的路口,一次只能通過一輛汽車,如果五輛汽車一起通過,勢必會引起堵塞,一輛也過不去,但我們需要過五輛怎么辦?那就需要交通燈或是交警指揮交通,通信也一樣,也需要有交通燈或是交警,而在MODBUS通信中,就需要我們自己來當交警,通過程序控制通信流程,這就是輪詢方式。

MODBUS通信實現輪詢,

有兩個常用的方法

01 時間間隔法

▼ 所謂時間間隔法,就是每個操作分配一個固定的時間,比如第一秒寫入頻率,第二秒讀取頻率,第三秒讀取電流,當然,這個時間是要根據實際情況來設置的,我們看一個例子:



(圖一 時間間隔)



▼ 如圖一所示,這是一個BLINK 和計數器兩個功能塊組成的程序,BLINK產生一個50毫秒的脈沖,而計數器對此脈沖進行計數,因此,計數器的當前計數值CV 也就是圖中黃色熒光筆部分,就會從1 到6每隔50毫秒遞增一次。這樣,就為每一次操作分配了50毫秒的時間。



(圖二 利用時間間隔觸發通信)



▼ 如圖二,紅色圓圈部分,當數值等于1的時候,我們寫入地址0002,當數值等于2的時候,我們讀取103,依次類推。黃色熒光筆部分是觸發路徑。







02 功能塊觸發法



功能塊觸發法,是利用功能塊的狀態參數來觸發下一次通信,也就是我在介紹通信的時候使用的BUSY信號。



(圖三 利用BUSY信號觸發下一次讀寫)


如圖三所示,當寫入0002通信完成后,利用BUSY信號來觸發下一次通信,讀取103的值。圖中黃色熒光筆的部分,就是觸發路徑,當上一個通信功能塊的BUSY信號產生下降沿的時候,證明這次通信已經完成,以此來觸發下一次通信。

結語

▼ 以上,就是兩種常用的輪詢方法,它們各有優缺點,最好的方式就是兩者結合。利用時間間隔,這個時間間隔的設置就很講究,時間太短,可能通信還沒完成,時間太長影響效率。而利用功能塊的BUSY信號,可以很好解決這個問題,但是,一旦一個環節通信出錯,BUSY信號無法給出,就會造成后面的通信無法進行,那么該如何結合呢?那就是用時間間隔來確定從站之間的通信間隔,而同一個從站的讀寫就用功能塊信號觸發,這樣即使通信有錯誤,也只是影響一個從站。

▼ 我們為每個從站分配30毫秒的時間,那么輪詢10個從站只需要300毫秒,這基本能滿足我們的需求,而又能保證每個站的通信時間。因為超過10個從站,就不建議用MODBUS通信了,那樣就要考慮使用總線了。而一個從站內部,要讀寫多次的時候,就用BUSY信號觸發。這樣,即使一個從站通信出現問題,也不會影響下一個從站的通信。


更多PLC工程案例資料可以在“工業之家”關注獲取





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1