基于VB的PLC与计算机间串行通信实现
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
`响应帧校验
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
从上面程序可以看到,计算机对PLC返回的响应帧要进行fcs校验,并利用异常码排除返回的异常数据,这样不但可以提高计算机获取信息的正确性,而且提高了计算机监控的实时性。
四、结束语
本文介绍的通信方法在我校cims研究中心自行研制的一套机电一体化设备中得到实施运用,经试验运行,证明这种通信方法稳定、可靠,确实是一种非常有效的方法。将PLC与计算机通信网络连接起来,PLC作为下位机,计算机作为上位机,形成一个优势互补的自动控制系统,实现了“集中管理,分散控制”。其中各个PLC子系统或远程工作站在生产现场对各个被控对象进行控制,利用网络连接构成一个PLC综合控制,满足了现代自动化系统向信息化、网络化、智能化的过渡。
评论