新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PLC內部掉電保持寄存器的應用

        PLC內部掉電保持寄存器的應用

        作者: 時間:2011-09-15 來源:網絡 收藏

        我們在設計小型的控制系統時,常常會需要在外部改變的數據,譬如Counter, Timer或者Data的值,以適應生產過程的需要。而且要求系統關機以后,這些數據還能夠保存在,當下次開機后,這些數據可以被調出繼續使用。

        本文引用地址:http://www.104case.com/article/150211.htm

        現在許多小型的PLC都或多或少地提供了掉電,以便在PLC斷電的時候,保存用戶想要保存的數據。但大多數時候,PLC制造廠商為了節約成本,不可能提供足夠數的掉電供系統設計人員使用,所以當被調整的數據項目超過PLC的掉電的數目的時候,我們不得不減少被調整的數據項目(固定或不用)或者購買具有更多掉電保持寄存器數目的PLC,這樣的話,就使得生產機械缺乏靈活性和適應性,從而降低產品檔次或增加成本。

        下面就介紹解決這種問題的一種方法,以便大家設計時參考。

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

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

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

        其中,R9013是松下FP0系列PLC內部所規定的、在PLC從program狀態到run狀態時只動作一個PLC掃描周期的脈沖繼電器。指令F65是一個字與指令,它的作用就是將掉電保持數據寄存器DT1655內的數據與十六進制數FF進行字與,然后將結果送到一般數據寄存器DT0,這樣就可以分離出掉電保持數據寄存器DT1655內數據的低8位;同樣第二行的字與指令可以分離出掉電保持數據寄存器DT1655內數據的高8位。

        指令F120是一個不帶進位右移指令,即:對數據字進行右移時,對高位進行補零。K8表示右移8位。指令F0是一個字傳送指令,就是將一般數據寄存器DT10內的數據傳送到一般數據寄存器DT1。上述程序段的目的就是在開機時將掉電保持數據寄存器DT1655內的數據分成兩個被調整數據。

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

        R9014是松下FP0系列PLC內部所規定的、在PLC從program狀態到run狀態時、第二個PLC掃描周期開始動作的脈沖繼電器。指令F121是一個不帶進位左移指令,K8即左移8位。指令F66是一個字或指令,將一般數據寄存器DT20內的數據與一般數據寄存器DT0內的數據進行字或,結果送掉電保持寄存器DT1655。由上可以看出,在PLC運行的時候,可以任意改變一般數據寄存器DT0和DT1中的數據,而這些改變也同時送到了掉電保持寄存器DT1655,這樣,當PLC掉電時,所被調整的數據也就被保存了。

        通過同樣的方法,我們可以視被調整數據的大小,靈活的使用掉電保持寄存器的每一個Bit位,從而使我們在不增加成本的情況下,提高小型PLC控制系統的性能。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 罗甸县| 武胜县| 高雄县| 洪泽县| 杭锦后旗| 彭阳县| 双桥区| 无锡市| 玉林市| 彭水| 黎城县| 抚远县| 个旧市| 论坛| 武宁县| 宁明县| 恩施市| 宁海县| 芮城县| 堆龙德庆县| 水城县| 吴川市| 招远市| 牡丹江市| 亳州市| 博客| 从江县| 西丰县| 安国市| 柘城县| 澳门| 桃源县| 建湖县| 六盘水市| 宜丰县| 吴忠市| 天气| 成安县| 浦江县| 青州市| 奉新县|