如何合理设置西门子S7-12001500 CPU通信负载率以优化性能?

摘要:一、前言 在使用西门子PLC的时候,我们经常忽略一个重要的参数"通信负载"(也是“通信负荷”)。在PLC与HMI连接 ,PLC与PLC进行 S7 通信等,博途(TIA Portal)软件监
一、前言  在使用西门子PLC的时候,我们经常忽略一个重要的参数"通信负载"(也是“通信负荷”)。在PLC与HMI连接 ,PLC与PLC进行 S7 通信等,博途(TIA Portal)软件监控、第三方软件通信等都需要占用PLC通信负载。  在进行PLC-Recorder的高速采集测试时发现:如果S7-1200的通信负载率设置为20%,则没法保证4ms一次的UDP发送,调整到50%后,就正常了。  但是,不合理的通信负载会导致PLC出现各种各样的问题。下面就是通信负载设置不合理导致的问题: 1.诊断  打开博途(TIA Portal)的监控程序,看到有PLC报错切换到STOP模式的内容。 2.扫描周期  PLC扫描周期过长,扫描周期过长可能会导致功能异常、‌不稳定以及影响程序的正常运行  接下来就让我们了解下PLC通信负载如何查看,以及如何合理进行设置。 二、PLC配置 1.选择PLC组态 2.启用WEB服务器 1)启用上的WEB服务器 2)启用自动更新 更新间隔时间 1S 3.WEB服务器用户管理设置 1)访问级别 2)访问类别 4.下载PLC硬件配置到PLC 三、PLC通信负载查看 1.查看PLC地址 2.访问 PLC WEB页面  浏览器这里输入https://192.168.0.1 3.选择 "诊断" 4.选择"运行系统信息" 5.选择"诊断"  "通信负载"用于设置CPU 总处理能力中可用于通信过程的百分比,如图所示。这部分 CPU 处理能力将始终用于通信,当通信不需要这部分处理能力时,它可用于程序执行。可设置的范围为15~50%,默认值为20%。占用"通信负载"的通信包括:博途(TIA Portal)软件监控,HMI连接及PLC间的S7 通信等。 四、设置注意事项  如果通信负载设置百分比过大,则会延长CPU扫描时间,所以要慎重增加该通信负载百分比。以下是西门子手册里的相关说明:  通过为事件或 OB 分配优先级,可通过通信影响 OB 的可能延迟和中断性能。这也会影响 OB 调用的块。如果为了将周期时间降至最低而采用这种方式将程序段设置为不可中断,则会导致 STEP 7 的在线功能发生延时! 对实际循环时间的影响  “由通信引起的循环负载”(Cycle load due to communication) 参数可用于按某个因子延长循环组织块(如 OB1)的循环时间,该因子的计算公式如下:  以上公式不考虑异步事件(如硬件中断或循环中断)对循环时间的影响。如果循环时间因通信过程而被延长,则在循环组织块的循环时间内可能会发生更多异步事件。这会进一步地延长周期。延长量取决于所发生的事件数量以及处理这些事件所需的时间。 示例 1 – 无附加异步事件: 如果将“由通信引起的循环负载”(Cycle load due to communication) 参数设置为 50%,则会导致循环组织块的循环时间按因子 2 增加。 示例 2 - 附加异步事件: 纯循环时间为 500 ms 时,假定 CPU 始终有足够的通信作业要处理,则 50% 的通信负载可使实际循环时间高达 1000 ms。  如果在 500 ms 的纯循环时间中,每隔 100 ms 执行一次处理时间为 20 ms 的周期性中断(优先级等级低于 15),则在没有通信负载时该循环时间将使循环延长共 5*20 ms = 100 ms,即实际的循环时间最初为 600 ms。但是,通过在处理的循环中断上延长循环时间,可以执行额外的循环中断,循环中断的处理进一步延长了循环时间。循环内包含两个额外执行的循环中断时,得到的循环时间为 640 ms。  当通信负载为 50% 时,通信将延长循环程序和循环中断的时间,并会基于延长时间执行进一步的循环中断,因此,在纯循环时间为 500 ms 时产生的循环时间为 1680 ms,基于循环中断执行时,为每 100 ms 各增加 20 ms 的纯处理时间。
阅读全文