Question
力控的數據庫是用SQL Server還是ACCESS改造的?
ANSWER
都不是,力控的實時數據庫是自己編寫算法的實時數據庫。不同于商業的關系數據庫。
Question
實時數據庫中的區域是什么意思?
ANSWER
力控實時數據庫為了方便管理,將數據庫分成0-30共31個區域(AREA)、每個區域又劃分成0-99共100個單元(UNIT、下面又分子單元(SUBUNIT、組(GROUP,點名(NAME和點參數的六層結構。
Question
數據庫變量常用的就是PV參數,但其它參數何用途,詳細的說明嗎?
ANSWER
數據庫點參數在“數據庫組態(DB Manager-點[T]-點參數”菜單下說明。不同的點類型不同的參數,對于控制策略點參數的說明要看策略的在線幫助了。
Question
數據庫組態時點太多,能復制點或將現的EXCEL點表保存成數據庫的點表嗎?
ANSWER
可以,力控的數據庫支持點復制(自動加序號和刪除,也可以將已的EXCEL點表照力控指定的格式導入力控的實時數據庫。
Question
力控支持自定義變量和參數嗎?
ANSWER
支持。
Question
實時數據庫支持與關系數據庫的通訊嗎?
ANSWER
支持,可以使用ADO和ODBC方式。詳情請參考相關手冊或致電北京技術部。
Question
力控的數據庫與數據庫之間如何通訊?
ANSWER
可以使用遠程數據源的方式,建立網絡連接實現,該方式僅支持網絡TCP/IP方式;也可以使用力控數據庫間專的Portserver或者COMMSERVER協議,該方式支持TCP/IP,串口,撥號,GPRS等多種物理方式的鏈接,輕松組件分布式實時數據庫網絡。
Question
Portserver組件做為分布式網絡數據庫的通訊組件,什么優點?
ANSWER
Portserver是一個網絡通訊的服務器組件,它是力控構成C/S架構服務器的通訊核心組件,支持力控軟件以各種網絡方式來互相通訊。
比如:力控可以通過RS232/RS422/RS485、無線電臺、電話輪巡撥號、GPRS/CDMA等方式和其它節點的力控軟件來通訊。
特點如下:
1、組件具備分組和地址概念,網絡不同節點的力控通過該組件可進行互相尋址;
2、通過該組件可以使多個客戶端同時進行訪問服務器;
3、力控軟件虛擬成設備,遠程力控通過IO驅動程序來進行訪問力控;
4、具備故障恢復功能,通訊中斷的時候具備自動恢復功能,保證系統的穩定性;
5、直接將力控區域數據庫的數據進行發送,提高了系統的效率;
6、第方程序通過開放協議可以以各種網絡方式直接訪問力控實時數據庫。
Question
為何運行后在打開數據庫DB時發現“歷史點不存在XXXX”( XXXX為數據庫變量的信息)?
ANSWER
這兩種可能:
1、這里指出的變量沒在組態中進行歷史參數的保存設置。即根本不存在歷史數據;
2、使用歷史曲線或報表等工具對該變量進行過歷史數據查詢,但所查詢的時段沒歷史數據,即通訊故障,或關機等造成歷史數據中斷。
Question
照條件存儲的原理以及如何保存滿足條件的時刻?
ANSWER
PcAuto6.1版本中在現的定時保存和變化保存的基礎上增加了條件存儲功能,條件存儲的條件是一個表達式(可使用數學公式參見下表),當表達式為真時Db將存儲數據,為假時不存儲數據
四則運算:+、-、*、/、%、
移位操作:>>、<<、
大小判斷:>、>=、<、<=、==、 !=、
位操作:&、^、|、!、~、
條件判斷:&&、||、
數學函數:abs、floor、ceil、cos、sin、tan、cosh、sinh、tanh、acos、asin、atan、deg、rad、exp、ln、
log、 logn、sqrt、sqrtn、pow、mod、
例如Tag0001的存儲為定時存儲,保存條件為Tag0002.PV>0,當Tag0002.PV=0或者<0時,Tag0001存儲的數據是-9999,告知保存條件不符合,當Tag0002.PV>0時滿足條件,Tag0001存儲數據。在某些應用環境下,不單單要照存儲條件保存歷史數據,而且需要把滿足條件的具體時間記錄下來,這樣需配置Db.ini中[ConfSave]字段的DoAction屬性,當DoAction=1時,Db將在一個條件存儲過程完成后(從保存條件滿足到保存條件不滿足)將開始儲存和結束存儲的時間記錄到工程目錄的DB目錄下的ConfSave.mdb數據庫中,如需保存到其他數據庫需修改[ConfSave]字段的ConnectStr屬性, ConnectStr屬性是一個ODBC連接字符串,可以根據具體數據庫自行生成。默認情況下不保存條件存儲記錄。
例如要保存在sql server2000的數據庫test中,則db.ini的設置如下
[HisData]
NODATA=-9999.9
[ConfSave]
DoAction = 1
ConnectStr="DRIVER=SQL Server;SERVER=192.168.0.252;UID=sa;PWD=123;DATABASE=test "
同時在test里面要建立一張表,名稱是SaveConfTable,里面的字段也得定義好,字段的定義如下:
TagName:文本型
bgnTime:日期型
bgnTimeMs:數字型
endTime:日期型
endTimeMs:數字型
也就是說db往數據庫寫的表名以及字段名字都是固定好的,并且不會自動創建表格。
Question
db里數據,但是view里沒數據?
ANSWER
情況1:數據庫組態里的變量,在中間變量或者是數據庫變量里定義了同樣的點。
情況2:工程存在遠程數據源,畫面里引用的模擬量輸出很可能是通過netview的方式引過來的,給客戶造成誤解。
情況3:view是從關系數據庫里獲取的數據,而且超過了63個字符串,而db的desc參數最多只能接收63個字符串。
Question
如何算存歷史數據所占用的空間?
ANSWER
比如100個點,每秒保存1次,則一天保存了多少空間。
一個點保存占用8字節。則算法如下:
8*3600(1天的秒數*24(一天的小時數)*100=69120000byte(字節)
69120000byte/1024=67500kb
67500kb/1024=65.918MB
65.918MB/1024=0.064G
其中公式為:1B=1b(位
1KB=1024B
1MB=1024KB
1GB=1024MB
Question
db.ini的說明?
ANSWER
[HisData]
NODATA = PREDATA|* 取歷史數據時,如果數據不存在,如果NODATA = PREDATA則使用前一個數據,如果NODATA = 其他值,則用其他值。
[Config]
IOREADY_PROMPT = 1|0 設備沒準備好時,是否提示。1,提示;0,不提示。
VERTYPE = INBUILD|PC|CHUNCHANG 版本類型。遷入版,pc版和春常oem版
SHOWCHECK = 1|0 是否進行密碼檢查。1,檢查;0,不檢查。
[RealData]
SAMEVALUEACTION = 1|0 對相同的采集值,是否進行處理。1,處理;0,不處理。
[WATCHDOG]
CHECK_CYCLE 看門狗檢查周期
HARD_WATCHDOG 喂狗周期
DB_SOFT_WATCHDOG 檢查db的周期
NDS_SOFT_WATCHDOG 檢查nds的周期
IOSERVER_SOFT_WATCHDOG 檢查ioserver的周期
[Pid]
DOACTION = 1|0 PID點是否進行運算,1運算,0不運算
[NetDb]
UpDateTimer = * 使用遠程數據源時,數據的刷新周期,單位為毫秒
[ConfSave]
DoAction = 1|0 是否記錄條件存儲的開始以及停止時間,1記錄,0不記錄
ConnectStr = * 保存條件存儲記錄時的數據庫連接字符串,該字符串為ODBC字符串
[NewHis]
CycTime = 1|0 使用HisSaveManager歷史庫時,是否啟用定時保存功能,1啟用,0不啟用
FlushTime = * 使用HisSaveManager歷史庫時,定時存盤周期,單位為毫秒
[Redun]
CycTime = * 雙機冗余數據通訊周期的最小值,單位為毫秒,界面設置小于該數據時,DB只照該數據處理
TimeOut = * 雙機冗余數據超時周期的最小值,單位為毫秒,界面設置小于該數據時,DB只照該數據處理
InitAll = 1|0 雙機冗余數據同步時,是否同步全部的屬性,還是只同步PV,1全部屬性,0只同步PV
Question
關于dbcom的授權說明
ANSWER
我們的VB\VC通信組件若干個,在VB的部件里能看到一共有三個,DBCOM、DBCOMMOCX、DBINTERFACE,這個是不同歷史時期的產物,但是用處是基本相當的,只不過效率不同,現在最新的是,DBCOMMOCX,而DBCOM的授權只能用DBCOM,另外兩個需要用DBISDK的授權。
Question
濾波的算法
ANSWER
數據的變化率 =(本次數值 - 上一次數值) / 兩次數值的時間差(單位:秒,數據的變化率 > 設定的濾波值,數據被丟棄。
Question
小信號切除的限值代表什么意思?
ANSWER
比如填0.1,代表當采集的數據小于0.1的時候就忽略不計。
Question
力控里的統計值的計算原理?
ANSWER
力控保存的統計值時照整點保存,即統計只在正點那個時刻保存一次。
比如在9點,這個時刻保存8點到9點的最大值,最小值和平均值,在10點,這個時刻保存9點到10點的最大值,最小值和平均值,而取8點到10點的平均值,就會用到9點和10點保存的統計值。
Question
為何只能查看10天的歷史數據,以前數據都沒了?
ANSWER
力控的實時數據庫默認保存10天的歷史數據,所以會出現上述問題,只需在力控實時數據庫工程管理器DBManager“工程”——“數據庫參數”——“歷史數據保存時間”中將保存時間的設置需求進行修改即可。
Question
力控的歷史數據能使用EXCEL或關系數據庫查看嗎?
ANSWER
可以,在以前版本中使用力控的“內部控件”——“ODBC轉儲”工具可以將歷史數據轉存到EXCEL中查看,或使用ODBCGATE工具轉存到關系數據庫中。在力控6系列產品中可以使用OdbcRouter來進行將數據轉儲到EXCEL或關系數據庫中來進行查看。
Question
做一個恒壓供水系統監控,使用數據變化1%保存歷史數據的方式。數據庫根本就不保存歷史數據,你們的數據庫是不是問題,不能存歷史?
ANSWER
力控對數據庫變量“定時”和“數據變化”兩種歷史保存方式,數據庫變量都可以任意用其中一種方式;對于上述及其類似系統存在實時數據(恒定的壓力)前后兩次測量值變化微小的工程,請使用定時保存,或將數據變化精度提高即可。
Question
歷史數據占用了大量硬盤空間,數據很重要我想將數據備份出來并刪除原的歷史,可以嗎?
ANSWER
可以,在組態中使用“內部控件”——“數據備份”即可。該控件可以實現歷史數據的備份(是否刪除可則和恢復。
Question
力控如何與其它軟件交換數據?
ANSWER
力控可以通過標準的DDE、OPC和控件DBCom與第方軟件進行數據交換,也可以共同約定通訊方式進行數據交換。
Question
我用VC自己編寫了專用控制算法和仿真模型,想用力控做畫面和數據采集,用我的程序做運算并返回信息給力控,可以嗎?
ANSWER
可以,力控的DBCommocx是個標準的OLE控件可以在本地和遠程計算機上雙向的與VC++、VB、VFP、DELPHI、FrontPage、C++ Build等編寫的程序進行實時或歷史的數據交換,也支持數據變化通知。
Question
力控怎樣與ERP和MIS等管理系統結合?
ANSWER
力控先將數據寫到關系數據庫中,ERP和MIS等系統再與關系數據庫進行通訊。
Question
力控可以和Infoplus等大型實時數據庫連接嗎?
ANSWER
力控是標準的OPC Server和DDE Server,可以使用OPC和DDE向實時數據庫提供數據,對于Infoplus也可以使用專用的CMIO接口。
Question
力控能結合GIS地理信息系統嗎?
ANSWER
可以,使用DBCommocx控件向GIS提供報警和實時數據信息;如果是WebGIS可以調用力控的drawcom控件,瀏覽力控的網絡發布畫面,力控也可以使用StartAPP函數啟動WebGIS的畫面,或者通過力控直接調用GIS系統的ActiveX控件在力控界面上進行使用,或者是力控開發專門的組件來完成。
Question
如何讀寫*.txt的純文本文件?
ANSWER
可以使用FileRead和FileWrite等相關函數進行讀寫操作。請查看相關的函數操作。
Question
力控能獲取歷史趨勢上游標定時間的值嗎?
ANSWER
可以,在力控5系列以前版本中可以使用字段tr_val1——tr_val8能得到每支趨勢筆的游標所在時刻的值,在力控6系列的產品中直接調用曲線控件的GetSlidValue函數就可以了。
Question
使用力控查詢力控數據的平均值為什么不能得到數據?
ANSWER
如果想要得到歷史數據的平均值、最大值、最小值,必須在歷史數據存儲的時候將變量的統計選上,只有這樣力控存儲數據的時候才能將統計值進行統計。
Question
數據庫組態中的導入導出點表什么規則,需要注意什么?
ANSWER
導出文件由個文件組成,文件名稱分別是*_basic.csv、*_his.csv、*_link.csv,而且必須位于同一個子目錄下。在導出文件時需要指定目錄和*的內容,個文件自動生成,在導入時*_basic.csv是必須存在的,另外兩個文件可以也可以沒。
*_basic.csv保存點的基本組態信息,*_his.csv保存歷史記錄的信息,*_link.csv保存連接項的定義。下面詳細介紹個文件的格式和每個單元的含義
*_basic.csv文件以點類型組織整個文件,它包括以下幾個部分的內容:
1、第一行和第二行共兩個字段,第一個字段是點類型,第二個字段是這種類型的點的總數量,包括所有區域中的數量。點類型用一個整形數標示,它的取值和含義見表一
其他的點類型值是用戶自定義點類型。
2、然后接下來的分別是每個區域中該中類型點的定義信息,開始兩行是兩個字段,指出那個區域共有多少個這種類型的點。
3、接下來是這個區域中這種類型的點的定義,字段的數量依賴于這個類型的參數數量。
如果多個區域該種類型的點,則重復2.、3.的內容。如果多種點類型重復1.、2.、3.的內容。
每種類型的點都不同的參數集,標準點類型的參數值的含義是固定的,自定義點類型的參數值由用戶定義,這里無法確定。標準點類型的含義如表二
*_his.csv文件定義歷史記錄的定義,一共有三種形式的歷史記錄定義,分別是變化保存、定期保存和退出時保存。下面詳細介紹它的格式:
這個文件的每一行都是四個字段,依次分別是點名稱、參數名稱、記錄形式和參數。第一行是表頭,從第二行開始是數據部分。記錄形式的取值和含義見表三
*_link.csv文件定義連接項的信息,連接項定義一共有三種類型,非別是設備連接項、網絡數據庫連接項和內部連接項。下面詳細介紹它的格式:
這個文件和上一個文件不同的地方就是參數數量多一些,而且它的字段數量隨著連接類型的不同二不同。它的第三字段取值含義見表四
注意,如果是設備連接項,就不是6個字段,而是13個字段,后8個字段分別標示IOITEMDEF結構體中的8個long值的內容。
Question
對于上限值比下限值還小的量程變換中,該如何實現,例如上位機輸入是0,下位機對應是32000,上位機輸入是90,下位機是6400?
ANSWER
量程變換中,上限值一定要高于下限值,所以不符合這個要求,同時分段線性化是單向的,也就是下位機的數據發生變化,上位機會按照分段線性化進行計算,但是如果是上位機設定值給下位機,則不起作用。所以針對這種方式,只能用程序來寫。比如定義一個a變量來進行io連接,再定義一個b變量,在界面上做模擬量的輸入輸出,擇b這個變量,同時在程序運行周期中寫如下的公式:a.PV=-(b.pv-32000*9/2560)*2560/9
Question
數據庫里存儲數據范圍?
ANSWER
歷史數據庫存取7位效數據,如100000000數據庫作為1.0E8存儲,是2位效數據;12345678數據庫作為1.234567E7存儲。這個與數據庫組態里小數點的位數擇無關。實時數據庫存取16位效數據
Question
數據庫組態里的數據庫參數通訊故障時顯示值為0,運行時報表數據還是-9999?
ANSWER
通訊故障時,view上文字標簽會數據庫參數配置的顯示,報表等控件顯示-9999,這種情況下可以在專家報表菜單欄—格式—無效數據處理中設置。
Question
數據庫點類型的控制點中位置式和微分先行不好用?
ANSWER
這兩個方式不好用,讓客戶用增量式算法。
Question
數據庫點的歷史參數里的保存條件在修改時會彈出條件必須為表達式?
ANSWER
條件必須使用數據庫點。