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

運行打印如下

機器人數據
