技术论坛

 Smart 200 PN通讯与S7通讯速度对比

返回主题列表
作者 主题
joe_liang
侠客

经验值:799
发帖数:25
精华帖:3
楼主    2020-01-19 15:42:32
主题:Smart 200 PN通讯与S7通讯速度对比 精华帖  精编帖 

       最近西门子发布了Smart 200的新固件版本V2.5,最大特色是可以支持IO智能设备通讯了。自从上年V2.4版本支持作为PN控制器后,就一直期待IO Device功能了。之前经常有客户问到,西门子PLC之间通讯用什么通讯协议会比较好,通讯速度快,通常我都会推荐S7通讯。因为S7通讯是西门子自家的协议,通讯质量有保证,而且程序方面有专门的集成程序块,也可以做单边通讯,编程简单,大大缩短了编程的时间。但是也有客户反应S7通讯传输速度慢,有延迟,问有没有其他方法。除了S7通讯,应该就是IO Device通讯了,走的是RT实时通讯,但是之前Smart没有这个功能,也只能回复客户只有S7,没其他办法了。

       现在V2.5版本出来了,就赶紧找了个PLC试了一下,看到底IO Device通讯和S7通讯对比到底快多少。


(此处省略配置步骤,手册已经很详细了,直接分享一下结果)

————————————————————————————————————

1、 PN控制器端程序

程序中配置了两种通讯方式,分别是PN通讯和S7通讯,传输字节都是2个字节

PN IO映射关系:控制器IB128~IB129、QB128~QB129

               智能设备QB128~QB129、IB128~IB129

程序如图1


图1 PN控制


S7存储器映射关系:控制器VB0~VB1、VB2~VB3

                  智能设备VB0~VB1、VB2~VB3

程序如图2


图2 S7通讯(单边通讯)


2、 PN智能设备端程序

简单做了个逻辑判断,收到信号后置位


图3


3、 结果

结果如图4。从结果可以看出来,采用PN通讯,信号处理所用时间(VD104)为4~7ms,采用S7通讯,信号处理所用时间(VD112)为22~26ms,采用PN通讯,信号处理所用时间快了大概3倍左右


图4 结果


感受:

PN通讯优点:速度快,实时性好

       缺点:配置起来比S7通讯相对麻烦,1个PLC只能连接一个控制器

S7通讯优点:可做单边通讯,配置起来比PN方便

       缺点:传输速度比PN慢

 

————————————————————————————————————

20200121更新

PN通讯最大传输字节数为128 Byte,我将PN通讯和S7通讯字节数调高到128个字节再进行测试,测试10组数据,分别如下:

(以下时间为信号处理时间)

PN通讯(ms):5 5 6 4 5 7 9 6 8 5

S7通讯(ms):28 21 52 36 26 64 51 58 62 50

数据量加大后,PN通讯的时间4~9ms,S7通讯时间21~64ms,它们之间的差距更大了,而且S7通讯的时间感觉不稳定,跳动比较大。


————————————————————————————————————

20200122更新

今日测试了一下MODBUS TCP通讯,传输100个字节(因为MODBUS TCP一次最多120字节,所以就不能弄到128个字节了),发现了一个很奇怪的现象。先上测试结果,测试10组数据分别如下:

PN通讯(ms):12 7 11 12 11 12 10 10 10 9

S7通讯(ms):47 23 53 26 30 27 25 54 26 44

MODBUS TCP通讯(ms):17 16 16 17 15 16 18 17 14 14


在之前的基础上,加上MODBUS TCP通讯之后,PN通讯的周期不知道为何变长了,有可能是PLC的通讯负荷变大了,导致时间变长。但是很奇怪的是,MODBUS TCP的通讯周期居然比S7通讯还要短。。。。作为西门子自己的协议,那岂不是S7通讯在通讯速度上没啥优势?为避免偶然性,我重复测试了30多次,依然是这个结果。


想了一下,可能有两种原因:

1、S7的报文结构比MODBUS TCP复杂(这个有待考究)

2、我测试的方式有问题,下面是我测试MODBUS TCP的程序


图5 MODBUS TCP轮询1


图6 MODBUS TCP轮询2


图7 MODBUS TCP轮询3(V1800.0是读取服务器的置位信号)


图8 Server端的程序,收到客户端的数据后置位一个标志位供客户端读取


Zane
至圣

经验值:75766
发帖数:19245
精华帖:376
14楼    2020-01-23 17:33:59
精编帖  主题:回复:Smart 200 PN通讯与S7通讯速度对比

