<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PLC串行通訊應用原理

PLC串行通訊應用原理

作者: 時(shí)間:2016-12-21 來(lái)源:網(wǎng)絡(luò ) 收藏

  

  圖1 錯誤讀寫(xiě),紅圈部分信道D200數據變?yōu)镵3000,應該是K1000

 ?。?)“通訊旗標方式程序”是調整后的程序,可以比較一下,其主要區別在于Modbus Read/Write 指令在程序使用上搭配M1127, M1129, M1140, M1141 來(lái)判斷,由這幾個(gè)旗標的狀態(tài)來(lái)決定下一個(gè)通訊指令的運行時(shí)間,能夠很好的處理串行通訊的時(shí)序問(wèn)題,保證通訊的可靠及效率,正常通訊監控畫(huà)面如圖二。在用固定時(shí)序通訊中,即使通訊正常完成,那末也要等到100MS以后做下一個(gè)通訊,比如寫(xiě)指令通訊完成耗時(shí)20MS,則需要等待80MS,降低了通訊效率,而采用通訊旗標會(huì )在通訊完成或出現錯誤的情況下轉入執行下一個(gè)通訊指令,有效利用了時(shí)間,參見(jiàn)圖2。

  

  圖2 正常通訊監控畫(huà)面

4 臺達PLC與松下變頻器通訊案例

  采用臺達ES系列PLC,用通訊方式來(lái)改變松下VF0C系列變頻器的設定頻率,PLC端使用485口,無(wú)協(xié)議方式來(lái)模擬VF0C變頻器的通訊協(xié)議。

  4.1通訊協(xié)議

  VF0C系列變頻器留有485通訊口,并提供內部通訊協(xié)議如下:

  寫(xiě):% [站號] #WD [功能號] [起始地址] [結束地址] [數據] [BCC] \CR

  讀:% [站號] #RD [功能號] [起始地址] [結束地址] [BCC] \CR

  如果寫(xiě)正確,返回:%01$WD BCC\CR

  如果讀正確,返回:%01$RD [數據] BCC\CR

  分別規定了字節數,在以下表格以寫(xiě)數據為例做詳細說(shuō)明:

  在松下VF0C系列變頻器中,站號默認為01,通訊格式為9600、N、8、1,通訊方式是ASCII方式,數據為十六進(jìn)制,存儲模式為8位模式。設定頻率的地址是DT237,而讀設定頻率的地址為DT133,而且在DT237和DT133的數據都是以0.01Hz為單位的。下面以寫(xiě)頻率為例,來(lái)做詳細說(shuō)明。

  4.2實(shí)例說(shuō)明

  假設要寫(xiě)入的頻率是43.5Hz,那么需要寫(xiě)入的數值應為10FE(4350),變頻器的存儲模式為8位模式,應從低位開(kāi)始寫(xiě)入,那么應該先寫(xiě)FE后寫(xiě)10。校驗碼是把從起始碼到數據碼所有的字節進(jìn)行異或所得。

  XOR:%01#WDD0023700237FE10=52(HEX)

  那么得出以下所有通訊格式碼:

  %01#WDD0023700237FE1052\CR

  通訊方式是ASCII方式,數據是十六進(jìn)制格式,把這些格式碼按正確的次序發(fā)出,就可以把數據43.5HZ寫(xiě)入到變頻器設定頻率DT237中。

  4.3 梯形圖設計

  在PLC中,無(wú)協(xié)議通訊也是從低位開(kāi)始發(fā)送數據的,可選用8位模式和16位模式傳送,不同就在于發(fā)送數據寄存器中的8位數據還是16位數據,在這里以16位模式做說(shuō)明。梯形圖如下:把格式碼數據253031235744443030323337303032333745463130520D按照從低位到高位的順序依次存入到D0~D11中去,占用12個(gè)連續的數據寄存器,就是說(shuō)有24個(gè)字節的數據。設定通訊參數9600,N,8,1,ASCII方式,16位模式。當M0接通一次,就可以發(fā)送一次數據,寫(xiě)一次頻率。

  

  4.4 程序優(yōu)化

  如果再加上讀頻率的程序,就可以做成小閉環(huán),完成讀寫(xiě)頻率的程序優(yōu)化。因為在寫(xiě)頻率的數據發(fā)送成功后,可做延時(shí)3秒后讀頻率,在讀成功以后,把讀回的頻率數據和要寫(xiě)入的頻率數據做比較,如果相等,則通訊程序停止,如果不相等,再執行寫(xiě)頻率——》讀頻率——》比較。

  

5 結束語(yǔ)

  綜上所述,臺達PLC具有強大的串行通訊功能,且相關(guān)應用指令豐富,能夠很好的完成各種通訊需求,合理利用通訊功能將大大降低設備的制造成本,節省配線(xiàn),提高抗干擾能力,由于臺達產(chǎn)品均符合MODBUS協(xié)議,因此可以把臺達產(chǎn)品通過(guò)通訊方式整合在一起,實(shí)現各種各樣的功能要求。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: PLC串行通訊應用原

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>