4 实时数据传输处理
因为各种原因,使得系统参数发生了变化,因此,监控系统必须具备实时性要求,也就是说,只要设备状态一改变,监控系统就将信息采集并传送到计算机,以便监控人员及时了解现场,对现场情况作出判断、进行相应的操作。实时性包括计算机与plc实时通信以及plc实时监控所联设备状态两方面内容。
4.1 计算机实时数据处理
该部分由vb的timer控件完成。通过引发timer事件(timer事件是vb模拟实时计时器的事件),timer控件可以定时执行规定的操作,使得plc所连接的设备状态信息及时传送到计算机。
timer控件主要属性如表3,该部分的程序框图如图1所示。
4.2 plc实时数据处理
由于s7-200系列plc在自由口模式下,通信协议完全由梯形图程序控制。s7-200cpu连续扫描用户程序、执行用户任务。plc在程序执行过程中,基于稳定、快速、灵活等方面考虑,cpu每个扫描周期都通过输入输出映像寄存器来执行实际输入输出操作,即读实际输入点值到映像寄存器、写映像寄存器值到实际输出点。由于在中断中不能顺利进行数据读写操作,因此,可通过编程,利用plc循环扫描执行程序的特点,使得在程序扫描期间实现数据存储区与输入输出映像寄存器区交换数据,也就是说,计算机只要通过与数据存储区实时完成通信就可达到实时监控实际输入输出点的效果。
该部分的程序段如下:
主程序部分:
ld sm0.1 file://首次扫描闭合
call subr_0 file://调用子程序0
movb 1,vb0 file://vb0.0置1
ld vb0.0 file://设置数据存储区与映像区交换数据条件
call subr_1 file://调用子程序1
┇
end file://主程序结束
子程序1部分程序如下:
ld sm0.0 file://始终闭合
movd vd101,id0 file://数据存储区写数据到数字量输入
file://映像区
movd id0,vd101 file://读数字量输入映像区数据到数据
file://存储区
movd vd201,qd0 file://数据存储区写数据到数字量输
file://出映像区
movd qd0,vd201 file://读数字量输出映像区数据到数
file://据存储区
movw aiw0,vw301 file://读模拟量输入映像区到数据存
file://储区
movw vw401,aqw0 file://数据存储区写数据到模拟量输
file://出映像区
┇
cret file://子程序返回
发送、接收部分:
rcv vb500,0 file://从端口0接收数据存于vb500单元
file://起始的连续单元
xmt vb55,0 file://将vb55单元后的指定数据从端口0
file://连续发出
5 结束语
从以上叙述,可以看到,由计算机与plc组建实时监控系统关键在于解决计算机与plc实时通信、plc对设备状态实时监控问题。计算机与plc组建的实时监控系统开发成本低、实时性好、操作简便、通用性强,利用计算机易组网功能,既可以做到工厂内部网络互联、信息共享,又可通过调制解调器连接因特网,使异地信息共享、远程监控变为现实。实际工程中,该系统在恶劣的工业环境下工作稳定、可靠,具有一定的应用推广价值。
转载请注明出处。