找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6029|回復: 15
收起左側(cè)

推薦一款串口TCP協(xié)議調(diào)試利器-TCP串口調(diào)試特工-[2020.11.24更新]

  [復制鏈接]
ID:471574 發(fā)表于 2020-11-11 08:17 | 顯示全部樓層 |閱讀模式
TCP串口調(diào)試特工[更新3.1]

[2020.11.24更新]優(yōu)化了代碼顏色顯示,修改了啟動時由于電腦沒有串口引起的錯誤

介紹(附件)
TCP串口調(diào)試特工是一款免費的軟件,本人也是一名工控編程愛好者,經(jīng)常使用串口調(diào)試PLC、單片機,試用過各種各樣的串口調(diào)試軟件;趯嶋H需求,結(jié)合各種調(diào)試軟件的優(yōu)點,開發(fā)出TCP串口調(diào)試特工。本軟件除了普通TCP、串口調(diào)試外,主要用以下創(chuàng)新點:
一、串口、TCP相互轉(zhuǎn)發(fā),并可以保存整個通訊過程的數(shù)據(jù);
二、支持保存的通訊數(shù)據(jù)進行主機、從機順序模擬,還原通訊過程
三、可以根據(jù)設(shè)定的腳本進行自動回復通訊,創(chuàng)建自己的協(xié)議測試
四、自帶腳本通訊指令,也可以C#、VB代碼腳本擴展,或者混合使用,方便擴展不同的數(shù)據(jù)處理和測試。
五、功能多多,請參考腳本說明文件
一、 軟件界面說明
12.png
二、 一般的TCP、串口調(diào)試
跟其他一般的串口調(diào)試一樣,設(shè)置好參數(shù)后,打開串口或TCP,然后在手工發(fā)送區(qū)里,設(shè)置好數(shù)據(jù)格式是十六進制還是字符,并設(shè)置收發(fā)源是COM、TCP、BOTH中的那種
選擇BOTH里,按發(fā)送1、發(fā)送2會同時發(fā)給COM和TCP,單選其中的COM、TCP時,只發(fā)給所選的。
三、 TCP和串口轉(zhuǎn)發(fā)
勾選TCP參數(shù)設(shè)置里的“轉(zhuǎn)發(fā)串口”,打開串口和TCP,軟件會把收到TCP的信息發(fā)給串口,相反地,收到串口的信息也會轉(zhuǎn)發(fā)給TCP,這樣TCP和串口能相互通訊。主要應(yīng)用如下:


1.jpg

