.net Controls erstellen

Zipfelklatscher

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

ich suche ein Tutorial oder ähnliches wie man in Visual Basic ein
.NET Control für WinCC programmiert.

Bei der Suche hab ich leider nichts gefunden.

Denn hier ist mein Problem.

Ich habe vor einiger Zeit ein kleines VB.net Programm geschrieben
welches mir bestimmte Werte berechnet und Grafiken animiert.

Ich wollte nun dieses Programm in ein .Net Control wandeln und
im WinCC Grafik Designer verwenden. WinCC importiert es aber nicht
und meldet, dass es kein .NET Assembly ist.

Bin in VB2010 folgend vorgegangen:

Neues Projekt -> Neue Klassenbibliothek -> nun hab ich die WindowsForm
reinkopiert -> Erstellen -> die erstelle DLL versucht als .NET Control zu laden

Mein Problem ist dass ich nicht genau weiss warum es nicht funktioniert
und wie ich die Schnittstelle zu WinCC progrmmieren muss.

Vielleicht hat jemand ein Tipp oder Link.

Danke im voraus

MfG


WinCC V7.0 SP1
Visual Studio 2010
 
Moin,

du musst als neues Projekt den Typ "Windows Forms-Steuerelementbibliothek" wählen ... damit kannst du ein UserControl erstellen.
Attribute der Klasse, die von UserControl erbt, werden dann in WinCC als Eigenschaften des Controls dargestellt (soweit ich mich erinnere), d.h. wenn sich die Daten in deinem Control ändern sollen, kannst du über die öffentlichen Attribute Werte ins Control übergeben.

Gruß,
mkol
 
Hallo,

danke für die schnelle Hilfe.

ich schau mir grad das C# Beispiel an.

Da steige ich leider nicht ganz durch. Da ich nicht genau
weiss wie ich anfangen muss und in welcher Reihenfolge es
weitergeht.

Ein kleines VB.net Beispiel würde mir enorm weiterhelfen.


Gruß
 
Zuletzt bearbeitet:
Eventuell hilft es Dir das C# Beispiel automatisch in VB konvertieren zu lassen, z.B. hier


EDIT: Habe mir gerade die oben verlinkte Seite mit den Beispielen von Siemens angesehen, das ist weder C# noch VB Code sondern XAML. Es handelt sich in den Beispielen um WPF-Controls.
Die kannst Du natürlich auch verwenden. Da aber bitte nicht jedes Control einzeln in eine HMI-Seite einbinden sondern lieber ein großes WPF-Control erstellen das alle Steuerelemente enthält. Dein HMI-Rechner wird es Dir danken mit deutlich performanteren Bildwechseln.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja du hast recht ist kein C#.

Ich suche mal weiter nach einem VB Beispiel in dem genau erklärt
wer was und wie von welcher Klasse erbt.

Wenn ich eines gefunden habe, poste ich es hier natürlich.
 
Zuletzt bearbeitet:
EDIT: Habe mir gerade die oben verlinkte Seite mit den Beispielen von Siemens angesehen, das ist weder C# noch VB Code sondern XAML. Es handelt sich in den Beispielen um WPF-Controls.

XAML ist keine Programmiersprache. C# ist die dahinterstehende Programmiersprache. Mit XAML erstellst du hier im Beispiel das Layout/die Ansicht der Controls. Die Logik, bzw. der Quellcode ist in C#, wenn in diesem Beispiel auch nicht viel.


hast du schon Erfahrungen mit WPF Controls in Zusammenhang mit WinCC. Wie sind deine Erfahrungen?
 
Hab jetzt rausgefunden warum WinCC meine WPF und .Net Controls
nie geschluckt hat.
Es lag nicht an meinem Code sondern daran das ich alles
mit dem .Net V 4 Framework compiliert habe.
WinCC verträgt aber kein .Net Framework höher V3.5 SP1.

:sb8:
 
Hallo Zipfelklatscher

Wie ich gelesen habe, hast du schon etwas Erfahrung mit dem Einbinden von WPF-Controls in WinCC.
Ich bin leider ziemlich am leiden, weil sich WinCC ziemlich blöd anstellt. Ich verwende WinCC 7 SP2 Update 4 und habe 2 WPF Controls basierend auf .NET3.5 erstellt. Nachdem ich einigermassen Erfolg hatte und diese Controls auch in WinCC verwenden konnte habe ich momentan keine Chance mehr. Die Controls habe ich weiterentwickelt und sind natürlich dementsprechend komplexer geworden. Momentan kann ich die Controls zwar teilweise wieder im Designer darstellen aber in der Runtime sehe ich nur noch einen weissen Fleck.

Hast du noch irgendwelche Tipps?

Vielen Dank!

Gruss Tom
 
Hallo

Nein die Runtime stürzt nie ab, das WPF Control wird als weisses Rechteck dargestellt ohne jegliche Funktion. Unterdessen habe ich die Update 4 geladen und das Verhalten scheint momentan wieder etwas anders zu sein. Im Graphics Designer kann ich nun mein Control wieder darstellen ohne Probleme, dies ging mit Update 3 nicht.

Gruss Tom
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mein Problem welches mich gerade beschäftigt ist, wie ich
aus meinem WPF Control einen Wert (String, Int o.ä.)
wieder an die WinCC Welt übergebe bzw. in eine Variable schreibe.

Danke

Gruß
 
Also ich programmiere in C#.

Die Schnittstelle zu WinCC sind Properties. Du brauchst also einfach eine public Property zu erstellen und in WinCC kannst Du dann deine Variable anhängen. Es ist leider nicht möglich auch Funktionen so anzubieten.

Gruss Tom
 
Genau beim Variablenanhängen in WinCC scheiter es bei mir
ich hab ein Property programmiert welches jetzt auch unter
Control-Eigenschaften / Attribute zu sehen ist.

In diesem Attribut steht jetzt bei Statik ein Wert drin.
So weit so gut.

Aber wie lege ich den Wert jetzt auf eine WinCC Variable
um?

gruß
 
Ich weiss jetzt glaub ich warum dein Control nur noch als weisses
Rechteck angezeigt wird.

Ist aber nur ne Vermutung denn ich hab grad das selbe Problem. Zwar liegt es an den Propertyeingenschaften wenn einer
dieser Eigenschaften ein falscher Datentyp übergeben wird.

Was auch noch zu beachten ist, wenn du etwas an deinem Control änderst solltest du es im GraphicsDesigner löschen und
anschließend neu einfügen.
 
Zuletzt bearbeitet:
Zurück
Oben