软件介绍
小平TCP串口调试特工是一款免费的软件,本人也是一名工控编程爱好者,经常使用串口调试PLC、单片机,试用过各种各样的串口调试软件。基于实际需求,结合各种调试软件的优点,开发出小平TCP串口调试特工。本软件除了普通TCP、串口调试外,主要用以下创新点:
一、串口、TCP相互转发,并可以保存整个通讯过程的数据;
二、支持保存的通讯数据进行主机、从机顺序模拟,还原通讯过程
三、可以根据设定的脚本进行自动回复模拟,创建自己的协议测试
四、自带脚本通讯指令,也可以C#、VB代码脚本扩展,或者混合使用,方便扩展不同的数据处理和测试。
一、如何打开串口调试
二、如何发送数据给串口
三、如何像单片机里一样发送转义字符
这个转义功能在使用AT指令(ESP8266等)时会比较方便,如要加\r\n等
四、如何给发送的内容添加校验
五、如何TCP连接并收发(转发)
其他发送、校验同串口操作一样,要注意的是发送时要选择TCP还是BOTH
六、如何实现多预设数据发送(可多个)
比如用户有10条不同的AT指令,每发一条,又修改发送区的内容,是很不方便的,这时可以按下图操作即可
七、如何设定收发显示的编码:
八、如何自定义校验算法(需要懂C#编程语言)
九、如何通过脚本来调用校验
使用CC:指令
CC:表示执行外部校验程序(保存在CheckCode目录里C#文件)
格式1为: CC:校验名称
(把%RX%作为源内容,校验结果保存在%CCR%变量中)
格式2为: CC:校验名称,源内容,变量1
格式3为: CC:校验名称,源内容,开始位置,长度,变量1
如:CC:CRC16,%S1%,%T1%
注意,CRC16对应CheckCode文件夹里必须要有CRC16.cs C#文件才能执行
注意,如需要自定校验名称,请参考CheckCode\CRC16.cs的内容进行修改
举例,我要对发送区1的内容进行CRC16校验,脚本调试中代码如下:
CC:CRC16,%SEND1%,%TEMP% //调用CRC16,对%SEND1%(发送区1内容)校验,结果保存到%TEMP%变量中,
Join:%SEND%,%SEND1%,%TEMP% //拼接%SEND1%和%TEMP%,保存到%SEND%中并发送
注意,%SEND%是立即发送的系统变量
十、如何模拟并自动回复
应用一:通过通讯记录保存后,进行模拟其中的一端,进行按顺序通讯还原
例如收发记录如下:
[COM->Receive]Hello,I am COM2
[Send->COM] Hello,I am COM1
[COM->Receive]How old are you
[Send->COM] I'm 12
我们设置模拟里发送标记为[Send->COM],接收标记为[[COM->Receive]],打开文件,取消自动回复,开始模拟,当收到Hello,I am COM2时,软件会自动回复Hello,I am COM1,接下来,收到How old are you时,就会回复I'm 12,注意数据格式的选择,模拟的数据必须一模一样。
我们也可以把发送和接收的标记反过来,由收变成发,模拟另一端
应用二:自动回复
勾选回复模式,根据收到的内容,匹配回复,可以不按顺序来模拟
例如收发记录如下:
[COM->Receive]Hello,I am COM2
[Send->COM] Hello,I am COM1
[COM->Receive]How old are you
[Send->COM] I'm 12
我们设置模拟里发送标记为[Send->COM],接收标记为[[COM->Receive]],打开文件,勾选自动回复,开始模拟,当收到Hello,I am COM2时,软件会自动回复Hello,I am COM1,接下来,收到How old are you时,就会回复I'm 12,再收到How old are you,还是自动回复I'm 12。跟应用一不同之处是,应用一是按顺序来的,应用二可以随条件回复
应用三:根据条件和脚本来回复(万能处理)
可参照例子里的MobusRTU脚本例子(十六进制数据),注意发送标记为[TX],接收标记为[RX],如下脚本执行效果,如果收到01 01 开头,8个长度的数据,就回复01 01 01 02 D0 49,如果收到01 03开头,8个长度的数据,就会按照脚本进行数据处理,最后用Send:发送处理后的数据
[RX]C01{S=01 01;L=8}//收到01 01开头,数据总长度为8
[TX][SC] //脚本处理回复
Send:01 01 01 02 D0 49 //回复01 01 01 02 D0 49
[/SC] //脚本处理结束
[RX]C03{S=01 03;L=8}//收到01 03开头,数据总长度为8
[TX][SC] //脚本处理回复
Mid:%LEN%,%RX%,5,2 //取出收到的内容(从第5个数据开始,共两个长度)
Set:%TX%,01 03
Tdec:%LEN%,%LEN%
Mul:%LEN%,2
Chex:%DATA%,%LEN%
Thex:%LEN%,%LEN%
Join:%TX%,%LEN%
Join:%TX%,%DATA%
Set:%CRC%,%TX%
CS:Script\crc16.cs //调用C# CRC16脚本
Join:%TX%,%CRC% //在%TX%里尾部加上校验的结果
Send:%TX% //发送%TX%里的数据
[/SC]
十一、如何利用脚本保存收到数据
1、编写如下代码并保存:
//[Setup]和[/Setup]之间的脚本主要用于初始化,只执行一次
[Setup]
FileDlg:%File%,Save//调用保存对话框,选择要保存的文件名称和位置
[/Setup]
[RX]ID{L>0} //如果收到的长度大于0则执行[TX][SC]和[/SC]之间的脚本
[TX][SC]
//如果数据是十六进制,请修改下一行的代码为SData:%File%,%RX%,H,T
SData:%File%,%RX%,S,T//收到的数据%RX%保存到文件,字符串,追加模式
SData:%File%,%ENTER%,S,T//添加回车%ENTER%保存到文件,字符串,追加模式
//添加回车的目的是每次收到的数据都换行保存
[/SC]
2、打开保存的代码并模拟
十二、如何调试脚本
下载方法,Q群更新下载:761784089
|