何工控学
励志竭精
级别: 家园常客
精华主题: 0
发帖数量: 609 个
工控威望: 905 点
下载积分: 13667 分
在线时间: 501(小时)
注册时间: 2012-10-26
最后登录: 2024-11-01
查看何工控学的 主题 / 回贴
楼主  发表于: 2014-06-21 11:00
各位大师:请问在DB数据块中,怎样把一个数2000写入DB中,再把DB中的数据读在MW中呀,在三菱中只要用MOV指令就可以了,可是西门子的PLC中只有DB数据块,这里的DB数据块是不是三菱里的D呀,请高手指教,谢谢了
乌龟船长
级别: 网络英雄

精华主题: 0
发帖数量: 1282 个
工控威望: 7631 点
下载积分: 1314 分
在线时间: 2656(小时)
注册时间: 2007-03-21
最后登录: 2024-11-23
查看乌龟船长的 主题 / 回贴
1楼  发表于: 2014-06-21 14:10
在回答你的问题之前,有必要了解一下PLC中存储器的概念:PLC的物理存储器以字节为单位,因此存储器单元规定为字节(Byte)单元;存储单元可以以位(Bit)、字节(B)、字(W)或双字(DW)为单位使用。每个字节单元包括8个位,以“存储区标识符+字节地址.位序”的形式表示其中的每一位。其中存储区标识符可以是位存储器、输入过程映像输入字节、数据块DB;如果以字为单位使用存储器,需要使用相邻的两个字节来表示,其中低地址字节单元作为字的高字节,高地址字节单元作为字的低字节,如IW0由IB0和IB1组成,IB0位高字节,IB1为低字节。如果你了解了上述概念,对下面的解释就容易理解。
DB1.DBX0.0是直接访问数据块DB1,就是在指令中间同时给出数据块的编号DB1和数据块中的地址DBX0.0。数据块中的存储单元的地址由两部分组成:DB1.DBX0.0表示数据块DB1中的第一个数据字节DBB0中的第一个数据位。上述表示方式是用绝对地址,当然也可以用符号地址直接访问数据块,即给符号表中给每个数据块DB起一个名字(符号),采用符号可以很容易地用源程序调整。
每个CPU而言,用作数据块的存储器是有限制的,如CPU314最多分配8KB字节存储器给数据块,每个字节有8个位,因此其对应的总的位也是固定的
共享数据块DB又称全局数据块,用于存储全局数据,它的数据结构和大小并不依赖于特定的程序块,而是用户自己定义,所以逻辑块(OB、FB、FC)都可以访问共享数据块存储的信息;而背景数据是与某个功能块FB或系统功能块SFB相关联,其内部数据的结构与其对应的FB或SFB的变量声明表一致,它是你在编辑FB或SFB时由程序编辑器自动产生的,不是用户编辑的,不能被其他程序块调用,一个FB可以有多个背景数据块,但背景数据块只能用于一个对应的FB或SFB。
回答者: Bob Wu - 顶级工程师  第12级  2011-02-10 18:34:16
乌龟船长
级别: 网络英雄

精华主题: 0
发帖数量: 1282 个
工控威望: 7631 点
下载积分: 1314 分
在线时间: 2656(小时)
注册时间: 2007-03-21
最后登录: 2024-11-23
查看乌龟船长的 主题 / 回贴
2楼  发表于: 2014-06-21 14:12
上面是西门子论坛的,,,这个是本论坛的http://www.ymmfa.com/read-gktid-77584.html