Klassenbibliotheken für crosscommexe???

  • Hallo Forum,


    jetzt habe ich wirklich alle Beiträge bezüglich crosscomm gelesen und mir zudem die Doku angesehen, jedoch komme ich nicht so recht in Tritt mit der Thematik.


    Insbesondere verstehe ich noch nicht, mit welcher Programmiersprache ich die Anwendung zur Kommunikation mit der Steuerung schreiben kann oder muss? Ich lese hier immer von VB, VC, VCA, delphi und co. Ich kenne mich aber mit C++ am besten (wenn auch nicht sehr gut) aus und würde das den anderen Sprachen vorziehen. Nun stellt sich mir die weitere Frage, welche Dateien (z.B. Klassenbibliotheken) in mein Projekt eingebunden werden müssen, damit ich die entsprechenden Funktionen nutzen kann, und wie man das macht. Ich habe hier im Forum von cross3krc.cie und cross.ocx gelesen, kann damit aber leider nicht viel anfangen... :nocheck:


    Eine kleine Schritt-für-Schritt-Beschreibung was es braucht um das crosscomm zu nutzen wäre ideal und würde mir (und vielleicht anderen) weiter helfen.


    Hier muss es zu diesem Thema einen großen Wissensschatz im Forum geben, weil viele damit schon reichlich gemacht haben. Bitte sagt mir was ihr darüber wisst. Falls es notwendig ist sich in VB einzuarbeiten, werde ich diese Kröte notfalls auch schlucken.


    :danke:

    Es grüßt<br /><br />der Nils

  • Schritt für Schritt zum Roboterprofi!
  • Hmm ich weiss nicht ob das eine gute Idee ist. Was willst du genau erreichen?
    Für mich tönt dein Beitrag so als ob du mit beschränkten C++ Kenntnissen (Und ich entnehme dem auch im allgemeinen eher niedrige OOP Kenntnisse.) Und vorallem eine nicht offiziell dokumentierte Schnittstelle verwenden?
    Ich kann dir leider nichts genaueres zur CrossCom sagen, doch tönt mir dein Vorhaben ein wenig auf wackeligen Beinen.


  • Hmm ich weiss nicht ob das eine gute Idee ist.


    Ich denke schon, dass das eine gute Idee ist.

    Zitat


    Was willst du genau erreichen?


    Für mich in einem praktischen Test die Fähigkeiten der Schnittstelle ergründen. So wie es viele vor mir auch schon gemacht haben. Ich möchte etwas lernen... (es steht keine explizite Anwendung dahinter)

    Zitat


    Für mich tönt dein Beitrag so als ob du mit beschränkten C++ Kenntnissen (Und ich entnehme dem auch im allgemeinen eher niedrige OOP Kenntnisse.


    Die Kenntnisse sind solide! Hab schon einige Anwendungen in C++ geschrieben. Hauptberuflich mache ich dies aber nicht...

    Zitat


    Ich kann dir leider nichts genaueres zur CrossCom sagen, ...


    Schade, ich warte dann auf hoffentlich weitere Beiträge.

    Es grüßt<br /><br />der Nils

  • Zu Kuka kann ich leider nichts beitragen, ich habe zum Glück nur mit Robotern zu tun, die etwas C++-freundlicher sind. :mrgreen:


    Aber ich muss simeonw in einigen Punkten zustimmen. Deine Frage zu den Programmiersprachen deutet in der Tat darauf hin, dass du von COM nicht viel Ahnung hast.
    http://de.wikipedia.org/wiki/Component_Object_Model


    COM-Clients in Visual C++ kann man auf viele verschiedene Arten schreiben:


    z.B. Compiler COM Support
    http://msdn.microsoft.com/de-de/library/8etzzkb6.aspx
    oder die entsprechenden Smart Pointer Klassen in der ATL.


    Late Binding (wenn die Kuka Software das unterstützt) über die entsprechenden Klassen in der MFC oder auch zu Fuß
    http://blog.kalmbachnet.de/?postid=63


    Wenn du solide C++ Kenntnisse hast, sollten das keine böhmischen Dörfer für dich sein ...
    Ich persönlich muss allerdings sagen, dass ich komplizierte COM-Geschichten in C++ lieber vermeide. ;)


    Hoffe das hilft etwas


    Urmel

    Einmal editiert, zuletzt von Urmel ()


  • Wenn du solide C++ Kenntnisse hast, sollten das keine böhmischen Dörfer für dich sein ...


    Dazu sage ich dann mal lieber nichts... :biggrins:

    Zitat


    Hoffe das hilft etwas


    Ganz bestimmt. Vielen Dank für den Schubser in die richtige Richtung!


    Gruß

    Es grüßt<br /><br />der Nils

  • Hi,


    was den C++ Teil angeht, kann ich dir leider nicht konkrekt weiterhelfen, aber während mein Wohnzimmer
    durch die weiblichen Familienteile und POPSTARS :puke: belegt war, habe ich mal ein rudimentäres
    Delphi Beispiel zusammengebastelt, das für dich möglicherweise nachvollziehbarer sein dürfte als VB-Code.
    Vielleicht bringt es dich der Sache ja etwas näher....


    Die Anwendung besteht aus einem kleinen Fenster mit einer Textbox, einem Button und einem Memofeld.
    (siehe angehängtes Bild)
    Nach Eingabe eines Variablenamens in die Textbox und Drücken des Buttons, wird im Memofeld das Ergebnis
    von CrossComm.ShowVar angezeigt; ziemlich trivial....


    Hier der Code dazu (ohne ausführliche Fehlerbehandlung):


    gruß
    rmac


    PS.: Ich habe auf diesem Wege eine komplette Client/Server-basierte TouchScreen-Anwendung mit Paletten-/Teile-/Benutzer-
    Verwaltung, Parametrierung, Protokollierung und jede Menge anderem Firlefanz zusammengebaut.


  • Delphi Beispiel zusammengebastelt, das für dich möglicherweise nachvollziehbarer sein dürfte als VB-Code.
    Vielleicht bringt es dich der Sache ja etwas näher....


    Ah, das ist doch schon mal hilfreich.


    CreateOleObject deutet schon mal darauf hin, dass es da eine IDispatch-Schnittstelle gibt.
    http://en.wikipedia.org/wiki/IDispatch


    Dann geht es in VC so wie in dem LateBinding-Link in meinem Posting weiter oben. Im C++-Builder dürfte es so ähnlich aussehen wie in Delphi, kommt drauf an welchen Compiler du hast.


    Von allen COM-Varianten ist die clientseitig am einfachsten zu programmieren (und am langsamsten), das sollte in allen gängigen Programmiersprachen in der Tat recht ähnlich gehen.


    Grüße


    Urmel

    Einmal editiert, zuletzt von Urmel ()


  • [...]Von allen COM-Varianten ist die clientseitig am einfachsten zu programmieren (und am langsamsten), das sollte in allen gängigen Programmiersprachen in der Tat recht ähnlich gehen.[...]


    Jo, da hast du wohl recht.
    Aber der Vorteil beim Late-Binding ist eine gewisse Unabhängigkeit vom Versionsstand des Objektes, da ja
    über den Klassenname aufgelöst wird. (Andererseits weiß ich auch nicht wie oft KUKA neue Releases nachgeschoben hat)
    Den Geschwindigkeitsverlust stufe ich nicht als so kritisch ein, da CrossComm ohnehin nicht echtzeitfähig ist.
    Überhaupt sind meine Erfahrungen mit der CrossComm-Performance nicht sonderlich berauschend und ich glaube
    nicht, dass das (nur) an der IDispatch-Schnittstelle liegt.
    Hängt in meinen Augen auch stark von der Rechnerleistung ab: bei meinem letzten Projekt (KRC1 R2.2.8, CPU 100MHz,
    64MB Hauptspeicher !!!) war das echt super-lahm....
    Dürfte so im Leistungsbereich von heutigen mittelpreisigen Handys oder guten MP3-Playern liegen.... :mrgreen:


    Naja, was solls, Hauptsache funktioniert...
    gruß
    rmac

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden