異構PLC實(shí)現三菱伺服絕對位置值的讀取
在讀取傳輸數據的同時(shí),計算32位位置數據的校驗和。
全部數據讀取完成后,對讀取的校驗和數據與計算得到的校驗和數據進(jìn)行比較。若不相同則重新進(jìn)行傳輸,重復次數大于3次,則停止傳輸,并給出報警信號。
在圖5中,σm、σd、σc表示所有的標志位、數據寄存器、計數器,c0、c1用于讀取次數(即第幾組bit0、bit1數據)計數。c0用于對位置數據的數據讀入次數判斷,故預置值為17(比應讀次數16大1);c1用于對全部數據讀入次數判斷,故預置值為19(共19次)。c2用于對傳輸出錯重新進(jìn)行傳輸的次數判斷,故預置值為3。每次讀入的2位數據在存儲時(shí)要進(jìn)行處理,以恢復其原來(lái)定義的數據結構。詳細的處理指令見(jiàn)后。
3.2 樣板程序
上述程序是以三菱q系列plc為例編制的傳輸程序,由于篇幅所限,我們沒(méi)有以梯形圖形式給出程序,而是以語(yǔ)句表形式列出。在上述程序中,m99是傳輸啟動(dòng)信號,m214是傳輸出錯標志。y0-y2是sv-on、absm、absr信號,x10-x12是bit0、bit1、trd信號。d10是計算校驗和值,d12是絕對位置數據輸出值。m120-m157是存儲38位傳輸數據的中間標志位,其中m120-m151用于位置數據,m152-m157用于校驗和數據。
在該程序中,大多數指令為簡(jiǎn)單的基本指令,僅在讀入數據處理時(shí),才使用了wand(邏輯與)、sf(移位)、add(加法)等功能指令。各類(lèi)其它品牌的plc一般都支持這些指令,所以上述程序的可移植性是比較好的。
對于上述程序,我們著(zhù)重介紹每次讀入的二位數據的處理方法。為了方便說(shuō)明,相關(guān)程序的梯形圖和說(shuō)明列出如圖6所示。
4 應用案例
典型的方式如圖7所示。主流plc一般都內置脈沖輸出定位功能或者可配置帶有脈沖輸出的定位功能模塊。為了使控制系統和機械運動(dòng)位置之間建立同步,一般需要回原點(diǎn)。但是如果采用絕對位置系統,則僅需要在調試時(shí)確定一個(gè)原點(diǎn),以后系統就無(wú)需回原點(diǎn)了。當系統開(kāi)機時(shí),plc執行該傳輸程序,通過(guò)伺服驅動(dòng)器之間的傳輸信號線(xiàn)將伺服當前位置數據傳輸到plc中,然后plc將讀到的當前機械位置寫(xiě)入定位控制系統的當前位置寄存器中。這樣控制系統與機械系統之間就建立了同步關(guān)系。以后,機械系統的當前絕對位置由plc的位置控制系統根據發(fā)出的脈沖數來(lái)確定。
5 結束語(yǔ)
用普通plc指令實(shí)現伺服系統當前絕對位置讀取,與用rs422口采用通訊方式讀取伺服電機絕對位置的方式相比,該方式實(shí)時(shí)性較差一些。但是這種方式在構建低端絕對位置系統應用場(chǎng)合,仍具有較大的實(shí)際意義。在編制中,考慮到某些plc的低端cpu(如q系列q00cpu)不支持步進(jìn)指令,所以整個(gè)傳輸程序使用普通指令、采用了類(lèi)似于步進(jìn)指令的編程方式,程序的可讀性和可移植性都比較好,在使用其它品牌的plc時(shí)只需作很少的修改即可。
伺服電機相關(guān)文章:伺服電機工作原理
評論