|无需现场调试,虚拟串口工具的灵活应用( 二 )



TCP服务器虚拟串口(Modbus RTU)虚拟串口的方式不同 , 虚拟从机的连接方式也就不同 , 利用虚拟串口的TCP服务器模式虚拟串口1(COM1)如下:

MCGS配置不用修改 , 只需配置仿真从机 , 由于Modbus Slave不支持TCP客户端使用Modbus RTU协议通讯R , 因此需要在客户端模式虚拟串口10(COM10) , 让虚拟串口工具自连接 。

利用TCP服务器与客户端的自连接 , 我就可以全程使用串口且使用RTU协议进行数据收发;

修改从机连接方式为“Serial Port” , 并选择串口10 , 两个虚拟串口的波特率参数可以不同 , 串口和串口之间通过TCP协议进行转发;

仿真屏幕控制仿真设备的第四路输出;

该虚拟串口工具支持数据监控 , 使能监控 , 记录收发情况如下:

也可以利用虚拟串口工具UDP模式实现以上功能 , 方法基本相同不再赘述;
云虚拟串口远程采集利用一台E95-DTU(4G-02)结合虚拟调试工具实现远程数据采集 , 以采集远程电表有功功率为例 , 采集方法基于Modbus RTU协议;
DTSU666寄存器操作方法 , 详细寄存器列表请阅读“正泰DTSU666用户手册” , 此处截取原手册关于有功总电能读取方法说明 , 如下:
读当前正向有功总电能 ImpEp (101EH)
读命令帧:01 03 10 1E 00 02 A0 CD(十六进制 , 01 为表地址 , 03 为读命令 , 101E 为当前正向有功总电能地址 , 0002 为单精度浮点数据长度 , A0CD 为 CRC16 校验码)
返 回 帧:01 03 04 3F F1 EB 85 28 87(01 为表地址 , 03 为读命令 , 04 为读寄存器返回数据数量 , 3FF1EB85 为浮点数据 , 2887 为 CRC16 校验码)
ImpEp 测量值=0x3FF1EB85(单精度浮点)×电流变比×电压变比=1.89(十进 制)×20×(10×0.1)= 37.8kWH 。
配置云虚拟串口连接EBYTE服务器与现场E95-DTU(4G-02)实现数据互通 , 选择虚拟串口号为COM1 , 并将E95-DTU(4G-02)侧面的SN写入设备SN码输入框 , 点击“确认添加”;

等待虚拟串口服务器连接成功 , 如下图所示;

打开串口调试工具 , 选择虚拟串口号 , 此处的波特率参数最好和设备相同 , 使能16进制接收并打开时间戳 , 选择16进制发送Modbus 指令(0x0103101e0002adcd)等待设备返回数据 , 利用IEEE754标准解析浮点数据;

利用网页在线转换(https://lostphp.com/hexconvert/) , 如下图所示:
【|无需现场调试,虚拟串口工具的灵活应用】