故事作者:赵欣

最近创作

看看TA的故事

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

已锁定

赵欣

官方工程师

  • 帖子

    391
  • 精华

    54
  • 被关注

    186

论坛等级:奇侠

注册时间:2006-07-07

黄金 黄金 如何晋级?

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

5437

1

2020-05-12 09:09:56

star star star

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

 

最新更新:

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

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

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

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

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


     上述的测试中,对于300PLC无论在禁用还是使能“By PLC” 的情况下,发送数据给WinCC都是通过CCP进行的。因而这样通信的效率确实比较低,因为数据的发送周期取决于CPU的循环周期,特别当CPU的周期时间过长的情况下。不过随着CPU版本的升级,300PLC可以通过时间片的方式与WinCC进行通信,这也说明版本的升级不仅仅修改了一些Bug,也在实际上做了硬件性能的提升。在CPU版本V3.2版本之前,300PLC只能通过CCP的方式与WinCC进行数据交换,无论是否使用 “By PLC” 。而V3.2版本之后,CPU支持OCM功能,在CPU属性中可以激活,这表示CPU可以使用时间片来替代CCP做的通信。

 

 

 

                           

 

                 

 

                  

 

     这样激活OCM功能后,再做测试看看通信的行为如何?还是根据前面的一些测试条件,发现当激活“By PLC”时,数据的推送仍然发生在CCP,数据通信行为不变,这表示仍然数据的推送周期取决于CPU的循环周期。当取消“By PLC”,那么当WinCC画面上同时存在多个刷新周期变量时,变量读任务响应周期等于画面变量的刷新周期,因为此时数据的响应在CPU中发生在时间片。所以总结来说这进一步说明在300CPU与WinCC通信时,不建议使能 “By PLC”。

 

     那么对于400PLC与WinCC的通信行为又是如何呢?前面文章中其实表明与300PLC不同的是400PLC通信多数发生在时间片。使用同样的测试条件和方法进行400PLC的测试,当禁用“By PLC”时,由于400PLC与WinCC的数据交换发生在时间片,那么数据通信行为与300PLC的OCM方式一样。激活“By PLC”,S7-400PLC会给每一个WinCC分配6个循环读服务,共16个,PLC会根据WinCC画面的变量刷新周期进行推送,这种方式与300PLC不同,发生在时间片。而当在WinCC画面上设置变量的刷新方式为“upon change”,如果PLC的数据在不断的变化,由PLC自行决定推送周期,该周期由PLC自行计算,无法得出准确公式。但肯定一点就是不是数据一变,PLC就推送该数据。

 

     激活“By PLC”&“Change Driven transfer”时,当WinCC画面上同时存在多个刷新周期变量时,根据变量的刷新时间判断变量变化,CPU才会推送这些变量数据给WinCC。也就是说判断变量是否变化,取决于画面变量的刷新周期,CPU会根据此时间内判断数据是否发生变化,变化则发送数据至WinCC。然而经过测试发现一个很有趣的过程就是数据变化才进行推送,仅对DB数据有效。即当画面上的变量为DB区时,根据变量周期发现此数据发生变化,则会推送变化数据给WinCC。

                       

 

     如果画面存在其它地址区域。例如M区数据,无论数据变化与否,CPU都会按照画面上变量的刷新周期进行推送。即即使根据变量周期发现此数据没有发生变化,也会推送这些数据给WinCC。这样的使用 ,设置“Change Driven transfer” 并没有起到真正的作用。

                     

 

     所以在这种情况下的通信优化方式,即使用DB区,甚至按照前面的结论最好是连续的DB区。一方面可以减少推送的报文数量,最大程度的装载有效数据,另一方面可以按照“Change Driven transfer”,真正是变化的数据才会被推送,减少网络负荷。


     以上就是S7-300/400PLC与WinCC画面变量通信的通信行为。整个测试过程,看似结论很多,但其实很简单,关键在于使用以前的通信概念进行分析和总结,多做,多看,多分析,多总结,很快会发现问题的所在,发现通信的行为以及背后的概念和原理。

 

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

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

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

 

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

请填写推广理由:

本版热门话题

西家技术派

共有64条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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