前 言:
實(shí)時(shí)數(shù)據(jù)庫在HMI應(yīng)用中必不可少,傳統(tǒng)的Intouch,組態(tài)王等組態(tài)軟件早期都是利用本機(jī)的二進(jìn)制文件來做實(shí)時(shí)數(shù)據(jù)庫存儲(chǔ)。今天我將帶領(lǐng)大家利用2行代碼完成一個(gè)最簡單的實(shí)時(shí)數(shù)據(jù)庫。讓大家了解實(shí)時(shí)數(shù)據(jù)庫的基本運(yùn)行機(jī)制和原理。在一臺(tái)windows 10的機(jī)器上,創(chuàng)建兩個(gè)bat(批處理)文件,一個(gè)名為set-db.bat,另外一個(gè)名為get-db.bat。這兩個(gè)批處理文件,顧名思義一個(gè)是數(shù)據(jù)庫插入數(shù)據(jù),另外一個(gè)是數(shù)據(jù)庫查詢數(shù)據(jù)。見下圖:
接下來跟我一起寫兩行最簡單的代碼,實(shí)現(xiàn)這個(gè)世界上最簡單的實(shí)時(shí)數(shù)據(jù)庫。
01首先用記事本打開set-db.bat文件,寫入如下的代碼:
這一行代碼為實(shí)時(shí)數(shù)據(jù)庫的插入數(shù)據(jù)。
注釋:echo 為文本插入指令,可以看到就是把當(dāng)前日期和時(shí)間按照特定格式化后加上/帶上時(shí)間,%1和%2為外部bat運(yùn)行時(shí)候的參數(shù)1和參數(shù)2,然后把這組數(shù)據(jù)插入到db.txt文件,而這個(gè)db.txt就是我們今天的主角,最簡單的實(shí)時(shí)數(shù)據(jù)庫,而這個(gè)db.txt如果程序發(fā)現(xiàn)沒有的話會(huì)自動(dòng)建立,同時(shí)這個(gè)db.txt實(shí)時(shí)數(shù)據(jù)庫文件會(huì)在同一級目錄中。
02然后我們再打開get-db.bat文件,寫入如下代碼:
這一行代碼為實(shí)時(shí)數(shù)據(jù)庫查詢數(shù)據(jù)
注釋:findstr是dos下查詢命令,其中/i為不區(qū)分大小寫,而%2為參數(shù)2,%1為參數(shù)1,db.txt則是我們這個(gè)實(shí)時(shí)數(shù)據(jù)庫。
03接下來,就讓我們看看如何使用這兩個(gè)bat文件測試我們最簡單實(shí)時(shí)數(shù)據(jù)庫這2個(gè)bat文件使用方法:Set-db.bat 空格 (參數(shù)1) (參數(shù)2)參數(shù)1(必須)為數(shù)據(jù)變量的名字,例如 tag1 或者 FIT1001,不能以數(shù)字開頭并且不能包含空格和特殊字符。參數(shù)2(必須)為這個(gè)變量的數(shù)值,例如整型 100,或者浮點(diǎn)型98.5,或者文字 劍指工控,是以文本形式存儲(chǔ)。以上兩個(gè)參數(shù)為必須,如果忽略任何一個(gè)參數(shù),實(shí)時(shí)數(shù)據(jù)庫的參數(shù)列將插入空數(shù)值。
這個(gè)時(shí)候打開db.txt可以看到我們剛剛插入的那些數(shù)據(jù)和變量。
Get-db.bat 空格(參數(shù)1)(參數(shù)2)參數(shù)1(必須)為變量名字,例如tag1或者FIT1001,必須是實(shí)時(shí)數(shù)據(jù)庫中存在的變量名參數(shù)2(可選)為日期和時(shí)間,這個(gè)屬于模糊參數(shù),從日期到時(shí)間。例如2022-02-15 或者 2022-02-15/09 或者2022-02-15/09:30 或者 2022-02-15/09:30:05
注釋:如果查詢某一天數(shù)據(jù),可以寫成2022-02-15,如果查詢某一小時(shí)數(shù)據(jù)可以寫成2022-02-15/09
如果想要看實(shí)時(shí)數(shù)據(jù)庫全部變量和數(shù)據(jù),可以把參數(shù)1寫為* 而參數(shù)2為空
至此我?guī)Т蠹彝ㄟ^2行代碼完成了一個(gè)最簡單實(shí)時(shí)數(shù)據(jù)庫,如果大家對此有什么需要討論歡迎大家加入劍指工控技術(shù)群討論,如果大家對這個(gè)代碼比較感興趣,可以入群后找群管理員獲取。






