IF IP_emo:=FALSE THEN
State:= OFF_Mode;
ELSE
State :=OFF AND IP_emo:=TRUE AND start_Btn:=TRUE OR start_Btn:=False;
State:= Monitor_Mode;
END_IF
我不确定为什么我在此代码上收到错误 4024,需要a := before "THEN"
. 有人能帮我吗?
IF IP_emo:=FALSE THEN
State:= OFF_Mode;
ELSE
State :=OFF AND IP_emo:=TRUE AND start_Btn:=TRUE OR start_Btn:=False;
State:= Monitor_Mode;
END_IF
我不确定为什么我在此代码上收到错误 4024,需要a := before "THEN"
. 有人能帮我吗?
免责声明:不确定您使用的是什么 plc 或错误 4024 的含义,但如果您使用典型的 IEC 61131 plc 语言(大多数 plc 是),我可以评论您的代码格式。
首先,:=
i 是赋值运算符。是=
比较运算符。所以在你的if
陈述中你会使用
IF IP_emo = FALSE THEN
或者(取决于您使用的 plc。通常所有 IEC 61131 语言都是相同的)
IF NOT IP_emo THEN
其次,AND
andOR
用于比较,因此您不能将它们与 assingment 运算符一起使用。你可以做类似的事情
ELSE
State :=OFF;
IP_emo:=TRUE;
start_Btn:=TRUE;
start_Btn:=FALSE;
State:= Monitor_Mode;
END_IF
或者可能
ELSE
State :=OFF;
IF IP_emo=TRUE AND start_Btn=TRUE AND (start_Btn=TRUE OR start_Btn=FALSE) THEN
State:= Monitor_Mode;
END_IF
END_IF
不完全确定您要做什么。
您没有提及您正在使用什么 PLC 或工具,错误 4024 是什么意思以及它来自哪一行。这使得回答你的问题有点困难。有些人可能会说这个问题有资格对该帐户进行贬低。
我对您示例的格式感到有些困惑。请格式化为代码(自动完成,如果您使用 4 个空格缩进),它会更容易阅读和回答。
我尝试在下面进行格式化,并对此提出一些意见。
我希望这会有所帮助。:-)
IF IP_emo:=FALSE THEN
State:= OFF_Mode;
ELSE
State :=OFF AND IP_emo:=TRUE AND start_Btn:=TRUE OR start_Btn:=FALSE;
State:= Monitor_Mode;
END_IF