SPS Variablen über eigenes ActivX lesen/schreiben?

Zuviel Werbung?
-> Hier kostenlos registrieren
ja ich versteh dich schon, aber hätte ich 1000 Bit Tags, welche in einem Rohdatenblock untergebracht wären, müsste ich ja auf all diese Tags triggern, und den dafür vorgesehenen Rohdatenblock übertragen....
 
ja ich versteh dich schon, aber hätte ich 1000 Bit Tags, welche in einem Rohdatenblock untergebracht wären, müsste ich ja auf all diese Tags triggern, und den dafür vorgesehenen Rohdatenblock übertragen....

Bits habe ich schon deshalb kaum in Benutzung. Man kann ja alles in WinCC erledigen, indem man ein DWord nutzt und die aktiven Bits selektiert (Farbumschläge, Buttons etc,)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ralle,

Ich habe ein paar Fragen zu Deiner Lösung:
1) Kann man wirklich in WinCC auf eine externe Rohdatenvariable triggern?
Wäre mir neu.

2) Warum nutzt Ihr ein ActiveX und nicht z.B. ein Global-Script (vorzugsweise C, VBS ginge auch) als Schnittstelle interne Variablen <=> Rohdatenvariable(n)?

Gruß
Flinn
 
1. Die Rohdatenvarible wird unter der entsprechenden Verbindung in WinCC angelegt. Mann kann ein Script anlegen, daß mit einer Änderung diser Rohdatenvariable getriggert wird, das funktioniert problemlos.

2. Ich habe teilweise auch ohne ActiveX mit Scripten gearbeitet. So habe ich sämtliche Störmeldungen in WinCC (ca. 1200) über Rohdatenvariable realisiert.
Dann hatten wir aber auch gemischte Blöcke, die enthielten Byte, DWord, Int, Real, String. Es ist ziemlich anstrengend und fehlerträchtig die Daten korrekt aus den Rohdaten herauszuholen und die Bytes entsprechend richtig zu vertauschen. VBA und auch C unter WinCC unterliegt wohl auch einigen Beschränkungen (VBA kann hier nicht alles, was Microsoft ihm eigentlich spendiert hat, warum wissen nur die Siemens-Entwickler), konnte also ohnehin nicht alles, was wir benötigten (Drucken von Labeln über Netzwerk, Daten an andere Server verschicken und empfangen etc.) Dabei stellte mein Kollege dann fest, daß er sich in den ActiveX richtig austoben konnte (Delphi 2006) und alles so programmieren konnte, wie er es von Windows gewohnt ist, ohne Script- und WinCC-Einschränkungen. Das ActiveX dann in WinCC zu benutzen ist rel. einfach, integriert sind gleich Funktionen, um die Daten korrekt zu extrahieren.
 
1. Die Rohdatenvarible wird unter der entsprechenden Verbindung in WinCC angelegt. Mann kann ein Script anlegen, daß mit einer Änderung diser Rohdatenvariable getriggert wird, das funktioniert problemlos.

2. Ich habe teilweise auch ohne ActiveX mit Scripten gearbeitet. So habe ich sämtliche Störmeldungen in WinCC (ca. 1200) über Rohdatenvariable realisiert.
Dann hatten wir aber auch gemischte Blöcke, die enthielten Byte, DWord, Int, Real, String. Es ist ziemlich anstrengend und fehlerträchtig die Daten korrekt aus den Rohdaten herauszuholen und die Bytes entsprechend richtig zu vertauschen. VBA und auch C unter WinCC unterliegt wohl auch einigen Beschränkungen (VBA kann hier nicht alles, was Microsoft ihm eigentlich spendiert hat, warum wissen nur die Siemens-Entwickler), konnte also ohnehin nicht alles, was wir benötigten (Drucken von Labeln über Netzwerk, Daten an andere Server verschicken und empfangen etc.) Dabei stellte mein Kollege dann fest, daß er sich in den ActiveX richtig austoben konnte (Delphi 2006) und alles so programmieren konnte, wie er es von Windows gewohnt ist, ohne Script- und WinCC-Einschränkungen. Das ActiveX dann in WinCC zu benutzen ist rel. einfach, integriert sind gleich Funktionen, um die Daten korrekt zu extrahieren.

zu 1) Danke für die Info! Werde ich mal testen.

zu 2) Und wir haben die ganzen Konvertierungen mit WinCC-Mitteln gemacht... Na,ja, fertig ist fertig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja die sripterei ist ja ganz edel, aber oft nicht 100% durchschaubar, elegant und nicht debugbar... zudem könnte man ein activeX schön konfigurierbar machen. bspw. XML Dokument als rohdatentag / interntag schnittstellen beschreiben etc.

Ich hab auch schon für einzelne Module rohdaten konverteirt gesplittet byteorder umtegereht etc. etc. und diese dann an eine datenbank geschickt.. wenn man den code dann länger nich mehr anschaut.. weis man oft nicht mehr genau was da vorsich geht;)


WAS ABER SCHEISSE IST, wenn ich von 240WORD variablen welche über 1 Rohdatentag gemppt wird, triggen muss...ich muss ja dann eine triggerfunktion anlagen, und jede der 240 internen tags als trigger einbinden..
 
Zuletzt bearbeitet:
Zurück
Oben