寻址 F- I/O
通过过程映像进行寻址
与标准 I/O 相同,可通过过程映像(PII 和 PIQ )访问 F-I/O (如,S7- 1500/ET 200MP 故障安全模块)。
在安全程序中,不支持直接读取(通过 I/O 标识“:P” )输入或写入输出。
更新过程映像
F- I/O 的输入过程映像在 F 运行组开始时进行更新。F- I/O 的输出过程映像在 F 运行组结束时进行更新为更新过程映像而需要在 F-CPU(过程映像)和 F-I/O 之间进行的通信采用了符合 PROFIsafe 的特殊安全协议。
规则:
● 只能在一个 F 运行组中寻址 F-I/O 的通道(通道值和值状态)。第一个编程的寻址定义了 F 运行组的分配。
● 只能通过与通道的数据类型匹配的单位寻址 F-I/O 的通道(通道值和值状态)。
示例:要访问 BOOL 数据类型的输入通道,必须使用“ 输入(位)”(I x.y) 单位。不能通过“ 输入字”(IW x) 单位访问 BOOL 数据类型的 16 个连续输入通道。
● 仅寻址引用实际存在的通道(通道值和值状态)的输入和输出(例如,对于起始地址为 10 的 F-DO 10xDC24V ,仅为用于通道值的输出 Q10.0 至 Q11.1,用于值状态的输入 I10.0 至 I11.1)。请注意,由于特殊安全协议的原因,F- I/O 占用的过程映像区域比 F-I/O 上既有的和已启用的通道(通道值和值状态)所需的区域大。要找出用于存储通道(通道值和值状态)的过程映像区域(通道结构),请参见相关的 F-I/O 手册。
● 对于某些 F-I/O (如,ET 200SP 故障安全模块或 S7-1500/ET 200MP 故障安全模块),可禁用通道。仅对硬件配置中启用的通道(通道值和值状态)进行寻址。如果寻址在硬件配置中禁用的通道,则在编译安全程序时会输出一条警告。
● 对于某些 F-I/O (如,S7- 1500/ET 200MP 故障安全模块或 ET 200MP 故障安全模块),可指定“1oo2 (2v2) 传感器评估”。在这种情况下,将两个通道组成一个通道对,“1oo2 传感器评估” 的结果通常位于通道号较小的通道地址下(请参见相关的 F-I/O 手册)。仅对通道对的该通道(通道值和值状态)进行寻址。如果寻址其它通道,则在编译安全程序时会输出一条警告。
如果在 F-CPU (S7 -300/400) 和 F-I/O 间使用了其它组件(按照用户程序,在 F-CPU (S7 -
300/400) 和 F-I/O 之间复制符合 PROFIsafe 的安全消息帧),则在更改用户编程的复制功
能时,必须测试受复制功能影响的所有安全功能。
值状态(S7- 1200 和 S7- 1500)
值状态是 F-I/O 通道值的附加二进制信息。该值状态输入到过程映像输入 (PII) 中。
值状态提供了有关相应通道值有效性的信息:
● 1 :为通道输出一个有效的过程值。
● 0 :输出通道的故障安全值。
只能从同一个 F 运行组访问 F-I/O 的通道值和值状态。
过程数据或故障安全值
何时使用故障安全值?
在以下情况下,安全功能要求在整个 F-I/O 或 F-I/O 的单个通道发生钝化时使用故障安全值 (0)
代替过程数据。此要求适用于数字量通道(数据类型 BOOL )以及interwetten与威廉的赔率体系 量通道(数据类型 INT
或 DINT):
● 当 F 系统启动时
● 当在 F-CPU 和 F-I/O 之间使用符合 PROFIsafe 的安全协议进行安全相关的通信期间发生
错误(通信错误)时
● 发生 F-I/O 故障和通道故障(例如断线、短路和差异错误)时
● 只要在 F-I/O DB 中使用 PASS_ON = 1 启用 F-I/O 的钝化
● 只要在 F-I/O DB 中使用 DISABLE = 1 禁用 F-I/O
F - I /O 通道的故障安全值输出
在带有输入的 F- I/O 中进行钝化时,F 系统会在 PII 中为安全程序提供故障安全值 (0),而不是 F- I/O 故障安全输入未定的过程数据。
在带有输出的 F- I/O 中进行钝化时,F 系统将故障安全值 (0) 输出到故障安全输出端,而非安全程序 PIQ 中的输出值。
重新集成 F - I/O 通道
从故障安全值(0 )到过程数据的切换(F- I/O 的重新集成)将自动进行或在 F-I/O DB 中用户确认后进行。重新集成的方式取决于以下因素:
● F- I/O 或 F-I/O 通道钝化的原因
● 不带有“ 通道故障确认” 通道参数的 F-I/O 取决于相关 F- IO 数据块 的 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 DB
在硬件与网络编辑器中组态 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 (例如,组钝化)
● 要禁用 F-I/O (例如,组态控制)
● 更改基于 GSD 的故障安全 DP 从站/基于 GSD 的 I/O 设备的参数
● 要评估是否应该输出故障安全值或过程数据
F- I/O DB 的名称和编号
F- I/O DB 的名称由以下部分组成:
● 固定前缀“F”
● F- I/O 的起始地址以及在硬件和网络编辑器或设备视图的 F-I/O 属性中输入的名称(最多为前 24 个字符)。
示例:F00004_F- DI24xDC24V_1
选项“创建不带前缀的 F - I/O DB” (S7- 1200、S7- 1500)
在安全管理编辑器的“ 设置”(Settings)区域中选择选项“ 创建不带前缀的 F-I/O DB”(Creates F- I/O DBs without prefix) 时,名称仅包含以下部分:
● 在硬件和网络编辑器或设备视图的 F-I/O 属性中输入的名称(最多为 117 个字符)
示例:F- DI24xDC24V_1
更改 F - I/O DB 的名称和编号
通过更改在硬件和网络编辑器或设备视图的 F-I/O 属性中输入的名称来更改名称。
可以在相关 F-I/O 的“ 属性/F 参数”(Properties/F- parameters) 选项卡中更改编号。
F- I/O DB 的变量
PASS_ON
例如,PASS_ON 变量支持根据安全程序中的特殊状态启用 F-I/O 的钝化。
在 F-I/O DB 中使用 PASS_ON 变量,只能钝化 F-I/O ,不能进行通道级钝化。
PASS_ON = 1 时,将钝化相关的 F-I/O 。
ACK_NEC
如果 F-I/O 检测到 F-I/O 故障,则会钝化相关的 F-I/O 。如果检测到通道故障,并且组态了通道级钝化,则会钝化相关通道。如果组态了钝化整个 F-I/O ,将钝化相应 F-I/O 的所有通道。
一旦消除 F-I/O 故障或通道故障,将根据 ACK_NEC 重新集成相关 F-I/O :
● ACK_NEC = 0 时,可指定自动重新集成。
● ACK_NEC = 1 时,可通过用户确认指定重新集成。
ACK_REI
当 F 系统检测到通信错误或 F-I/O 故障时,将钝化相关 F-I/O 。如果检测到通道故障,并且组态了通道级钝化,则会钝化相关通道。如果组态了钝化整个 F-I/O ,将钝化相应 F-I/O 的所有通道。如果在排除故障后重新集成 F-I/O 通道,则需要通过 F-I/O DB 的变量 ACK_REI 的上升沿进行用户确认:
● 每个通信错误后
● 发生 F-I/O 或通道故障后(仅执行参数分配“ 通道故障确认 = 手动”(Channel failure
acknowledgement = manual) 或 ACK_NEC = 1
通道故障后的重新集成将重新集成所有已清除故障的通道。
在变量 ACK_REQ = 1 之前不能进行确认。
在安全程序中,必须通过 ACK_REI 变量为每个 F-I/O 提供用户确认。
IPAR_EN
IPAR_EN 变量对应于 PROFIsafe 总线规约(PROFIsafe 规范 V1.20 及更高版本)中的 iPar_EN_C 变量。
基于 GSD 的故障安全 DP 从站/基于 GSD 的 I/O 设备
要了解在重新分配基于 GSD 的故障安全 DP 从站/基于 GSD 的 I/O 设备的参数时何时必须置位或复位该变量,请查阅 PROFIsafe 规范 V1.20 或更高版本,或者基于 GSD 的故障安全 DP 从站/基于 GSD 的 I/O 设备的相关文档。
请注意,IPAR_EN = 1 时,不会触发相关 F-I/O 的钝化。
如果要在 IPAR_EN = 1 时发生钝化,还必须将变量 PASS_ON 置为 1 。
DISABLE
可以用 DISABLE 变量停用 F-I/O 。
DISABLI = 1 时,将钝化相关的 F-I/O 。
(由于通信错误等)对于该 F-I/O ,安全程序的诊断条目可能不再被输入到 F-C PU 的诊断缓冲区中。
现有诊断条目被标记为离去事件。
QBAD/PASS_OUT/DISABLED/QBAD_I_xx/QBAD_O_xx 和值状态
下表列出了基于所用 F-I/O 和 F-CPU 的通道值和 QBAD 、PASS_OUT、DISABLED 、QBAD_I_xx/QBAD_O_xx 变量及值状态响应的差异。
ACK_REQ
当 F 系统检测到通信错误或 F-I/O 故障或 F-I/O 通道故障时,将钝化相关 F-I/O 或 F-I/O 的各个通道。ACK_REQ = 1 表示重新集成相关 F-I/O 或 F-I/O 的通道需要用户确认。
一旦消除故障后,F 系统将立即设置 ACK_REQ = 1,从而可以执行用户确认。对于通道级钝化,一旦修正通道故障,F 系统会立即设置 ACK_REQ = 1 。对于该故障,可进行用户确认。确认完成后,F 系统将把 ACK_REQ 复位为 0 。
IPAR_OK
IPAR_OK 变量对应于 PROFIsafe 总线规约(PROFIsafe 规范 V1.20 及更高版本)中的
iPar_OK_S 变量。
DIAG
DIAG 变量可提供有关已发生错误或故障的非故障安全信息(1 字节),以用于检修目的。可以通过操作员监视和控制系统读取该信息,也可以在标准用户程序中评估该信息(如果适
用)。DIAG 位将被保存,直到在 ACK_REI 变量上执行确认或自动重新集成。
访问 F- I/O DB 的变量
寻址 F - I/O DB 变量的规则
只能从 F 运行组访问 F-I/O 的 F-I/O DB 的变量,而且该运行组只能是用来访问该 F-I/O 的通道的运行组(如果进行了访问)。
“ 完全资格 DB 访问”
可通过“ 完全资格 DB 访问” 方式访问 F-I/O DB 变量(即,通过指定 F-I/O DB 的名称和指定变量名称)。
评估 QBAD 变量的示例 :
审核编辑:郭婷
-
plc
+关注
关注
5010文章
13284浏览量
463209 -
西门子
+关注
关注
94文章
3038浏览量
115826
原文标题:西门子PLC F- IO 访问
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论