问题是关于数据类型标记与PLC中此数据类型的表示之间的区别。样式,无论是十进制,二进制还是十六进制都是值的方式 的 代表 强> ,而标签类型的真正定义是数据类型。
如果您正在讨论61131-3 PLC编程环境,那么BOOL实际上是BYTE,其中非零值为TRUE(1-255),0为FALSE。
但是,BOOL变量可以直接与逻辑运算符IF,WHILE,AND等一起使用。:
=========================================================================== FUNCTION myFunction : BOOL; VAR MyA : BOOL; END_VAR --------------------------------------------------------------------------- IF MyA THEN // Do something myFunction := MyA; END_IF ===========================================================================
大多数61131-3编程语言的实现都会强制对BYTE类型进行比较操作:
=========================================================================== FUNCTION myFunction : BOOL; VAR MyA : BYTE; END_VAR --------------------------------------------------------------------------- IF MyA > 0 THEN // Do something myFunction := BYTE_TO_BOOL(MyA); END_IF ===========================================================================
变量的值可以以不同的方式显示 的 基数 强> 表示。 对于数据类型BOOL,选择任何基数二进制,十进制,八进制或十六进制将导致显示显示0和1。
对于数据类型DINT或WORD,选择十进制,八进制或十六进制将导致显示中显示这些项中的值。例如,值十六将以小数十进制显示为16,基数八进制为20,十六进制为十六进制。
要回答您的问题,显示数据类型BOOL的变量的基数二进制或小数十进制没有任何有用的区别。