# Active X erstellen



## Lupo (20 Dezember 2008)

Hallo Forum,
ich bin schon lange Zeit eifriger Mitleser, aber heute habe ich nun auch mal eine Frage :
Es gibt zu dem genannten Thema schon einige Ansätze, aber so richtig schlau bin ich daraus nicht geworden.
Ich möchte gerne zur Erweiterung der Möglichkeiten von PC-Runtime's (WinCCFlexibel z.B.) selber ActiveX erstellen und die an die Visualisierung mit anhängen. Ich möchte mich hier Visual-Basic bedienen. Kann mir da mal jemand auf die Sprünge helfen ? Wie definiere ich z.B. den Datenübergabe-Bereich zwischen der Visualisierung und dem ActiveX ?
Ich habe in dem Zusammenhang auch schon vom SDK von Siemens gelesen, bin aber der Meinung, dass ich das wahrscheinlich nicht brauchen - es sprengt auch ein bißchen mein Budget  .

Ich freue mich schon auf Antworten.


----------



## lothar (22 Dezember 2008)

zwar kenne ich Dein Visualisierungssystem nicht, prinzipiell funktioniert so etwas aber so:
was Du innerhalb Deines ocx als "Public" deklarierst, also z.B. Variable, aber auch Subs, steht später an Deiner Host-Schnittstelle zur Verfügung.
Das Visu-System stellt (hoffentlich!) jetzt Kommandos zur Verfügung, um die Variablen des ocx zu schreiben, zu lesen, bzw. die Subs auszuführen. 
Übrigens: ocx kann man mit den "modernen" .NET-basierten Werkzeugen (z.B. Visual Studio Express) gar nicht mehr erstellen. hier werden die Steuerelemente zu DLL. Eine ordentliche Visu unterstützt aber auch diese DLLs, funktioniert prinzipiell genauso, wie ein ocx (ist sogar einfacher, weil die DLL, im Gegensatz zum ocx nicht registriert zu werden braucht).
Wenn's unbedingt ocx sein soll, geht das wohl nur bis VB6.


----------



## Lupo (22 Dezember 2008)

Ich danke dir für deine Antwort. Sie hilft mir allerdings nicht wirklich weiter, da es mir ja gerade um die Anbindung an die Variablen der Visualisierung ging. Bei bei mir schon verwendeten ActiveX kann ich dieses in der Visualisierung aufrufen und es stellt mir dann einen Dialog zur Verfügung in dem ich die Einstellungen und die Zuweisung auf die Variablen der Visualisierung machen kann. Speziell um den Punkt geht es mir.


----------



## Larry Laffer (27 Dezember 2008)

Hallo,
ich habe zu dem Thema mal das hier ausgegraben :
www.activevb.de/tutorials/tut_steuerelemente/steuerelemente.html

Vielleicht ist das ja was ...

Gruß
LL


----------



## Question_mark (27 Dezember 2008)

*Lotteriespiel*

Hallo,



			
				Lupo schrieb:
			
		

> Ich habe in dem Zusammenhang auch schon vom SDK von Siemens gelesen, bin aber der Meinung, dass ich das wahrscheinlich nicht brauchen - es sprengt auch ein bißchen mein Budget



Budget hin oder her, meine Antwort wird Dir nicht besonders gefallen.
Das heisst so ungefähr wie bei Radio Eriwan : Im Prinzip ja, im besonderen nein ..
Also im Prinzip kann man mit VB oder Delphi und Konsorten ein OXC erstellen und das in WinCC einbinden. 
Und jetzt kommt das aber :
Die Schnittstelle von WinCC verlangt bei der Erstellung der OCX bestimmte Konventionen zur Anbindung der SPS-Tags. Diese Konventionen sind nicht wirklich offengelegt von Siemens. Du erstellst ein OCX und es funktioniert, einfach Glückssache. Oder es funktioniert nicht, einfach Pech gehabt. Oder es funktioniert nur im Anfang, nach ein paar Tagen ist der Rechner platt..
Um fachgerecht entsprechende OCX'en für WinCC zu erstellen, würde ich doch lieber das Siemens SDK kaufen, alles andere ist Glücksspiel

