1、在 S7-300 的数据通信中如何编程使用通信功能块 FB14 “GET”and FB15 “PUT”?显示订货号 说明:为了实现在 NetPro 中建立了 S7 连接的两个 S7 -300 站之间的数据交换,必须在程序中调用通信功能块。 FB14 (“GET”) 用于从远程 CPU 读取数据,FB15 (“PUT”) 用于向远程 CPU 写入数据。在这里,不需在两边都组态 S7 连接,这是因为通过 FB14 “GET”和 FB15 “PUT”的 S7 通信是基于服务器-客户端原则的。 注:如果 S7 连接是通过 CPU31x-2PN/DP 或者 CPU319-3PN/DP S7-300 控制
2、器的集成 IE 接口来组态的,那么必须使用库“Standard Library - Communication Blocks - Blocks” 中带有“CPU_300”的块。这些 FB 可用于通过 CPU 集成的 IE 接口的 S7 通信和通过 S7-300 IE CP 的 S7 通信。 通信块 FB14 (“GET”) and FB15 (“PUT”) 的特点 FB14 和 FB15 是异步通信函数。 必须在 OB1 循环中调用这些块 (参见条目号:2795485) 可以跨几个 OB1 循环运行。 FB14 和 FB15 使用输入参数(“REQ”)激活。 任务结束后显示“DONE”或者“E
3、RROR”。 PUT 和 GET 可以通过同一个连接同时通信。 这些块位于用于 S7-300 控制器的“SIMATIC_NET_CP”库中。示例程序包含一个 S7 连接,通过该连接,使用 FB14 从远程 CPU 读取数据,使用 FB15 向远程 CPU写入数据。 示例程序的说明STEP 7 项目包含两个带有 CPU 315-2DP 和 CP 343-1 可以进行以太网通信的 S7-300 站。通信基础是两站之间建立的 S7 连接。如果通过“右键单击 Object Properties”打开 NetPro 中的 S7 连接属性,可以看到通信功能块的块参数“ID”。当调用 FB14 或 FB15
4、 时必须遵守相应的规定,以通过 S7 连接实现数据通信。 图 01 STEP 7 程序中包含 OB100,OB1,FB100,DB100,DB200,DB201, FB14 和 FB15。 OB100OB100 是一个启动 OB,当 CPU 重启时运行。在这个 OB 中,用于触发第一次通信的使能信号是 M1.0 和 M0.1。图 02 OB1OB1 被循环地调用。这个 OB 包含了通过 M1.0 和 M0.1 对 FB100(背景 DB:DB100 )的调用。一旦 FB100 运行,M1.0 被复位。图 03 FB100FB100 在 OB1 循环中被调用。这个 FB 包含调用 FB14 (“
5、GET”)和 FB15 (“PUT”)。当时钟标志 M10.6 出现一个上升沿并且没有其它作业正在运行时,通过输入参数“REQ”激活 FB14。阻止这个函数调用是非常重要的,因为该函数是异步的并且持续好几个循环。持续激活系统函数块而不等待当前作业结束,将导致通信过载。必须使用 NetPro 中 S7 连接的属性对话框中的输入参数“ID”(见图 1)。参数“ADDR_1”规定了将从远程 CPU 读取的数据区域。对于参数“RD_1”,必须指定用于数据读取的数据区域。需要输出参数“NDR” 、“ERROR” 和“STATUS”用于评估任务,并且仅仅在同一个循环中有效。图 04 如果块运行出现错误,保
6、存块的状态字,用于错误分析。所存储状态字的含义可以在 STEP 7 错误分析在线帮助中查找。图 05 如果时钟标志位 M10.6 出现一个上升沿并且没有其它任务正在运行,通过输入参数“REQ”激活 FB15。阻止这个函数调用是非常重要的,因为该函数的运行是异步的并且持续好几个循环。持续激活该函数块而不等待当前作业结束,将导致通信过载。必须使用 NetPro 中 S7 连接的属性对话框中的输入参数“ID”(见图 1)。参数“ADDR_1”指向远程 CPU 中要写入的或者将读取的数据区域。参数“SD_1”包含待发送数据的地址。需要输出参数“DONE”、“ERROR”和“ STATUS”用于评估任务
7、,并且仅仅在同一个循环中有效!图 06: 如果块运行出现错误,保存块的状态字,用于错误分析。所存储状态字的含义可以在 STEP 7 错误分析在线帮助中查找。图 07 注:手册“System Software for S7-300/400 System and Standard Functions”第 21 章“S7 Communication”中提供了关于通过通信块 FB14 “GET”和 FB15 “PUT” 传送数据量的信息。此手册下载条目号: 1214574。 用于下载的 STEP 7 项目:这个 STEP 7 项目包含一个示例程序,用于调用 FB14 和 FB15,具有状态评估。是使用 STEP 7 V5.2 创建的。