艾利特CS系列機器人socket插件的使用教程
1.簡介

機器人本身的socket通訊只有腳本這一種方式,用戶編寫腳本通訊耗時 多,且不能開機自動連接,此插件提供用戶界面減少用戶使用socket的時間,同時提供開機自啟或自動連接的客戶端和服務(wù)器,并且提供快捷指令。
2.操作流程
2.1.環(huán)境準備
版本信息:
- 機器人系統(tǒng)版本v2.11及以上
- 擴展socket插件exsocket-5.9.1.elico
功能實現(xiàn):
- 使用調(diào)試助手模擬視覺做(客戶端/服務(wù)端)與機器人通過收發(fā)字符串來實現(xiàn)簡單交互。
2.2.插件導入
2.2.1.將帶有插件的 u盤插入示教器上
2.2.2.點擊右上角菜單-設(shè)置-選擇系統(tǒng)目錄下“ELITECOS”-點擊“+”-選擇U盤文件找到U盤里的插件包-點擊“打開”-選擇“未激活”確認無誤后-點擊”重啟3“即可



2.3.插件使用
2.3.1.機器人設(shè)置IP
該插件適用于本機器人的FB1網(wǎng)口:(在機器人設(shè)置→網(wǎng)絡(luò)→FB1網(wǎng)絡(luò)里的IP地址)


2.3.2.機器人做客戶端
2.3.2.1.客戶端連接
方法1;
在導入拓展socket插件之后,在“配置”-“socket配置”里可以設(shè)置客戶端的參數(shù)
只需要輸入對應(yīng)的(服務(wù)端地址,端口號,點擊“連接”)界面上也會有連接狀態(tài)反饋。
在擴展socket插件的“socket配置”中我們可以一些便捷功能能使用
比如; 開機自動連接(只需勾選上)
連接綁定到指定輸出(DO(0)-DO(15))

此圖-表示已經(jīng)連接上對應(yīng)服務(wù)器
方法2;
在任務(wù)里直接添加
選擇導航欄“任務(wù)”-指令欄選擇“插件”-點擊"Socket Client"-設(shè)置該指令(勾選“連接”-輸入對應(yīng)的服務(wù)端地址,端口號,“運行”或點擊"連接"即可)

2.3.2.2.客戶端發(fā)送
選擇導航欄“任務(wù)”-指令欄選擇“插件”-點擊"Socket Client"-設(shè)置該指令(勾選“發(fā)送”-輸入對應(yīng)的數(shù)據(jù)類型)可以手動點擊”發(fā)送“,也可以直接”運行任務(wù)“來發(fā)送



以字符串輸入“hell world”為例

2.3.2.3.客戶端接收
選擇導航欄“任務(wù)”-指令欄選擇“插件”-點擊"Socket Client"-設(shè)置該指令(勾選“接收”-輸入對應(yīng)的數(shù)據(jù)類型)可以手動點擊”接收“,也可以直接”運行任務(wù)“來接收

可以選擇或者編輯接收數(shù)據(jù)的“變量“,設(shè)置超時時間,默認:0表示一直等待接收值,可以選擇接收到的值的類型(注;如果如果發(fā)送的數(shù)據(jù),無法變成對應(yīng)選擇類型會發(fā)生彈窗錯誤
比如;發(fā)送的值為[1,2,3]數(shù)組,選擇的是整數(shù)類型就會發(fā)生彈窗錯誤)
2.3.3.機器人做服務(wù)端
2.3.3.1.服務(wù)端開啟監(jiān)聽
方法1;
在導入拓展socket插件之后,在“配置”-“socket配置”里可以設(shè)置服務(wù)端的參數(shù)
只需要輸入對應(yīng)的(服務(wù)端地址,端口號,點擊“啟動監(jiān)聽”)界面上也會有監(jiān)聽狀態(tài)反饋,監(jiān)聽成功后即可叫客戶端來連接。
在擴展socket插件的“socket配置”中我們可以一些便捷功能能使用
比如; 開機自動監(jiān)聽(只需勾選上)

方法2;
在任務(wù)里直接添加
選擇導航欄“任務(wù)”-指令欄選擇“插件”-點擊"Socket Server"-設(shè)置該指令(勾選“監(jiān)聽”-輸入對應(yīng)的服務(wù)端地址,端口號,“運行任務(wù)”或點擊"監(jiān)聽"即可)

注:每次任務(wù)運行監(jiān)聽指令會讓客戶端連接斷開,所以無特殊需求方法2不建議使用。
2.3.3.2.服務(wù)端發(fā)送
選擇導航欄“任務(wù)”-指令欄選擇“插件”-點擊"Socket Server"-設(shè)置該指令(勾選“發(fā)送”-輸入對應(yīng)的數(shù)據(jù)類型)可以手動點擊”發(fā)送“,也可以直接”運行任務(wù)“來發(fā)送


注:服務(wù)端不管是發(fā)送還是接收都一定要客戶端選擇地址


2.3.3.3.服務(wù)端接收
選擇導航欄“任務(wù)”-指令欄選擇“插件”-點擊"Socket Server"-設(shè)置該指令(勾選“接收”-輸入對應(yīng)的數(shù)據(jù)類型)可以手動點擊”接收“,也可以直接”運行任務(wù)“來接收


注:服務(wù)端不管是發(fā)送還是接收都一定要客戶端選擇地址
可以選擇或者編輯接收數(shù)據(jù)的“變量“,設(shè)置超時時間,默認:0表示一直等待接收值,可以選擇接收到的值的類型(注;如果如果發(fā)送的數(shù)據(jù),無法變成對應(yīng)選擇類型會發(fā)生彈窗錯誤
比如;發(fā)送的值為[1,2,3]數(shù)組,選擇的是整數(shù)類型就會發(fā)生彈窗錯誤)

2.3.4.socket插件便捷指令
2.3.4.1.字符串拆分
該指令可以把接收的字符串型數(shù)據(jù)用符號進行分割(數(shù)字可以自動轉(zhuǎn)換成整型或者浮點型直接用于計算等操作)


2.3.4.2.數(shù)組賦值
該指令可以直接把數(shù)組里的數(shù)據(jù)拆分賦值到變量里,下標代表需要獲取的數(shù)組里的第幾位數(shù)據(jù)(從0開始)


2.3.4.3.清除客戶端緩存

某些情況下由于服務(wù)器發(fā)送的數(shù)據(jù)沒有被接收,數(shù)據(jù)會緩存緩沖區(qū)里。下一次接 收可能接收到意想不到的數(shù)據(jù),造成程序運行錯誤。可以在程序開始前或適當?shù)?時機插入清除客戶端緩存節(jié)點。
2.3.4.4.清除服務(wù)器緩存

某些情況下由于客戶端發(fā)送的數(shù)據(jù)沒有被接收,數(shù)據(jù)會緩存緩沖區(qū)里。下一次接 收可能接收到意想不到的數(shù)據(jù),造成程序運行錯誤??梢栽诔绦蜷_始前或適當?shù)?時機插入清除服務(wù)器緩存節(jié)點
3.常見問題解答
3.1.1.客戶端/服務(wù)端連接不上?
- 機器人為客戶端時查看對應(yīng)的IP地址是否填錯,是否是同一網(wǎng)段,是否可以ping通,是否網(wǎng)線插在在FB1網(wǎng)口。
3.1.2.可能發(fā)生的報錯


原因:客戶端未選擇地址


原因:接收數(shù)據(jù)超時
4.示例
屏幕錄制 2024-09-02 152937.mp4