通过串口与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设备。在井工煤矿中这个设备大量使用。但是对于这个设备,我还缺乏了解。

相关推荐
Murphy20236 小时前
Modbus主从通信功能码与报文格式
modbus
手可摘星宸2 天前
Modbus-RTU报文结构及常用功能码详解
modbus
工业通讯探索者3 天前
ProfiNet转DeviceNet边缘计算网关多品牌集成实践:污水处理厂设备网络融合全流程解析
modbus·工业物联网·工业自动化·数据交互·协议转换网关
IDIOT___IDIOT5 天前
记录一个坑关于STM32 ARM Compiler Version
stm32·硬件·keil5·arm compiler
serene9411 天前
HL7消息编辑器的使用手册
物联网·hl7·消息·modbus·数据·医疗行业·医疗信息
兴达易控12 天前
Profibus DP主站转modbusTCP网关与dp从站通讯案例
网络·网络协议·modbus
周不易14 天前
ubuntu20.04+qt5.12.8安装serialbus
开发语言·c++·qt·modbus·serialbus
技术干货贩卖机18 天前
0基础 | 硬件 | LM386芯片
单片机·嵌入式硬件·硬件·lm386·0基础
兴达易控1 个月前
Modbus TCP转Profibus DP网关接防撞雷达与PLC通讯
网络协议·modbus
promising-w2 个月前
硬件工程师入门教程
笔记·硬件