登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:西门子程序中间寄存器m自己得电

点击:2717 回复:9

西门子程序中间寄存器m自己得电,与寄存器md怎么分开写?
18-08-13 17:10
为什么我看不懂你说的什么意思呢
18-08-13 17:31
估计是地址重叠程序员比较菜看不出来
18-08-13 17:48
程序中m点自己得电,是不是跟与寄存器MD有重复的地方有关
18-08-13 17:49
位 字 双字搞明白,认真看程序
18-08-13 19:52
MD0=MW0+MW2=MB0+MB1+MB2+MB4=M0.0+M0.1+M0.2+M0.3+M0.4+M0.5+M0.6+M0.7+M1.0+M1.1+...M3.7
MD是双字,MW是字
MD0用过后下一个只能用MD4,不然会造成地址重叠
18-08-13 20:27
多看看西门子关于地址的说明,估计是从三菱过渡来的
18-08-13 20:53
MD0是一个双字,包括MW0和MW2两个单字,其中MW0是MD0的高16位、MW2是MD0的低16位;
MW0是一个单字,包括MB0和MB1两个字节,其中MB0是MW0的高8位、MB1是MW0的低8位;
MW2是一个单字,包括MB2和MB3两个字节,其中MB2是MW2的高8位、MB3是MW2的低8位;
MB0是一个字节,包括M0.7、M0.6......M0.1、M0.0共计8个位,其中M0.7是MB0最高位、M0.0是MB0最低位;
MB1是一个字节,包括M1.7、M1.6......M1.1、M1.0共计8个位,其中M1.7是MB1最高位、M1.0是MB1最低位;
MB2是一个字节,包括M2.7、M2.6......M2.1、M2.0共计8个位,其中M2.7是MB2最高位、M2.0是MB2最低位;
MB3是一个字节,包括M3.7、M3.6......M3.1、M3.0共计8个位,其中M3.7是MB3最高位、M3.0是MB3最低位;
也可以说:
MD0
=MW0+MW2
=MB0+MB1+MB2+MB3
=M0.7+M0.6+...+M0.1+M0.0+M1.7+M1.6+...+M1.1+M1.0+M2.7+M2.6+...M2.1+M2.0+M3.7+M3.6+...+M3.1+M3.0
M0.7是MD0的最高位(31位)、M3.0是MD0的最低位(0位)
MD0是一个双字、紧接着就是MD4,不能用MD1、MD2、MD3等,否则会造成地址重叠!
字节排列是MB0、MB1、MB2、MB3、MB4、MB5、MB6、MB7
单字排列就是MW0、MW2、MW4、MW6
双字排列就是MD0、MD4
18-08-13 22:48
调用子程序,处理不好“先赋值再使用”也会造成这种问题吧。
18-08-14 06:21
M点,在程序的其他地方输出了。
18-10-08 11:18

工控新闻

更多新闻资讯