當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]伺服驅(qū)動器是構(gòu)成伺服系統(tǒng)的基本部件,廣泛應(yīng)用于各種電力傳動自動控制系統(tǒng)中,如:數(shù)控機(jī)床、柔性制造系統(tǒng)、機(jī)器人驅(qū)動、火炮隨動系統(tǒng)、雷達(dá)控制、艦船推進(jìn)、車輛驅(qū)動、印刷設(shè)備、紡織設(shè)備、縫紉設(shè)備等。在應(yīng)用伺服

伺服驅(qū)動器是構(gòu)成伺服系統(tǒng)的基本部件,廣泛應(yīng)用于各種電力傳動自動控制系統(tǒng)中,如:數(shù)控機(jī)床、柔性制造系統(tǒng)、機(jī)器人驅(qū)動、火炮隨動系統(tǒng)、雷達(dá)控制、艦船推進(jìn)、車輛驅(qū)動、印刷設(shè)備、紡織設(shè)備、縫紉設(shè)備等。在應(yīng)用伺服驅(qū)動器的過程中,實(shí)時(shí)讀取和修改各個(gè)控制參數(shù)來達(dá)到實(shí)時(shí)控制,是對伺服系統(tǒng)的基本要求。

本文即針對德國博世力士樂的伺服驅(qū)動器indradrive,采用靈活易用的VB6.0編程語言,通過indradrive本身所帶的rs232串行通信接口,實(shí)現(xiàn)了上位pc機(jī)與伺服驅(qū)動器的串行通信,完成了對伺服驅(qū)動器內(nèi)部各控制參數(shù)的實(shí)時(shí)控制。

indradrive的通信協(xié)議indradrive采用sis通信協(xié)議,它是一種二進(jìn)制通信協(xié)議,含有完整的報(bào)文格式和返回校驗(yàn)格式。針對博世力士樂的各種產(chǎn)品(plc、伺服驅(qū)動器等),sis協(xié)議的通信格式是統(tǒng)一的。

sis協(xié)議采用的數(shù)據(jù)格式為:1位起始位,8位數(shù)據(jù),1位或2位停止位,無校驗(yàn)位;通信傳輸數(shù)據(jù)的波特率為115200bps.sis協(xié)議采用十六進(jìn)制數(shù)據(jù)格式來表示各種指令代碼及數(shù)據(jù),其軟件通信指令經(jīng)過優(yōu)化設(shè)計(jì)后,只有兩條,一條為讀指令,一條為寫指令,兩條指令使得上位機(jī)軟件編寫非常方便。

sis協(xié)議的報(bào)文格式如附表所示。

 

附表sis協(xié)議的報(bào)文格式

其中報(bào)頭由8個(gè)字節(jié)組成,它們的意義如下:第一個(gè)字節(jié)stz:起始位,默認(rèn)為0x02;第二個(gè)字節(jié)cs:用于校驗(yàn)數(shù)據(jù),它的值是除此字節(jié)外,所有的數(shù)相加后的低8位值異或ff,再加1后的值;第三個(gè)字節(jié)datl:除去報(bào)頭后所有數(shù)據(jù)的長度(字節(jié)的個(gè)數(shù));第四個(gè)字節(jié)datlw:重復(fù)第三個(gè)字節(jié)的內(nèi)容;第五個(gè)字節(jié)cntrl:決定錯(cuò)誤返回類型,默認(rèn)為0x00;第六個(gè)字節(jié)service:服務(wù)類型(讀參數(shù)寫0x80,寫參數(shù)寫0x8f);第七個(gè)字節(jié) adrs:驅(qū)動器地址;第八個(gè)字節(jié)adre:驅(qū)動器地址。

用戶數(shù)據(jù)頭包含5個(gè)字節(jié),意義如下:第一個(gè)字節(jié)control byte:操作參數(shù)值,默認(rèn)為0x3c;第二個(gè)字節(jié)device address(unit address):驅(qū)動器地址;第三個(gè)字節(jié)parameter type:參數(shù)類型,對于驅(qū)動器其值為0x00;第四、五字節(jié)parameter number:參數(shù)號,對于驅(qū)動器的s參數(shù),直接寫參數(shù)號的十六進(jìn)制值;對于p參數(shù),寫“215+參數(shù)號”的十六進(jìn)制值。