TCP虛擬成串口的軟件,可以下載有人軟件USR-COM,百度即可下載到
創(chuàng)建虛擬的串口組軟件,可以百度下載VSPD
軟件對轉(zhuǎn)發(fā)通訊過程記錄,可保存成文件供監(jiān)控調(diào)試
四、 文件模擬
應(yīng)用一:通過通訊記錄進行模擬其中的一端,進行按順序通訊還原
例如收發(fā)記錄如下:
[COM->Receive]Hello,I am COM2
[Send->COM] Hello,I am COM1
[COM->Receive]How old are you
[Send->COM] I'm 12
我們設(shè)置模擬里發(fā)送標記為[Send->COM],接收標記為[[COM->Receive]],打開文件,取消自動回復,開始模擬,當收到Hello,I am COM2時,軟件會自動回復Hello,I am COM1,接下來,收到How old are you時,就會回復I'm 12,注意數(shù)據(jù)格式的選擇,模擬的數(shù)據(jù)必須一模一樣。
我們也可以把發(fā)送和接收的標記反過來,由收變成發(fā),模擬另一端
應(yīng)用二:自動回復
根據(jù)收到的內(nèi)容,匹配回復,可以不按順序來模擬
例如收發(fā)記錄如下:
[COM->Receive]Hello,I am COM2
[Send->COM] Hello,I am COM1
[COM->Receive]How old are you
[Send->COM] I'm 12
我們設(shè)置模擬里發(fā)送標記為[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。跟應(yīng)用一不同之處是,應(yīng)用一是按順序來的,應(yīng)用二可以隨條件回復
        應(yīng)用三:根據(jù)條件和腳本來回復(萬能處理)
可參照例子里的MobusRTU腳本例子(十六進制數(shù)據(jù)),設(shè)置接收標記為[RX],發(fā)送標記為[TX],然后勾選自動回復,十六進制,模擬執(zhí)行。如下腳本執(zhí)行效果,如果收到01 01 開頭,8個長度的數(shù)據(jù),就回復0101 01 02 D0 49,如果收到01 03開頭,8個長度的數(shù)據(jù),就會按照腳本進行數(shù)據(jù)處理,最后用Send:發(fā)送處理后的數(shù)據(jù)
[RX]0101[8]  //收到01 01開頭,數(shù)據(jù)總長度為8
[TX][SC]  //腳本處理回復
Send:01 01 01 02 D0 49    //回復01 01 01 02 D0 49
[/SC] //腳本處理結(jié)束
[RX]01 03[8] //收到0103開頭,數(shù)據(jù)總長度為8
[TX][SC] //腳本處理回復
Mid:%LEN%,%RX%,5,2  //取出收到的內(nèi)容(從第5個數(shù)據(jù)開始,共兩個長度)
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     //調(diào)用C# CRC16腳本
Join:%TX%,%CRC%  //在%TX%里尾部加上校驗的結(jié)果
Send:%TX%   //發(fā)送%TX%里的數(shù)據(jù)
[/SC]
五、  腳本調(diào)試
參照例子和腳本說明
快照2.jpg
//VB多行代碼示例,有返回
VEvals:%A%,Test
Dim I as integer=5
Dim J as integer=6
%B%=5
return (I*J).ToString()
Debug:%A%
Debug:%B%
//C#多行代碼示例,無返回
CEvals:%A%,Test
intI =5;
intJ=5;
%B%="5";
%A%=(I*J).ToString();
Debug:%A%
Debug:%B%
//字符模式文字處理范例
Mhex:F //設(shè)置為字符模式
Set:%A%,Hello //把Hello賦值變量%A%
Join:%A%,%ENTER% //拼接字符,%A%=%A%+%ENTER%
Join:%A%,How are you! //拼接字符,%A%=%A%+"How are you!"

Msgbox:%A% //彈出對話框,內(nèi)容為%A%
五、與C#、VB腳本與串口或TCP交互說明
在C#或VB腳本代碼里,通過讀取或修改varp字典的內(nèi)容,可與本軟件進行交互
C#讀取收到信息: 變量=varp[“%RX%”];
VB讀取收到信息,變量=varp(“%RX%”)

在C#腳本發(fā)送數(shù)據(jù)到串口或TCP,請參考Script\Send.cs
122.png
在VB腳本發(fā)送數(shù)據(jù)到串口或TCP,請參考Script\Send.vb

51hei.png



TCPSerialSpy3.1.rar

1.09 MB, 下載次數(shù): 164, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:471574 發(fā)表于 2020-11-11 08:30 | 顯示全部樓層
占個樓位
回復

使用道具 舉報

ID:328014 發(fā)表于 2020-11-11 16:26 | 顯示全部樓層
很有用的好東東,51黑有你更精彩!!!
回復

使用道具 舉報

ID:471574 發(fā)表于 2020-11-11 21:29 | 顯示全部樓層
本帖最后由 zyhlove813 于 2020-11-11 21:38 編輯
51hei團團 發(fā)表于 2020-11-11 16:26
很有用的好東東,51黑有你更精彩!!!

謝謝支持,我今晚加了一個指令FData:可以讀取出文件的數(shù)據(jù),這樣的話可以有些場景方便些,比如發(fā)送文件,或發(fā)送文件里的部分資料
FData:表示讀取文件數(shù)據(jù)到%FDATA%變量中
格式1為: FData:文件,B //二進制數(shù)據(jù)模式讀取
格式2為: FData:文件,S //字符數(shù)據(jù)模式讀取
格式3為: FData:文件,B,開始位置 //從開始位置進行二進制數(shù)據(jù)模式讀取
格式4為: FData:文件,S,開始位置 //從開始位置進行字符模式讀取
格式5為: FData:文件,B,開始位置,長度 //以二進制數(shù)據(jù)模式讀取部分長度
格式6為: FData:文件,S,開始位置,長度 //以字符模式讀取部分長度
注意,數(shù)據(jù)的第一個位置是從1開始的
以上功能已更新到附件
回復

使用道具 舉報

ID:843002 發(fā)表于 2020-11-13 11:26 | 顯示全部樓層
作者好棒。強的很
回復

使用道具 舉報

ID:471574 發(fā)表于 2020-11-13 15:20 | 顯示全部樓層

謝謝支持
回復

使用道具 舉報

ID:86450 發(fā)表于 2020-11-14 14:56 | 顯示全部樓層
很有用的好東東,51黑有你更精彩!!!
回復

使用道具 舉報

ID:407849 發(fā)表于 2020-11-15 21:25 來自手機 | 顯示全部樓層
這個厲害。
回復

使用道具 舉報

ID:471574 發(fā)表于 2020-11-17 08:03 | 顯示全部樓層
//C#多行代碼示例,無返回
//CEvals:%A%,Test  這個搞錯了,無返回的格式如下
CEvals:Test
int I =5;
int J=5;
%B%="5";
%A%=(I*J).ToString();
Debug:%A%
Debug:%B%
回復

使用道具 舉報

ID:845166 發(fā)表于 2020-11-17 23:56 | 顯示全部樓層
謝謝分享,好久不玩單片機了
回復

使用道具 舉報

ID:960072 發(fā)表于 2021-8-11 21:21 | 顯示全部樓層
這是個好東西!
回復

使用道具 舉報

ID:829222 發(fā)表于 2023-2-6 17:24 | 顯示全部樓層
這是個不錯的東西,后面再研究一下功能
回復

使用道具 舉報

ID:1003097 發(fā)表于 2023-3-11 22:10 | 顯示全部樓層
這是個好東西!謝謝!
回復

使用道具 舉報

ID:471574 發(fā)表于 2024-9-24 09:06 | 顯示全部樓層
最新版更新到3.6,不知道怎么在貼中更新,現(xiàn)在分享在QQ群下載:761784089
回復

使用道具 舉報

ID:471574 發(fā)表于 2024-9-26 08:55 | 顯示全部樓層
腳本功能越來越強大了,模擬Modbus RTU Slave、三菱PLC、STM32燒錄、解析協(xié)議等,能想的,你就可以DIY腳本實現(xiàn)
回復

使用道具 舉報

ID:1037819 發(fā)表于 2024-11-20 14:47 | 顯示全部樓層
腳本功能越來越強大了,模擬Modbus RTU Slave、三菱PLC、STM32燒錄、解析協(xié)議等,能想的,你就可以DIY腳本實現(xiàn)
新的版本在哪里下載?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表