在每个扫描周期:
- 不管它们在数据库中的顺序如何,SAC对块进行处理,向I/O设备输出数值(使用冷启动值)。不管它们在数据库中的顺序如何,SAC对块进行处理,向I/O设备输出数值(使用冷启动值)。
- SAC不检查这些值的报警条件。SAC根据扫描时间和相位更新所有的一级块。
- 具有相同扫描时间和相位的块按照下列顺序进行扫描。
- 模拟量输入块
- 模拟量输出块
- 数字量输入块
- 数字量输出块
- 梯度块
- 多态数字量输入块
- 统计数据块
- 布尔块
- 设备控制块
- 模拟量报警块
- 数字量报警块
- 帕雷托块
- 文本块
注意:模拟量寄存器块和数字量寄存器块不要求SAC处理。iFIX仅当操作员打开一个包含到这两种块的连接的画面,或者一个指向这两种块的脚本运行的时候,才对其进行处理。在这两种情况发生的时候,iFIX在梯度块之前处理这两种块。
- 当SAC扫描一个一级块,它将:
- 处理该块所在的整个链。
- 扫描下一个一级块。
- SAC对类型、扫描时间和相位相同的一级块的扫描,是按照这数据库中出现的顺序来进行的,如下例所示。
示例:了解数据库的扫描顺序
假设你创建五个身份Analog Input块,在之后结构中显示SAC按照所示顺序扫描这些块。
块的扫描顺序
现在,假设您由于不再需要第三个模拟量输入块而删除了它。这将在您的数据库里创建一个空格,如下图所示。SAC现在按照所示顺序扫描这些块。
在一个扫描顺序中删除了块
您随后将发现需要添加两个新的模拟量输入块,即 AI6 和 AI3。第一个新块 AI6 将填充删除块留下的空白。第二个新块 AI3 在 AI5 之后添加。现在,SAC 可按下图所示的顺序扫描这些块。
在一个扫描顺序中添加了块
相关信息