理解数据库的扫描顺序

在每个扫描周期:

  1. 不管它们在数据库中的顺序如何,SAC对块进行处理,向I/O设备输出数值(使用冷启动值)。不管它们在数据库中的顺序如何,SAC对块进行处理,向I/O设备输出数值(使用冷启动值)。
  2. SAC不检查这些值的报警条件。SAC根据扫描时间和相位更新所有的一级块。
    1. 具有相同扫描时间和相位的块按照下列顺序进行扫描。
    2. 模拟量输入块
    3. 模拟量输出块
    4. 数字量输入块
    5. 数字量输出块
    6. 梯度块
    7. 多态数字量输入块
    8. 统计数据块
    9. 布尔块
    10. 设备控制块
    11. 模拟量报警块
    12. 数字量报警块
    13. 帕雷托块
    14. 文本块

    注意:模拟量寄存器块和数字量寄存器块不要求SAC处理。iFIX仅当操作员打开一个包含到这两种块的连接的画面,或者一个指向这两种块的脚本运行的时候,才对其进行处理。在这两种情况发生的时候,iFIX在梯度块之前处理这两种块。

  3. 当SAC扫描一个一级块,它将:
    1. 处理该块所在的整个链。
    2. 扫描下一个一级块。
  4. SAC对类型、扫描时间和相位相同的一级块的扫描,是按照这数据库中出现的顺序来进行的,如下例所示。

示例:了解数据库的扫描顺序

假设你创建五个身份Analog Input块,在之后结构中显示SAC按照所示顺序扫描这些块。

块的扫描顺序

现在,假设您由于不再需要第三个模拟量输入块而删除了它。这将在您的数据库里创建一个空格,如下图所示。SAC现在按照所示顺序扫描这些块。

在一个扫描顺序中删除了块

您随后将发现需要添加两个新的模拟量输入块,即 AI6 和 AI3。第一个新块 AI6 将填充删除块留下的空白。第二个新块 AI3 在 AI5 之后添加。现在,SAC 可按下图所示的顺序扫描这些块。

在一个扫描顺序中添加了块

 

相关信息

您最近了解过 iFIX 吗 ?

查看最新版 iFIX 的所有新功能。

让 iFIX 帮助您提高效率,降低成本。