登录
首页 PLC论坛 施耐德电气PLC
回帖 发帖
正文

主题:求助,M340PLC与组态王通讯问题

点击:3309 回复:14

数字太长,只有截图发上来了。
附件 plc.jpg
20-05-26 22:19
1.2的对应关系就是这样的, plc 寄存器编号从0开始对应以前的400001,组态王还是老驱动,参见我昆仑通泰的帖子。
3的问题有可能是高低位和寄存器的偏差,还有实数的格式
一个一个说:
寄存器地址偏移1你已经看到了。
数据类型分16位,32位和64位, 分别对应1、2、4个寄存器;
word, int,unint这些是16位, real,float一般是32位, double, long 有的就是64位了,占四个寄存器,具体要看软件的说明书了。
一般整数不会有字节顺序的问题,但32位的浮点数据就有高字节在前还是高字节在后的问题了,比如十六进制表示一个浮点的“数据”是0x12345678,这是四个字节两个字, 假设(我就不去用winhex换算了但建议你用winhex理解一下浮点数的存储格式)这个十六进制数表示的是1.645,那存在两个寄存器41001和41002中,41001中存0x1234,41002存0x5678,(高字节在前)你在plc中用浮点数格式显示41001,可能是1.645, 组态王可能显示的41001浮点数可能就是一个巨大的数,因为组态王可能设的是低字节在前,他理解成0x56781234了,这个顺序一般在驱动程序里可以设置,有的是以1234,3412的格式表示的。。。。。
但这样字节顺序引起的一般差别很大,不会是865变成875.。。,或许你是和下一个数据重叠了。。。。。
不知道你理解了没,详细原因请复习微机原理-数据格式一章。。。。
20-05-27 09:44
组态王你试试41001和41003,你的41002可能正好是用了第一个的后半截和第二个的前半截,组成了一个没有意义的新数。。。
20-05-27 09:48
MW1000对应401001吧?
20-05-27 12:52
谢谢大佬的解答。这个看着可能更直观一点,待会儿再试一下41001和41003看看
附件 12.jpg
附件 5.jpg
附件 6.jpg
附件 7.jpg
附件 8.jpg
20-05-27 13:31
地址如果如图上这样定义,仿真出来像是地址混乱了样
20-05-27 13:48
地址如果如图上这样定义,仿真出来像是地址混乱了样
附件 20.jpg
附件 21.jpg
20-05-27 13:51
用401001仿真结果看下我刚上传仿真的图片呢,还是不对
20-05-27 13:55
MW对应的是16位的,实型应该是32位了吧,另外高低字节先后顺序有没反
20-05-27 15:56
M340的实数地址好像也是%MW,看之前发的图片能看出来。明天再试下高低位字节这部分
20-05-27 16:59

上一页下一页

工控新闻

更多新闻资讯