西门子PLC F-IO访问

描述

寻址  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 )以及模拟量通道(数据类型 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 变量的示例   :

责任编辑:lq

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分