MDM - WinCC: Scripting (VBS, ANSI-C, VBA)

Werbung
MDM - WinCC: Scripting (VBS, ANSI-C, VBA)
Beispiel: So projektieren Sie eine Datenbankanbindung mit VBS
Beispiel: So projektieren Sie eine Datenbankanbindung mit VBS
Einleitung
Die folgenden Beispiele beschreiben die Projektierung einer Access-Datenbankanbindung
über einen ODBC-Treiber.
•
•
Beispiel 1 schreibt einen Variablenwert aus WinCC in eine Access-Datenbank.
Beispiel 2 liest einen Wert aus der Datenbank und schreibt diesen Wert in eine WinCC Variable.
Die Beispiele enthalten keine Fehlerbehandlung.
Vorgehensweise Beispiel 1
1.
Access-Datenbank mit Tabelle WINCC_DATA und Spalten (ID, TagValue) mit der ID als Autowert
erstellen.
2.
ODBC-Datenquelle mit Namen "SampleDSN" einrichten, Verweis auf obige AccessDatenbank.
3.
Programmierung.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=16483325707&Language=de-DE&TopicId=6168965899
05.04.2017
MDM - WinCC: Scripting (VBS, ANSI-C, VBA)
Beispiel: So projektieren Sie eine Datenbankanbindung mit VBS
Beispiel 1
'VBS108
Dim objConnection
Dim strConnectionString
Dim lngValue
Dim strSQL
Dim objCommand
strConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;"
lngValue = HMIRuntime.Tags("Tag1").Read
strSQL = "INSERT INTO WINCC_DATA (TagValue) VALUES (" & lngValue & ");"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.Open
Set objCommand = CreateObject("ADODB.Command")
With objCommand
.ActiveConnection = objConnection
.CommandText = strSQL
End With
objCommand.Execute
Set objCommand = Nothing
objConnection.Close
Set objConnection = Nothing
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=16483325707&Language=de-DE&TopicId=6168965899
05.04.2017
MDM - WinCC: Scripting (VBS, ANSI-C, VBA)
Beispiel: So projektieren Sie eine Datenbankanbindung mit VBS
Vorgehensweise Beispiel 2
1.
WinCC Variable mit dem Namen dbValue anlegen.
2.
Access-Datenbank mit Tabelle WINCC_DATA und den Spalten: ID, TagValue erstellen (ID als
Autowert).
3.
ODBC-Datenquelle mit Namen "SampleDSN" einrichten, Verweis auf obige AccessDatenbank.
4.
Programmierung.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=16483325707&Language=de-DE&TopicId=6168965899
05.04.2017
MDM - WinCC: Scripting (VBS, ANSI-C, VBA)
Beispiel: So projektieren Sie eine Datenbankanbindung mit VBS
Beispiel 2
'VBS108a
Dim objConnection
Dim objCommand
Dim objRecordset
Dim strConnectionString
Dim strSQL
Dim lngValue
Dim lngCount
strConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;"
strSQL = "select TagValue from WINCC_DATA where ID = 1"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.Open
Set objRecordset = CreateObject("ADODB.Recordset")
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = strSQL
Set objRecordset = objCommand.Execute
lngCount = objRecordset.Fields.Count
If (lngCount>0) Then
objRecordset.movefirst
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
lngValue = can
objRecordset.Fields(0).Value
documentation
be found at:
/dokumentation/default.aspx?DocVersionId=16483325707&Language=de-DE&TopicId=6168965899
05.04.2017
HMIRuntime.Tags("dbValue").Write lngValue
MDM - WinCC: Scripting (VBS, ANSI-C, VBA)
Beispiel: So projektieren Sie eine Datenbankanbindung mit VBS
Es gibt unterschiedliche Möglichkeiten, den ConnectionString für die Verbindung zu definieren,
abhängig vom verwendeten Provider:
Microsoft OLE DB provider for ODBC
Ermöglicht Verbindungen zu einer beliebigen ODBC Datenquelle. Die entsprechende Syntax
ist:
"[Provider=MSDASQL;]{DSN=name|FileDSN=filename};
[DATABASE=database;]UID=user; PWD=password"
Andere Microsoft OLE DB Provider (z.B. MS Jet, MS SQL Server)
Sie können ohne DSN arbeiten. Die entsprechende Syntax ist:
"[Provider=provider;]DRIVER=driver; SERVER=server;
DATABASE=database; UID=user; PWD=password"
Siehe auch
→ Allgemeine Beispiele zu VBScript
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=16483325707&Language=de-DE&TopicId=6168965899
05.04.2017
Herunterladen