故事作者:赵欣

最近创作

看看TA的故事

【PLC通信原理探秘】大讲堂幕后彩蛋之砥砺

已锁定

赵欣

官方工程师

  • 帖子

    387
  • 精华

    52
  • 被关注

    149

论坛等级:奇侠

注册时间:2006-07-07

黄金 黄金 如何晋级?

【PLC通信原理探秘】大讲堂幕后彩蛋之砥砺

6249

9

2020-04-09 12:46:44

star star star

  专家大讲堂《PLC通信原理探秘》系列视频:https://www.ad.siemens.com.cn/service/elearning/series/288.html

 

最新更新:

连载之十二: 【PLC通信原理探秘】大讲堂幕后彩蛋之有谁

连载之十三: 【PLC通信原理探秘】大讲堂幕后彩蛋之头疼

连载之十四: 【PLC通信原理探秘】大讲堂幕后彩蛋之求助

连载之十五: 【PLC通信原理探秘】大讲堂幕后彩蛋之苦大

连载之十六: 【PLC通信原理探秘】大讲堂幕后彩蛋之愁深

 

      结论,是需要大量的测试和论证后得出的,因为在整个过程中,并没有相关产品开发的资料,所有得到的与内部相关的设计和概念都是我自己推测和总结出来的,我想与真正的研发的概念和术语必然存在差别,但这并不影响这些得到的概念的理解和应用,并不影响我对这些未知世界的探知和求索,砥砺前行,是对我探索PLC高级通信知识体系的真实写照!

     现在我拿出刚刚所得出的关于资源的结论,来去证明两个问题。


     1.关于多路复用。CP343-1在建立多个双边的S7通信的时候,默认的CP卡是使用多路复用功能的。即多个S7连接占用CP343-1的多个S7连接,而只占用一个CPU的S7连接,实际上CPU的这一个S7资源要和这CP343-1中的16个S7连接资源进行对接,就好比Profibus通信,CPU的S7连接资源就是主站,CP343-1的16个S7连接资源是从站,依次轮询,轮询是需要时间的,通过Wireshark可以看见这段随机的通信滞后时间。而400CP卡却没有这个多路复用的功能,一方面体现400PLC的性能强大,另一方面也表明400PLC的无能为力。300CP卡之所以大张旗鼓的做S7通信的多路复用功能,恰恰是由于数据的封装和解封装都在CP卡中完成。数据全部在CP卡中处理完成,CPU只需要轮询获取数据即可,这就是多路复用的原理,此时CPU只占用一个S7连接资源,说白了就是通信任务公用一个通信资源,CP卡占用更多的连接资源;然而这种方式也有缺点,就是CPU需要遍历所有的CP卡的终点的数据缓冲区去获取与其地址信息一致的数据,也就是说找到partner中的数据,这是要时间的,该时间的长短取决于CPU的循环周期T,最长获取数据的时间应该是Tx16。所以优势和劣势一目了然。


     2.手册中有一段关于使用CP卡进行TCP/IP通信的一段话,是关于AG_SSEND/AG_SRECV功能块的。如下:

 

 

     这段手册中并没有详细的描述,从字面上看会让你觉得一头雾水,什么叫快速通信对局域网通信没有任何影响?而这个功能块又是用来进行加速数据传输的。首先,快速以太网100Mbp是不变的,无论使用什么样的通信,网线上的传输速度不变,其次,使用这个功能块进行TCP的通信,肯定无法改变协议本身,也就是TCP协议的通信处理并未发生改变,那么所谓加速,是就剩下一条,就是PLC内部的优化,优化了CPU和CP卡之间的传输速度。另外手册中提到使用AG_SSEND/AG_SRECV此时CPU和CP卡都会各占用一个S7资源。那么就运用我们所指的结论来来还原一下真实的原因吧。


     使用TCP通信,例如AG_SEND,此时CP卡会占用TCP的连接资源,CPU不会占用,那么CPU和CP之间的数据交换方式未知,底层开发,我们不清楚,但是数据交换是必然的,速度未知;使用S7通信,知道是CPU和CP卡之间的连接资源是一一对应的,就是CPU和CP卡之间的通信资源的数据缓冲区作了对应关系,这就奠定了CPU和CP卡之间数据传输优化速度的基础,这也就意味着CPU和CP卡之间的数据交换比没有对应的(如AG_SEND)更快。我们再延展的去看这个问题,TCP通信那么为什么要占用S7资源?我们要延展概念,说白了资源和协议无关,这句话很重要,不能混淆。如果不能理解,我们知道CPU的路由资源的,就是S7数据从以太网路由到PB,或者相反,那么资源到底是什么?就是前面所说的数据缓冲区域,那么就意味着资源可以共享,你可以用,我也可以用,记住那句话就是“资源和协议无关”,当注入了什么协议,那么资源就变成什么资源,也就是S7用了,就是S7资源,S7路由用了,就是S7路由资源。这也是到了S7-1500,所有的资源都放在了一起的原因。


     最后,还要澄清一点,就是资源的概念和协议无关,这样理解只是一个方面,还有另一个方面就是资源和协议要有机结合,谁用了就是谁的资源了。那么既然300CP卡承担了S7协议的主体,并不是说CPU没有S7协议的参与,协议的最终指示信号Done和NDR都是第7层的S7协议来参与的。换句话说S7作为7层协议,覆盖了CPU和CP卡的工作,这也是为什么CPU和CP卡占用S7协议的原因。


     这样就解释了手册中没有解释过的问题,看到了我想要看到的结果。作为技术支持,我总是在设想,用户会问到我这样的问题,我已经准备好了,虽然从来没有人问过,但却鞭策我不断探索这些问题,虽然还是没有人问起,它却依然在那里…….


----------未完待续----------

连载之十八: 【PLC通信原理探秘】大讲堂幕后彩蛋之前行

连 载  汇 总:   【PLC通信原理探秘】系列连载故事汇总

 

【PLC通信原理探秘】大讲堂幕后彩蛋之砥砺 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

西家技术派

共有64条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

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