零基础学西门子S7-200PLC:大话PLC之 内存数据类型(1)

从这一节开始,介绍西门子S7-200PLC的内存(数据寄存器),本打算一节把他讲完,但考虑靠内存的重要性,还是决定多讲两节,因为S7-200PLC的内存掌握了,后面学习起来就很容易,所以宁可啰嗦点也要把它讲透讲细,希望朋友们多点耐心。

还有一点要说明一下,我虽然提倡不死啃书本,不死记硬背的学习方法,但并不说明PLC书籍和各种资料就是不重要的,该收集的资料还是要收集的,至少要做到当我们需要查看某些数据时,你能知道它在你的哪本书的第几章。

下面开始讲西门子S7-200PLC的数据类型,它和我们使用的计算机的数据类型是差不多的,其实PLC本身就是一个微缩的小型计算机。西门子S7-200PLC要用到的数据类型有(位bit)(字节BYTE)(字WORD)(双字DWORD),这些都是无符号的(就是它里面的数据都是正的,没有负的)。还有(整型INT)(双整形DINT)(实数型REAL),这些都是有符号的(就是它里面的数据可以是正的也,可以是负的)。我们下面只介绍无符号的数据类型,因为有符号的和无符号的原理是差不多的,无符号的明白了有符号的也就明白了。

零基础学西门子S7-200PLC:大话PLC之 内存数据类型(1)

图1,位,字节,字,双字的关系是一个比一个大。最大的是双字,最小的就是一个位。什么是一个位呢?看图1,对,是一个旋钮开关,我这样画是为了大家好理解(其实一个位是PLC内存里的一个最小单位,但原理和这个开关是一模一样的)。最大的双字包含32个开关,也就是32个位。它是一个什么工作原理呢?接着看图2。

零基础学西门子S7-200PLC:大话PLC之 内存数据类型(1)

零基础学西门子S7-200PLC:大话PLC之 内存数据类型(1)

图3,这个1字节=01010010的一串二进制的0和1怎么等于82了呢?怎么算的呢?这里就要用到一个我们学习PLC的第一个工具了,但请放心这个工具也就现在用用,以后编程时是不用的。这个工具就是我们电脑系统自带的,在程序--附件--计算器,就是他了,注意是电脑的,不是手机的。打开计算器--查看,把标准型改成程序员型,选择二进制输入01010010然后切换到十进制看是不是等于82。见计算器截图,

再切换到二进制自己算一下8个位全是1时,是不是等于十进制的255,等于十六进制的FF。还有图4的也算算。

零基础学西门子S7-200PLC:大话PLC之 内存数据类型(1)

零基础学西门子S7-200PLC:大话PLC之 内存数据类型(1)

如果你能把图4里面的二进制也算对了,并且明白计算的过程和原理,说明这节你掌握的差不多了。

现在总结一下:

1个位(bit)是内存的最小单元,只能等于0或1其中的一个。

1个字节(BYTE)=8个位(bit)

1个字(WORD)=2个字节(BYTE)=16位(bit)

1个双字(DWORD)=2个字(WORD)=4个字节(BYTE)=32位(bit)

这节讲的不是太多,但是这些内容比较重要,懂了最好,不太懂的多看两遍,多想想,实在不明白的也没事,后面的讲内存的章节,还是和这些数据类型有关联的内容,以后你还会继续加深印象的。


分享到:


相關文章: