大家好,今天我们来介绍一下西门子S7-1200不同存储区的寻址方式。S7-1200 CPU提供了全局存储器数据块和临时存储器等,用于在执行用户程序期间存储数据。全局存储器是指各种专用存储区,如输入映像区I区、输出映像区Q区和位存储器M区,所有块可以无限制地访问该存储器。
![0a9cc42f09829d7150c64d7d4b4b2fce.png](https://i-blog.csdnimg.cn/blog_migrate/940da5455b7ab6ee7f05026c783d3b8d.jpeg)
S7-1200的数据存储区
数据块存储器用于存储各种类型的数据,其中包括操作的中间结果或FB的其他控制信息参数,以及许多指令,如定时器和计数器所需的数据结构,可以根据需要指定数据块为读或写访问,还是只读访问,可以按位、字节、字或双字访问数据块存储器。
![2892efbe60f802955388cc36d5aa540e.png](https://i-blog.csdnimg.cn/blog_migrate/910fcabf62c1791c243c12a76ee2c7f1.jpeg)
数据单元的寻址
下面分别介绍寻址方式。对数据块中位数据的绝对寻址方式为:数据块号.DB字节地址.位地址,如DB10.DBX2.0。对数据块中字节、字和双字数据的绝对寻址方式为:数据块号.DB数据长度.起始字节地址,如DB10.DBB0、DB10.DBW2、DB1.DBD2等。
![f8de48f34feec8265c80b56f9adbaffd.png](https://i-blog.csdnimg.cn/blog_migrate/2d8525b8b4e41ccfdb2f081032c4bff5.jpeg)
不同的寻址方式
临时存储器是当调用某个块时,操作系统分配给执行块的临时或本地的存储器,块执行完后,CPU将重新分配本地存储器,以用于执行其他代码块。存储器中的输入映像区,I区是在CPU的每个扫描周期读取的外围物理输入点状态,可以按位、字节、字或双字访问输入过程映像,允许对过程映像输入进行读写访问,但过程映像输入通常为只读。
![ef0aa01a18b41b583d100deccf7f0369.png](https://i-blog.csdnimg.cn/blog_migrate/e2f933e2d10e1bbaf146d1f49aa03515.jpeg)
临时存储器的访问
通过在地址后面添加冒号P可以立即读取CPU信号板SB或信号模块SM的数字输入和模拟输入。使用I冒号P访问与直接使用I访问的区别是,前者直接从被访问点而非输入过程映像区获得数据,因为数据是直接从物理输入点读取,所以这种I冒号P访问称为立即读访,与可读或可写的I访问不同的是,立即读访问为只读访问。
![485f6e8022eb9a4f92fad9bccf378479.png](https://i-blog.csdnimg.cn/blog_migrate/8b1fee814cef5f8868fd67c2397de753.jpeg)
立即读访问
CPU将存储在输出过程映像中的值复制到物理输出点,可以按位、字节、字或双字访问输出过程映像,过程映像输出允许读访问和写访问。 通过在地址后面添加冒号P可以立即写入CPU信号板SB或信号模块SM的物理数字输出和模拟输出,使用Q冒号P访问与使用Q访问的区别是,前者除了将数据写入输出过程映像外,还直接将数据写入被访问点,也就是写入两个位置。
![77da63ada15c556f11cbaacc54324d1b.png](https://i-blog.csdnimg.cn/blog_migrate/8ba81aa287627bdb3f349331b1948625.jpeg)
立即写访问
因为数据是被直接发送到实际设备,所以这种Q冒号P访问有时被称为立即写访问,目标点不必等待输出过程映像的下一次更新。与可读可写的Q访问不同的是,立即写访问为只写访问。从图示的表中可以看到,不同存储区域的强制功能和保持性有所区别。
![04c05bdd2121b23e8fed2a6f7f259593.png](https://i-blog.csdnimg.cn/blog_migrate/cab9d1d35a355db8d171f1ffd30c6f40.jpeg)
不同存储区的功能
以上我们介绍了西门子S7-1200中不同的存储区的寻址方式,下篇文章我们继续介绍S7-1200的其他知识点,欢迎大家持续关注本号内容。