回复:应用探讨——PLC间的以太网通信,选择TCP/IP还是S7

四书五经

  • 帖子

    762
  • 精华

    58
  • 被关注

    30

论坛等级:侠圣

注册时间:2005-12-23

普通 普通 如何晋级?

发布于 2011-04-26 22:05:17

247楼

技术资源库有如下FAQ:
通过工业以太网 CP 进行“发送/接收”通信时,数据长度大于 240 个字节会增加 CPU 的负荷

发送/接收通信:
这是发生在 OSI 参考模型第 4 层的用户数据传输。为此,必须在模块之间组态好传输的连接。然后,使用提供的功能块,可以从 CPU 的用户程序发送数据或在那里接收数据。
“发送/接收”通信中可使用下列连接类型:

ISO 传输连接
ISO-on-TCP 连接
UDP 连接
TCP 连接 (TCP 本地)
HMI 作业:
尤其对于过程可视化站(例如 WinCC )来说,它从 S7 控制器读取过程值并以图形显示。这样,操作员可对特定的系统状态作出反应,并且如果必要,可改变 S7 CPU 中的变量。该机制通常通过所谓的“S7连接”实现的。为此,有以下两种类型的作业通过 S7 连接传送:

“取得” 作业:
这是在 OSI 参考模型第 7 层的一个协议组件,通过它可以从远程站读取任何过程值。
“放置” 作业:
这是在 OSI 参考模型第 7 层的一个协议组件,通过它可以改变远程站中任何一个过程值。
特点:
在“发送/接收”通信的情况下,依使用的数据长度,在 CP 和 CPU 之间的数据传送类型有差异。这意味着,如果通过 LAN(局域网)从伙伴站已接收到数据,仍然必须把此数据从 CP 传送到 CPU。
传送过程中的差异从用户数据长度 241 字节开始。从该长度起,一定不能再使用 FC“(FC5) - PLC_发送”和“(FC6) - PLC_RECV”。在此须使用 FC“(FC50) - PLC_LSEND和“(FC60) - PLC_LRECV”。这些 FC 检查要发送的数据的长度。如果长于 240 个字节,FC 就初始化 CP。之后,由 CP 实施数据的传送。这个数据传送使用 PUT 和 GET 作业,而不用“读/写”数据记录。
如果在 CP 和 CPU 之间,已经存在由 WinCC 或类似的站所循环处理的 HMI 作业。由于除了“发送/接收”通信作业外,作业的数量会因为长数据(长于241字节)所另外创建的 PUT 和 GET 作业而增加。

影响:
因为通信容量有限,每个 CPU 只能,以可接受的性能水平,并行处理一定数量的 HMI 作业。如果通信负荷高,则并行运行的大量“发送/接收”连接会导致 HMI 负荷增加。这样会使 CPU 过载,并使所有作业(“发送/接收”和 HMI 作业)处理速度更慢(可以在 CPU 中设置通信负荷)。

H 系统(冗余系统)里的特性:
通过调整两个 H CPU 中的用户程序所需要的许多同步点可使得部分的 H CPU 通信性能是释放的。这意味着系统通信性能下降更早发生,也就是说,甚至负荷低时通信性能亦不高。

使用 AP_Red 时的特性:
AP_Red 是在软件层的冗余软件。这种情况下,数据亦通过两个连接传送。然而,监视和可能的连接切换,不象 H 系统中那样,是通过 H CPU 的操作系统,而是通过 CPU 的 S7 用户程序中的专门功能块来完成的。
AP_Red 软件发送一条,总是通过功能块“(FC50) - PLC_LSEND”和“(FC60) - PLC_LRECV”发送的,所谓的检查消息,。

补救措施:
可以通过限制通讯量来减少问题。通过下面的方法可以达到此目的。

检查 HMI 作业的扫描速率。按当前设置的间隔时间读取数据绝对必要吗?也许可以增大时间间隔?
检查触发“发送/接收”作业的频度。也许可以增加发送的间隔时间(特别是循环作业)?
也许可以在“发送/接收”通信中切换成 <= 240 字节的数据包。这将把通信引导到“读/写”数据记录,这可能意味着,用于 HMI 系统通信的时间会更长。

上面的内容基本上能理解,但有些内容理解不了
1.FC5,FC50的区别:在 S7-300 CPU 中 FC5/6 “AG_SEND/AG_RECV”用于最大至8192字节的数据传输,而在 S7-400 CPU 中用于最大240字节的数据传输。在 S7-400 CPU 中 FC50/60 “AG_LSEND/AG_LRECV”用于最大至8192字节的数据传输,而在 S7-300 CPU 中不能使用。--上面的FAQ应该说的是S7400?
2.PUT/GET是S7协议的PUT/GET,是不是理解为当send/rcv大于240字节时,在CP和CPU之间会创建一个S7连接?同时占用CP和CPU的S7资源?就是说当CP与CPU之间通讯数据量大的时候,在CP和CPU之间会使用S7协议进行通讯?
S7通讯的最大数据量比S5兼容通讯要大很多,可能为设计上统一性的考虑,干脆把S7协议扩展到CPU上,在CPU与CP之间也采用S7协议进行通讯?
WINCC与CP之间的通讯在WINCC中填槽号也是填CPU的槽号,应该也是这个道理?
但记得WINCC与342-5通讯,填的槽号就是342-5的槽号,当时我记得填CPU的槽号就是通不了,我猜想,这可能因为CPU与342-5之间是采用FC1,FC2进行数据交换有关系,这和343-1应该不一样。
以上都是猜想,说的可能不对。还是希望凡大位能给讲解一下,谢谢!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

通信与网络组件

共有4447条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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