新聞中心
隨著工業(yè)自動化的發(fā)展和應用,越來越多的企業(yè)開始使用SCADA系統(tǒng)對生產(chǎn)工藝過程進行監(jiān)控和控制,并收集大量的數(shù)據(jù)。這些數(shù)據(jù)對企業(yè)的生產(chǎn)效率和質(zhì)量控制起著至關(guān)重要的作用,因此如何快速、精準地獲取這些數(shù)據(jù),成為企業(yè)智能化建設中的重要環(huán)節(jié)。

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站設計與策劃設計,江寧網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設十載,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:江寧等地區(qū)。江寧做網(wǎng)站價格咨詢:18982081108
WinCC是世界領先的SCADA系統(tǒng)之一,它具有強大的數(shù)據(jù)采集、處理、分析和展示功能,在物聯(lián)網(wǎng)和大數(shù)據(jù)時代中具有重要應用價值。本文將介紹如何,以便將企業(yè)的數(shù)據(jù)及時、準確地反映在SCADA系統(tǒng)中,為企業(yè)的生產(chǎn)管理和決策提供重要依據(jù)。
一、什么是ODBC
ODBC(Open DataBase Connectivity)是一種開放的數(shù)據(jù)庫連接標準,通過ODBC可以訪問各種不同的數(shù)據(jù)庫,如MySQL、Oracle、SQL Server等。ODBC提供了一種獨立于不同數(shù)據(jù)庫管理系統(tǒng)(DBMS)的方法來訪問數(shù)據(jù),使得不同平臺上的應用程序能夠互相訪問各自的數(shù)據(jù)。
二、配置ODBC數(shù)據(jù)源
在使用WinCC通過ODBC讀取數(shù)據(jù)庫之前,首先需要進行ODBC數(shù)據(jù)源的配置。
1、打開“控制面板”,找到“管理工具”-“ODBC數(shù)據(jù)源(64位)”:
2、在彈出的“ODBC數(shù)據(jù)源(64位)”對話框中選擇“系統(tǒng)DSN”并點擊“添加”按鈕:
3、選擇所連接數(shù)據(jù)庫管理系統(tǒng)的驅(qū)動程序,本例中使用的是SQLServer,因此需要選擇“SQL Server Native Client 11.0”,點擊“完成”按鈕:
4、輸入數(shù)據(jù)源名稱和描述信息,設置數(shù)據(jù)庫服務器和身份驗證方式(本例中使用的是SQL Server身份驗證,因此需要輸入用戶名和密碼),測試連接,如果連接成功則點擊“確定”按鈕完成數(shù)據(jù)源配置:
三、設置WinCC項目屬性
在使用WinCC進行數(shù)據(jù)讀取之前,還需要設置WinCC項目屬性,以確保能夠成功訪問ODBC數(shù)據(jù)源。
1、在WinCC選項卡中選擇“信息”-“配置屬性”-“數(shù)據(jù)庫”:
2、在“通用”選項卡中勾選“啟用數(shù)據(jù)庫連接”和“使用ODBC連接”,輸入所連接的ODBC數(shù)據(jù)源名稱、用戶名和密碼:
3、在“ODBC”選項卡中選擇使用的ODBC驅(qū)動程序出面板中的屬性進行配置,如下圖所示:
四、使用WinCC讀取數(shù)據(jù)庫
完成上述配置后,就可以在WinCC中讀取ODBC數(shù)據(jù)源中的數(shù)據(jù)了。
1、在WinCC選項卡中選擇“繪圖管理”-“數(shù)據(jù)曲線”:
2、在“數(shù)據(jù)源管理”中選擇“SQL查詢”:
3、輸入需要查詢的SQL語句(本例中查詢的是“t_test”表中的數(shù)據(jù)):
4、選擇需要顯示的數(shù)據(jù)和時間范圍:
5、數(shù)據(jù)曲線生成后即可顯示所查詢的數(shù)據(jù):
五、
本文介紹了的具體步驟,通過配置ODBC數(shù)據(jù)源和WinCC項目屬性,尤其是設置ODBC連接驅(qū)動程序的特定屬性,就可以方便地在WinCC中讀取各種不同的數(shù)據(jù)庫。這種方法具有廣泛的適用性和可擴展性,為SCADA系統(tǒng)在數(shù)據(jù)處理和分析方面提供了更加強大的能力和潛力。
相關(guān)問題拓展閱讀:
- VB訪問WINCC的過程歸檔數(shù)據(jù)庫 如何連接及查詢?望大蝦指教
VB訪問WINCC的過程歸檔數(shù)據(jù)庫 如何連接及查詢?望大蝦指教
從WINCC6.0開始,就開始采用SQL3000SP3做為WINCC的后臺數(shù)據(jù)了.而這個SQL2023SP3是由SIEMENS為WINCC做了二次開發(fā)的,采用了一些獨有的技術(shù),一些是我們知道的,一些是我們所不知道的.所以當我們打開SQL管理器和用高級語言訪問時,和常規(guī)的SQL訪問的方法是有一些出入的.即使我們能夠很輕易的訪問ACCESS,普通的SQL2023的數(shù)據(jù)庫,不見的你就能順利的訪問到WINCC的歷史數(shù)據(jù). 官方的資料顯示: 1:WINCC的數(shù)據(jù)有設計時數(shù)據(jù)庫和運行時數(shù)據(jù)庫,分別放在相關(guān)的目錄,對于數(shù)據(jù)使用者而言,我們知道就可以了.設計時數(shù)據(jù)庫我們了解沒有什么意義.但運行時數(shù)據(jù)庫至少我們要知道它的名.他的名一般是”CC_工程名_年_月_日_時_分_秒R”的名,這個對于我們使用者而言,是很重要的的,無論你準備以DSN或OLEDB的方式訪問數(shù)據(jù)庫,你都需要它.如果你實在不知道它的名,你可以將WINCC激活,然后在’ODBC管理器”或”SQL企業(yè)管理器下的”DATABASE”可以看到它,它就蹲在李弊斗那里….. 2:運行時庫的表的問題. 其實,這個是很多的用戶很關(guān)心的問題,包括我自己在內(nèi).常規(guī)的使用過高級語言訪問SQL的技術(shù)人員都知道,很卜譽多的SQL語句,如SELECT ,INSERT INTO等等,都需要指明在某一庫的表中對它進行操作.因此,這個表的問題可能就是你訪問SQL的攔路虎. 先告訴大家:WINCC6.0的SQL庫操作是不需要表名的,因為他有自己定義的SQL語句.細節(jié)一會兒在描述. 其實,WINCC在運行時,根據(jù)WINCC的設置,數(shù)據(jù)歸檔是以一定時間做為基準,形成數(shù)據(jù)片段. 大體上有三個用戶需要了解的表. 在數(shù)據(jù)片段下,有三個表是我們所關(guān)心的 1:ARCHIVE(用戶歸檔記錄) 2:TAGPRESSED(TAGUNPRESSED)(壓縮/非壓縮變量歸檔記錄) 3:MSARCLONG(報警記錄) 事實上,我們在操作數(shù)據(jù)時,還是并不能直接使用常規(guī)的SQL來操作這些表,甚至不允許修改它,MSARCLONG情況好一些,允許插入/修改等. TAGPRESSED的數(shù)據(jù)和WINCC內(nèi)設置的變量管理下的歸檔是對應的, MSARCLONG的數(shù)據(jù)和WINCC內(nèi)設置的報警記錄下的設置是對應的. ARCHIVE的數(shù)據(jù)和WINCC內(nèi)的用戶歸檔數(shù)據(jù)是對應的. 一般的,當我們使用WINCC制作在線表格和在線趨勢使用的都是變量管理器下的歸檔. 因此,我們打開TAGPRESSED的表,可以看到的一些都是變量記錄的內(nèi)容,通常也是在這里歸檔了用戶的生產(chǎn)數(shù)據(jù).因此,我們訪問WINCC歷史數(shù)據(jù)庫,實際上是訪問這里的變量記錄 3:訪問歷史數(shù)據(jù)庫的方法/連接字符/SQL語句 訪問數(shù)據(jù)庫的方法: A:WINCCOLEDB訪問壓縮歸檔,也可以訪問非壓縮歸檔 B:MS ADO/OLEDB只能訪問非壓縮歸檔對于這種說法,我只嚴正了WINCCOLEDB的方法,后者沒有測試. 連接字符: WINCCOLEDB的連接字符為(本地): provider=winccoledbprovider.1,catalog=.\wincc,data source= 數(shù)據(jù)庫名,user id=DBA,password=SQL 對于遠程連接,因為沒有條件測試,所以就不說了,希望有哪位朋友日后通過了測試,到這里告訴一下現(xiàn)在開始講訪問用戶歸檔,過程值歸檔和消息歸檔的方法和語法: 1:查詢過程值歸檔和消息歸檔的連接字符串 SET CON=Createobject(“adodb.connection”) con.open Provider=winccoledbprovider.1;catalog=cc_工程名_年_月_日_時_分_秒R,data source=.\wincc,user id=DBA,password=SQL 說明:按照WINCC規(guī)定的連接字符串,創(chuàng)建到數(shù)據(jù)庫的連接,并且打開這個連接.其中,我們經(jīng)常需要修改的是Catalog的值,這個值根據(jù)不同的工程和創(chuàng)建的時間不同,我們可以在ODBC管理器下或SQL的庫中看到. 查詢過程值歸檔和用戶歸檔的SQL語句 TAG:R,’變量名1′,’起始時間’,’終止時間’ where條件說明:WHERE子句只對用戶歸檔有效,對過程值歸檔無效.變量名:這個變量名要和WINCC下的變量管理器哪磨的過程值歸檔名要一致.其格式為:歸檔名/變量名.起始時間和終止時間可以用相對時間和絕對時間,一般絕對時間比較容易理解,就是從開始時間到終止時間就好了.例如,查詢從2023/3/12 12:20:20秒到2023/3/13/ 12:20:20秒的數(shù)據(jù),則應該寫成’:20:20′ ‘:20:20’就好了.當然拉,也可以用相對時間格式,就是比目前時間的相對值,有個前移后移的問題,很簡單的. 這里特別需要注意的是:記錄到SQL數(shù)據(jù)庫的時間都是格林威治時間,和中國的東8區(qū)有8個小時的時間差,也就是說記錄的時間比本機PC時區(qū)晚8小時,這一點我們在測試是尤其重要.因為你是時間不正確,可能數(shù)據(jù)就沒有顯示,而導致你懷疑連接/命令/記錄的有效性訪問SQL數(shù)據(jù)庫的方法過程描述. 這和訪問普通的數(shù)據(jù)庫的方法大致上是相同,唯一的就是由于WINCC的數(shù)據(jù)是經(jīng)過了壓縮的. 1:定義連接字符串,就是前面所講到的. 2:創(chuàng)建ADODB的CONNECTION對象,在VB中直接用CREATEOBJECT(ADODB.CONNECTION)函數(shù),在ASP的VB腳本中,需要使用內(nèi)置SERVER對象創(chuàng)建CONNECTIONG對象. 3:打開到數(shù)據(jù)庫的連接,使用CONNECTION的OPEN函數(shù) 4:創(chuàng)建COMMAND對象,并定義COMMAND對象采用用CMDTEXT方法,表明將要使用命令文本的方式來獲取數(shù)據(jù)記錄. 5:創(chuàng)建RECORDSET對象,并用COMMAND對象的返回記錄集填充這個記錄集. 6:RECORDSET對象的數(shù)據(jù)就可以被你任意的使用了
關(guān)于wincc 通過 odbc 讀取數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
本文名稱:使用WinCC通過ODBC輕松讀取數(shù)據(jù)庫(wincc通過odbc讀取數(shù)據(jù)庫)
分享網(wǎng)址:http://fisionsoft.com.cn/article/copsjee.html


咨詢
建站咨詢
