RM新时代赚钱项目

CS機器人運行中socket通訊斷開(kāi)自動(dòng)重連

2025-05-28

1.簡(jiǎn)介

本篇文章介紹CS機器人作客戶(hù)端在使用腳本與服務(wù)器做socket通訊時(shí)怎么樣循環(huán)判斷連接,通訊斷開(kāi)后怎么樣自動(dòng)連接,以下內容要求機器人應用2.12及以上

2.操作流程

  1. 建立 TCP/IP 網(wǎng)絡(luò )通信

1.當我們單純使用 socket_open()建立 TCP/IP 網(wǎng)絡(luò )通信指令時(shí),如果服務(wù)器還未打開(kāi)時(shí),機器人端戶(hù)端未連接到服務(wù)器,程序依然往下運行,運行到發(fā)送/接收時(shí)機器人就會(huì )報錯如圖1-1所示,這樣機器人就必須初始化重新運行。

圖1-1

2.為了避免圖1-1的情況發(fā)生我們可以利用socket_open()建立 TCP/IP 網(wǎng)絡(luò )通信時(shí)的返回值做條件判斷循環(huán)連接直到連接成功后程序才繼續往下運行。如圖1-2所示如果服務(wù)器未打開(kāi)時(shí)機器人會(huì )一直與服務(wù)器建立連接并打印“連接失敗”到EliRobot 的日志欄中。

圖1-2

3 當服務(wù)器打開(kāi)時(shí)機器人客戶(hù)端連接成功后會(huì )打印到“連接成功“EliRobot 的日志欄中如圖1-3所示,可以用下面代碼1-1配合圖1-4的圖形化編程直接調用df腳本實(shí)現此操作。

圖1-3


圖1-4


代碼1-1

2.向服務(wù)器發(fā)送數據

1.我們單純的使用發(fā)送指令例如:socket_send_string(str, socket_name="socket_0")未判斷發(fā)送是否成功時(shí),如果當機器人客戶(hù)端當時(shí)已經(jīng)與服務(wù)器斷開(kāi)連接了或發(fā)送失敗后程序依然往下繼續運行,如圖2-1所示。

圖2-1

2.為了避免圖2-1的情況發(fā)生,我們可以利用發(fā)送指令的返回時(shí)作為判斷是否發(fā)送成功,發(fā)送失敗時(shí)一直發(fā)送直到發(fā)送成功為止,發(fā)送失敗的情況一般都是機器人客戶(hù)端與服務(wù)器斷開(kāi)連接時(shí)出現的,所以我們可以在發(fā)送前和發(fā)送失敗后通過(guò)“socket_is_connected()”判斷與服務(wù)器連接的狀態(tài)如果斷開(kāi)重新連接再次發(fā)送,如圖2-2所示,可以用下面代碼2-1配合圖2-3的圖形化編程直接調用df腳本實(shí)現此操作。

圖2-2



代碼2-1

3.從服務(wù)器接收數據

1.當我們單純的使用接收指令例如“socket_read_string(timeout=2)”接收服務(wù)器的數據時(shí):

a:如果當機器人與服務(wù)器未連接時(shí)就接收數據就會(huì )如圖3-1所示報錯,此時(shí)程序已經(jīng)停止需要重新初始化程序。

b:如果我們機器人客戶(hù)端未接收到數據程序依然會(huì )往下繼續運行,這樣就會(huì )影響我們的程序流程,如圖3-2所示(未接收到數據,程序依然往下運行,當運行到索引字符串轉換時(shí)沒(méi)有數據程序就會(huì )報錯,這時(shí)程序已經(jīng)停止需要重新初始化程序)。

圖3-1


圖3-2

2.為了避免以上a.b兩種情況發(fā)生,我們可以在接收數據之前通過(guò)“socket_is_connected()”判斷與服務(wù)器連接的狀態(tài)如果斷開(kāi)重新連接,并通過(guò)再次接收接收指令例如“socket_read_string(timeout=2)”的返回值判斷是否接收到數據,返回值為0時(shí),再次接收數據,如圖3-3所示,以用下面代碼3-1配合圖3-3的圖形化編程直接調用df腳本實(shí)現此操作。

圖3-2


圖3-3

代碼3-1


3.常見(jiàn)問(wèn)題解答

  1. 機器人應用版本必須是2.12及以上
  2. 以上代碼是以發(fā)送字符串和讀取字符串為例,如果想發(fā)送/讀取其他數據類(lèi)型,只需要更換代碼中的socket_send_string/socket_read_string即可,具體指令參考CS機器人腳本手冊下載中心_機器人技術(shù)-艾利特機器人

腳本文件:socket.script



download-669.svg comicon14.svg

電話(huà)咨詢(xún)

download-397.svg comicon15.svg

免費試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準備好體驗輪式人形機器人帶來(lái)的效率飛躍了嗎?開(kāi)啟智能制造之旅
了解我們的機器人如何幫助您的業(yè)務(wù)增長(cháng)
歡迎下載艾利特機器人資料

我已閱讀并同意艾利特《隱私政策》和《法律聲明》

我已知曉并同意艾利特通過(guò)電子郵件發(fā)送相關(guān)資料

提交
RM新时代赚钱项目