零基础学西门子PLC:之 重中之重

今天在正式开始之前说一点感想,通过观察这几天的阅读量,我发现不太重要的知识阅读的人反而多,越是重要的知识点,阅读的人反而越少了,我不知道是大家真的都明白了,还是觉得PLC的内存和寄存器没什么要学习的。如果你真的已经掌握了,那就是再好不过的事了。但如果你没掌握,而又真的想学好(注意是想学好,而不是只想学)PLC,我希望大家一定要把PLC的内存和寄存器学明白。这个真的很重要。好了,就说这么多。

这一节接着讲述S7-200PLC输入寄存器,上一节我们讲到了,输入寄存器IB0的命名规则和使用方法,我们知道IB0最大只能存放0-255范围内的256个数。如果再大点的数该往哪里存放呢?比如789这个数。接下来我们做详细介绍。

我们先看一张写好的程序的图片,看看我们讲的寄存器在程序中是个什么样子,如图1,这段程序实现的功能是(第一行)当PLC的外部接线端子I0.0接通后,首先把456这个数放到IW0这个输入寄存器中,然后再把789这个数放到IW2这个输入寄存器中,(第二行)接着把IW0IW2相加,也就是456+789,然后把计算结果放在IW4中。这样IW4中的数据就是456+789=1245。这个程序能看懂它的意思就行了,不用太深究。重点是IW0这个输入寄存器是怎么放得下456这个数的。

零基础学西门子PLC:之 重中之重

图1

接下是来看图2,这就是输入寄存器IW0的命名规则,同样的I指的是什么就不用多说了,大家都知道。W指的是数据类型是字(WORD)型的,0指的就是从第0个字节开始,开始后到哪一个字节结束呢?到第一个结束,即IW0包含(IB0和IB1两个字节)。IW2就包含(IB2和IB3两个字节)。为什么包含两个字节呢?我们以前学过,字(WORD)型的数据类型是16位的,IB0和IB1两个字节正好是16位。

所以IW0=“00000000 00000000”到“11111111 11111111”换算成十进制就是“0--65535”。再回到图1的问题,我们看到IW0放456这个数完全没有问题的。同样的IW4放1245也没问题。

零基础学西门子PLC:之 重中之重

图2

接下是来就是ID0了,它和上面IW0的命名规则是一样的,不一样的地方就是,ID0的数据类型是双字(DWORD)型的,包含4个字节(IB0,IB1,IB2,IB3),是32位的。它的数据范围更大“0--4294967295”可以放的下40多亿的数。具体程序和命名规则看图3,图4

零基础学西门子PLC:之 重中之重

图3

零基础学西门子PLC:之 重中之重

图4

说明一下,双字(DWORD)型是PLC所能处理的最大的数据类型(32位)了,再大的就没有了。当然了,还有双整形(DINT)实数型(REAL),但它们也都是32位的,只不过它们可以表示,有符号的和带小数点的数罢了,但都是用“D”来表示。

零基础学西门子PLC:之 重中之重

图5


分享到:


相關文章: