閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

PLC內(nèi)部掉電保持寄存器的巧妙利用

星之球激光 來源:中國(guó)自動(dòng)化網(wǎng)2012-06-07 我要評(píng)論(0 )   

我們?cè)谠O(shè)計(jì)小型的 PLC 控制系統(tǒng) 時(shí),常常會(huì)需要在外部改變PLC內(nèi)部的數(shù)據(jù),譬如Counter, Timer或者Data的值,以適應(yīng)生產(chǎn)過程的需要。而且要求系統(tǒng)關(guān)機(jī)以后,這些數(shù)據(jù)還能...

         我們?cè)谠O(shè)計(jì)小型的PLC控制系統(tǒng)時(shí),常常會(huì)需要在外部改變PLC內(nèi)部的數(shù)據(jù),譬如Counter, Timer或者Data的值,以適應(yīng)生產(chǎn)過程的需要。而且要求系統(tǒng)關(guān)機(jī)以后,這些數(shù)據(jù)還能夠保存在PLC內(nèi)部,當(dāng)下次開機(jī)后,這些數(shù)據(jù)可以被調(diào)出繼續(xù)使用。

        現(xiàn)在許多小型的PLC都或多或少地提供了掉電保持寄存器,以便在PLC斷電的時(shí)候,保存用戶想要保存的數(shù)據(jù)。但大多數(shù)時(shí)候,PLC制造廠商為了節(jié)約成本,不可能提供足夠數(shù)的掉電保持寄存器供系統(tǒng)設(shè)計(jì)人員使用,所以當(dāng)被調(diào)整的數(shù)據(jù)項(xiàng)目超過PLC內(nèi)部的掉電保持寄存器的數(shù)目的時(shí)候,我們不得不減少被調(diào)整的數(shù)據(jù)項(xiàng)目(固定或不用)或者購(gòu)買具有更多掉電保持寄存器數(shù)目的PLC,這樣的話,就使得生產(chǎn)機(jī)械缺乏靈活性和適應(yīng)性,從而降低產(chǎn)品檔次或增加成本。

        下面就介紹解決這種問題的一種方法,以便大家設(shè)計(jì)時(shí)參考。

        所用PLC:松下FP0-C16T,被調(diào)整數(shù)據(jù)有16個(gè),PLC內(nèi)部掉電保持寄存器數(shù)目為10個(gè),其中8個(gè)數(shù)據(jù)寄存器(DT1652-DT1659:8個(gè)各16Bit)和2個(gè)字的內(nèi)部繼電器(WR61、WR62:2個(gè)各16Bit)。如果按常規(guī)的一個(gè)被調(diào)整數(shù)據(jù)占用一個(gè)數(shù)據(jù)寄存器的方法,這顯然不能調(diào)整16個(gè)被調(diào)整數(shù)據(jù),而只能調(diào)整10個(gè)被調(diào)整數(shù)據(jù)。為此,本人專門分析了16個(gè)被調(diào)整數(shù)據(jù)的數(shù)據(jù)調(diào)整范圍,發(fā)現(xiàn)多數(shù)數(shù)據(jù)的調(diào)整范圍只需要從0~255,即0~28-1;而掉電保持?jǐn)?shù)據(jù)寄存器DT1652等內(nèi)部的數(shù)據(jù)大小為216-1,即256×256-1;所以我們可以將一個(gè)被調(diào)整的數(shù)據(jù)只用到數(shù)據(jù)寄存器的低8位,那么該數(shù)據(jù)寄存器的高8位就可以來存儲(chǔ)另一個(gè)被調(diào)整數(shù)據(jù)。

        下面就列出該部分的程序:

      (1)開機(jī)時(shí),分開掉電保持寄存器中高8位和低8位至另外兩個(gè)數(shù)據(jù)寄存器:

        其中,R9013是松下FP0系列PLC內(nèi)部所規(guī)定的、在PLC從program狀態(tài)到run狀態(tài)時(shí)只動(dòng)作一個(gè)PLC掃描周期的脈沖繼電器。指令F65是一個(gè)字與指令,它的作用就是將掉電保持?jǐn)?shù)據(jù)寄存器DT1655內(nèi)的數(shù)據(jù)與十六進(jìn)制數(shù)FF進(jìn)行字與,然后將結(jié)果送到一般數(shù)據(jù)寄存器DT0,這樣就可以分離出掉電保持?jǐn)?shù)據(jù)寄存器DT1655內(nèi)數(shù)據(jù)的低8位;同樣第二行的字與指令可以分離出掉電保持?jǐn)?shù)據(jù)寄存器DT1655內(nèi)數(shù)據(jù)的高8位。

        指令F120是一個(gè)不帶進(jìn)位右移指令,即:對(duì)數(shù)據(jù)字進(jìn)行右移時(shí),對(duì)高位進(jìn)行補(bǔ)零。K8表示右移8位。指令F0是一個(gè)字傳送指令,就是將一般數(shù)據(jù)寄存器DT10內(nèi)的數(shù)據(jù)傳送到一般數(shù)據(jù)寄存器DT1。上述程序段的目的就是在開機(jī)時(shí)將掉電保持?jǐn)?shù)據(jù)寄存器DT1655內(nèi)的數(shù)據(jù)分成兩個(gè)被調(diào)整數(shù)據(jù)。

      (2)開機(jī)之后,將另外兩個(gè)數(shù)據(jù)寄存器的數(shù)據(jù)合并至掉電保持寄存器的高8位和低8位:

        R9014是松下FP0系列PLC內(nèi)部所規(guī)定的、在PLC從program狀態(tài)到run狀態(tài)時(shí)、第二個(gè)PLC掃描周期開始動(dòng)作的脈沖繼電器。指令F121是一個(gè)不帶進(jìn)位左移指令,K8即左移8位。指令F66是一個(gè)字或指令,將一般數(shù)據(jù)寄存器DT20內(nèi)的數(shù)據(jù)與一般數(shù)據(jù)寄存器DT0內(nèi)的數(shù)據(jù)進(jìn)行字或,結(jié)果送掉電保持寄存器DT1655。由上可以看出,在PLC運(yùn)行的時(shí)候,可以任意改變一般數(shù)據(jù)寄存器DT0和DT1中的數(shù)據(jù),而這些改變也同時(shí)送到了掉電保持寄存器DT1655,這樣,當(dāng)PLC掉電時(shí),所被調(diào)整的數(shù)據(jù)也就被保存了。#p#分頁標(biāo)題#e#

        通過同樣的方法,我們可以視被調(diào)整數(shù)據(jù)的大小,靈活的使用掉電保持寄存器的每一個(gè)Bit位,從而使我們?cè)诓辉黾映杀镜那闆r下,提高小型PLC控制系統(tǒng)的性能。

 

轉(zhuǎn)載請(qǐng)注明出處。

暫無關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。
③ 任何單位或個(gè)人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請(qǐng)及時(shí)向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會(huì)依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點(diǎn)評(píng)
0相關(guān)評(píng)論
精彩導(dǎo)讀