王乃全
(中達電通PLC產(chǎn)品處)
1 引言
本文是一篇針對臺達觸摸屏功能的高級使用說明,目的是實現(xiàn)存儲到U盤或者內(nèi)部RAM上的歷史數(shù)據(jù)的讀取,并可以對這些歷史數(shù)據(jù)做簡單的查詢。本文并沒有做很復雜的查詢,意在對使用者提供一種思路,拋磚引玉,對實際應用留有很大的空間供使用者發(fā)揮。
2 基礎知識準備
歷史數(shù)據(jù)的取出:需要用GETHISTORY指令,句型如下:
V1 = GETHISTORY (V2, V3, V4, V5, V6)
V1,表示存入資料長度內(nèi)部存儲器
V2,表示內(nèi)部存儲器,常數(shù) 歷史緩沖區(qū)編號
V3,表示內(nèi)部存儲器,常數(shù) 讀取起始取點位置
V4,表示內(nèi)部存儲器,常數(shù) 讀取點數(shù)
V5,表示內(nèi)部存儲器,PLC 數(shù)據(jù)存入位置
V6,表示內(nèi)部存儲器,常數(shù) 讀取數(shù)據(jù)型態(tài)(0:資料,1:時間,2:時間跟數(shù)據(jù))
指針:間接尋址緩存器區(qū) (R/W): *$
Word access: *$n (n: 0~65535)
間接尋址是尋址到內(nèi)部緩存器區(qū)。先由$n取出地址,再取此地址內(nèi)存的值。
例如,$n = m;$m = X;則 *$n = X。 (m 不可超出 65535)
3 數(shù)據(jù)查詢的實現(xiàn)
3.1 設計思路
本例想要實現(xiàn)這樣的功能,設置內(nèi)部的一個寄存器$100每隔1分鐘采集一次數(shù)據(jù),采集到15筆后停止,把數(shù)據(jù)及采集的時間存儲到內(nèi)部的RAM。然后通過GETHISTORY把這15筆數(shù)據(jù)讀取到$200開始的寄存器區(qū),按照用戶輸入的時間段進行查詢。比如查詢2006/11/30 10:56~2006/11/30 10:58的數(shù)據(jù),將符合條件的查詢結果存儲到$20000開始的寄存器區(qū)。
3.2 地址分配表
表1 歷史數(shù)據(jù)取出后的存儲地址
表2 查詢時間起始輸入地址
表3 查詢時間停止輸入地址
表4 查詢時間起始指針
表5 查詢時間停止指針
表6 控制及標志地址
表7 查詢完畢顯示結果數(shù)據(jù)地址
3.3 程序流程圖(圖1)
圖1 程序流程圖
3.4 程序的實現(xiàn)
(1)頁面設置
(2)歷史緩沖區(qū)設置
(3)歷史數(shù)據(jù)讀取宏程序
(4)查詢判斷宏程序
(5)將結果賦值顯示宏程序
3.5 執(zhí)行結果
顯示【歷史資料信息表】中已經(jīng)采集到了10筆數(shù)據(jù)。
設置查詢的開始時間是2006/12/1 10:18,結束時間是2006/12/1 10:22得到的查詢結果顯示在【查詢結果顯示表】中。
4 結束語
本例是臺達觸摸屏Screen Editor強大的元件和宏指令功能綜合的體現(xiàn),可以看到,如果能夠活用軟件,Screen Editor同樣能夠?qū)崿F(xiàn)PC組態(tài)軟件才具有的一些高級功能。