西門子的WINCC軟件提供了方便的變量歸檔,報警歸檔備份功能。但沒想到的是Wincc用戶歸檔沒有自動備份功能。配方數據及用戶歸檔存儲的報表記錄數據確是生產的關鍵數據,需要定時定期備份。 當然,西門子也提供了標準的接口函數提供導出功能。是的,一個表一個表的導出功能。項目變了,配方多了一種重新編輯腳本重新導出;陧椖繉嶋H情況,拋棄了西門子官方提供的方法,選擇了其他的方法處理備份數據。 在此,提供三種昌暉儀表使用過的Wincc用戶歸檔備份方法,歡迎大家一起討論! 方法一:完整性備份為bak文件 借用強大的SQL語法,通過VBS執行SQLCMD指令,執行已經測試完成的T-SQL備份指令。由于需要使用cmdshell指令,SQL默認為關閉狀態需要在T-SQL指令中開啟,結束完成后記得關閉,否則SQL處于危險狀態。結合Wincc可以靈活的定義重復執行的時間?梢造`活控制備份的周期,備份文件的保留方式。具體看現場實際要求,部分腳本如下: ![]() 實際測試,備份速度基本是ms級別,截圖如下。 ![]() 方法二:導出表數據使用BCP指令 BCP實用工具可以在Microsoft SQL Server實例和用戶指定格式的數據文件間大容量復制數據。使用BCP實用工具可以將大量新行導入SQL Server表,或將表數據導入數據文件。除非與queryout選項一起使用,否則使用該實用工具不需要了解Transact-SQL知識。BCP既可以在CMD提示符下運行,也可以在SSMS下執行。 如圖所示:導出對應的表的數據,如果表名有固定的標簽,可以靈活的控制表的數據導出,即使外部新建表單或者新加數據都無需調整腳本。通過VBS執行SQLCMD,可以靈活控制表的名稱。 ![]() 方法三:使用WINCC提供的C指令WinCC ODK uaArchiveExport與uaArchiveImport函數 詳細的指令有興趣的可以查詢西門子的官方幫助手冊。當然官方的是最安全可靠的,靈活度卻少了很多,不到最后一刻腳本都可能根據需要調整。對C腳本的功底要求也很高,具體的腳本可以根據官方指導文件處理。 ![]() |
電工學習網 ( )
GMT+8, 2023-5-4 04:28