最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送

IT圈 admin 28浏览 0评论

2024年6月11日发(作者:捷秋)

功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据

显示订货号

问题:

如何利用通讯功能FC5“AG_SEND”和FC6 “AG_RECV”,通 过TCP协议传送具有可变消息长度的数据?

解答:

TCP协议的性能:

当通过TCP传送数据时,该传送是基于数据流的形式。在这种情况下,不给出与消息长度、开 始和结束有关的信息。

发送消息时,这并不是问题,因为发送者知道要传送多少数据字节。然而,接收者无法分辨消息在数据流中的何处结束,

下 一个消息在何处开始。因此,对于通过纯TCP建立的链接只有两个选项可选:

1.

使用固定消息长度,也就是说,发送者和接收者都使用预定义的数据长度。这意味着要始终明确定义消息限制。

2.

使用可变消息长度。在这种情况下,接收端和发送端都需要更多的时间,因为在开始字节中必须输入起始分隔

符和要发送数据的数据长度。这样,> 接收者就可以正确地解释已接收的消息。

下面的实例程序包含一个TCP连接,通过该连接,具有可变消息长度的数据可以利用FC5发送给一个站,并利用FC6

接收。

实例程序:通过TCP协议(利用FC5“AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据

常规描述:

STEP 7项目包括两个S7-300站,它们均具有用于工业以太网通讯的CPU 315-2DP和CP 343-1。这两个站之间的通

讯基础是TCP连接。如果在NetPro中通过“右键单击>对象属性”打 开TCP连接属性, 则可以查看通讯功能块的块参

数“ID”。在调用FC5和FC6时,要注意该规范,以便可以通过TCP连接传送数据。< /p>

图1:TCP连接的属性

为了利用TCP协议传送数据,要传送的数据必须具有指定的结构。消息必须包括起始分隔符(以便接收者可以识别消息

从何处开始),数 据长度规范(定义接收缓冲区)和数据本身。在此实例中,定义了消息的4个字节的起始分隔符(预置值

为:0x11, 0x12, 0x13, 0x14)和一个S7串。该S7串包括两个字节的长度信息和实际的数据串。 使用S7串可以传送

所有的ASCII字符。

2024年6月11日发(作者:捷秋)

功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据

显示订货号

问题:

如何利用通讯功能FC5“AG_SEND”和FC6 “AG_RECV”,通 过TCP协议传送具有可变消息长度的数据?

解答:

TCP协议的性能:

当通过TCP传送数据时,该传送是基于数据流的形式。在这种情况下,不给出与消息长度、开 始和结束有关的信息。

发送消息时,这并不是问题,因为发送者知道要传送多少数据字节。然而,接收者无法分辨消息在数据流中的何处结束,

下 一个消息在何处开始。因此,对于通过纯TCP建立的链接只有两个选项可选:

1.

使用固定消息长度,也就是说,发送者和接收者都使用预定义的数据长度。这意味着要始终明确定义消息限制。

2.

使用可变消息长度。在这种情况下,接收端和发送端都需要更多的时间,因为在开始字节中必须输入起始分隔

符和要发送数据的数据长度。这样,> 接收者就可以正确地解释已接收的消息。

下面的实例程序包含一个TCP连接,通过该连接,具有可变消息长度的数据可以利用FC5发送给一个站,并利用FC6

接收。

实例程序:通过TCP协议(利用FC5“AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据

常规描述:

STEP 7项目包括两个S7-300站,它们均具有用于工业以太网通讯的CPU 315-2DP和CP 343-1。这两个站之间的通

讯基础是TCP连接。如果在NetPro中通过“右键单击>对象属性”打 开TCP连接属性, 则可以查看通讯功能块的块参

数“ID”。在调用FC5和FC6时,要注意该规范,以便可以通过TCP连接传送数据。< /p>

图1:TCP连接的属性

为了利用TCP协议传送数据,要传送的数据必须具有指定的结构。消息必须包括起始分隔符(以便接收者可以识别消息

从何处开始),数 据长度规范(定义接收缓冲区)和数据本身。在此实例中,定义了消息的4个字节的起始分隔符(预置值

为:0x11, 0x12, 0x13, 0x14)和一个S7串。该S7串包括两个字节的长度信息和实际的数据串。 使用S7串可以传送

所有的ASCII字符。

发布评论

评论列表 (0)

  1. 暂无评论