PLC控制器标签数据库中的数据类型和样式之间的区别
答
变量的值可以显示在不同的基数表示法中。 对于数据类型BOOL,选择任何基数二进制,十进制,八进制或十六进制将导致示出0和1
对于数据类型DINT或WORD,选择十进制,八进制或十六进制将导致显示的显示示出的值在这些条款。例如,十六进制值将以十进制小数显示为16,八进制八进制为20,十六进制基数为0F。
要回答你的问题,显示数据类型为BOOL的变量的基数二进制或基数小数没有用处。
答
如果你是在谈论一个61131-3 PLC编程环境,那么BOOL实际上是一个字节,其中一个非零值是TRUE(1-255),0是FALSE。
然而,布尔变量可以直接与逻辑运算器IF,while和等使用..:
===========================================================================
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
===========================================================================
答
问题是关于数据类型标签与PLC中该数据类型的表示之间的区别。 Style,无论是十进制,二进制还是十六进制都是代表,而标记类型的实际定义是数据类型。
+0
**在机器*内表示** *,或显示为文本?任何工业PLC实际上“代表”一个布尔值作为机器内部的十进制数字吗?这似乎毫无意义。 –
您的问题不清楚,听起来像这是与供应商特定的PLC(我假定RSLogix)相关联。 “控制器标签数据库”和“数据类型标签”不是通用的PLC概念。请更新您的问题 –