用戶數(shù)據(jù)的數(shù)據(jù)長度取決于操作參數(shù)的數(shù)據(jù)類型,如操作參數(shù)為int型,寫2個(gè)字節(jié);為dword型,寫4個(gè)字節(jié)。寫的時(shí)候注意低位字節(jié)在前,高位字節(jié)在后。

VB實(shí)現(xiàn)pc機(jī)與indradrive的串行通信pc機(jī)與indradrive的通信常采用主從問答方式,pc機(jī)始終具有初始傳送優(yōu)先權(quán),所有的通信均由 pc機(jī)來啟動。每次通信都是由pc機(jī)通過發(fā)送(讀/寫參數(shù))命令啟動通信,indradrive在接到pc機(jī)發(fā)送的命令后,首先檢查命令中的起始標(biāo)志,然后檢查命令中的驅(qū)動器地址是否與自己的驅(qū)動器地址相符,如果不一致,說明計(jì)算機(jī)是與其它的驅(qū)動器進(jìn)行通信,從而忽略該命令;如果一致,就響應(yīng)該命令,并將執(zhí)行結(jié)果回送到pc機(jī),一次通信過程結(jié)束。

在VB的控件工具箱中提供了一個(gè)使用非常方便的串行通信控件mscomm,它全面地提供了使用串行通信上層開發(fā)的所有細(xì)則,串行通信的實(shí)現(xiàn)既可以采用中斷方式,又可以采用查詢方式。mscomm控件提供了實(shí)現(xiàn)串行端口中斷功能的oncomm事件,該事件是唯一的,可以截取串口的任何消息,當(dāng)有串口事件或錯(cuò)誤發(fā)生時(shí),VB程序就會自動轉(zhuǎn)入oncomm事件處理程序中。commevent屬性存有串口最近的事件或錯(cuò)誤的數(shù)值代碼,可以在程序中隨時(shí)讀取 commevent屬性值來了解通信情況,oncomm事件是和commevent屬性密切相關(guān)、一起使用,當(dāng)任何一個(gè)oncomm事件或錯(cuò)誤發(fā)生時(shí),都會使得commevent屬性值改變。在oncomm事件處理過程中,可以通過判斷commevent屬性值,對于不同的屬性值轉(zhuǎn)入不同的事件處理過程。

根據(jù)sis通信協(xié)議的規(guī)定,VB程序中主要是針對mscomm控件的操作,主要有mscomm控件的初始化和oncomm事件的處理。

mscomm控件的主要初始化代碼如下:mscomm_com1.commport = 1‘設(shè)定需要使用的串口mscomm_com1.settings =“115200,n,8,1”

‘設(shè)定傳輸?shù)牟ㄌ芈屎托r?yàn)方式mscomm_com1.portopen = true’打開通信串口mscomm_com1.rthreshold = 1‘設(shè)置輸入緩沖區(qū)字符輸入門限oncomm事件的處理程序主要代碼如下:private sub mscomm_com1_oncomm()

dim input_buffer as variant dim upper_limit as integer dim input_to_hex as string dim i as integer input_buffer = mscomm_com1.input‘從接收緩沖區(qū)copy字符upper_limit = ubound(input_buffer)

‘收到數(shù)據(jù)的個(gè)數(shù)for i = 0 to upper_limit input_to_hex = hex(input_buffer(i))

‘將接收到的數(shù)據(jù)轉(zhuǎn)化為十六進(jìn)制if len(input_to_hex)《2 then’將不滿兩位的十六進(jìn)制值前補(bǔ)0 input_to_hex =“0”input_to_hex end if if i = 0 then‘每開始新的一次接收,清空顯示文本框txtreceivedata.text =“”

end if txtreceivedata.text = txtreceivedata.text input_to_hex“”

