Skip to main content

Sercos – 总线循环任务

一般信息

通常,对于每个 IEC 任务,在每个任务开始时读取使用的输入数据 (1),并在任务结束时将写入的输出数据传输到 I/O 驱动程序 (3)。 I/O 驱动程序中的实现对于 I/O 数据的额外传输具有决定性意义。它负责实际传输到相应总线系统的时间范围和时间点。

PLC 的总线循环任务可以在 PLC 设置中为所有现场总线全局定义。但是,对于某些现场总线,您可以独立于全局设置进行更改。循环时间最短的任务用作总线循环任务(设置: 未指定 在 PLC 设置中)。在此任务中,消息通常在总线上发送。

其他任务仅从内部缓冲区复制 I/O 数据,该缓冲区仅与总线周期任务中的物理硬件交换。

_task_diagram_standard.png

(1) 从输入缓冲区读取输入

(2) IEC 任务

(3) 将输出写入输出缓冲区

(4) 总线周期

(5) 输入缓冲器

(6) 输出缓冲器

(7) 向/从总线复制数据

(9) 总线循环任务,优先级 1,1 ms

(10) 总线循环任务,优先级 5

(11) 总线循环任务,优先级 10,被任务 5 中断

任务使用

任务部署 选项卡提供已用 I/O 通道、设置总线周期任务和通道使用情况的概览。

警告

如果在各种任务中写入输出,则状态未定义,因为在每种情况下都可以覆盖。

如果在不同的任务中使用相同的输入,那么输入可能会在任务处理过程中发生变化。当任务被具有更高优先级的任务中断并导致再次读取过程映像时,会发生这种情况。解决方案:在 IEC 任务开始时,将输入变量复制到变量中,然后在其余代码中仅使用局部变量。

结论:在多个任务中使用相同的输入和输出没有任何意义,并且在某些情况下会导致意外反应。

Sercos III 的总线循环特性

I/O 数据按照主站中定义的周期时间进行传输。数据由 Sercos 主站独立传输。

当为 Sercos 主站设置循环任务时,数据传输会自动同步。请注意,总线循环任务的循环时间小于 Sercos 循环时间。

_serc_img_buscycle_task.png
(8) 事件