Gruß

Question_mark


----------



## Larry Laffer (28 Dezember 2008)

Question_mark schrieb:


> Um fachgerecht entsprechende OCX'en für WinCC zu erstellen, würde ich doch lieber das Siemens SDK kaufen, alles andere ist Glücksspiel ...


 
Hallo QM,
das interessiert mich jetzt nun ...
Ich habe mich mit dem Thema auch mal ein bißchen beschäftigt - es dann aber in Folge von anderen vorrangieren Problemen erstmal wieder "ad acta" gelegt.
Was für Möglichkeiten bietet "mir" das SDK ? Daraus bin ich bisher nicht schlau geworden ...

Gruß
LL


----------



## rostiger Nagel (28 Dezember 2008)

SDK ist das Software Development Kit und dient als Bindeglied zwischen Entwicklungsumgebung und den verschiedenen Gerätetypen. Ich habe mal so etwas für ein MP277 angefragt lag so bei 6000€. Mit diesem SDK kannst du dann deine Entwicklungen aus der Hochsprache in Flexible einbinden.
Mit den ODK programmierst du Bausteine für deine SPS in einer Hochsprache "C" und kannst Sie dann im normalen SPS programm als FB aufrufen.

gruß Helmut


----------



## Larry Laffer (28 Dezember 2008)

@Reparatur:
Soweit wußte ich dass auch schon - auch die Sache mit dem Preis. Ich hatte diesbezüglich dann auch mal bei Siemens angefragt. Aus der Antwort, die ich dann erhielt (per Mail) bin ich allerdings nicht so richtig schlau geworden. Mit kommt dieser Thread also ganz passend.

@QM:
Beschäftigt sich dieses SDK in der Hauptsache mit der (schon angesprochenen) Variablen-Übergabe zwischen Flex und ActiveX ?
Hast du da Erfahrungen ?

Gruß
LL


----------



## Larry Laffer (30 Dezember 2008)

@QM:
mich hätte jetzt schon ein Statement von dir an dieser Stelle sehr interessiert ...

Gruß
LL


----------



## Lupo (31 Dezember 2008)

Ich bin auch ein wenig enttäuscht.


----------



## Question_mark (1 Januar 2009)

Hallo,



			
				Larry Laffer schrieb:
			
		

> @QM:
> Beschäftigt sich dieses SDK in der Hauptsache mit der (schon angesprochenen) Variablen-Übergabe zwischen Flex und ActiveX ?
> Hast du da Erfahrungen ?



Also erstmal habe ich überlesen, daß es hier um *WinCCFlex* ging. Da gibt es zwar einige SDKs, aber wenn ich das richtig interpretiere so unterstützt das SDK zwar auf einigen Panels die Einbindung von ActiveX, aber nicht die Erstellung. Die Erstellung ist wohl nur in der Dokumentation zum SDK beschrieben. Mit diesem SDK habe ich aber keine Erfahrung, ich habe jetzt einfach die Siemens-Beschreibung interpretiert. Hier der Link dazu :

https://mall.automation.siemens.com/WW/guest/index.asp?aktprim=0&nodeID=10000701&lang=de&foldersopen=-3005-3003-2870-1398-1-3013-3016-&jumpto=3016

Für WinCC (also ohne Flex) gibt es ein SDK namens IndustrialX, das durch einen eigenen Designer wirklich eine hilfreiche Unterstützung bei der Erstellung eigener ActiveX Objekte mit Einbindung in VB bietet.

http://www.automation.siemens.com/hmi/html_00/products/software/wincc_optionen/industrialx.htm

Ein wenig umständlich ist die Arbeit mit IndustrialX schon, aber das liegt wohl auch teilweise an VB, IndustrialX ist jetzt anscheinend auch für VS 2005Studio .net verfügbar.

Wobei ich überlege, wenn auf einem popeligem OP177 unbedingt eigene ActiveX Objekte zur Erfüllung bestimmter Funktionalitäten erforderlich sind, ob man da nicht vielleicht doch das falsche System gewählt hat ???

Gruß

Question_mark


----------



## lothar (2 Januar 2009)

