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

从这一节开始,介绍西门子S7-200PLC的内存(数据寄存器),本打算一节把他讲完,但考虑靠内存的重要性,还是决定多讲两节,因为S7-200PLC的内存掌握了,后面学习起来就很容易,所以宁可啰嗦点也要把它讲透讲细,希望朋友们多点耐心。还有一点要说明一下,我虽然提倡不死啃书本,不死记硬背的学习方法,但并不说明PLC书籍和各种资料就是不重要的,该收集的资料还是要收集的,至少要做到当我们需要查看某些数据时,你能知道它在你的哪本书的第几章。

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

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

如图2,我们知道了一个位就是一个开关,也就是说一个位是一个开关量。我们想一下上一节我们讲的开关量的属性,他们是(徐达)(常遇春)的武将性格,要么是死(0)要么是活(1),不能有第三种选择。所以一个位的状态不是0就是1,不是1就是0,看看图2的第一行是不是这样的。好了,刚才通过上面的图1我们知道1个字节(BYTE))=8个位(bit),别问我为什么1个字节是=8个位,而不是9个位10个位,当时设计计算机的老祖宗就是这么定的,记住就行了。要真想刨根问底百度上也有答案。接着看图2的第二行,既然一个位就是一个开关,8个位就是8个开关呗。但大家看仔细了,虽然是8个开关,但有的开关是关着的,就是(0),有的是开着的,就是(1)。所以按8个开关的各个状态,就有了图2的第三行,1字节=01010010,这01010010就是一个二进制的数据。那这个二进制的数据表示的是个什么数呢?操,我们又不是计算机怎么能读懂这一串0和1到底是个什么数。好吧,看图3

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

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

现在总结一下:

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

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

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

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

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

版权声明:
作者:吾爱PLC
链接:https://wuaiplc.com/13/.html
来源:吾爱PLC
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>