
西门子S7-300/400 PLC高速采集方案
工业自动化数据高速采集一直是行业内一大难题与痛点,高速数据采集要保证速度,也要保证时刻的准确性。在windows系统平台下,时间稳定性是个很难的问题。PLC-Recorder通过不断升级迭代,程序内部架构优化,目前目前已经实现覆盖行业内大部分品牌与主流型号数据高速采集功能。
下面说明一下西门子S7-300/400PLC高速通讯的编程和配置过程:
一、PLC侧进行设定
1.1 打开PLC网络视图,插入一个UDP连接:

1.2 UDP设置:

1.3 本地和远程(PLC-Recorder所在电脑)网络设置:


1.4 启用循环中断程序OB35,并设定为7ms的周期:

1.5 PLC程序编写:


二、PLC-Recorder 软件设置
PLC-Recorder软件收听模式增加通道及设置IP,IP地址是PLC网卡的地址,端口是电脑侧的监听端口:

三、数据采集
PLC-Recorder软件进行数据

四、使用Ana软件进行数据分析
打开Ana数据软件分析,可以看到X1-X2的间隔时间为0.014s

五、小结
采集的速度越快,需要的技术越复杂,代价也越大。PLC-Recorder的主动采集模式,基本只需要在PLC-Recorder里配置变量,不需要在PLC做什么复杂工作,这种方式很便捷,速度也有限。高速模式,就需要在PLC里配置通讯,组织数据,调用通讯语句,才能够实现,对于PLC工程师的要求也是有一些了。高速模式采用标准以太网通讯协议,这也是大部分PLC都具备的能力,可以被广泛使用来进行快速数据采集。对于PLC来说,通讯也是个复杂的任务,资源消耗较大。对于新款PLC,运算速度很快,可以将通讯程序的周期设定为非周期,或者1-2ms的周期。对于老款的PLC,就要测试CPU的负荷情况,合理设置周期。不管怎样说,它都快于主动采集,为高速采集提供一个非常简单、有效的解决方案(本例里,用到的是一个非常古老的CPU,主动采集要100ms,高速采集时,可以在20ms之内,与S7-1500、S7-200SMART相比比较逊色,相对自己来说,已经提升很多了。)