这一节接着讲述S7-200PLC输入寄存器,上一节我们讲到了,输入寄存器IB0的命名规则和使用方法,我们知道IB0最大只能存放0-255范围内的256个数。如果再大点的数该往哪里存放呢?比如789这个数。接下来我们做详细介绍。
我们先看一张写好的程序的图片,看看我们讲的寄存器在程序中是个什么样子,如图1,这段程序实现的功能是(第一行)当PLC的外部接线端子I0.0接通后,首先把456这个数放到IW0这个输入寄存器中,然后再把789这个数放到IW2这个输入寄存器中,(第二行)接着把IW0和IW2相加,也就是456+789,然后把计算结果放在IW4中。这样IW4中的数据就是456+789=1245。这个程序能看懂它的意思就行了,不用太深究。重点是IW0这个输入寄存器是怎么放得下456这个数的。
图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也没问题。
图2
接下是来就是ID0了,它和上面IW0的命名规则是一样的,不一样的地方就是,ID0的数据类型是双字(DWORD)型的,包含4个字节(IB0,IB1,IB2,IB3),是32位的。它的数据范围更大“0--4294967295”可以放的下40多亿的数。
具体程序和命名规则看图3,图4
图3
图4
说明一下,双字(DWORD)型是PLC所能处理的最大的数据类型(32位)了,再大的就没有了。当然了,还有双整形(DINT)和实数型(REAL),但它们也都是32位的,只不过它们可以表示,有符号的和带小数点的数罢了,但都是用“D”来表示。
图5
好了,总结这两节所讲,,可以得出如图5。可见编写西门子S7-200 PLC的程序,就是编写如图5上的这些类型。例如:(按位的I0.0 I0.6 Q1.2 M12.4 V1200.3)(按字节的IB0 QB1 MB8 VB500)(按字的IW0 MW4 VW1002)(按双字的ID0 MD4 VD80)。如果你能看明白,说明这两节讲的你已经掌握了