西门子PLC S7-1500实现2ms精准周期、高速数据采集(带时间戳)
工业自动化数据高速采集一直是行业内一大难题与痛点。高速数据采集要保证速度,也要保证时刻的准确性。而在windows系统平台下,时间稳定性是个很难的问题。PLC-Recorder通过不断升级迭代,程序内部架构优化,目前已经实现行业内大部分品牌与主流型号数据高速采集功能。
PLC-Recorder与部分品牌型号PLC已经可以做到周期1ms的稳定采集接收方案。
下面使用西门子S7-1500基础配置的CPU进行测试,采用2ms的速度外发采集方案,实现高速、稳定周期的采集。
周期的高稳定性是由PLC的时间戳来保证的,关于S7-1500时间戳的各种知识,请参考专门的文章。

配置步骤如下:
一、PLC的发送程序
在1ms的循环中断程序里进行发送,通过计数比较或者其他方法获得2ms的周期脉冲,触发发送指令。在通信结束后进行计数,并允许下一次发送。





此处LEN端子的值是200,这是实际发送的报文长度,与DATA ADDR里的长度不一定相等,请注意。
注意:
最新版的PLC-Recorder支持的高速采集长度限制是256字节,如果超过,则不采用高速采集策略。
二、PLC连接配置
以下是UDP连接的设置示例(TCP和UDP都支持高速采集,推荐UDP协议:效率高,配置简单):
指定了接收端IP地址和端口号 192.168.0.100:2000。


三、PLC-Recorder设置
3.1 PLC-Recorder 软件收听模式增加通用通道,并将本计算机的IP地址设置成192.168.0.100(与PLC里配置的伙伴地址一致)。

注意:
1、请依据PLC的型号选择合适的字节顺序,对于西门子,此处选择为DCBA。如果不确定字节顺序,可以先不启用时间戳,采集一段数据,然后看看时间戳变量是不是一条斜线。
2、可以选择帕姆齐通道,也可以选择收听模式下的通用通道。
3.2 PLC-Recorder,设置来源IP(也就是PLC的IP地址)192.168.0.1,收听端口5010,启用用户电文内的时间戳。

3.3 变量配置
需要将第一个变量配置为时间戳,偏移地址为0,其他变量依次配置,请与PLC内的变量顺序、长度保持一致。
变量配置时,不需要定义所有的变量,仅需要定义自己关注的变量即可。

注意:
各类型变量总个数不要超过64个,否则不会采用高速策略。
3.4 启动采集,打开数据采集服务器,在模式里面如果显示高速则已经启用了高速采集模式(附图里显示为“常规”,仅用于演示)。


3.5 打开Ana,进行数据分析

注意:
以上文件是一次实测的数据记录,与前面的变量配置不完全一样。
四、小结
采集的速度越快,需要的技术越复杂,代价也越大。PLC-Recorder的主动采集模式,基本只需要在PLC-Recorder里配置变量,不需要在PLC做什么复杂工作,这种方式很便捷,但是速度也有限。高速模式,就需要在PLC里配置通信,组织数据,然后调用通信语句,才能够实现,因此,对于PLC工程师的要求也是有一些了。
高速模式采用标准以太网通信协议,这也是大部分PLC都具备的能力,因此,可以被广泛使用来进行快速数据采集。
注:如果您测试无法达到效果,请到官网,下载PLC样例程序进行测试:https://hiddenmap.cn/files/202311/PLC-Recorder.html




浙公网安备 33010602011771号