Modbus已经逐渐成为工控领域应用非常广泛的通讯方式,从智能仪表到各种多功能电表、变频器等都有支持Modbus通讯的产品,几乎每个项目都会遇到Modbus通讯的问题,学会调试Modbus通讯已经成为每一个工控人员的基本技能。但是工欲善其事必先利其器,拥有调试的必要工具和好用的软件可以达到事半功倍的效果,本文就从调试Modbus的工具和软件入手介绍一下我在调试时的经验和体会。
刚开始入行时,调试通讯是最头疼的问题,明明按照手册一步一步设置,最后就是通讯不上,又不知道问题出在哪里,往往一个Modbus通讯要调试好几天。通过几年的锻炼和吸取别人的经验,个人认为调试通讯需要按照一定的步骤,千万不能一下在把整条Modbus总线接好,然后到主站那边闷头调试。比较科学的步骤是先用笔记本电脑做主站,一个子站一个子站的模拟通讯,保证所有子站报文响应正确,数据上传正常。然后再接好整个Modbus总线,在主站侧仍使用笔记本模拟主站与子站逐一进行通讯,保证所有子站通讯正常。此时如果不正常问题基本出在Modbus总线硬件上,可能是正负接反或者网络断线。经过以上步骤后基本确定整条Modbus总线没有任何问题,然后再把实际的主站接入,通过编程测试通讯,如果通讯不上基本是主站程序问题。此时可以反过来使用笔记本模拟子站,接收主站的报文,查看报文是否正确,检查程序问题。
目前大部分笔记本电脑都没有串口,因此拥有一条比较稳定的USB转串口电缆是调试的前提。以前使用的USB转串口电缆在插到不同的USB口时转换的串口号是不一样的,目前好的电缆可以保持串口号不变,这样就不用每次都检查串口号了。其次Modbus通讯基本都采用RS485标准,因此还需要一个232转485模块,这种模块价格不贵,最好购买有收发状态指示灯的产品,方便查看通讯状态。
最后为了方便接线可以准备一些不同的接口模块,比如如果子站通讯口是RJ45形式,那么我们最好准备一个RJ45接口线(或者用一半网线),子站如果使用DB9形式,也要根据公口和母口准备不同的转接模块。测试通讯阶段可以使用以上形式的转接模块做临时电缆,不仅方便同时也能确定最终的电缆接线方式。
硬件工具备齐了,使用笔记本模拟Modbus还需要一个串口软件来收发报文,目前个人觉得比较好用的就是这款Bitboy软件,模拟主站时它可以自动计算校验值,自动连续发送报文等,模拟子站时它可以自动接收串口收到的报文,方便分析主站的报文是否正确。
总之熟能生巧,准备好利器是调试的第一步,多实验,多调试自然就能成为高手。