故事作者:宁超

最近创作

看看TA的故事

【热门】S7 单边通讯数据刷新一次需要40分钟? - 滥用03资源号导致通信阻塞 ~

已锁定

宁超

西门子1847工业学习平台

  • 帖子

    1028
  • 精华

    39
  • 被关注

    354

论坛等级:至圣

注册时间:2012-12-11

黄金 黄金 如何晋级?

【热门】S7 单边通讯数据刷新一次需要40分钟? - 滥用03资源号导致通信阻塞 ~

1512

20

2023-09-18 17:49:33

我的一个朋友在TIA Portal中组态了与PCS 7控制器AS 410的28个S7连接(13个S7-1200和一个1500与冗余CPU0和CPU1分别建立S7连接),并在S7-1200与1500程序里调用Get Put功能块对AS410进行读写,所有的S7连接显示与AS410已建立连接。


S7-1200与CPU 410-5H的网络简单示意如下:


另外还有若干TP1200精致面板都要与CPU 410进行通讯,显示和控制过程对象。TIA博途项目结构如下图


但他遇到了困难,S7-1200中刚好有设备运行计时变量通过Put写入了CPU 410中,通过观察S7-1200中的值与AS410的DB内显示时间差为40分钟。也就是说S7连接都正常的情况下数据刷新一次需要40分钟!


故障解除过程

首先,PCS 7容错系统通常不建议超过4个触摸屏的连接,但项目13个触摸屏已存在,不可能叫他摘掉其它的触摸屏不要,但可以将画面刷新周期修改到不小于2s降低通讯负荷。


但所有的触摸屏画面变量刷新修改到2s后,通讯并没有改善。



在检查S7连接组态时,发现了可能存在问题的地方,所有的S7连接在TSAP都是指定CPU 410-5H的03连接资源号。此时,虽没有十足的把握,但第六感这里就是问题所在。下图用于说明03资源号,非项目截图

连接资源号(connection res.)可能值

16#03

03为自由连接资源号,此连接资源可运行多个连接。只需在主动连接一端组态且带有未指定连接伙伴的连接!如果对连接资源0x03 寻址,则不必组态连接伙伴。

16#10 至16#DF

与03资源不同的是,这些连接资源每个可以运行一个(且只有一个)连接。并且需要在两端组态且带有未指定连接伙伴的连接!


由于西门子的指导文档,包括多途径可以找到的网上资料都在指导TSAP填写时,使用03资源号,导致很多人认为建立S7连接就要使用03资源号,且不需要在伙伴CPU组态S7连接也不需要编程,非常省事。这样就容易忽视其它连接资源号存在的意义。


项目中所有的S7连接都指定为03资源号,此时用于该连接的资源:



正是对03自由连接资源的滥用导致了通讯的阻塞,既然找到了问题方向就着手处理:

1. S7-1200重新分配TSAP,启用CPU16#10到16#DF范围内的专有连接资源号,并在S7-400和S7-1200/1500中两端组态S7连接

2. Get/Put数据交换长度减负,预留变量减少,数字量打包成DWORD,使用连续的DB内存等(仅作优化)


处理后,重新下载CPU410和S7-1200的S7连接,通讯过来的数值开始连续快速跳动!

做工程师就是忘不了这种爽的感觉。

【热门】S7 单边通讯数据刷新一次需要40分钟? - 滥用03资源号导致通信阻塞 ~ 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3239条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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