WinCC read tag

Wie immer zuerst klären: Mit welcher WinCC Version arbeitest du?

Man kann die Archivwerte auslesen mit Skripten (z.B. VB) oder mit dem Trendcontrol. Siehe diesen Thread:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie immer zuerst klären: Mit welcher WinCC Version arbeitest du?

Man kann die Archivwerte auslesen mit Skripten (z.B. VB) oder mit dem Trendcontrol. Siehe diesen Thread:
I use wincc 7.5, Query the value of the process variable archive, can only use wincc connectivity pack?
 
Query the value of the process variable archive, can only use wincc connectivity pack?
Möglicherweise geht auch ein third-party DB-Provider? Das weiß ich nicht.

Fragst du wegen der Lizenz "WinCC/Connectivity Pack" (6AV6371-1HR07-5AX0 oder 6AV6371-1HR08-1AX0)? Ich kann mich gerade nicht mehr erinnern, ob wir diese Lizenz gebraucht haben. Vielleicht ist sie auch in einer anderen Lizenz enthalten (ES oder Server)? Ich kann am Montag mal nachschauen, welche Lizenzen wir bei dem Projekt haben.
 
ob wir diese Lizenz gebraucht haben. Vielleicht ist sie auch in einer anderen Lizenz enthalten (ES oder Server)?
Ich habe auf dem WinCC Server nachgeschaut. Eine besondere Lizenz "WinCC/Connectivity Pack" brauchten und haben wir nicht (siehe Bild im Anhang von den vorhandenen Lizenzen). Trotzdem funktioniert der genannte Archivdaten-Export mit VBS-Skripten problemlos und es kommen keine Meldungen, dass eine Lizenz vermisst wird.

Die Prozesswertarchiv-Datenbank abfragen siehe WinCC Handbuch Skripting das Beispielskript VBS372 (oder suche "adodb")
WinCC V7.x Scripting: VBS, ANSI-C, VBA
 

Anhänge

  • ALM_WinCC.png
    ALM_WinCC.png
    49 KB · Aufrufe: 10
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe auf dem WinCC Server nachgeschaut. Eine besondere Lizenz "WinCC/Connectivity Pack" brauchten und haben wir nicht (siehe Bild im Anhang von den vorhandenen Lizenzen). Trotzdem funktioniert der genannte Archivdaten-Export mit VBS-Skripten problemlos und es kommen keine Meldungen, dass eine Lizenz vermisst wird.
Wie immer zuerst klären: Mit welcher WinCC Version arbeitest du?

Man kann die Archivwerte auslesen mit Skripten (z.B. VB) oder mit dem Trendcontrol. Siehe diesen Thread:
I attempted to run this WinCC project for exporting archive data using the SIMATIC WinCC/Connectivity Pack (OLE DB Provider), but I'm unable to write the archived variable values to a CSV file. 1751273990425.png

These column names don't exist in the database. Running this program just created a folder and write three names in the csv. :ROFLMAO:
 
Example script and demo project are available in this application example:



Calling these scripts from within WinCC doesn't require a Connectivtiy Pack license.
 
I attempted to run this WinCC project for exporting archive data using the SIMATIC WinCC/Connectivity Pack (OLE DB Provider), but I'm unable to write the archived variable values to a CSV file. Anhang anzeigen 88698

These column names don't exist in the database. Running this program just created a folder and write three names in the csv. :ROFLMAO:
What are you trying to tell us? That the Siemens example project doesn't work? Or that the scripts don't work with your project?

What kind of "column names" do you mean? In the code snippet you showed, there are no DB column names or HMI variable names. The names of the archive variables are specified earlier in the script when creating the CommandText (ValueID or the symbolic name of the archive variable).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
What are you trying to tell us? That the Siemens example project doesn't work? Or that the scripts don't work with your project?

What kind of "column names" do you mean? In the code snippet you showed, there are no DB column names or HMI variable names. The names of the archive variables are specified earlier in the script when creating the CommandText (ValueID or the symbolic name of the archive variable).
:oops:I don't know what I did, but the program ran successfully. I searched for a C script program.

// Die Funktion gibt zu einer Varibalen den Adressparameter zurück (z.B. "DB100,D0.0").
// Bei internen Variablen kommt ein Leerstring zurück.
// Ist die variable nicht definiert, kommt "n/a" zurück.

__object static *objConnection;
char strSQL[4096];
char strConnectionString[512];
char *lpszDSNName;
char *lpszVarAdresse;
long dwAnzahl;

lpszVarAdresse = SysMalloc(255);
sprintf(lpszVarAdresse, "n/a");

// DSNName bestimmen
lpszDSNName = GetDSNName ();

// Verbindung zur WinCC-Datenbank herstellen
sprintf(strConnectionString, "Provider=MSDASQL;DSN=%s;UID=;PWD=;", lpszDSNName );
objConnection = __object_create("ADODB.Connection");


__object , __object_create , I couldn't find those keywords in the WinCC C script.
 
Zurück
Oben