通过串口与ModBus硬件设备通信

探头与变送器

前面的文章已经实现了ModBus客户端与服务端和他们之间的通信。但只是软件不够,毕竟传感器是硬件。

经过我的了解,一个完整的实现了Modbus协议的,并且通过RS485电缆与电脑交换ModBusRTU报文的Modbus设备,一般由两个部分组成。

  • 探头

    探头就是将物理量转化为电信号的东西。比如一个测温电阻,温度变化时电阻会改变。这个电阻/电压的变化情况可以测得。

  • 变送器

    变送器根据探头传过来的电信号,进行转换和存储,并且给响应电脑ModBusRTU报文。所以变送器左边通过火线与零线连接探头,右边通过RS485电缆连接电脑。内部有一个微型处理器,负责处理探头电信号,查表或者通过曲线得到物理量的值,存储在自身的寄存器中,然后响应报文。

购买设备

RS485转USB转换器

由于我的电脑只有USB接口,没有RS485接口,所以我需要买一个转换器。该设备大概30元,右边是RS485接口,中间是一个芯片,左边是一个USB接口,可以直插电脑。比较令我意外的是,USB接口的访问也是通过串口进行的。

TH10S-B_RS485通讯型温湿度变送器

该设备40元,是一个探头、变送器一体化集成的设备。上面的金属片是温湿度探头,具体的物理原理我没有了解。紧连着金属片后边导线扁平部分就是变送器。服务端程序就在那里。

探头大概几块钱,但变送器贵一点。因为探头的物理特性不同,肯定要和特定型号的变送器适配,才能保证物理量与电信号量的值一一对应,要么就要变送器可以配置这种对应关系。一体化的设备减去了这种麻烦,只需要直接接到转换器上即可。

  • 使用说明书

设备连接

其中绿色与黄色线是双工的485信号线,用来传输ModbusRTU数据包。

  • 驱动安装
    这个地址是店铺客服发送的。USB转485转换器需要安装驱动才能使用,插上后电脑设备管理器中增加了一个串口
    驱动地址

测试

把转换器插上电脑后,打开客户端软件,多了一个COM7串口。

这个变送器和客户端里面还支持设置设备地址。比如我们买了好几个这个设备时,每个设备的初试地址都是默认的1,因此当我们把这些设备接在一条485总线上时,就无法区分不同设备了。所以就需要我们到一个设备一个设备的连接电脑,设置不同的地址,之后再统一连到总线上,实现多个设备的访问。

我询问了我们部门的嵌入式工程师,他说公司做的还不能动态设置地址,采取的是重新编译程序再刷到设备上。

然后开始测试设备。点击连续读取后,我再用双手把传感器捂住,温度和湿度都上升很快很快。

没有读取在读取数据时,转换器上面的指示灯熄灭。每读取一次,闪烁一次。点击客户端软件的连续读取时,指示灯会连续闪烁。

监控主机

实际上还存在一种叫监控主机的东西,可以上面有一到两个网口、多个485串口,以此实现电脑远程通过光纤网络,经过监控主机,访问现场ModBus设备。在井工煤矿中这个设备大量使用。但是对于这个设备,我还缺乏了解。

相关推荐
硬匠的博客7 小时前
第1章 硬件开发流程概述
硬件·开发流程
网络研究院4 天前
控制台安全内部:创新如何塑造未来的硬件保护
安全·模型·硬件·观点·未来·创新·发展
老菜鸟的每一天6 天前
Qt Modbus 2 通信实现
qt·modbus·rtu
萧技电创EIIA19 天前
Modbus TCP 西门子PLC指令以太口地址配置以及 Poll Slave调试软件地址配置
服务器·网络·modbus
serene9419 天前
第二章:信息建模:对象和变量的类型2
物联网·mqtt·modbus·opc·opc ua·iec 104
小白鼠零号22 天前
记录|Modbus-TCP产品使用记录【四川零点】
c#·modbus·modbus-tcp
Sarapines Programmer1 个月前
【Arduino IDE安装】Arduino IDE的简介和安装详情
ide·物联网·硬件·软件·arduino ide
Android技术栈1 个月前
鸿蒙开发(NEXT/API 12)【请求用户授权】手机侧应用开发
harmonyos·鸿蒙·鸿蒙系统·openharmony·硬件
Android技术栈1 个月前
鸿蒙开发(NEXT/API 12)【硬件(取消注册监听系统导航信息和指令)】车载系统
车载系统·移动开发·harmonyos·鸿蒙·鸿蒙系统·openharmony·硬件