131 1300 0010
行業(yè)動態(tài)
當(dāng)前位置: 首頁>> 新聞中心>>行業(yè)動態(tài)>>
  • 導(dǎo)航欄目
  • 產(chǎn)品新聞
  • 企業(yè)新聞
  • 行業(yè)動態(tài)
  • PLC與多臺變頻器的MODBUS/RTU通信方案
    PLC與多臺變頻器的MODBUS/RTU通信方案
  • PLC與多臺變頻器的MODBUS/RTU通信方案
  •   發(fā)布日期: 2019-01-08  瀏覽次數(shù): 1,380

    如果現(xiàn)在有個項目,需要MODBUS控制五個變頻器,那該怎么辦?

     

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

    而MODBUS通信實現(xiàn)輪詢,有兩個常用的方法。

    1 時間間隔法

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

    圖一時間間隔

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

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

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

    2 功能塊觸發(fā)法

    功能塊觸發(fā)法,是利用功能塊的狀態(tài)參數(shù)來觸發(fā)下一次通信,也就是我在介紹通信的時候使用的BUSY信號。

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

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

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

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


  • ·上一篇:
    ·下一篇:
  • 其他關(guān)聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機(jī):131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 m.xbquwah.cn 電話:13113000010 粵ICP備2021111333號