zczc777
陽光總在風(fēng)雨后,烏云上有睛空!珍惜所有的感動每一份希望在你手
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 440 個
工控威望: 593 點
下載積分: 1478 分
在線時間: 238(小時)
注冊時間: 2008-10-25
最后登錄: 2024-02-15
查看zczc777的 主題 / 回貼
樓主  發(fā)表于: 2008-12-11 17:14


    


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

我們在設(shè)計小型的PLC控制系統(tǒng)時,常常會需要在外部改變PLC內(nèi)部的數(shù)據(jù),譬如Counter, Timer或者Data的值,以適應(yīng)生產(chǎn)過程的需要。而且要求系統(tǒng)關(guān)機以后,這些數(shù)據(jù)還能夠保存在PLC內(nèi)部,當(dāng)下次開機后,這些數(shù)據(jù)可以被調(diào)出繼續(xù)使用。
現(xiàn)在許多小型的PLC都或多或少地提供了掉電保持寄存器,以便在PLC斷電的時候,保存用戶想要保存的數(shù)據(jù)。但大多數(shù)時候,PLC制造廠商為了節(jié)約成本,不可能提供足夠數(shù)量的掉電保持寄存器供系統(tǒng)設(shè)計人員使用,所以當(dāng)被調(diào)整的數(shù)據(jù)項目超過PLC內(nèi)部的掉電保持寄存器的數(shù)目的時候,我們不得不減少被調(diào)整的數(shù)據(jù)項目(固定或不用)或者購買具有更多掉電保持寄存器數(shù)目的PLC,這樣的話,就使得生產(chǎn)機械缺乏靈活性和適應(yīng)性,從而降低產(chǎn)品檔次或增加成本。
本人在設(shè)計服裝廠用熱風(fēng)縫合機時就遇到了這種情況,下面就介紹解決這種問題的一種方法,以便大家設(shè)計時參考。
所用PLC:松下FP0-C16T,被調(diào)整數(shù)據(jù):16個,PLC內(nèi)部掉電保持寄存器數(shù)目:10個『8個數(shù)據(jù)寄存器(DT1652-DT1659:8個各 16Bit)和2個字的內(nèi)部繼電器(WR61、WR62:2個各16Bit)』。如果按常規(guī)的一個被調(diào)整數(shù)據(jù)占用一個數(shù)據(jù)寄存器的方法,這顯然不能調(diào)整 16個被調(diào)整數(shù)據(jù),而只能調(diào)整10個被調(diào)整數(shù)據(jù)。為此,本人專門分析了16個被調(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;所以我們可以將一個被調(diào)整的數(shù)據(jù)只用到數(shù)據(jù)寄存器的低8位,那么該數(shù)據(jù)寄存器的高8位就可以來存儲另一個被調(diào)整數(shù)據(jù)。
下面就列出該部分的程序:
1、開機時,分開掉電保持寄存器中高8位和低8位至另外兩個數(shù)據(jù)寄存器:
其中,R9013是松下FP0系列PLC內(nèi)部所規(guī)定的、在PLC從program狀態(tài)到run狀態(tài)時只動作一個PLC掃描周期的脈沖繼電器。
指令F65是一個字與指令,它的作用就是將掉電保持?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是一個不帶進(jìn)位右移指令,即:對數(shù)據(jù)字進(jìn)行右移時,對高位進(jìn)行補零。K8表示右移8位。
指令F0是一個字傳送指令,就是將一般數(shù)據(jù)寄存器DT10內(nèi)的數(shù)據(jù)傳送到一般數(shù)據(jù)寄存器DT1。
上述程序段的目的就是在開機時將掉電保持?jǐn)?shù)據(jù)寄存器DT1655內(nèi)的數(shù)據(jù)分成兩個被調(diào)整數(shù)據(jù)。

2、開機之后,將另外兩個數(shù)據(jù)寄存器的數(shù)據(jù)合并至掉電保持寄存器的高8位和低8位:
R9014是松下FP0系列PLC內(nèi)部所規(guī)定的、在PLC從program狀態(tài)到run狀態(tài)時、第二個PLC掃描周期開始動作的脈沖繼電器。
指令F121是一個不帶進(jìn)位左移指令,K8即左移8位。
指令F66是一個字或指令,將一般數(shù)據(jù)寄存器DT20內(nèi)的數(shù)據(jù)與一般數(shù)據(jù)寄存器DT0內(nèi)的數(shù)據(jù)進(jìn)行字或,結(jié)果送掉電保持寄存器DT1655。
由上可以看出,在PLC運行的時候,可以任意改變一般數(shù)據(jù)寄存器DT0和DT1中的數(shù)據(jù),而這些改變也同時送到了掉電保持寄存器DT1655,這樣,當(dāng)PLC掉電時,所被調(diào)整的數(shù)據(jù)也就被保存了。
通過同樣的方法,我們可以視被調(diào)整數(shù)據(jù)的大小,靈活的使用掉電保持寄存器的每一個Bit位,從而使我們在不增加成本的情況下,提高小型PLC控制系統(tǒng)的性能。

coliu
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看coliu的 主題 / 回貼
1樓  發(fā)表于: 2008-12-11 17:19
支持下......
控123
走自己的路
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 983 個
工控威望: 921 點
下載積分: 2212 分
在線時間: 1072(小時)
注冊時間: 2008-09-02
最后登錄: 2024-11-06
查看控123的 主題 / 回貼
2樓  發(fā)表于: 2008-12-11 20:00
支持下......
張平全
為國出力的時候到了
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 955 個
工控威望: 965 點
下載積分: 1895 分
在線時間: 466(小時)
注冊時間: 2008-04-25
最后登錄: 2022-11-19
查看張平全的 主題 / 回貼
3樓  發(fā)表于: 2008-12-11 22:13
C16不是帶記憶卡的嗎?以上目標(biāo)只要用F12,F13就可以完成,他只要有一次觸發(fā)后,以后就不用管他了,他會自動保存,在開機時利用R9013其它觸發(fā)一下就讀出來了,一樣能保特得很好的,沒有這么多明堂,我覺得你走彎路了,哈哈,共同探討,共同進(jìn)步!
suiyuan666
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 737 個
工控威望: 1389 點
下載積分: 4942 分
在線時間: 744(小時)
注冊時間: 2008-06-15
最后登錄: 2024-11-08
查看suiyuan666的 主題 / 回貼
4樓  發(fā)表于: 2008-12-15 16:40
頂一下.
zhangshichao
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看zhangshichao的 主題 / 回貼
5樓  發(fā)表于: 2009-02-14 20:13
頂一下
danielsue
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看danielsue的 主題 / 回貼
6樓  發(fā)表于: 2009-02-20 10:08
學(xué)習(xí)了!謝謝
wjhwjl
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看wjhwjl的 主題 / 回貼
7樓  發(fā)表于: 2009-02-20 22:52
學(xué)習(xí)了!
向高手請教
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看向高手請教的 主題 / 回貼
8樓  發(fā)表于: 2009-04-25 17:34
好辦法,長見識了。
chlsx
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 210 個
工控威望: 365 點
下載積分: 637 分
在線時間: 106(小時)
注冊時間: 2009-02-26
最后登錄: 2023-12-20
查看chlsx的 主題 / 回貼
9樓  發(fā)表于: 2009-04-25 21:10
學(xué)習(xí)了!謝謝