西门子CPU1211C*处理单元模组
重新集成 F-I/O 通道
从故障安全值(0)到过程数据的切换(F-I/O 的重新集成)将自动进行或在 F-I/O DB 中用户
确认后进行。重新集成的方式取决于以下因素:
● F-I/O 或 F-I/O 通道钝化的原因
● 不带有“通道故障确认”通道参数的 F-I/O 取决于相关 F-IO 数据块 (页 151)的 ACK_NEC 变
量值。
● 带有“通道故障确认”的通道参数的 F-I/O(例如 F 模块 S7-1500/ET 200 MP/F 模块
SIMATIC S7-1200)取决于通道参数值。
要了解使用“RIOforFA-Safety”规约的基于 GSD 的故障安全 DP 从站/基于 GSD 的故障安全
I/O 设备的相关信息,请参见相关文档。
简介
在硬件与网络编辑器中组态 F-I/O 时,将自动为每个 F-I/O 创建一个 F-I/O DB(安全模式
下)。F-I/O DB 包含用户可以评估或可以/必须写入到安全程序的变量。不允许在 F-I/O DB 中
直接改变量的初始值。删除 F-I/O 时,也会删除相关的 F-I/O DB。
访问 F-I/O DB
以下是访问 F-I/O DB 的变量的原因:
● 为了在发生通信错误、F-I/O 故障或通道故障后重新集成 F-I/O
● 要根据安全程序的特殊状态钝化 F-I/O(例如,组钝化)
软件编程
在 S7-1200 两侧,分别创建发送和接收数据块 DB1 和 DB2,定义成 10 个字节的数组,如图 6 所示。
图 6 数据块
注意: 数据块的属性中,需要选择非优化块访问(把默认的勾去掉),如图 7 所示。
西门子CPU1211C通讯模块
图 7 数据块属性-非优化的块访问
在主动建连接侧编程(client v4.1 CPU),在OB1中,从“Instruction” >“Communication” >“S7 Communication”下,调用 Get、Put 通信指令,如图 8 所示。
图 8 发送接收指令调用
功能块参数意义如下表1.
CALL “PUT” | , %DB3 | //调用 PUT,使用背景DB块:DB3 |
REQ | :=%M0.0 | //上升沿触发 |
ID | :=W#16#100 | //连接号,要与连接配置中*,创建连接时的本地连接号 |
DONE | :=%M0.5 | // 为1时,发送完成 |
ERROR | :=%M0.6 | // 为1时,有故障发生 |
STATUS | :=%MW10 | // 状态代码 |
ADDR_1 | :=P#DB1.DBX0.0 BYTE 10 | // 发送到通信伙伴数据区的地址 |
SD_1 | :=P#DB1.DBX0.0 BYTE 10 | // 本地发送数据区 |
CALL “GET” | , %DB4 | //调用 GET,使用背景DB块:DB4 |
REQ | :=%M1.0 | //上升沿触发 |
ID | :=W#16#100 | //连接号,要与连接配置中*,创建连接时的本地连接号 |
NDR | :=%M1.5 | //为1时,接收到新数据 |
ERROR | :=%M1.6 | //为1时,有故障发生 |
STATUS | :=%MW12 | //状态代码 |
ADDR_1 | :=P#DB2.DBX0.0 BYTE 10 | //从通信伙伴数据区读取数据的地址 |
RD_1 | :=P#DB2.DBX0.0 BYTE 10 | //本地接收数据地址 |
湖南一方电气设备有限公司专注于PLC,变频器,伺服驱动器等