stc12单片机通过串口采集modbus协议的智能仪表

2019-07-15 09:39发布

各位大神,小弟最近在做的项目是关于“stc12单片机通过串口采集modbus协议的智能仪表”;单片机使用的是STC12c5a60s2,智能仪表是带有modbus协议的智能电阻表,请问通过rs232如何采集仪表的电阻值数据,此外想两个串口采集两个智能电阻表


小弟刚入论坛,没有积分,若能解决问题,小弟必有感谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
memoryh
1楼-- · 2019-07-16 12:41
将军问鼎 发表于 2017-9-17 14:47
你上面的那张纸 写的已经很明白了,串口设置为  96 N 8 1 ,十六进制发送:01 03 00 62 00 02 65 D5 ,然后,传感器器就会回复的

好的,我先试一下
Ansersion
2楼-- · 2019-07-16 14:39
memoryh 发表于 2017-9-16 21:59
大神,这个是协议,能举个例子么

这张图片举的例子就很好:
向仪表发送:01 03 00 62 00 02 65 D5
01:设备地址(应该是默认为1)
03:读寄存器命令的功能码
00 62:PV1的寄存器地址(也就是说PV1测量值存在这个地址,命令读取的就是这个地址)
00 02:从0x0062这个地址读取2个字的数据,也就是4个字节的数据(MODBUS一个字等于2字节)。
65 D5:CRC校验码

然后仪表返回:01 03 04 6D 96 49 F3 71 66
01:设备地址(应该是默认为1)
03:读寄存器命令的功能码
04:读命令返回了4个字节的数据
6D 96 49 F3:PV1数据值
71 66:CRC校验码
he07413
3楼-- · 2019-07-16 16:49
你需要两个东西:
1.modbus协议文档
2.智能表的数据表
根据modbus文档来写通讯程序,根据智能表的数据表来读取数据、写入数据等操作。

一周热门 更多>