可变消息长度的数据是如何通过TCP协议传送并被S7-300 站的工业以太网CP接收的?

说明
为了通过在NetPro中组态的TCP连接传送数据到S7-300,必须在S7程序中调用如下功能:

  • FC5 "AG_SEND" 发送数据
  • FC6 "AG_RECV" 接收数据

通过TCP协议的数据传输是采用数据流的方式,没有传送任何关于消息长度或起始的任何信息,发送程序填充数据到TCP连接,数据通过TCP协议以字节为单位以透明数据流来传送。

接收程序必须评估数据流来确定在数据流中消息的起止。

发送方定义可被接收方解释的消息结构,消息结构包含用户数据,本例中为ASCII字符和最后的控制字符(比如回车),最后的控制字符标志着消息的结束。

S7程序说明
本例子程序说明了一个S7-300 站通过TCP协议如何接收可变消息长度的数据,功能块FB103 "AG_RECV_TCP_xVAR"实现此功能。

FB103 "AG_RECV_TCP_xVAR" 内部调用了FC6 "AG_RECV"以便通过TCP协议来接收可变消息长度的数据。

FB103 "AG_RECV_TCP_xVAR"功能块对于时间做了优化,可在一个OB循环中接收可变字节数的数据,特别是包含了把ASCII 字符作为消息结束标志,可根据需要调整FC6 "AG_RECV"在一个OB1循环周期中接收的最大字节数。

下面的文件给出了S7程序的详细说明:

可变消息长度的数据是如何通过TCP协议传送并被S7-300 站的工业以太网CP接收的? NET_receive_TCP_variable_data_en.pdf ( 312 KB )

S7 程序下载
S7程序中包含了一个调用功能块FB103 "AG_RECV_TCP_xVAR" 的例子程序,该项目程序使用Step7 V5.5创建。

可变消息长度的数据是如何通过TCP协议传送并被S7-300 站的工业以太网CP接收的? TCP_xVAR.zip ( 46 KB )

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc331079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论