Skip to main content

现场总线 – 通用部分

术语

输出电报是安全控制器向安全现场设备发送的协议特定电报(安全 PDO)。该电报包含向安全现场设备发送的输出数据。

输入电报是安全现场设备向安全控制器发送的协议特定电报(安全 PDO)。该电报包含来自安全现场设备的输入数据。

驱动程序实例:对于每个配置的逻辑 I/O,都会为所支持协议类型的驱动程序实例创建代码(例如,类型为 FSoEMaster 用于 FSoE 现场设备)。 NonSafeIO 为标准模块创建类型并交换变量(参见章节 逻辑 I/O 的使用类型标准现场设备的逻辑 I/O与标准控制器进行数据交换的逻辑 I/O)。有关替代值,请参阅。 与标准控制器的协调

接口说明

安全控制器监控安全现场设备与 I/O 数据的传输。开发系统为每个安全现场设备生成一个逻辑 I/O。每个逻辑设备都会自动创建一个驱动程序实例。

随着驱动程序实例的创建,会生成隐式代码,从而导致输入或输出变量如下:

  • 阶段 1(输入阶段):处理输入电报(隐式)

    驱动程序实例接收输入电报并根据其协议规范(例如 PROFIsafe)对其进行检查。

    输入数据或(如果发生错误)替代值被复制到应用程序的映射输入变量中。

  • 第 2 阶段:处理用户申请

    输出数据根据输入数据和应用程序的状态生成。

  • 阶段 3(输出阶段):处理输出电报(隐式)

    应用程序映射的输出数据被移交给驱动程序实例。驱动程序实例根据其协议规范生成输出电报并将其发送到安全现场设备。

驱动程序的默认行为

通知 Drv_1(应用程序启动)

当应用程序启动时,可以在第一个周期内发生现场和应用程序之间交换过程数据的情况。使用带有启动锁的 FB(S_StartReset = FALSE) 或实施其他系统和应用措施(参见安全用户手册“使用符合 PLCopen 要求的功能块的规则”)可确保应用程序启动时不会发生任何意外(或无意)的机械启动。

通知 Drv_2(启动时通讯错误)

默认情况下,启动时常见的通信错误不会阻止过程数据通信的自动启动。相反,它只是被延迟了。参见 自动确认启动错误的输入 (自动确认启动错误)。

驱动器在复位后启动或通信错误后重新启动的默认行为由相应输入的初始值定义。为了覆盖默认行为,必须调用应用程序中的功能块,并相应地设置相应的输入:

通过调用应用程序中的功能块并设置输入,程序可以阻止启动后自动开始过程数据传输 自动确认启动错误FALSE (看。 自动确认启动错误的输入)。

通过调用应用程序中的功能块并设置输入,程序可以自动恢复过程数据传输 自动确认中断 输入至 TRUE (看。 中断后自动确认输入)。

自动确认启动错误的输入

姓名

数据类型

初始值

说明、参数值

<自动确认启动错误>

BOOL

TRUE

重置后的启动行为(命令: 冷复位 – 安全重启) 应用程序,例如PowerON。

TRUE:在安全通信的启动阶段自动确认错误,直到安全传输开始一次。

FALSE:需要明确、基于应用程序地确认安全通信启动阶段发生的错误。

重要

请注意 通知 Drv_2(启动时通讯错误):复位后启动行为输入的初始值为 TRUE. 重置后将确认启动行为的所有错误。

一旦初始通信错误消失,过程数据通信便开始。

重要

请注意 通知 Drv_1(应用程序启动): 环境 自动确认启动错误FALSE 不会阻止自动启动过程数据通信。如果启动过程中没有发生错误,堆栈可以自动启动,即使 自动确认启动错误 设置为 FALSE.用户在应用中必须考虑到这一点。

中断后自动确认输入

姓名

数据类型

初始值

说明、参数值

<自动确认中断>

BOOL

FALSE

TRUE:通信错误后的自动确认。

FALSE:需要明确的、基于应用程序的通信错误确认。

通知 Drv_3(中断后自动确认的输入)

小心

如果 <自动确认启动错误><自动确认中断>TRUE,则所有错误都将被确认。这仅在某些特殊情况下才有意义。

通信错误后的重启行为

通信错误后重启行为的输入初始值为 FALSE;不会自动确认与通讯传输相关的错误。

需要明确调用功能块实例并建立相应的输入连接。

确认边沿输入(手动确认)

可以通过输入的正边沿来确认错误,前提是(确认请求的输出) 已设置。

如果所有错误都自动确认(这仅在特殊情况下有意义),则不需要此输入并且可以保持未连接状态。

如果当前未请求确认,则忽略输入:因此,可以将相同的信号连接到所有驱动程序实例的确认边缘的输入,以实现对通信问题的非特定确认。

姓名

数据类型

初始值

说明、参数值

<确认边缘>

BOOL

FALSE

出现错误后,通过输入的上升沿确认安全功能的恢复。

通知 Drv_4 (ack-edge)

小心

<确认边缘> 输入用于用户确认。它不是由程序设置的,而是与输入信号相连。

提示

<确认边缘> 输入需要上升沿。用户停止确认后,它应该 FALSE 再次确认。只有这样,输入端才会请求下一个确认 <确认请求> 下次通信错误时。

确认请求的输出

输出为 TRUE 如果发生通信错误(启动错误或中断),只需手动确认即可恢复通信。

如果输出 <确认请求>TRUE,则连接需要用户确认。通常,会通知用户需要确认(例如,借助标准控制器的交换变量并在可视化中显示)

如果设置了输出,则可以在输入处确认错误以进行确认。

姓名

数据类型

初始值

说明、参数值

<确认请求>

BOOL

FALSE

提示

输出端显示 确认请求 仅当满足以下条件时才可进行:

  1. 通信错误不会自动确认,即如果 <自动确认启动错误> 或者 <自动确认中断>FALSE

  2. <确认边缘> 输入当前 FALSE,即如果手动确认已经开始但尚未结束。

因此,如果在用户仍在确认先前发生的问题时发生了新的通信问题,则只有在用户完成对先前问题的确认后才会显示和处理新的通信问题。

显式调用功能块

如果用户在应用程序中明确调用该功能块(阶段 2),则可以设置功能块输入并读取功能块输出,尽管功能块本身不执行任何操作。对于每个驱动程序实例,应用程序中最多只能有一个调用。

无论是否调用,都可以读取驱动程序实例的功能块输出。