艾宝物联PLC教程04:PLC内部寄存器详解

将PLC存储器视为带有抽屉的柜子,称为寄存器。数据保存在这些寄存器中。这些寄存器有不同的大小,并保存不同类型的数据。

:可以具有值1或0. 1通常表示开,而0表示关。位是所有其他类型数据的构建块。
整数整数(无小数点)。调用:Characters(char),Integers(int),long Integers(long int)或Words。查找位大小以及它们是有符号还是无符号。无符号是正数,而有符号是正数或负数。
浮点数:带小数点的数字,可以是正数或负数。它们被称为浮点数(浮点数),其较大的变量称为双浮点数。

类型 #位 符号/无符号 最低价值 最大价值
1   0 1
诠释 8 -128 127
无符号 0 255
16 -32,768 32,767
无符号 0 65,535
32 2,147,483,648 2,147,483,647
无符号 0 4,294,967,295
浮点 32   1.175 E-38 3.403 E + 38
64   2.225 E-308 1.798 E + 308

地址/标签:寄存器全部并排堆放在PLC的存储器中。每个位置都有一个地址,让PLC知道您正在谈论的数据。较旧的PLC软件要求用户通过该地址引用数据(例如“x1023”可能意味着1023的寄存器)。一些较新的软件使地址透明。用户为一段数据命名(例如“Oven2Temperature”),PLC会跟踪寄存器的位置。如果软件使用地址来引用数据,它称为“基于地址”,如果它使用命名数据,则称为“基于标记”。一些编程包是基于地址的,但允许地址具有“昵称”或类似的东西。它们优于标准的基于地址的系统的优势往往是有限的。随着程序的增长,基于标签的系统的优势变得明显,并记住x1023中存储的内容变得困难。如果您的程序使用基于标签的系统会有任何复杂性,则可以简化设计。

潜水更深

数据类型内部:如前所述,所有数据类型都由位(1和0)组成。写入一个8位数字,如bbbbbbbb(其中“b”可以表示0或1),因此您可能有00000000,111111111或01011110 .... 任何组合都会这样做。这些比特的含义取决于数据类型。

无符号整数:最不重要的位是最右边的位,每个位置左移两倍。最右边的位是1,它的值是左边的下一位2 4 8 16 32 64 128 256 ......(这与数据类型要求的位数一样多)。这是无符号8位整数的样子:

如果所有8位都是0(00000000)那么我们得到0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 0 
如果所有8位都是1(11111111)那么我们得到128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 
因此8位无符号整数的范围是0 - 255 
介于两者之间的一个例子(00110101)0 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = 53

签名整数:他们有点复杂,查看维基百科的文章 2赞美一个良好的探索。

十六进制格式(十六进制):不是将每个位写出,而是将4位组合在一起。每个组的值可以为0 - 15,这会导致问题,因为我们的数字系统从0到9,因此我们还使用A,B,C,D,E和F来获得总共16个值。(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

十六进制的示例1001 0011 1111 0010将是93F2

为了清楚我们正在使用Hex格式,我们在数字的开头加上'0x',所以我们的最后一个例子将被写为0x93F2

字符:(通常为8位无符号整数)通常用于表示字母或符号。示例:您可以使用它们在操作面板上显示文本。使用ASCII表查看值如何映射到符号。

浮点数中的位数如何呢?它们是如何突破的?它有点复杂,我不想在本教程中深入研究它。作为PLC用户,您不太可能需要知道它们的位如何转换为值,因此不必担心它。