1

在我的 TwinCat 2 项目中,当我初始化变量时,它们的默认值不为零。

TPS750 : BOOL;
TPS750_OEE : REAL;
TP750_Perf : REAL;
TP750_Aval : REAL;
TP750_Qual : REAL;

当我开始项目时,这些值是:

TPS750 = FALSE;
TPS750_OEE = 0;
TP750_Perf = 524288;
TP750_Aval = 3380.893;
TP750_Qual = 656709.1;

你可以看到,前两个没问题,但接下来的对我来说有一个奇怪的价值。这个问题的原因可能是什么?

4

2 回答 2

0

请明确初始化变量。如果您不这样做,则取决于编译器是否执行此操作以及如何执行此操作。请注意,许多编译器不会将未初始化的变量清零,以便这些变量根据您运行代码时内存中发生的情况获得一个值。

于 2020-12-11T13:42:49.000 回答
0

它们要么是在项目的某个地方初始化的,而你看不到它,要么它们是持久值。

持久值在内部声明

VAR PERSISTENT

END_VAR

定义。

于 2020-11-21T09:33:21.320 回答