登录
首页
PLC论坛
施耐德电气PLC
回帖
发帖
正文
主题:求助,M340PLC与组态王通讯问题
点击:3309 回复:14
楼主
编辑
引用
管理
zdy369
数字太长,只有截图发上来了。
20-05-26 22:19
1楼
编辑
引用
管理
FreeTigerMan
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
2楼
编辑
引用
管理
FreeTigerMan
组态王你试试41001和41003,你的41002可能正好是用了第一个的后半截和第二个的前半截,组成了一个没有意义的新数。。。
20-05-27 09:48
3楼
编辑
引用
管理
pqsh
MW1000对应401001吧?
20-05-27 12:52
4楼
编辑
引用
管理
zdy369
谢谢大佬的解答。这个看着可能更直观一点,待会儿再试一下41001和41003看看
20-05-27 13:31
5楼
编辑
引用
管理
zdy369
地址如果如图上这样定义,仿真出来像是地址混乱了样
20-05-27 13:48
6楼
编辑
引用
管理
zdy369
地址如果如图上这样定义,仿真出来像是地址混乱了样
20-05-27 13:51
7楼
编辑
引用
管理
zdy369
用401001仿真结果看下我刚上传仿真的图片呢,还是不对
20-05-27 13:55
8楼
编辑
引用
管理
yutianhe95
MW对应的是16位的,实型应该是32位了吧,另外高低字节先后顺序有没反
20-05-27 15:56
9楼
编辑
引用
管理
zdy369
M340的实数地址好像也是%MW,看之前发的图片能看出来。明天再试下高低位字节这部分
20-05-27 16:59
上一页
下一页
工控新闻
4月工控自动化重大新闻速览
从“湖南制造”到“湖南智造” 湖南举办新一代数字技术与先进制造融合应用场景对接会
embedded world德国站上,哪些大热门技术和应用值得关注?
汇川技术与中国煤科常州研究院开启战略合作
全球首个!人形机器人“天工”以6公里时速奔向你!
到2030年,制造业将有1.08亿个专用蜂窝物联网连接
算力+能源协同优化助力数据中心绿色低碳转型
2024年英威腾海外经销商技术培训圆满结束
更多新闻资讯