伺服驅動器是構成伺服係統的基本部件,廣泛應用於(yu) 各種電力傳(chuan) 動自動控製係統中,如:數控機床、柔性製造係統、機器人驅動、火炮隨動係統、雷達控製、艦船推進、車輛驅動、印刷設備、紡織設備、縫紉設備等。在應用伺服驅動器的過程中,實時讀取和修改各個(ge) 控製參數來達到實時控製,是對伺服係統的基本要求。
本文即針對德國博世力士樂(le) 的伺服驅動器indradrive,采用靈活易用的vb6.0編程語言,通過indradrive本身所帶的rs232串行通信接口,實現了上位pc機與(yu) 伺服驅動器的串行通信,完成了對伺服驅動器內(nei) 部各控製參數的實時控製。
indradrive的通信協議
indradrive采用sis通信協議,它是一種二進製通信協議,含有完整的報文格式和返回校驗格式。針對博世力士樂(le) 的各種產(chan) 品(plc、伺服驅動器等),sis協議的通信格式是統一的。
sis協議采用的數據格式為(wei) :1位起始位,8位數據,1位或2位停止位,無校驗位;通信傳(chuan) 輸數據的波特率為(wei) 115200bps。sis協議采用十六進製數據格式來表示各種指令代碼及數據,其軟件通信指令經過優(you) 化設計後,隻有兩(liang) 條,一條為(wei) 讀指令,一條為(wei) 寫(xie) 指令,兩(liang) 條指令使得上位機軟件編寫(xie) 非常方便。
sis協議的報文格式如附表所示。
附表 sis協議的報文格式

其中報頭由8個(ge) 字節組成,它們(men) 的意義(yi) 如下:
第一個(ge) 字節stz:起始位,默認為(wei) 0x02;
第二個(ge) 字節cs:用於(yu) 校驗數據,它的值是除此字節外,所有的數相加後的低8位值異或ff,再加1後的值;
第三個(ge) 字節datl:除去報頭後所有數據的長度(字節的個(ge) 數);
第四個(ge) 字節datlw:重複第三個(ge) 字節的內(nei) 容;
第五個(ge) 字節cntrl:決(jue) 定錯誤返回類型,默認為(wei) 0x00;
第六個(ge) 字節service:服務類型(讀參數寫(xie) 0x80,寫(xie) 參數寫(xie) 0x8f);
第七個(ge) 字節adrs:驅動器地址;
第八個(ge) 字節adre:驅動器地址。
用戶數據頭包含5個(ge) 字節,意義(yi) 如下:
第一個(ge) 字節control byte:操作參數值,默認為(wei) 0x3c;
第二個(ge) 字節device address(unit address):驅動器地址;
第三個(ge) 字節parameter type:參數類型,對於(yu) 驅動器其值為(wei) 0x00;
第四、五字節parameter number:參數號,對於(yu) 驅動器的s參數,直接寫(xie) 參數號的十六進製值;對於(yu) p參數,寫(xie) “215+參數號”的十六進製值。
用戶數據的數據長度取決(jue) 於(yu) 操作參數的數據類型,如操作參數為(wei) int型,寫(xie) 2個(ge) 字節;為(wei) dword型,寫(xie) 4個(ge) 字節。寫(xie) 的時候注意低位字節在前,高位字節在後。
轉載請注明出處。







相關文章
熱門資訊
精彩導讀



















關注我們

