畅享博客 > efeibiao > 零基础学西门子PLC:之 重中之重
2018/11/26 13:55:24

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

来源:大话工控

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

这一节接着讲述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这个数的。

 

零基础学西门子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”来表示。

好了,总结这两节所讲,,可以得出如图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)等。如果你能看明白,说明这两节讲的你已经掌握了,可以接着往下学习了。下节可能 通过一个实例讲讲怎么编程。(本文作者:大话工控)

推荐阅读【工业领域的PLC是什么

DCS是什么?与PLC有什么差别?​】



评论

您还未登录,不能对文章发表评论!请先登录