0929 【万泉河】TIA PORTAL 优化模式的S7通讯实现

已锁定

万泉河

  • 帖子

    10903
  • 精华

    132
  • 被关注

    1010

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

0929 【万泉河】TIA PORTAL 优化模式的S7通讯实现

2196

10

2024-09-29 17:50:38

0929 【万泉河】TIA PORTAL 优化模式的S7通讯实现

 

我在前一篇文章《0923 【万泉河】换个视角看TIA PORTAL 数据块的优化和非优化

》中,立了一个断言:

 

PORTAL系统中, 所有要实现的计算功能,都可以用优化方法可以实现,而可以完全避开不用各种非优化方法。未来,优秀的PLC程序的标志就是全程序中全都是优化方法的优化数据块,而不再有非优化的数据块。

 

这是给我自己,也是给全部的西门子PLC工程师树立的一个目标。

 

下断言当然是有风险的。 然而,风险的同时,也代表了我自己对这个技术观点的独占性。不可能有人,在刚遇到观点的前几年里反对这个观点,然后过了三五年后,又宣称自己早就掌握了这项技术这些观点,被我抢了他们的风头。

 

所以当有人以抬杠的姿态来质问我, 为啥不反思下自己, 为啥发表的技术观点总有那么多人质疑反对的时候,我都笑嘻嘻地告诉他。 有人质疑才证明独特性和先进性,反对的人越多才越先进。 如果人人支持的观点,没有任何独特性先进性,也就没有任何必要发表了。

 

就好比哥伦布发现新大陆的时候, 面对那些质疑他发现新大陆的反对者,是应该高兴还是恼怒?他当然是高兴了, 每多一个反对者,就少了一个跟他争头功的竞争者。 反对者最终要想证明哥伦布的贡献不如他们,那除非把美洲大陆给沉到大西洋洋底。

 

2016年,我在全行业首次提出PLC编程可以不用全局变量的M和时间继电器T的时候,掀起滔天巨浪,引来泼天的质疑反对,然而也还有一小部分的支持者表示理解, 也表示在践行中。 然而这次发表关于全优化的观点,反对声音不够多的同时,支持的声音也很少。看来,这个题目太过超前了, 有太多的同行暂时还没有能力掌握和看懂这样的话题。

 

不过,我自己的内心,还是有些忐忑的。 生怕掉入了自己给自己埋下的坑。 如果有人搬出来这样那样的功能场景,证实了只能用非优化方式实现,而优化方式完全做不到的时候, 那我的脸可是要被打肿的。

 

所以,还是主动些,自己先行一步把自己挖的坑能埋一个埋一个。 同时,也可以印证理论的正确性。

 

我有记得PORTAL中的S7通讯, 通讯数据缓冲区需要非优化的数据。所以决定亲自验证一下用优化数据的可行性。但我手里只有一台S7-1214和一台SMART 200 PLC,所以,从网上搜索了《S7-200 SMART CPU与S7-1200进行S7通信》,搜索结果很多, 其中也包含官方文档:S7-200 SMART Communicate with S7-1200 (siemens.com.cn)

https://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/Ethernet/S7/S7_1200_S7/S7.htm

 


官方文档中要求的软件版本还是V13SP1,是够老的了。 而我现在拿V16来实现。 于是先参考文档中的说明,一步步先按照非优化的模式实现了。

 

当然,即便在V16的帮助中, 在PUT/GET指令的相关条目下,也同样是要求把数据区设置为非优化。 而我现在要用优化的数据实现,有没有违背手册,有没有倒反天罡呢?

 

BUFF中的数据格式为Array[0..49] of DWord,数据块改为优化之后,原本的PUT指令的SD-1管脚报错,改为直接符号名:


 然后通讯可以成功。ADDR管脚仍然是绝对地址的格式,当然啦,那里指向的是通讯伙伴的地址,我现在对方是SMART 200,根本不支持符号寻址,也无所谓了。 而相信即便对方是同样的S7-1200,也需要用绝对地址格式。 我也相信无关乎对方是否优化,即便优化数据,应该也能访问到。 但这一点需要有条件者帮我试验验证。

 

在PUT送出的同时,又用GET指令把数据读回来了,放在了接收缓冲区中:


这样不需要SMART中有程序,就可以只在S7-1200中观察到了数据的同步更新。

 

更进一步,还测试了把BUFF的数据区定义成UDT的场景,发送数据区和接收区使用同一格式的UDT, 证实了数据通讯也可以正常。

 

然而,这一点是需要带有疑点的。


帮助系统中对数据格式的描述没看懂什么意思。

 

帮助文件中提示:


必须禁用优化块访问,看来也过时了。并不是必须的。

而另外的章节:《使用结构化数据类型时填充字节》

 明确提到了PUT 、GET指令有可能会受到的影响。我在测试时定义的UDT数据格式故意够乱,但也没能测试出问题。 但仍不可掉以轻心, 以后实际应用时需要谨慎。

 

最后表达对时下一种流行观点的反对。

 

有一种观点认为,官方提供的手册和帮助系统是最好的学习资料。我们可以有限度地表示支持。 啥时候支持?在入门学习的时候,以及作为辅导老师,面对的只是入门级的新手的时候。 在有机会有时间富裕的情况下,多翻翻帮助手册,当然是大有裨益的。然而也局限于入门级别的学习。

 

而如果还要提高, 还要掌握更新更先进的技术方法和理念,仅通过学习手册是万万不能的了。手册中所能提供的只是基本功能的实现。 要以为世上最优秀的程序案例方法都在手册里,读懂手册,把所有技术方法都搬回家,应用到自己的设计中,自己的设计自然就是最优秀了, 那恐怕是要失算的。

 

就好比,如果有人跟你建议,学习中文,最好的资料是康熙词典, 学习英文写作,最好的资料是牛津英文词典,学好了这两部巨作,就可以掌握最优秀的中英文写作的技能,就可以写出足以获得各种文学奖的作品,显然是眼光狭隘了。

 

所以,当再遇到有老师跟你反复强调手册是最好的老师的时候, 你可以相信他,跟他好好学习,学习其严谨治学的求知精神。 但一定要清醒地认识到,他的顶级水平可能就是个入门辅导员,相当于小学三年级语文老师。

 


 

 

关注视频号,收看本厂内容讲解演示的直播和回放。


0929 【万泉河】TIA PORTAL 优化模式的S7通讯实现 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15148条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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