您现在所在的是:

串口通信

回帖:21个,阅读:2475 [上一页] [1] [2] [3] [下一页]
17931
lizhengchao
文章数:7318
年度积分:895
历史总积分:17931
注册时间:2008/8/6
发站内信
2018春节活动(三)
发表于:2019/10/15 0:21:08
#10楼
回复 #9楼 guanyumou
按照触摸屏上的互换模式换了一下,不管用。不能直接显示真正的数据。使用串口调试助手读取的数据,再使用3楼提供的网址的数据转换方法就可以转换出真实的数据。
在触摸屏和PLC中怎么做出来,我再多试试,如果实在试不出来就使用模拟量模块读取单一的数据了
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/10/15 10:14:34
#11楼
以下是引用lizhengchao2019/10/15 0:21:08的发言:
按照触摸屏上的互换模式换了一下,不管用。不能直接显示真正的数据。使用串口调试助手读取的数据,再使用3楼提供的网址的数据转换方法就可以转换出真实的数据。
在触摸屏和PLC中怎么做出来,我再多试试,如果实在试不出来就使用模拟量模块读取单一的数据了
我测试了,可以显示,以读温度为例:
触摸屏设置如下:
附件 image.jpg
附件 image.jpg
附件 image.jpg
Modbus Slave设置如下:
附件 image.jpg
附件 image.jpg
仿真测试结果如下所示:
附件 image.jpg
您看看行不行?16进制41AD9BA6就是显示21.7,关键一点是触摸屏选5x类型的寄存器
[此贴子已经被作者于2019/10/15 10:17:49编辑过]
+8
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/10/15 10:17:04
#12楼
以下是引用YXBK2019/10/13 11:49:23的发言:
触摸屏的显示格式要设置成浮点才行呀
这么初级的错误楼主应该不会犯!你不想想是不是因为高低16位互换的问题么
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/10/15 10:22:12
#13楼
以下是引用lizhengchao2019/10/15 0:21:08的发言:
按照触摸屏上的互换模式换了一下,不管用。不能直接显示真正的数据。使用串口调试助手读取的数据,再使用3楼提供的网址的数据转换方法就可以转换出真实的数据。
在触摸屏和PLC中怎么做出来,我再多试试,如果实在试不出来就使用模拟量模块读取单一的数据了
也可以用4X类型寄存器读,读上来后后台写段脚本程序,无非就是以下几种情况来回捣腾,赋值给几个内部浮点变量!总能显示出来:
附件 image.jpg
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
42316
YXBK 版主
文章数:19442
年度积分:2730
历史总积分:42316
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2019/10/15 10:45:07
#14楼
以下是引用guanyumou2019/10/15 10:17:04的发言:
以下是引用YXBK2019/10/13 11:49:23的发言:
触摸屏的显示格式要设置成浮点才行呀
这么初级的错误楼主应该不会犯!你不想想是不是因为高低16位互换的问题么

我有想过,但是转换不了

楼主说的   试着读取了温度数据,实际温度是20.6度,读出的数据是11012611

11012611这个我认为应该是32位的十进制,

转成16进制是 A8 0A 03,然后无论怎样都变不成20.6。
大家一起学习
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/10/15 12:43:36
#15楼
以下是引用YXBK2019/10/15 10:45:07的发言:
以下是引用guanyumou2019/10/15 10:17:04的发言:
以下是引用YXBK2019/10/13 11:49:23的发言:
触摸屏的显示格式要设置成浮点才行呀
这么初级的错误楼主应该不会犯!你不想想是不是因为高低16位互换的问题么

我有想过,但是转换不了

楼主说的   试着读取了温度数据,实际温度是20.6度,读出的数据是11012611

11012611这个我认为应该是32位的十进制,

转成16进制是 A8 0A 03,然后无论怎样都变不成20.6。
这几组数据都是可以正常显示到触摸屏上的
41A3E979,温度为20.5度(该数据是楼主通过调试助手读过来的,那么只要在触摸屏上选择5x类型的寄存器,数据类型选浮点数即可正确显示)
41AD3127,温度为21.6度
41AD9BA6,温度为21.7读
附件 image.jpg

附件 image.jpg

附件 image.jpg
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/10/15 12:47:43
#16楼
以下是引用YXBK2019/10/15 10:45:07的发言:
以下是引用guanyumou2019/10/15 10:17:04的发言:
以下是引用YXBK2019/10/13 11:49:23的发言:
触摸屏的显示格式要设置成浮点才行呀
这么初级的错误楼主应该不会犯!你不想想是不是因为高低16位互换的问题么

我有想过,但是转换不了

楼主说的   试着读取了温度数据,实际温度是20.6度,读出的数据是11012611

11012611这个我认为应该是32位的十进制,

转成16进制是 A8 0A 03,然后无论怎样都变不成20.6。
楼主他已然用串口调试读出了温度数据,发送后有返回:
接收中的数据41A3E979就是温度数据,触摸屏上选5x类型寄存器,数据类型选浮点数即可正常显示20.5度,选5x类型寄存器是因为32位中的高低16位需要互换!
附件 image.jpg
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
17931
lizhengchao
文章数:7318
年度积分:895
历史总积分:17931
注册时间:2008/8/6
发站内信
2018春节活动(三)
发表于:2019/10/18 8:20:14
#17楼
回复 #16楼 guanyumou
谢谢版主详尽的解答,这几天在其他的厂区工作,没顾得上来论坛回复。期间问过设备厂家的技术人员,厂家回复“我们的浮点数格式是按字节高位在前,按4321顺序排列”,下图是厂家技术给的图片
附件 微信图片_20191014225738.jpg
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/10/18 9:34:52
#18楼
以下是引用lizhengchao2019/10/18 8:20:14的发言:
谢谢版主详尽的解答,这几天在其他的厂区工作,没顾得上来论坛回复。期间问过设备厂家的技术人员,厂家回复“我们的浮点数格式是按字节高位在前,按4321顺序排列”,下图是厂家技术给的图片
附件 微信图片_20191014225738.jpg
就像我13楼回答的一样,无非就那几种顺序倒来倒去。总有一种是正确的
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
17931
lizhengchao
文章数:7318
年度积分:895
历史总积分:17931
注册时间:2008/8/6
发站内信
2018春节活动(三)
发表于:2019/10/18 10:36:18
#19楼
回复 #18楼 guanyumou
附件 无标题1.jpg

附件 无标题2.jpg
这是测试的结果。在触摸屏的通讯参数里要选择MODBUS RTU   RTU over TCP  和200SMART通讯时要选择MODBUS RTU(zero-based Addressing)
在触摸屏的通讯参数选项里“3X”和“4X”里面有数据转换方式“AB-BA和ABCD-CDBA”,通过这种设置以后,触摸屏也是不能正确显示数据,只能显示“0.00”,虽然都可以实现高低位顺序调换,“5X”就可以正确显示
还有2个疑问:1、这是时间数据是6字节的BCD数据,触摸屏数据显示只有一个“32bit BCD”,数据怎么设置才能正确显示
            2、我的控制系统想用触摸屏做主站,200SMART和流量计做子站,通过modbusr-rtu读取瞬时流量数据到触摸屏,然后将数据写给PLC,在PLC里根据这个数据做相应的输出动作,整个过程要在5秒内完成。modbus的通讯速度能不能跟得上?
[此贴子已经被作者于2019/10/19 0:05:49编辑过]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005