WinCC WinCC Alarm Logging RT ansprechen

Beiträge
9.189
Reaktionspunkte
2.936
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bei WinCC lassen sich ja von einer externen Anwendung über die Funktionen der MsRtCli.dll die Informationen der Alarmlogging Runtime auslesen.
Dazu gibt es bei Siemens einige Beispiele, und die Header-Dateien sind bei der WinCC Installation mit dabei.

Grundsätzlich funktioniert das auch alles.

Ich habe mir also eine kleine Testanwendung geschrieben, die sich beim Dienst anmeldet, die anstehenden Alarme ausliest und sich dann wieder beendet. Die msrtcli.dll lade ich dabei dynamisch mittels LoadLibrary() und ermittle die Adressen der Funktionen mit GetProcAddress().
Nun bekomme ich sporadisch alle paar Aufrufe der Anwendung, eine Speicherzugriffsverletzung beim Aufruf von MSRTStartMsgService.

Wenn ich meine Anwendung so anpasse, dass sie während sie aktiv ist zyklisch MSRTStartMsgService, Abfrage, MSRTStopMsgService aufruft, dann kann ich das mehrere tausend Mal machen ohne dass es ein Fehler gibt.

MSRTStartMsgService bekommt einen Funktionszeiger auf eine Callback-Funktion übermittelt, die normalerweise aufgerufen wird wenn man sich erfolgreich verbunden hat. Der Zugriffsfehler könnte dann beispielsweise auftreten, wenn die Adresse der Funktionszeigers nicht gültig ist.

Ist zwar etwas speziell, aber vielleicht hat jemand damit ja schon seine Erfahrungen gemacht, ob es da etwas spezielles zu beachten gibt.
 
Wie ich jetzt festgestellt habe, läuft das Ganze unter WinCC V7.2 völlig problemlos.
Ich hatte mit WinCC V7.4 Sp1+Upd13 getestet, mir jetzt nochmal das letzte Upd15 aufgespielt, was den Fehler weniger häufig auftreten lässt, er aber immer noch vorhanden ist. Laut Änderungsverzeichnis wurde an der Schnittstelle aber gar nichts geändert.
Support erhält man so wie ich das verstanden habe nur, wenn das ODK gekauft wurde.
 
Zurück
Oben