WinCC Zugriff auf SQL Datenbank

ITBuxi

Active member
Beiträge
40
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,
ich arbeite mich gerade in WinCC (V7 SP3) ein und versteh das noch nicht so ganz mit den VB Codes.

Ich habe mir ein VBS Script gemacht, das mir eine Connection zu einer anderen SQL Datenbank (SQL 2005 Express9 aufmachen soll.
Nehmen wir als Beispiel den Zugriff auf eine Tabelle, in dem die Konfiguration verschiedener Ventile gespeichert ist.

Um das im Graphic Editor in einem Bild darzustellen will ich das VBS Script im VB Code des Bildes (document opened) aufrufen.
Ich weiß aber nicht wie ich das VBS Script anspreche. "Call SQLDB" (so heißt meine Sub) funktioniert net.

Oder kann ich etwa gar net von VB die VBS Prozeduren aufrufen?

Die Ventile will ich dann als Baumstruktur darstellen. Dazu habe ich das TreeView Objekt schon in das Bild eingebunden. Aber ohne Daten ist auch nix mit Werte in den TreeView schreiben ;-)

Könnt Ihr mir da helfen?
 
OP
I

ITBuxi

Active member
Beiträge
40
Punkte Reaktionen
0
und noch eine Frage: Ist es möglich dem VB Script einen Wert zu übergeben? Irgendwie klappt das bei mir net.

Jetzt habe ich das übrigens mit dem VB und dem VBS gecheckt.... VB für die Projektierungsumgebung, VBS für die Laufzeit. Richtig?
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.148
Punkte Reaktionen
2.745
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,
WinCC ist nicht so mein Thema - aber generell :
Wenn dein erstellter Code nicht funktioniert so läßt sich das für einen Fremden nur kontrollieren, wenn er den Code kennt. Vielleicht stellst du also dein Script hier mal ein ...

Gruß
Larry
 

ducati

Well-known member
Beiträge
7.614
Punkte Reaktionen
1.704
Hmm,

ansosten scheinst Du aus der Informatik-Welt zu kommen, dazu fällt mir nur ein zu sagen: Es ist nicht so ohne weiteres sinnvoll, die Verfahren/Erkenntnisse aus der Informatik-Welt auf die Automatisierungswelt zu übertragen. In der SPS/HMI-Welt macht man schon einiges anders. Für WinCC würde ich per see schonmal empfehlen NICHT in/an den SQL-Datenbanken rumzufummel. Und ob es sinnvoll ist, aus nem Script heraus SQL-Abfragen zu starten sollte man auch mal hinterfragen. Also was willst Du konkret machen und warum, dann können wir auch Tipps geben.
Die Scripte in WinCC (egal ob C oder VB) sind meiner Meinung nach eher für kleinere Dinge was die Visu anbelangt gedacht. Eigenschaften von Objekten ändern, sowas in der Art. Für Datenbankübergreifende Kommunikation würde ich auf externe Komponenten (OPC?) zurückgreifen. Im übrigen ist der Scritserver von WinCC nicht sehr stabil, also die Gefahr ihn abzuschiessen ist relativ hoch, und die Debuggingmöglichkeiten für nen WinCC-Script sind auch bescheiden.

Gruß.
 

Blockmove

Supermoderator und User des Jahres 2019
Teammitglied
Beiträge
10.386
Punkte Reaktionen
3.028
Und ob es sinnvoll ist, aus nem Script heraus SQL-Abfragen zu starten sollte man auch mal hinterfragen. Also was willst Du konkret machen und warum, dann können wir auch Tipps geben.
Die Scripte in WinCC (egal ob C oder VB) sind meiner Meinung nach eher für kleinere Dinge was die Visu anbelangt gedacht. Eigenschaften von Objekten ändern, sowas in der Art. Für Datenbankübergreifende Kommunikation würde ich auf externe Komponenten (OPC?) zurückgreifen.

Also deine ansichten zu WinCC und SQL kann ich nicht teilen.
Wir schreiben auch von WinCC in einige Datenbanken und das Ganze läuft stabil und ohne Probleme.

Gruß
Dieter
 

ducati

Well-known member
Beiträge
7.614
Punkte Reaktionen
1.704
Zuviel Werbung?
->Hier kostenlos registrieren
Also deine ansichten zu WinCC und SQL kann ich nicht teilen.

So hat halt jeder seine eigenen Erfahrungen und Meinungen. Kommt sicherlich auch auf die spezielle Anforderung drauf an.
Ich stehe mit WinCC-Scripten jedenfalls etwas auf Kriegsfuss, was nicht heissen soll, dass ich sie nicht einsetze(n) (muss).

Wichtig ist auf jeden Fall ein gutes, ausgereiftes Konzept, eine planvolle Umsetzung, sowie gute Dokumentation. Eigentlich wie überall... Zu nem guten Konzept gehört dabei für mich auch dazu, zu überlegen ob es nicht (bessere) Alternativen gibt.

Gruß.
 
OP
I

ITBuxi

Active member
Beiträge
40
Punkte Reaktionen
0
Also zur Erklärung:

Ich habe einen separaten SQL Server. Die Verbindung wird über ein Script über ADO aufgebaut.
Innerhalb des SQL Servers gibt es eine Tabelle in der ich die Konfiguration einzelner Ventile speichere (ein- und Ausgänge, Art des Ventils etc.)
Ich habe mir nun ein Bild erstellt. Wenn ich jetzt dort eine Recordnummer eingebe, dann soll mir der Datensatz aus dem "fremden" SQL Server angezeigt werden.
Dazu möchte ich dem VBScript einen Wert übergeben. Das ist der Hintergrund.

Funktioniert das irgendwie? Also über nen Umweg, dass ich die RecordNr in eine Variable schreibe und die Variable auszulese, ist mir klar. Ich wollte mir jedoch den Umweg sparen.
Bei mir läuft das Script Zeugs auch einwandfrei. Allerdings teilweise halt bisschen umständlich.
Realisiert ihr das alle über OPC?

Und nein, ich komme nicht aus der PC Welt sondern von einem anderen Automatisierungssystem. :)
 

Blockmove

Supermoderator und User des Jahres 2019
Teammitglied
Beiträge
10.386
Punkte Reaktionen
3.028
Bei mir läuft das Script Zeugs auch einwandfrei. Allerdings teilweise halt bisschen umständlich.
Realisiert ihr das alle über OPC?

Das Scripting ist manchmal wirklich etwas umständlich.
OPC nutz ich nicht. Um Werte in Datenbanken zu schreiben tut es WinCC genauso.
Für die Auswertung nutzen wir dann die Microsoft Reporting Services.

Gruß
Dieter
 
Oben