Interessant, welche Hürden sich da plötzlich auftun, wenn jemand nur mal ein kleines Control in dieses System einbetten will.......man lernt nie aus.
Ich denke aber, irgendwelche Vorteile wird das System schon haben, sonst wär's nicht so verbreitet, oder? 
Gruss
lothar


----------



## Larry Laffer (2 Januar 2009)

@QM:
Mir ginge es hier um Flex oder ProTool in der Version PC-Runtime. OP's oder TP's setze ich (wegen der geringen Möglichkeiten und des relativ hohen Preises) eher seltener (bis gar nicht) ein.

Ich verstehe es nach wie vor so, dass das SDK eine "nice to have", nicht aber eine "need to have" Geschichte ist.

Gruß
LL


----------



## Question_mark (3 Januar 2009)

*Siemens HMI*

Hallo,



			
				Larry Laffer schrieb:
			
		

> Mir ginge es hier um Flex oder ProTool in der Version PC-Runtime. OP's oder TP's setze ich (wegen der geringen Möglichkeiten und des relativ hohen Preises) eher seltener (bis gar nicht) ein.



Das kann ich nachvollziehen. Die HMI Produkte von Siemens sind nicht schlecht, aber ich setze diese nur ein, wenn die Anforderungen meines Kunden wirklich exakt und ohne zusätzliche Anforderungen dem Leistungsspektrum der Simatic HMI voll entsprechen. Sobald Anforderungen des Kunden aufkommen, die nicht diesem HMI Standard entsprechen, ist Siemens HMI aus dem Rennen ..
Mit einer Visualisierung in einer beliebigen Hochsprache erstellt (Delphi, C# und Co), kann ich auf relativ kostengünstige Weise wirklich eine auf die individuellen Anforderungen des Kunden abgestimmte Software erstellen. Das Simatic HMI ist da, mal vorsichtig ausgedrückt, etwas unflexibel ...
Aus leidvoller Erfahrung brauche ich für eine Anbindung über das User Archive von WinCC an eine DB ca. eine Woche, mit Delphi ca. eine Kaffekanne (also bei mir eine Stunde).
Und über die Integration von Active-X Objekten in Simatic HMI will ich mich nicht weiter auslassen, Siemens hält sich in der Richtung wirklich sehr verschlossen und Support in der Richtung ist nur gegen Cash (wenn überhaupt) erhältlich...
Viele Active-X Objekte aus VB oder Delphi erstellt funktionieren meistens , aber manchmal auch nicht. Die mit IndustrialX erstellten Objekte funktionieren, aber die Erstellung ist Undank der engen Verknüpfung mit MS VB sehr umständlich, also nicht akzeptabel. Hier hat Siemens eigentlich (m.E. bewusst) versäumt, die Schnittstelle offen zu legen.
Meine Zusammenfassung daher : 
Bei Projekten mit < 2000 Tags und Kundenanforderungen, die nicht mit dem HMI Standard konform sind, eine individuelle Lösung ausarbeiten, z.B. mit Delphi und einem OPC-Server und Client. Und evtl. einem MS DB-Server.
Das rentiert sich vor allen Dingen bei Serienprodukten, da nur einmal Lizenzkosten anfallen, wir hatten darüber schonmal per PN diskutiert.

Gruß

Question_mark


----------



## Larry Laffer (3 Januar 2009)

Hallo QM,
jetzt muss ich trotzdem nochmal nachhaken ... Ist ja auch die Frage des Themenerstellers ... 
Wie gestaltet sich denn nun die Variablen-Übergabe von der Visu zu einem ActiveX ? Was muß man tun, um innerhalb von z.B. Visual-Basic auf irgendeine z.B. ProTool-Variable zugreifen zu können ?

Die von dir schon mal genannte Variante (HMI selbst erstellen) hatte ich auch schon mal durchgespielt - ich muß da allerdings aus Erfahrung sagen, dass das auch nicht weniger Arbeit gewesen war. In dieser Variation waren allerdings das Einlesen größerer Datenmengen (konsistent) überhaupt kein Problem gewesen - genausowenig das Erstellen von Spezialkurven ...

Gruß
LL


----------

