Skip to main content

网络变量接收者

图书馆: SafetyNetVar

提示

此处描述的功能块版本与最新版本的功能块相对应 功能块版本列表

使用FB实例(驱动程序实例)

. NetVarReceiver 功能块在应用程序中用于……
  • 更改默认值

  • 手动确认错误

  • 诊断与 NetVarSender 功能块的连接

为此,必须通过以下方式在程序的声明部分中使 NetVarReceiver 功能块的相应实例可见: VAR_EXTERNAL <name of the safety network variable list (receiver)> : NetVarReceiver

残差错误率

规范要求驱动程序实例报告的通信错误在五小时内发生的频率不超过一次。这样,安全信号每小时的残留错误率将保持在 SIL3 限制值 10 以下-9

sil3_img_lib_NetVarReceiver.png
123. 输入(VAR_INPUT

姓名

数据类型

初始值

描述

S_ActivateIn

SAFEBOOL

TRUE

用于控制输入数据的输入

TRUE:安全网络变量列表(发送方)对象的网络变量的有效当前值被传输到应用程序并复制到应用程序映像。

FALSE:对于此循环,输入数据的替代值被传输到应用程序。

StartReset

BOOL

TRUE

输入 <自动确认启动错误> 用于在启动时自动确认错误。

对于输入的描述 <自动确认启动错误> 您必须无条件遵守的安全注意事项,请参阅 现场总线 – 通用部分 章。

AutoReset

BOOL

FALSE

输入 <自动确认中断> 用于中断后的自动确认。

对于输入的描述 <自动确认中断> 您必须无条件遵守的安全注意事项,请参阅 现场总线 – 通用部分 章。

Reset

BOOL

FALSE

输入 <确认边缘> 进行手动确认。

对于输入的描述 <-确认边缘> 您必须无条件遵守的安全注意事项,请参阅 现场总线 – 通用部分 章。



124. 输出(VAR_OUTPUT

姓名

数据类型

初始值

描述

S_InReady

SAFEBOOL

FALSE

输出指示是否存在有效输入数据。

TRUE:安全网络变量列表(发送方)接收有效网络变量值并将其复制到应用程序映像。

FALSE:应用程序的输入数据被设置为替代值。

Error

BOOL

FALSE

错误显示

DiagCode

WORD

0

看 诊断代码

OpAckReq

BOOL

FALSE

输出 <确认请求> 以提示手动确认。

对于输入的描述 <自动确认中断> 您必须无条件遵守的安全注意事项,请参阅 现场总线 – 通用部分 章。

tRespTimeMS

TIME

TIME#0ms

安全网络变量列表的实际响应时间(发送方)

tMinRespTimeMS

TIME

TIME#0ms

安全网络变量列表(发送方)最小响应时间

tMaxRespTimeMS

TIME

TIME#0ms

安全网络变量列表的最大响应时间(发送方)



诊断代码

诊断代码分为两类:

  • 16#8XXX 通信与传输状态

  • 16#CXXX 错误状态

通信与传输状态

126. 传输通信的状态和转换
传输通信的状态和转换


在与变速箱通讯的状态下,诊断代码可具有以下值:

DiagCode = 0x80xx,包含 NetVarReceiver 的状态

状态

XX

描述

Reset

0x64

连接已重置(输入数据处于安全状态)。

Session

0x65

会话ID已传输(输入数据处于安全状态)。

Connection

0x66

连接ID已传输(输入数据处于安全状态)。

Parameters

0x67

参数已传输(输入数据处于安全状态)。

Data

0x68

传输数据或替代值。

错误状态

如果 NetVarReceiver 中同时出现两个错误,则仅显示优先级最高的错误。错误的优先级根据错误类别分配:

  • 第一错误类别: DiagCode = 16#C0xx,初始化错误

  • 第二类错误: DiagCode = 16#C1xx、接收器错误安全网络变量列表(接收器)

  • 第三类错误: DiagCode = 16#C2xx、安全网络变量列表(发送方)报告的错误

Diagcode = 16#C0xxxx 包含额外的特定于错误的错误代码

XX 的值

描述

16#01-16#04,16#06-16#0A16#0C16#0D

内部错误

16#05

不支持安全数据的长度

(最大支持32字节数据)

16#0B

无效的看门狗时间;值 0 不允许

NetVarReceiver 的错误检测

wDiagCode = 16#C1xxxx 包含额外的特定于错误的错误代码

XX

描述

16#00

本地复位或复位命令确认

16#01

收到的电报中有意外的命令

16#02

收到的电报中有未知命令

16#03

收到的电报中的连接 ID 无效

16#04

收到的电报的 CRC 错误

16#05

看门狗错误;看门狗时间内未收到有效电报

16#07

收到的电报中的安全数据无效

16#FE

错误 Reset 信号

16#FF

提示确认重启

错误 – 安全网络变量列表的响应(发送方)

wDiagCode = 16#C2XXXX 包含额外的特定于错误的错误代码

XX

描述

16#00

本地复位或复位命令确认

16#01

收到的电报中有意外的命令

16#02

收到的电报中有未知命令

16#03

收到的电报中的连接 ID 无效

16#04

收到的电报有 CRC 错误

16#05

看门狗错误;看门狗时间内未收到有效电报

16#06

FSoE 从属地址无效

16#08

通信参数长度无效

16#09

通信参数数据无效

16#10

应用程序参数长度无效

16#11

应用程序参数数据无效

16#80

安全 NVL(接收方)侧的网络变量列表定义与安全 NVL(发送方)侧的网络变量列表定义有所区别

时间测量

NetVarReceiver 功能块提供三个输出,用于监控电报处理时间。这些输出用于诊断发送方-接收方通信连接。

IEC 计时器的到期时间用作电报的测量周期时间。为了不伪造测量值,仅考虑有效响应。该时间是在安全 NVL(发送方)收到的两个电报之间测量的。这意味着整个电报中至少有一个位指示变化。

该功能块产生实际响应时间(tRespTimeMS)、最短响应时间(tMinRespTimeMS) 以及最大响应时间 (tMaxRespTimeMS) 的安全NVL(发送器)。