PLC串行通訊應(yīng)用原理
圖1 錯(cuò)誤讀寫(xiě),紅圈部分信道D200數(shù)據(jù)變?yōu)镵3000,應(yīng)該是K1000
(2)“通訊旗標(biāo)方式程序”是調(diào)整后的程序,可以比較一下,其主要區(qū)別在于Modbus Read/Write 指令在程序使用上搭配M1127, M1129, M1140, M1141 來(lái)判斷,由這幾個(gè)旗標(biāo)的狀態(tài)來(lái)決定下一個(gè)通訊指令的運(yùn)行時(shí)間,能夠很好的處理串行通訊的時(shí)序問(wèn)題,保證通訊的可靠及效率,正常通訊監(jiān)控畫(huà)面如圖二。在用固定時(shí)序通訊中,即使通訊正常完成,那末也要等到100MS以后做下一個(gè)通訊,比如寫(xiě)指令通訊完成耗時(shí)20MS,則需要等待80MS,降低了通訊效率,而采用通訊旗標(biāo)會(huì)在通訊完成或出現(xiàn)錯(cuò)誤的情況下轉(zhuǎn)入執(zhí)行下一個(gè)通訊指令,有效利用了時(shí)間,參見(jiàn)圖2。
圖2 正常通訊監(jiān)控畫(huà)面
4 臺(tái)達(dá)PLC與松下變頻器通訊案例
采用臺(tái)達(dá)ES系列PLC,用通訊方式來(lái)改變松下VF0C系列變頻器的設(shè)定頻率,PLC端使用485口,無(wú)協(xié)議方式來(lái)模擬VF0C變頻器的通訊協(xié)議。
4.1通訊協(xié)議
VF0C系列變頻器留有485通訊口,并提供內(nèi)部通訊協(xié)議如下:
寫(xiě):% [站號(hào)] #WD [功能號(hào)] [起始地址] [結(jié)束地址] [數(shù)據(jù)] [BCC] \CR
讀:% [站號(hào)] #RD [功能號(hào)] [起始地址] [結(jié)束地址] [BCC] \CR
如果寫(xiě)正確,返回:%01$WD BCC\CR
如果讀正確,返回:%01$RD [數(shù)據(jù)] BCC\CR
分別規(guī)定了字節(jié)數(shù),在以下表格以寫(xiě)數(shù)據(jù)為例做詳細(xì)說(shuō)明:
在松下VF0C系列變頻器中,站號(hào)默認(rèn)為01,通訊格式為9600、N、8、1,通訊方式是ASCII方式,數(shù)據(jù)為十六進(jìn)制,存儲(chǔ)模式為8位模式。設(shè)定頻率的地址是DT237,而讀設(shè)定頻率的地址為DT133,而且在DT237和DT133的數(shù)據(jù)都是以0.01Hz為單位的。下面以寫(xiě)頻率為例,來(lái)做詳細(xì)說(shuō)明。
4.2實(shí)例說(shuō)明
假設(shè)要寫(xiě)入的頻率是43.5Hz,那么需要寫(xiě)入的數(shù)值應(yīng)為10FE(4350),變頻器的存儲(chǔ)模式為8位模式,應(yīng)從低位開(kāi)始寫(xiě)入,那么應(yīng)該先寫(xiě)FE后寫(xiě)10。校驗(yàn)碼是把從起始碼到數(shù)據(jù)碼所有的字節(jié)進(jìn)行異或所得。
XOR:%01#WDD0023700237FE10=52(HEX)
那么得出以下所有通訊格式碼:
%01#WDD0023700237FE1052\CR
通訊方式是ASCII方式,數(shù)據(jù)是十六進(jìn)制格式,把這些格式碼按正確的次序發(fā)出,就可以把數(shù)據(jù)43.5HZ寫(xiě)入到變頻器設(shè)定頻率DT237中。
4.3 梯形圖設(shè)計(jì)
在PLC中,無(wú)協(xié)議通訊也是從低位開(kāi)始發(fā)送數(shù)據(jù)的,可選用8位模式和16位模式傳送,不同就在于發(fā)送數(shù)據(jù)寄存器中的8位數(shù)據(jù)還是16位數(shù)據(jù),在這里以16位模式做說(shuō)明。梯形圖如下:把格式碼數(shù)據(jù)253031235744443030323337303032333745463130520D按照從低位到高位的順序依次存入到D0~D11中去,占用12個(gè)連續(xù)的數(shù)據(jù)寄存器,就是說(shuō)有24個(gè)字節(jié)的數(shù)據(jù)。設(shè)定通訊參數(shù)9600,N,8,1,ASCII方式,16位模式。當(dāng)M0接通一次,就可以發(fā)送一次數(shù)據(jù),寫(xiě)一次頻率。
4.4 程序優(yōu)化
如果再加上讀頻率的程序,就可以做成小閉環(huán),完成讀寫(xiě)頻率的程序優(yōu)化。因?yàn)樵趯?xiě)頻率的數(shù)據(jù)發(fā)送成功后,可做延時(shí)3秒后讀頻率,在讀成功以后,把讀回的頻率數(shù)據(jù)和要寫(xiě)入的頻率數(shù)據(jù)做比較,如果相等,則通訊程序停止,如果不相等,再執(zhí)行寫(xiě)頻率——》讀頻率——》比較。
5 結(jié)束語(yǔ)
綜上所述,臺(tái)達(dá)PLC具有強(qiáng)大的串行通訊功能,且相關(guān)應(yīng)用指令豐富,能夠很好的完成各種通訊需求,合理利用通訊功能將大大降低設(shè)備的制造成本,節(jié)省配線,提高抗干擾能力,由于臺(tái)達(dá)產(chǎn)品均符合MODBUS協(xié)議,因此可以把臺(tái)達(dá)產(chǎn)品通過(guò)通訊方式整合在一起,實(shí)現(xiàn)各種各樣的功能要求。
評(píng)論