基于VB的PLC與計(jì)算機(jī)間串行通信實(shí)現(xiàn)
if endstring = 13 then
readdata = error
exit function
elseif endstring = 14 then
readdata = error
exit function
elseif endstring = 15 then
readdata = error
exit function
elseif endstring = 18 then
readdata = error
exit function
elseif endstring = a3 then
readdata = error
exit function
elseif endstring = a8 then
readdata = error
exit function
end if
`響應(yīng)幀校驗(yàn)
endstring = mid$(instring, 1, len(instring) - 4)
returnfcsstring = mid$(instring,len(instring) - 3, 2)
fcsstring = fcs(endstring)
if fcsstring > returnfcsstring then
readdata = error
exit function
end if
returnstr = mid$(instring,
len(instring) - num - 3, num)
readdata = returnstr
end function
從上面程序可以看到,計(jì)算機(jī)對(duì)PLC返回的響應(yīng)幀要進(jìn)行fcs校驗(yàn),并利用異常碼排除返回的異常數(shù)據(jù),這樣不但可以提高計(jì)算機(jī)獲取信息的正確性,而且提高了計(jì)算機(jī)監(jiān)控的實(shí)時(shí)性。
四、結(jié)束語(yǔ)
本文介紹的通信方法在我校cims研究中心自行研制的一套機(jī)電一體化設(shè)備中得到實(shí)施運(yùn)用,經(jīng)試驗(yàn)運(yùn)行,證明這種通信方法穩(wěn)定、可靠,確實(shí)是一種非常有效的方法。將PLC與計(jì)算機(jī)通信網(wǎng)絡(luò)連接起來(lái),PLC作為下位機(jī),計(jì)算機(jī)作為上位機(jī),形成一個(gè)優(yōu)勢(shì)互補(bǔ)的自動(dòng)控制系統(tǒng),實(shí)現(xiàn)了“集中管理,分散控制”。其中各個(gè)PLC子系統(tǒng)或遠(yuǎn)程工作站在生產(chǎn)現(xiàn)場(chǎng)對(duì)各個(gè)被控對(duì)象進(jìn)行控制,利用網(wǎng)絡(luò)連接構(gòu)成一個(gè)PLC綜合控制,滿足了現(xiàn)代自動(dòng)化系統(tǒng)向信息化、網(wǎng)絡(luò)化、智能化的過(guò)渡。
評(píng)論