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

探头与变送器

前面的文章已经实现了ModBus客户端与服务端和他们之间的通信。但只是软件不够,毕竟传感器是硬件。
经过我的了解,一个完整的实现了Modbus协议的,并且通过RS485电缆与电脑交换ModBusRTU报文的Modbus设备,一般由两个部分组成。

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

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

购买设备

RS485转USB转换器

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

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

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

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

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

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

  • 使用说明书
    通过串口与ModBus硬件设备通信

设备连接

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

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

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

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

测试

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

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

这个变送器和客户端里面还支持设置设备地址。比如我们买了好几个这个设备时,每个设备的初试地址都是默认的1,因此当我们把这些设备接在一条485总线上时,就无法区分不同设备了。所以就需要我们到一个设备一个设备的连接电脑,设置不同的地址,之后再统一连到总线上,实现多个设备的访问。
我询问了我们部门的嵌入式工程师,他说公司做的还不能动态设置地址,采取的是重新编译程序再刷到设备上。

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

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

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

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

监控主机

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

发表评论

相关文章