如何在S5侧编程S5与S7之间的TCP连接的数据通信?

n

S5程序的描述
S5程序的功能块取决于S5 CPU。本描述以AG135和AG155块为例编写。n

AG135 和AG155的操作块是付费的。这些块可以从当地西门子销售伙伴处订货(订货号:6ES5 842-7CB01单独许可)n

说明:
主要步骤如下:n

  • 通过启动OB中的SYNCHRON调用同步CP1430与CPU(步骤1和2)n
  • 在OB1中调用SEND/RECEIVE块(步骤3到6)n
  • 在OB1中调用“SEND_ALL/RECEIVE_ALL”块(步骤7和8)n
  • 创建Send/Receive缓冲(步骤9)
No. 步骤
1 将启动OB OB20、OB21和OB22 插入到STEP 5项目中。
2 在这些OB中对FB125的“SYNCHRON”调用进行编程,从而触发CPU和CP之间的同步。 n

如何在S5侧编程S5与S7之间的TCP连接的数据通信?
图 01n

注意事项:
关于FB125 (SYNCHRON)调用的更多信息在本FAQ末尾的基本组态规则中可见。

3创建OB1。 n

为了循环发送用两个语句创建RLO = 1n

  • O M 0.0n
  • ON M 0.0

重要事项:
如果不想循环发送数据,就必须要通过判断显示字(“Error analysis of job”) 编程SEND调用的互锁。有关显示字的可能状态在手册“SINEC CP 1430 TF with NCM COM 1430 TF Volume 1 of 2”的C章“Status Word ANZW and Parameter Assignment Error Byte PAFE”中有描述,条目号:12586144

4插入发送块的调用(FB120)。 n

如何在S5侧编程S5与S7之间的TCP连接的数据通信?
图 02n

重要事项:
发送域的长度以字指定(参数:“QLAE: +5” > 5字)

5通过两个语句创建RLO = 1

O M 0.0
ON M 0.0

6然后添加RECEIVE块的调用(FB121)。

如何在S5侧编程S5与S7之间的TCP连接的数据通信?
图 03

  • 现在“SEND”和“RECEIVE”块可以仅被一个RLO = 1触发。在RLO = 0的情况下,只有参数“ANZW”和“PAFE”被更新。
  • 如果接收域的长度是用“-1”预制的,数据的长度就会自动识别(参数:“ZLAE: -1”)。
7

插入另一个网络。

8在此网络中对“SEND_ALL”(FB126)和“RECEIVE_ALL”(FB127)块的调用进行编程。

如何在S5侧编程S5与S7之间的TCP连接的数据通信?
图 04

重要事项:
用“F7”保存OB1。

9因为发送/接收缓冲定位在DB10中,所以必须在项目中创建它并用一个足够的长度对其进行声明。在 此样例中数据的长度为10个字节,也就是说DB10中的发送和接收域应至少有5个字的长度。
10

然后将整个程序载入到S5中。


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

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

相关推荐

发表回复

登录后才能评论