CS機器人 30004端口使用
1. 簡(jiǎn)介
RTSI 全稱(chēng)為實(shí)時(shí)數據交互(Real-Time Sychronization Interface), 該協(xié)議提供了標準的
TCP/IP 鏈接, 用于與外部程序進(jìn)行實(shí)時(shí)的數據交互。RTSI 的網(wǎng)絡(luò )端口為 30004。交互的數據內
容例如:
- 輸出:機器人輸出整型寄存器的值、末端負載等
- 輸入:機器人浮點(diǎn)輸入寄存器、數字輸入 IO 的狀態(tài)設置
2. 操作流程
RTSI 分為協(xié)議檢查、設置、同步循環(huán)三個(gè)步驟。
具體流程分為:
1.校驗協(xié)議版本;
2.請求控制器的主版本,次版本,bug-fix 版本,編譯版本
3.設置訂閱需求(這里設置輸出定閱和輸入訂閱);
4.發(fā)送開(kāi)始信號以開(kāi)始同步循環(huán);
5.循環(huán)接收控制器返回的數據包并解析出來(lái)。
2.1 校驗協(xié)議版本
報文頭:86(RTSI_REQUEST_PROTOCOL_VERSION)
上位機向控制柜發(fā)送數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)+協(xié)議版本(當前版本都為 01,2byte)
上位機收到控制柜返回的數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)+校驗是否成功(成功為 1,失敗為 0,1byte)
2.2 請求控制器的主版本,次版本,bug-fix 版本,編譯版本
報文頭:118(RTSI_GET_ELITECONTROL_VERSION)
上位機向控制柜發(fā)送數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)
上位機收到控制柜返回的數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)+主版本(4byte)+次版本(4byte)+ bug-fix 版本
(4byte)+編譯版本(4byte)
2.3 設置訂閱需求(這里設置輸出定閱和輸入訂閱)
2.3.1 訂閱輸出需求
報文頭:79(RTSI_CONTROL_PACKAGE_SETUP_OUTPUTS)
上位機向控制柜發(fā)送數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)+輸出頻率(8byte)+訂閱變量名(string 類(lèi)型)
上位機收到控制柜返回的數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)+訂閱 ID(1byte)+訂閱變量名類(lèi)型(string 類(lèi)型)
2.3.2 訂閱輸入需求
報文頭:73(RTSI_CONTROL_PACKAGE_SETUP_INPUTS)
上位機向控制柜發(fā)送數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte) +訂閱變量名(string 類(lèi)型)
上位機收到控制柜返回的數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)+訂閱 ID(1byte)+訂閱變量名類(lèi)型(string 類(lèi)型)
2.4 發(fā)送開(kāi)始信號以開(kāi)始”同步循環(huán)
報文頭:83(RTSI_CONTROL_PACKAGE_START)
上位機向控制柜發(fā)送數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)
上位機收到控制柜返回的數據格式:
數據總長(cháng)度(2byte)+報文頭(1byte)+是否開(kāi)始(1byte)
2.5 循環(huán)接收控制器返回的數據包
報文頭:85(RTSI_DATA_PACKAGE)
上位機向控制柜發(fā)送數據格式(控制訂閱輸入時(shí)發(fā)送):
數據總長(cháng)度(2byte)+報文頭(1byte)+訂閱 ID(1byte)+值(bytes)
上位機收到控制柜返回的數據格式(循環(huán)接收訂閱輸出):
數據總長(cháng)度(2byte)+報文頭(1byte)+訂閱 ID(1byte)+值(bytes)
說(shuō)明:可以同時(shí)多次訂閱輸出和輸入,每次增加訂閱,ID 號會(huì )加 1,第一次訂閱時(shí) ID 號為 1,在收取訂閱輸出和控制訂閱輸入時(shí),可以根據 ID 來(lái)區分屬于哪次的訂閱。
3. 常見(jiàn)問(wèn)題解答
4. 示例
程序訂閱輸出和輸入訂閱如下

運行打印如下

機器人數據
