说明
为了通过在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程序的详细说明:
NET_receive_TCP_variable_data_en.pdf ( 312 KB )
S7 程序下载
S7程序中包含了一个调用功能块FB103 "AG_RECV_TCP_xVAR" 的例子程序,该项目程序使用Step7 V5.5创建。
TCP_xVAR.zip ( 46 KB )
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc331079.html