TCP串口調(diào)試特工[更新3.1]
[2020.11.24更新]優(yōu)化了代碼顏色顯示,修改了啟動(dòng)時(shí)由于電腦沒(méi)有串口引起的錯(cuò)誤
介紹(附件) TCP串口調(diào)試特工是一款免費(fèi)的軟件,本人也是一名工控編程愛(ài)好者,經(jīng)常使用串口調(diào)試PLC、單片機(jī),試用過(guò)各種各樣的串口調(diào)試軟件。基于實(shí)際需求,結(jié)合各種調(diào)試軟件的優(yōu)點(diǎn),開(kāi)發(fā)出TCP串口調(diào)試特工。本軟件除了普通TCP、串口調(diào)試外,主要用以下創(chuàng)新點(diǎn): 一、串口、TCP相互轉(zhuǎn)發(fā),并可以保存整個(gè)通訊過(guò)程的數(shù)據(jù); 二、支持保存的通訊數(shù)據(jù)進(jìn)行主機(jī)、從機(jī)順序模擬,還原通訊過(guò)程 三、可以根據(jù)設(shè)定的腳本進(jìn)行自動(dòng)回復(fù)通訊,創(chuàng)建自己的協(xié)議測(cè)試 四、自帶腳本通訊指令,也可以C#、VB代碼腳本擴(kuò)展,或者混合使用,方便擴(kuò)展不同的數(shù)據(jù)處理和測(cè)試。 五、功能多多,請(qǐng)參考腳本說(shuō)明文件
一、 軟件界面說(shuō)明
12.png (139.02 KB, 下載次數(shù): 143)
下載附件
2020-11-11 08:04 上傳
二、 一般的TCP、串口調(diào)試 跟其他一般的串口調(diào)試一樣,設(shè)置好參數(shù)后,打開(kāi)串口或TCP,然后在手工發(fā)送區(qū)里,設(shè)置好數(shù)據(jù)格式是十六進(jìn)制還是字符,并設(shè)置收發(fā)源是COM、TCP、BOTH中的那種 選擇BOTH里,按發(fā)送1、發(fā)送2會(huì)同時(shí)發(fā)給COM和TCP,單選其中的COM、TCP時(shí),只發(fā)給所選的。 三、 TCP和串口轉(zhuǎn)發(fā) 勾選TCP參數(shù)設(shè)置里的“轉(zhuǎn)發(fā)串口”,打開(kāi)串口和TCP,軟件會(huì)把收到TCP的信息發(fā)給串口,相反地,收到串口的信息也會(huì)轉(zhuǎn)發(fā)給TCP,這樣TCP和串口能相互通訊。主要應(yīng)用如下:
1.jpg (65.64 KB, 下載次數(shù): 144)
下載附件
2020-11-11 08:04 上傳
TCP虛擬成串口的軟件,可以下載有人軟件USR-COM,百度即可下載到 創(chuàng)建虛擬的串口組軟件,可以百度下載VSPD 軟件對(duì)轉(zhuǎn)發(fā)通訊過(guò)程記錄,可保存成文件供監(jiān)控調(diào)試 四、 文件模擬 應(yīng)用一:通過(guò)通訊記錄進(jìn)行模擬其中的一端,進(jìn)行按順序通訊還原 例如收發(fā)記錄如下: [COM->Receive]Hello,I am COM2 [Send->COM] Hello,I am COM1 [COM->Receive]How old are you [Send->COM] I'm 12 我們?cè)O(shè)置模擬里發(fā)送標(biāo)記為[Send->COM],接收標(biāo)記為[[COM->Receive]],打開(kāi)文件,取消自動(dòng)回復(fù),開(kāi)始模擬,當(dāng)收到Hello,I am COM2時(shí),軟件會(huì)自動(dòng)回復(fù)Hello,I am COM1,接下來(lái),收到How old are you時(shí),就會(huì)回復(fù)I'm 12,注意數(shù)據(jù)格式的選擇,模擬的數(shù)據(jù)必須一模一樣。 我們也可以把發(fā)送和接收的標(biāo)記反過(guò)來(lái),由收變成發(fā),模擬另一端 應(yīng)用二:自動(dòng)回復(fù) 根據(jù)收到的內(nèi)容,匹配回復(fù),可以不按順序來(lá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 我們?cè)O(shè)置模擬里發(fā)送標(biāo)記為[Send->COM],接收標(biāo)記為[[COM->Receive]],打開(kāi)文件,勾選自動(dòng)回復(fù),開(kāi)始模擬,當(dāng)收到Hello,I am COM2時(shí),軟件會(huì)自動(dòng)回復(fù)Hello,I am COM1,接下來(lái),收到How old are you時(shí),就會(huì)回復(fù)I'm 12,再收到How old are you,還是自動(dòng)回復(fù)I'm 12。跟應(yīng)用一不同之處是,應(yīng)用一是按順序來(lái)的,應(yīng)用二可以隨條件回復(fù) 應(yīng)用三:根據(jù)條件和腳本來(lái)回復(fù)(萬(wàn)能處理) 可參照例子里的MobusRTU腳本例子(十六進(jìn)制數(shù)據(jù)),設(shè)置接收標(biāo)記為[RX],發(fā)送標(biāo)記為[TX],然后勾選自動(dòng)回復(fù),十六進(jìn)制,模擬執(zhí)行。如下腳本執(zhí)行效果,如果收到01 01 開(kāi)頭,8個(gè)長(zhǎng)度的數(shù)據(jù),就回復(fù)0101 01 02 D0 49,如果收到01 03開(kāi)頭,8個(gè)長(zhǎng)度的數(shù)據(jù),就會(huì)按照腳本進(jìn)行數(shù)據(jù)處理,最后用Send:發(fā)送處理后的數(shù)據(jù) [RX]0101[8] //收到01 01開(kāi)頭,數(shù)據(jù)總長(zhǎng)度為8 [TX][SC] //腳本處理回復(fù) Send:01 01 01 02 D0 49 //回復(fù)01 01 01 02 D0 49 [/SC] //腳本處理結(jié)束 [RX]01 03[8] //收到0103開(kāi)頭,數(shù)據(jù)總長(zhǎng)度為8 [TX][SC] //腳本處理回復(fù) Mid:%LEN%,%RX%,5,2 //取出收到的內(nèi)容(從第5個(gè)數(shù)據(jù)開(kāi)始,共兩個(gè)長(zhǎng)度) 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%里尾部加上校驗(yàn)的結(jié)果 Send:%TX% //發(fā)送%TX%里的數(shù)據(jù) [/SC] 五、 腳本調(diào)試 參照例子和腳本說(shuō)明
快照2.jpg (110.73 KB, 下載次數(shù): 134)
下載附件
2020-11-11 08:06 上傳
//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#多行代碼示例,無(wú)返回 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% //彈出對(duì)話框,內(nèi)容為%A% 五、與C#、VB腳本與串口或TCP交互說(shuō)明 在C#或VB腳本代碼里,通過(guò)讀取或修改varp字典的內(nèi)容,可與本軟件進(jìn)行交互 C#讀取收到信息: 變量=varp[“%RX%”]; VB讀取收到信息,變量=varp(“%RX%”)
在C#腳本發(fā)送數(shù)據(jù)到串口或TCP,請(qǐng)參考Script\Send.cs
122.png (134.84 KB, 下載次數(shù): 131)
下載附件
2020-11-11 08:10 上傳
在VB腳本發(fā)送數(shù)據(jù)到串口或TCP,請(qǐng)參考Script\Send.vb
51hei.png (5.41 KB, 下載次數(shù): 122)
下載附件
2020-11-11 15:50 上傳
|