如何相互比较 WORD 类型变量或 DWORD 类型变量?

在 S7-SCL 中比较 WORD 类型的两个变量,例如,变量:

  • Max_Var:WORD;
    Min_Var:WORD;
    Compare_Var:BOOL;

然而,在 S7-SCL 中,WORD 或 DWORD 类型变量不能使用比较操作符“>”、“<”和“<>”; 如果在语句中使用(如下例):

  • Compare_Var:= Max_Var > Min_Var;

将在编译过程中显示出错消息“Invalid operand types”。只有 DINT 类型的变量才能使用这类比较操作符。因此,用户必须使转换功能将 WORD 转换为 DWORD, 再将 DWORD 转换为 DINT 数据类型。

序号 比较操作的编程步骤
1 首先,分别声明两个要转换的变量“Max_Var”和“Min_Var”。例如,对于变量“Max_Var”:

  • Max_X: DWORD;
    Max_Y: DINT;
2 然后,使用 A 类转换功能,编写第一个数据类型转换功能(从 WORD 转换到 DWORD):

  • Max_X:= WORD_TO_DWORD(Max_Var);
3 使用另一个 B 类转换功能,将 DWORD 转换为 DINT 数据类型:

  • Max_Y:= DWORD_TO_DINT(Max_X);
4 同样必须为第二个比较变量“Min_Var”编写转换程序,如步骤 2 和步骤 3 所述。现在,用户可以为实现比较操作编写指令,如:“Compare_Var:= Max_Y > Min_Y;”;编译器将编译该指令。

如何相互比较 WORD 类型变量或 DWORD 类型变量?
图 01

关键字:
大于或等于,小于或等于,不等于

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论