系统定时器功能块

从版本V2.3.56或更高版本开始,编译旧项目可能会导致以下问题:较早版本中由编译器放置在保持区域内的定时器,从版本V2.3.56开始被分配到非保持区域。

原因是从版本V2.3.56开始,可以将功能块实例分配给保持区域或非保持区域。因此,编译器为功能块‘TM_xxxs_FB’的每个VAR_RETAIN实例分配一个系统定时器,从定时器内存区的末尾(系统寄存器5 - 1)到保持区域的开头(系统寄存器6)。对于类别VAR的每个实例,编译器分配一个系统定时器,从非保持区域的末尾(系统寄存器6 - 1的值)直到0。

如果按下例所示设置了系统寄存器5和6,则发生上述效果。必须相应调整系统寄存器5或6,或者更改功能块实例的类别。

示例

在早于V2.3.56的版本中,定时器被分配到位于保持区域的编号2999。从版本V2.3.56开始,编译器尝试将定时器分配到非保持区域。编译器分配编号2499。

解决方案:更改程序头中的类别以将实例分配给保持区域。

最后更新日期: 2019-04-30此页面上的反馈松下热线