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