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

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



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


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

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

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



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

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

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

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

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


注:服務端不管是發送還是接收都一定要客戶端選擇地址


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


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

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


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


2.3.4.3.清除客戶端緩存

某些情況下由于服務器發送的數據沒有被接收,數據會緩存緩沖區里。下一次接 收可能接收到意想不到的數據,造成程序運行錯誤??梢栽诔绦蜷_始前或適當的 時機插入清除客戶端緩存節點。
2.3.4.4.清除服務器緩存

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


原因:客戶端未選擇地址


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