关于西门子1200PLC位存储器(M)最大寻址范围问题探讨 您所在的位置:网站首页 西门子m20指令 关于西门子1200PLC位存储器(M)最大寻址范围问题探讨

关于西门子1200PLC位存储器(M)最大寻址范围问题探讨

2024-02-05 21:02| 来源: 网络整理| 查看: 265

1. 程序运行的本质

我们说,不管是PLC梯形图程序还是其它高级语言(C、C++、JAVA、PYTHON等)的程序,其运行过程的本质上就是进行循环的数据“读”、“写”操作,而数据的“读”、“写”操作表现在程序里就是各种变量的定义与使用,也就是存储器的寻址

2. 按字节寻址的最大寻址范围

对于西门子1200PLC来说,它的程序在运行过程中对临时数据(临时用于程序计算用的过程量和程序运算所产生的中间量)的处理就要用到位存储器(M),如MB10、MW20、MD1000等等,这里所说的MB、MW和MD指的是不同的寻址方式,也可以理解为不同的变量,其后面的数字对应着这个变量在位存储器(M)内的位置或者说是“地址”。这个“地址”是有最大范围限制的,他与PLC位存储器(M)自身的大小有关。

如上图所示,西门子1200PLC,其CPU型号为1214及以上的PLC,它的位存储器(M)的大小是8192个字节,也就是8KB(1Kb=1024个字节),那么这样的话,我们在定义位存储器(M)变量的时候,如果采用按字节的寻址方式,其寻址的空间只能是:MB0~MB8191。

按字节寻址

超出这个范围就会出错,从下图中,我们可以看到,在使用MB8192这个变量时,就会提示报错:输入的地址不在有效地址范围内

3. 按字寻址的最大寻址范围

但是当我们对位存储器(M)采用按字(MW,W就是“字”的英文字母:Word)和按双字(MD,D就是“双字”的英文字母:Double Word)进行寻址或者定义变量的时候,由于1个字的存储空间由2个字节构成,1个双字的存储空间则由4个字节构成,那当我们在定义“字”和“双字”的变量的时候,其变量后面数字的最大值就又会有点不一样了。

按字寻址

根据下图的验证结果可以知道,当采用按字的寻址方式的时候,其定义的变量后面的数字只能到达MW8190,在使用MW8191这个变量的时候就会出错,这是因为MW8191=MB8191+MB8192,很明显,MB8192超出了位存储器(M)的最大范围

4. 按双字寻址的最大寻址范围

而对于采用按双字寻址方式所定义的变量,由于要占用4个字节的存储空间,其最大只能寻址到MD8188,如下图所示。

按双字寻址

如果定义了一个变量:MD8189,由于MD8189=MB8189+MB8190+MB8191+MB8192,很明显,MB8192超出了位存储器(M)的最大范围,就会提示”输入的地址不在有效地址范围内”错误。

5. 总结

有很多基础的知识,看起来不起眼,其实很重要。对于PLC学习来说,首先就要搞清楚PLC的系统参数的含义、外围设备接线以及各种各样数据类型的使用,更多内容请观看本人视频。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有