n
描述
S7 通信(PUT/GET、 USEND/URECV、BSEND/BRECV) 是需要实例(背景 DB 块)的功能块(FB)。n
CPU 经过运行-停止-运行状态变换后将可能发生以下情况。n
在 CPU S7 执行运行-停止 模式转换之前,已经开始的通信进程在此转换过程发生时并未完成。块的当前值/数据存储在背景 DB 中。执行完 停止-运行 模式转换后,背景 DB 保持当前值。虽然 DONE 位不是1(意味着上一个激活的进程并未完成),但 S7 通信会再次触发。然而,在背景 DB 中会仍然保存进程正在执行的信号。由于这种不正确的进程状态,块会终止一次进程,并且错误状态位为1(通信错误)。由于该次进程终止,通信任务的状态被重 置,因此进程的循环会成功继续。n
补救方法n
- 在应用程序中,参数 DONE, ERROR 和 STATUS 是由块的描述决定的(见在线帮助)。对于 BSEND 块也可以通过块现有的输入来执行重启。n
- 从 CPU 315-2 PN/DP, CPU 317 起 (包括工艺模块)和许多现在的 CPU 都可以生成非保持的 DB 块。想实现这种效果需要 CPU 支持设置 DB 块的“保持”属性。具有“非保持”属性的 DB 块是不存储在这种 CPU (例如 CPU 317 V2.1)的保持存储区的,因此每次网络重启或者每次 CPU 从停止切换到运行 DB 块都会被重置为装载值。
图. 01n
具有“非保持”属性的 DB 块仍然会被分配占用主存储区,但是不再占用保持存储区。n
另外一种可行的方式是根据每次的情况在重启 OB 中用初始值覆盖背景 DB。n
注意
涉及到的模块包含以下 S7-300 CP:
n
总线系统 |
名称 | 订货号 |
工业以太网 | CP343-1 | 6GK7343-1EX11-0XE0 |
工业以太网 | CP343-1 | 6GK7343-1EX20-0XE0 |
工业以太网 | CP343-1 | 6GK7343-1EX21-0XE0 |
工业以太网 | CP343-1 | 6GK7343-1EX30-0XE0 |
工业以太网 | CP343-1 IT | 6GK7343-1GX11-0XE0 |
工业以太网 | CP343-1 IT | 6GK7343-1GX20-0XE0 |
工业以太网 | CP343-1 Advanced | 6GK7343-1GX21-0XE0 |
工业以太网 | CP343-1 Advanced | 6GK7343-1GX30-0XE0 |
工业以太网 | CP343-1 Advanced (Security) | 6GK7343-1GX31-0XE0 |
PROFIBUS | CP342-5 | 6GK7342-5DA02-0XE0 |
PROFIBUS | CP343-5 | 6GK7342-5DA03-0XE0 |
PROFIBUS | CP342-5 FO | 6GK7342-5DF00-0XE0 |
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326539.html