问题:
为什么使用SFC 64有时不能得到正确的值?
或者更确切地说,当我使用SFC64时,比方说要评估从上一次SFC64调用至今的运行时间,得到的经常是不正确的值。
解答:
SFC 64以毫秒计算,增量从1到-1 (2 到 31 的次方),然后再从 0 开始 (循环计数器)。信息存在给出参数的双字里。
不幸地是,当SFC计数器的上述字达到一定量,偶尔会得到错误的SFC64 输出值。所以,SFC 64的值并不能正确更新,与前一个值相比较,有明显偏差。
补救措施:
检查值(例如在测量差异时)以确定其可信度:当在 x 毫秒的正常时间间隔,如果获得的值与时间间隔相差甚远,该值必须放弃;正如描述的那样,只是由于对定时器的值读取不连贯所致。所有 S7-300 系列的 CPU 和所有 C7 设备都受到此问题的影响。
对于下列使用操作系统V1.0.2及以上版本的设备,此问题已解决:
很抱歉,对于下列设备,没有升级选项。
注意事项:
至于 CPU 318-2DP 和 S7-400,不会出现上述问题,因为读取双字未被中断。