由于AC500 PLC 上可并行运行的功能种类繁多,建议甚至必须根据所需功能调整系统行为,以更好地满足个别应用的需求。
由于硬件的限制和约束,有必要对功能进行优先排序,尤其是在打算并行执行多个功能的情况下。由于底层软件组件的复杂性,确定优先级可能非常困难。除了任务优先级之外,还可能需要调整底层系统配置,以实现特定功能的最佳性能。
为了降低复杂性,从而降低产生负面副作用的风险,我们引入了 CPU 参数Communication schema
。通过该参数,用户可以明确定义相应 PLC 的主要用途,并将重点放在特定功能上。
模式 |
PM50xx |
PM56xx |
说明 |
---|---|---|---|
默认值 |
X |
X |
通过通信模块(CM)和机载Ethernet 通信的平衡优先级。 |
通信模块 |
- |
X |
通过同步任务实现基于通信模块(CM)的优先级和高性能通信。板载Ethernet 和 I/O 总线的优先级较低。 |
机载 Ethernet |
X |
X |
通过同步任务实现基于通信模块(CM)的优先级和高性能通信。板载Ethernet 和 I/O 总线的优先级较低。 |
机载 EtherCAT |
X |
X |
机载Ethernet 通信的极高优先级(如EtherCAT,PROFINET,EtherNet/IP )。通过通信模块(CM)进行通信的优先级较低。 |
更改通信模式可能会对用户应用程序的行为产生重大影响,因此只有在以下情况下才可 以更改通信模式、
-
配置依赖于特定模式的功能(如机载EtherCAT )。
-
需要在性能方面优化系统行为(减少反应时间、提高吞吐量等)。
需要注意的是,灵活性和自由度增加的同时,责任也随之增加,因为 IEC 任务配置和 IEC 用户代码可能会长期阻碍重要的系统功能。以下提供的信息应有助于确定适当的设置,以防止出现超时异常或通信问题等运行时错误。
优先权分类及其目的
每个通信模式优先考虑的功能分为 3 个不同的类别:
-
高度优先的实时功能
-
实时优先的 IEC 任务
-
低优先级非实时功能

高度优先的实时功能
对时间有严格要求的功能,如具有硬件访问权限的驱动程序或硬件看门狗监控故障,可能会导致异常错误、与硬件失去通信以及其他无法恢复的问题,并可能导致用户应用程序停止运行。
该类的功能不受用户定义的 IEC 任务活动的影响。因此,相关功能可能会中断或延迟 IEC 任务,从而增加 IEC 任务的抖动和 IEC 任务周期的持续时间。
实时优先的 IEC 任务
这是用户定义的实时 IEC 任务的优先级范围。优先级 0 至 15 为实时优先级(IEC 优先级 16 被映射为非实时优先级),可用于在Automation Builder 中定义 IEC 任务的优先级。
此范围内的任务可能会被高优先级功能中断或延迟。IEC 用户代码不可能抑制高优先级活动,从而提高了安全性,降低了因 IEC 用户代码或库中的错误或 IEC 任务的错误配置而产生负面副作用的风险。
低优先级非实时功能
低优先级适用于非实时功能,这些功能没有任何特定的时间要求,在执行其活动时不会延迟或中断用户应用程序及其相关功能。
分配给此范围的活动可被高优先级和实时 IEC 任务所抑制。因此,可能会出现高抖动、零星活动或反应时间长的情况,这取决于整个系统的负载。
为避免压制该组任务,如果 CPU 负载接近 100%,系统会预留一个短时段处理低优先级功能。在正常情况下(低于 80% 的平均系统负载),该装置不应启动。虽然这个时间段可能会导致高优先级任务出现轻微抖动(± 100 微秒),但它能确保系统保持响应速度,并始终能够运行必须定期执行的基本任务。需要注意的是,低优先级任务仍然起着重要作用,需要定期安排,以满足其各自的时间要求。
确保 CPU 平均负载不超过 80%,以保证系统有足够的时间处理低优先级功能。
这些功能可能对个别应用程序并不重要,但仍有必要保留其他功能,如Automation Builder 登录或访问诊断数据。
一旦 CPU 负载超过 80%,系统就很难正确安排任务。