WinCC dll erstellen und in WinCC Global Script C einlesen

Martin3G

Level-1
Beiträge
61
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

mein eigentliches Problem liegt darin, dass zwei Global C-Scripte in WinCC zu gross sind um diese im Web Navigator zu Publishen.
Der Siemens Support hat mir vorgeschlagen dll Bibliotheken draus zu machen und diese einzulesen.
Jetzt habe ich ueber einen C Compiler, daraus dll´s gemacht (eingefuegt, Kompiliert und gespeichert // .dll).

Hab ich es mir zu leicht gemacht oder gehoert noch mehr dazu?
Welches Programm wird dabei empfohlen, um dll´s zu erstellen? (ich verwende WinCC 7.4 Sp1 Up2)
Also welche Visual Studio Version ist damit Kompatibel?

Danach hab ich die Dateien in einen Ordner gepackt, um diese im Global C-Script aufzurufen.

Code:
#include "apdefap.h"
void Test()
{
  #pragma code ("D:/dll/Speichern_Daten.dll")
  #pragma code ()
}

Werden hier noch weitere Befehle benoetigt um die Bibliothek zu Triggern?

Danach wird die Funktion "Test" ueber ein Button im Graphics Designer ausgeloest.
Bei den beiden Dateien handelt es sich um Programme die eine Text-Datei und Dat-Datei erstellen, um diese dann zu beschreiben.

wuerde mich freuen wenn mir jemand weiterhelfen koennte

mfg Martin3G
 
Zuletzt bearbeitet:
Ich versteh gar nicht, warum der Webnavigator sie überhaupt publishen will?
Ich hab eine ganze Menge DLL in WinCC, erstellt mit Delphi, aber für VBS. (Die DLL hat ein Kollege erstellt, ich mach die Steuerung)
Die werden doch immer im Server ausgeführt, der Webnavigator ist doch einen reines Frontend? Dachte ich zumindest bisher. Liege ich da falsch?
Welchen Sinn macht es genau, die Scripte im Webnavigator laufen zu lassen, hast du die Daten auch auf dem Rechner mit dem Webnavigator? Die Daten liegen bei mir ausschließlich auf dem Server.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
puh,

ich versuch mal so gut es geht, mit meinen Wissensstand, zu Antworten.
Oder wie ich mir das denke.

Der Publisher muss doch die im Programm verwendeten Scripte und Bilder veröffentlichen, damit die darauf zugreifenden Clients die Funktionen und Bilder auch nutzen können.
Die Daten liegen auf dem Rechner mit dem Webnavigator.
Dieser fungiert doch dann als Server oder versteh ich das falsch.
Ist das nicht so, das nicht veröffentliche Funktionen von den Clients auch nicht genutzt werden können?

mfg Martin3G
 
Zuletzt bearbeitet:
Zwischen die beiden pragmas musst du die Funktionsprototypen der Funktionen aus der dll platzieren, die du nutzen willst.
Beim Erstellen der dll musst du nur darauf achten, dass diese auch als C-Datei übersetzt werden, und nicht als C++.

Ich hatte hier mal ein Beispiel gepostet wie man die libnodave.dll und auch die Winsock Funktionen aus der wsock32.dll von Microsoft aus WinCC heraus verwenden kann:
https://www.sps-forum.de/hochsprachen-opc/47286-libnodave-mit-wincc-7-0-a.html#post346563
 
Hallo Thomas,

vielen dank fuer deine Antwort, einfacher als gedacht:rolleyes:.
Hat nur der Funktionsaufruf aus der dll gefehlt.
Habs mir wieder komplizierter Vorgestellt als es eigentlich ist.
Funktioniert super

Wuensche allen einen schoenen Tag

mfg Martin3G
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ob sich das geändert hat?
Ich bin noch bei WinCC 7.2. Beim Publishen werden keine Scripte dazu angezeigt. Daten liegen bei mir auf dem WinCC-Server, auf dem auch der Wabnavigator als Dienst läuft, nicht auf dem Web-Client.
Ist das vielleicht bei C-Scripten anders.
Ich dachte immer, der Web-Client ist eigentlich ganz "dumm", wie eine Webseite, der Webnavigator auf dem Server liefert doch im Prinzip HTML-Seiten aus.
Hat mich nur mal interessiert, denn der Webnavigator hat auch so ein paar Einschränkungen, gegenüber einem "echten" WinCC-Client.
 
Hallo Ralle,

ich verwende Wincc 7.4 Sp1 Up2 und da möchte er auch die C Scripte Publishen + natürlich die Wincc Bilder + extern eingefügte Bilder.
Bei mir liegen die Daten auch auf dem Wincc-Server auf dem auch der Webnavigator läuft.
Bei den Clients liegen keine Daten.

mfg Martin3G
 
Hallo nochmal,

ich muss meine Antwort revidieren, auf dem Client müssen doch zum Teil Daten hinterlegt werden.
Die Daten die ich zum einlesen benoetige zum Beispiel.
Einige Anwendungen Funktionieren auch noch nicht, wo ich noch nicht genau weiss woran das liegt, Drucken über Report Designer zum Beispiel.

Mal sehen eventuell eroeffne ich noch einen neuen Thread dazu.

mfg Martin3G
 
Zurück
Oben