如何给通信模块SFB14和SFB15编程

2019-07-30 13:17

问题:

如何给通信模块SFB14 (“GET”)和SFB15 (“PUT”)编程,从而实现S7-400上的数据通信?

解答:

为了在两个S7-400站之间通过在NetPro中组态的 一个S7连接进行数据通信,必 须在S7程序中调用通信函数。SFB14 (“GET”)用于从远程CPU读取数据,SFB15 (“PUT”)用于向远程CPU写入数据。< /p>

通信模块FB14 (“GET”)和 FB15 (“PUT”)的特点

? ? ? ? ?

SFB14 / SFB15是系统函数模块,因此包含在CPU的固件中。 SFB14和SFB15是异步通信函数。 可以跨几个OB1循环运行。

SFB14和SFB15通过输入参数(“REQ”)激活。 任务结束后显示“DONE”、“NDR”或者“ERROR”。

样例程序包含一个S7连接,通过该连接,使用SFB14从远程CPU读取数据,使用SFB15向远程CPU写入数据。

样例程序的说明

项目包含两个S7-500站,它们具有CPU 416-2DP和CP 443-1,用于在工业以太网上通信。通 信基础是两站之间建立的S7连接。如果通过“右键单击 > Object Properties”打开NetPro中的S7连接属性,则 可以看到通信功能块的块参数“ID”。当调用SFB14或SFB15时必须遵守相应的规定,以通过S7连接实现数据通信。

图1: S7连接的属性

STEP 7程序包含块OB100、OB1、FB100、DB100、DB200、DB201、SFB14和SFB15。

? OB100

OB100是一个启动型OB,并且在CPU重启时运行。在这个OB中,用 于触发第一次通信的使能信号是M1.0和M0.1。

图2: OB100

? OB1

OB1被循环地调用。这个OB包含通过M1.0和M0.1对FB100(背景DB: DB100)的调用。一旦FB100运行,M1.0被复位。

图3: OB1

? FB100

FB100在OB1循环中被调用。这个FB包含调用SFB14 (“GET”)和SFB15 (“ PUT”)。当时钟标志M10.6出现一个上升沿并且没有其它作业正在运行时,通过输入参数“REQ”激活FB14。

阻止这个函数调用是非常重要的,因为该函数是异步的并且持续好几个循环。持续激活系统函数块而不等待当前作业结束,将导致通信过载。必 须使用在NetPro中S7连接的属性对话框中的输入参数“ID”(见图1)。参数“ADDR_1”规定了将从远程CPU读取的数据区域。对 于参数“RD_1”,必须指定用于数据读取的数据区域。需要输出参数“NDR”、“ERROR”和“STATUS”用于评估任务,并 且仅仅在同一个循环中有效。

图4: FB100: 调用SFB14

如果块运行出现错误,保存块的状态字,用于错误分析。


如何给通信模块SFB14和SFB15编程.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:包头市三大产业的发展状况及其举措

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: