mcgs与mbslave配合实现简单的mobus调试

1.准备工具,mcgs脚本驱动开发工具;串口调试助手;vspm虚拟串口软件;mbslave。制作mcgs脚本驱动的过程,不在本文讨论范围,请参考官方文档。

假设的modbus指令文本如下(均为16进制):

tx:01 03 00 00 00 08 44 0C// 01 设备id,03功能码,00 00 目标寄存器首地址,00 08 寄存器个数,44 0c 标准modbus crc校验
rx:01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 08 00 07 02 9F

//01 设备id ,03功能码,10 返回数据的字节数 00 01 ~ 00 08 八个寄存器数据,02 9f crc校验码

2步骤:

(1)打开vspm虚拟串口,添加两个互联的虚拟串口。过程举例:新增虚拟串口com3(udp模式),串口接收地址127.0.0.1,接收端口7102,串口发送地址127.0.0.1,

发送端口7101;新增串口com4,过程类似,注意接收端口为7101,发送端口为7102,即A与B互相收发;

mcgs与mbslave配合实现简单的mobus调试_第1张图片


(2)打开MOdbus slave工具,新建,点击【set up】-【slave definition】,设置先关参数,slave id对应设备id,function对应功能码,address对应tx指令里00 00的说明

quantity对应寄存器的个数,rows表示通讯测试时在主界面显示的物理量的行数,应该大于quantity的个数;display表示在主界面显示的物理量的行数。右侧的图表示主界面。

左下角response delay表示延迟发送数据的时间,如果想尽快接收的该工具的模拟数据,建议设置为0ms

mcgs与mbslave配合实现简单的mobus调试_第2张图片  mcgs与mbslave配合实现简单的mobus调试_第3张图片


点击【connection】-【connect】,弹出如下窗口,选择配置如下图所示,比较简单,不再解释

mcgs与mbslave配合实现简单的mobus调试_第4张图片


(3)打开mcgs脚本工具,点击【设置】-【串口父设备配置】,弹出如下窗口,设置如下图,不再解释。注意脚本的里通讯延时最大可以设置为999ms,为了保障下位机的数据能顺畅上传,建议设置为最大值,如右下图。

      mcgs与mbslave配合实现简单的mobus调试_第5张图片

设置完成后,点击【调试】-【定时通道采集】,弹出如下对话框,看到预期数据,表示通讯成功。否则表示未成功。请参考(4)

mcgs与mbslave配合实现简单的mobus调试_第6张图片


(4)导致失败的因素:

①查看虚拟串口是否正常工作,的mcgs脚本的串口参数是否正确设置,modbus slave的通讯参数是否正确设置,延时是否恰当。

②如果通过①没有查出原因,建议使用串口调试助手。过程:暂时关闭modbus slave。打开串口调试助手,正确设置通讯参数,使用串口com4,即刚才slave软件使用的串口号。让mcgs脚本驱动发送读取指令,串口调试助手接收,以此判断脚本驱动是否正常的发出了读取指令,如果不正常,则应该集中寻找脚本驱动的问题,否则,关闭脚本驱动,再次打开slave软件。用串口调试工具把刚才接收的读取指令发送给slave软件,看看串口工具是否得到了预期的预期的slave模拟数据,如果不正常,则集中排查slave参数设置的原因。如果mcgs脚本驱动和slave软件单独和串口工具通讯都没有问题,则问题很可能出现在通讯延时上,请仔细查找

你可能感兴趣的:(mcgs)