呵呵,真不知道该说些什么了。


西门子支持Profibus,Profinet,AS-i,IO-link,S7,OUC,Modbus-TCP,Modbus-RTU通信


其中属于现场总线,实时通信的是DP,AS-i,IO-Link,PNIO,前三个是基于RS485的主-从通信,PNIO是基于RJ45,控制器-设备间通信;


其他无论是Profibus-S7,还是PN/IE-S7,OUC,Modbus-TCP,Modbus-RTU都是CPU-CPU或CPU-PC之间的通信,属于非实时通信;


楼主一定要拿一个实时的并且与扫描周期同步的通信与那些个非实时的且异步与扫描周期的通信去比快慢和性能?真是有点不可思议,居然还有这么多人附和?


这驴唇对马嘴,关公战秦琼的结论对吗?我看是有些荒唐!


问题1:通信时间的测试方案存在诸多问题,看楼主的程序这个测量时间应该至少包含了通信双方的扫描周期及双向的通信时间,如果我把双方CPU的扫描周期都固定为20毫秒,楼主可以比较一下通信数据分别为2个字节,10个字节,乃至100个字节条件下的不同响应。

问题2:通信速度快,就是实时性强吗?什么是通信的实时性,请回答一下。



Zane 注册自动化系统工程师 Always save before download
yming
至圣

经验值:126318
发帖数:21935
精华帖:822
18楼    2020-01-24 14:37:32
精编帖  主题:回复:Smart 200 PN通讯与S7通讯速度对比

PN/IO通讯有两种,一种是专用芯片驱动,另一种是驱动程序。不清楚Smart V2.5是哪种?

芯片驱动的由通讯芯片更新IO域,交换数据。CPU不参与通讯。可以有较高的实时性,抖动很小。

软件驱动的,最多做到RT级别 10毫秒左右,且抖动性相对芯片较差。

PN/IO通讯基于设备名称辨识互联交换数据,仅在局域网内传输。


S7 TCP、 ModBus TCP及其他的都是基于IP的以太网通讯。通讯交换速率取决于网络和CPU处理。优点是可以网际间传输(包括使用VPN)。这种异步通讯速率既可以很快,也可能很慢(几百毫秒)。

PN/IO和其他的TCP通讯所针对的应用范围不同,没有可比性。


可与PN/IO网络相比较的,是DP网络。它们所针对的应用场合是一样的。


学而时习之,不亦说乎?温故而知新,不亦乐乎?
joe_liang
侠客

经验值:799
发帖数:25
精华帖:3
20楼    2020-01-26 11:58:14
精编帖  主题:回复:Smart 200 PN通讯与S7通讯速度对比

各位说的有道理,受教了。实时通讯和非实时通讯两者之间比较速度确实没什么意义,毕竟它们通讯处理的机制不一样,应用场合也有所不同。做本实验的初衷,一是试一下Smart 200 智能设备通讯的方法,二是想验证一下PN通讯和普通的开放式通讯有什么不一样。无论是实时通讯还是非实时通讯都好,最终的目的都是为了两个设备之间进行数据传输,并在程序上进行数据处理。本实验是基于程序进行测试的,对比的是信号从送出到接收整个过程程序的处理时间,并不代表通讯机制所需要的真实传输时间。本实验只是模拟了两个设备进行通讯,一主一从,主机程序做一个置位操作,通过某种通讯机制(S7、PN、MOSBUS TCP)将信号给从机,从机程序接收到信号后,程序对信号做相应的处理,然后做一个置位操作,主机接收到从机的置位信号后,代表完成一个处理周期,并记录处理时间。

各种通讯方式都有各自的优劣和应用场合,但是我想对比不同通讯之间的区别,总该有个衡量的标准,在没有其他附加测量设备和软件协助的情况下,我能想到的也只能通过这种测时间的方式来验证。我想,因为通讯的数据最终体现在程序上面,通过测量程序对信号的处理时间,对于不同通讯之间的区别也会有所体现。

做这个实验还有一个目的是为了和客户介绍的时候有点数据说服力会好点,毕竟有些客户水平不高,和他们谈一大堆理论,他还以为你在忽悠他,也理解不了,还不如说个大家都能理解的数据或者概念,譬如时间,速度之类的,还能更好接受,只要能解决最终的问题就好了

这次的实验确实有很多不足的地方,欢迎指出问题,大家一起探讨,说得不对的地方请多多包涵。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。