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