‘顯示接收的內(nèi)容next end sub讀寫命令實(shí)例及注意事項(xiàng)有了上面的基礎(chǔ),就可以根據(jù)sis協(xié)議的數(shù)據(jù)格式來實(shí)時(shí)讀寫indradrive的內(nèi)部參數(shù),如讀取位置反饋值參數(shù)s- 0-0051的值,首先將參數(shù)號51轉(zhuǎn)化為十六進(jìn)制數(shù)33,即在用戶數(shù)據(jù)頭的第四、五兩個(gè)字節(jié)分別寫入3300(注意:高字節(jié)在后,低字節(jié)在前);其它字節(jié)可以相繼得出,因是讀參數(shù)值,所以不需寫用戶數(shù)據(jù);從而發(fā)送內(nèi)容應(yīng)為:02 02 05 05 00 80 01 01 3c 01 00 33 00.如果通信正常,則會接收到類似的字節(jié)內(nèi)容:02 20 07 07 10 80 01 01 00 3c 01 4e ac 07 00,其中后4個(gè)字節(jié)即為位置反饋值(注意:高字節(jié)在后,低字節(jié)在前),十六進(jìn)制表示應(yīng)為7ac4e,將其轉(zhuǎn)化為十進(jìn)制為502862,實(shí)際的位置值應(yīng)為 50.2862(位置值的分辨率為0.0001)。在寫參數(shù)時(shí),和讀參數(shù)的不同的地方就是用到用戶數(shù)據(jù),也就是將欲寫入的值寫到用戶數(shù)據(jù)的位置。如將 100.0000寫入最大行程值參數(shù)s-0-0278,首先將參數(shù)號278轉(zhuǎn)化為十六進(jìn)制數(shù)116,即在用戶數(shù)據(jù)頭的第四、五兩個(gè)字節(jié)分別寫入16 11;再將1000000(注意不是100.0000)轉(zhuǎn)化為十六進(jìn)制為f4240,即在用戶數(shù)據(jù)的四個(gè)字節(jié)依次寫入40 42 0f 00;其它字節(jié)可以相繼得出;發(fā)送內(nèi)容應(yīng)為:02 76 09 09 00 8f 01 01 3c 01 00 16 01 40 42 0f 00.如通信正常,則會接收到:02 1a 03 03 10 8f 01 01 00 3c 01,表示改寫參數(shù)成功。

值得注意的是,除了在數(shù)據(jù)格式上遵從sis協(xié)議之外,操作過程中還應(yīng)注意以下幾點(diǎn):通信波特率應(yīng)為115200 bps.寫參數(shù)時(shí),應(yīng)先使indradrive處于pm(參數(shù)模式)。通過置位參數(shù)s-0-0420(激活參數(shù)模式)的bit1、bit0,就可以將 indradrive切換到pm;而在改寫參數(shù)s-0-0420時(shí),不需在pm;在將s-0-0420的bit1和bit0置位后,不要忘了再將其復(fù)位,這樣便進(jìn)入pm,便可以隨意改寫參數(shù)了。在配置完參數(shù)后,應(yīng)該跳出pm,進(jìn)入om(操作模式),通過參數(shù)s-0-0422(跳出參數(shù)模式)來完成,配置過程與s-0-0420類似。

(3)讀參數(shù)時(shí)無論indradrive處于pm和om均可讀取,沒有限制。

(4)讀參數(shù)時(shí),接收到內(nèi)容的第11個(gè)字節(jié)以后的內(nèi)容為用戶數(shù)據(jù);而寫參數(shù)時(shí),接收到的內(nèi)容中沒有用戶數(shù)據(jù)部分,只要通信正常,均會收到相同內(nèi)容02 1a 03 03 10 8f 01 01 00 3c 01.(5)如果正在上位機(jī)用indraworks調(diào)試indradrive,則讀寫參數(shù)時(shí),應(yīng)使indraworks離線,否則會提示串口被占用。

結(jié)語

本文所闡述的串口通信方法已成功應(yīng)用于調(diào)試博世力士樂indradrive伺服驅(qū)動器的實(shí)驗(yàn)中,靈活方便,達(dá)到了實(shí)時(shí)修改驅(qū)動器的參數(shù)的要求;適當(dāng)改進(jìn)即可應(yīng)用于地鐵站臺屏蔽門系統(tǒng)和安全門系統(tǒng)以及自動門系統(tǒng)的上位機(jī)監(jiān)控,具有較好的實(shí)際價(jià)值和可擴(kuò)展性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