異構(gòu)PLC實(shí)現(xiàn)三菱伺服絕對(duì)位置值的讀取
(2) plc接到trd=1的信號(hào)后,將abs請(qǐng)求信號(hào)absr置1,送到伺服驅(qū)動(dòng)器。
?。?)伺服驅(qū)動(dòng)器接到absr=1的信號(hào)后,在bit0、bit1上輸出二位數(shù)據(jù),并將trd置0,通知plc,二位數(shù)據(jù)已輸出。plc可以讀數(shù)據(jù)了。
?。?) plc接到trd=0的信號(hào)后,讀二位數(shù)據(jù),然后將abs請(qǐng)求信號(hào)absr置0,送至伺服驅(qū)動(dòng)器。
?。?)伺服驅(qū)動(dòng)器接到absr信號(hào)=0后,知道plc已將二位數(shù)據(jù)讀取,于是又發(fā)出trd=1信號(hào),準(zhǔn)備下一次傳輸。然后重復(fù)(2)-(5),直至將全部32位位置數(shù)據(jù)和6位校驗(yàn)和數(shù)據(jù)傳輸完畢。
(6) plc收到校驗(yàn)和數(shù)據(jù)后,將abs傳輸模式absm信號(hào)置0。
在上述傳輸過(guò)程中plc和伺服驅(qū)動(dòng)器的信號(hào)配合看似比較復(fù)雜 ,其實(shí)我們可簡(jiǎn)單地用圖3表示。
2.3 位置數(shù)據(jù)和校驗(yàn)和數(shù)據(jù)結(jié)構(gòu)
在傳輸?shù)?8位數(shù)據(jù)中,前32位數(shù)據(jù)是伺服電機(jī)的絕對(duì)位置數(shù)據(jù),后6位數(shù)據(jù)是校驗(yàn)和數(shù)據(jù)。在表示絕對(duì)位置的前32位數(shù)據(jù)中,按讀入的順序排列為最低二位到最高二位。在表示校驗(yàn)和的后6位數(shù)據(jù)中,其讀入順序也是從低二位到高二位。該6位校驗(yàn)數(shù)據(jù)是伺服驅(qū)動(dòng)器根據(jù)其所傳輸?shù)慕^對(duì)位置值計(jì)算出的校驗(yàn)和。plc對(duì)讀入的32位位置數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,計(jì)算的結(jié)果與讀入的6位校驗(yàn)和數(shù)據(jù)相比較,若相等則說(shuō)明傳輸正確;否則,則說(shuō)明傳輸不正確。
為了實(shí)現(xiàn)校驗(yàn),必須要了解該傳輸協(xié)議所規(guī)定的計(jì)算方法,也即伺服驅(qū)動(dòng)器內(nèi)部對(duì)位置數(shù)據(jù)的計(jì)算方法,這樣才能在plc中按照同樣的方法來(lái)計(jì)算讀入位置數(shù)據(jù)的校驗(yàn)和。只有按同樣的方法計(jì)算得校驗(yàn)和,其比較才有意義。
例如,伺服驅(qū)動(dòng)器傳輸?shù)奈恢脭?shù)據(jù)是013acf76h,二進(jìn)制是“00,00,00,01,00,11,10,10,11,00,11,11,01,11,01,10”。該協(xié)議規(guī)定校驗(yàn)和計(jì)算方法如下:將每2位數(shù)據(jù)相加得,11000b=18h。所以該位置數(shù)據(jù)的校驗(yàn)和為18h。伺服驅(qū)動(dòng)器傳輸?shù)臄?shù)據(jù)32位位置數(shù)據(jù)013acf76h和校驗(yàn)和數(shù)據(jù)18h。
3 軟件編制
根據(jù)上述對(duì)絕對(duì)位置傳輸協(xié)議的分析,我們可以編制相應(yīng)的程序。在編制該程序塊時(shí),為了使本程序?qū)Ω鞣N品牌plc具有參考價(jià)值并可進(jìn)行移植,我們采用了各類plc常用的基本指令和各類plc都支持的功能指令來(lái)編制,如圖5所示。
3.1 程序結(jié)構(gòu)
整個(gè)位置讀取程序從功能上說(shuō)大致由數(shù)據(jù)讀取、校驗(yàn)和計(jì)算、錯(cuò)誤判別處理三個(gè)部分組成,其中校驗(yàn)和計(jì)算可穿插在數(shù)據(jù)讀取程序中。
在數(shù)據(jù)讀取程序段,根據(jù)傳輸協(xié)議規(guī)定的信號(hào)邏輯配合關(guān)系,讀取全部32位位置數(shù)據(jù)和6位校驗(yàn)和數(shù)據(jù)。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評(píng)論