多核系统和现场总线


所有现场总线都适用于单核和多核系统。 每个现场总线本身仅在一个内核上运行,即不能并行化和划分到多个内核。

单核:

在每个现场总线中,总线周期任务应该处理总线。 所有其他任务,如果它们也需要来自现场总线的数据,则不能操作总线,因为这会产生混乱或需要同步/独占访问,这会完全破坏实时性和总线与总线周期任务之间的同步。

在某些情况下,用户可以选择做更多的事情(在 EtherCAT 中启用第二个帧来完成其他任务),但这些都是例外,程序员必须知道你在做什么。

多核 (MC):

在多个核心上使用一个现场总线只会更多地破坏整个系统。

因为现在第二个总线周期任务可以与第一个总线周期任务同时运行,只是在另一个内核上。 因此,这将导致系统出现更多的混乱和/或更多的制动/约束同步。

MC 使用现场总线的实现

如果有多个 EtherCAT、Modbus 等主站,每个主站都可以分配给一个特定的任务。主站,将每个主站专门放在一个核心上。 但相对于制造商或客户几乎不存在的需求而言,这在实施过程中需要付出很多努力。

因此,目前不追求这种实施。

项目中可能采取的补救措施

程序员可以在多个内核上分配多个现场总线。 或者,用户可以将项目中的现有可视化放置在额外的核心上,从而在系统或核心上分配负载。