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