Ansprechen vitueller COM-Ports?

  • Hallo Forum,


    ich bin gerade dabei mir ein Konzept zu überlegen, wie ich eine einfache (und möglichst kostenlose) Bedienoberfläche für den Roboter umsetzen könnte.


    Dazu möchte ich gern wissen ob es möglich ist, serielle Schnittstellen, die ich virtuell auf der Steuerung (KRC1 oder KRC2) anlege (z.B. COM12), im Roboterprogramm mit cread und cwrite anzusprechen. Ich könnte dann mit einem C++ GUI, welches ebenfalls auf der Steuerung läuft (nicht auf einem externen Rechner), kommunizieren. Ich kann das leider nicht selbst testen, weil mir grad der Roboter bzw. die Steuerung fehlt und mit OfficeLite keine Kommunikation möglich ist. :uglyhammer_2:


    Ich weiß, es gibt dieses crosscomm.exe und angeblich(???) einen Nachfolger für neuere Softwareversionen, aber am liebsten möchte ich unabhängig von Softwareständen sein...


    Wäre super, wenn mir jemand Tips dazu geben könnte - auch gern in andere Richtungen bezüglich der Umsetzung. Aber bitte bedenkt - billig, billig... :shock:


    Danke

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

  • Schritt für Schritt zum Roboterprofi!
  • Da nimmst Du ein Nullmodemkabel und verbindest COM1 mit COM2 - kostet maximal 20€.
    Ja und dann kannst Du loslegen.


    Mit CrossComm kannst Du die Variablen direkt aus der Steuerung auslesen bzw. schreiben. Geht eigentlich ganz fix.
    Bei einem Versuch konnte ich bei einer Abtastrate von 100 ms mehr als 20 Variablen einlesen.
    Wo die Grenzen sind hab ich noch nicht rausfinden können, aber bei 100 ms sind Blinktakte von 1 Hz schon leicht verzerrt.

  • @ robotnik, hast du damit schon mal eine Oberfläche realisiert oder nur die ganze Sache getestet!??


  • Da nimmst Du ein Nullmodemkabel und verbindest COM1 mit COM2 - kostet maximal 20€.
    Ja und dann kannst Du loslegen.


    Danke für den Hinweis. Da kommt vielleicht noch ein Touchmonitor für die Visualisierung mit ins Spiel, der diese Umsetzung jedoch ausschließt, wenn er an einen COM-Port angeschlossen werden muss...


    Kann noch jemand etwas zu meiner ursprünglichen Frage sagen (virtueller COM-Port)???


    Danke!

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


  • Ist nur so auf die schnelle gemacht worden (3 Tage) Net anfangen zu schimpfen


    ... das ist ja schon mal was, werde mich jetzt darum kümmern, geht also doch ohne plugins für c# etc. , das gefällt! :danke:

  • ... das ist ja schon mal was, werde mich jetzt darum kümmern, geht also doch ohne plugins für c# etc. , das gefällt! :danke:


    ... weil nicht ausreichend COM Ports oder warum???

  • Hi,



    [...]Da kommt vielleicht noch ein Touchmonitor für die Visualisierung mit ins Spiel, der diese Umsetzung jedoch ausschließt, wenn er an einen COM-Port angeschlossen werden muss...
    [...]


    Warum ? Versteh ich ehrlich gesagt nicht :denk:
    Klar, du brauchst den virtuellen COM-Port dann nicht mehr, wenn du das Touchpanel direkt mit der
    KRC-Com verbindest.
    Oder peil ich da etwas nicht richtig ? :wallbash:


    gruß
    rmac

  • rmac


    genau so ist es, man kann komplette arrays BASE_DATA[] in einem Zyklus lesen bzw. schreiben.
    Das klappt auch bei grösseren wie LOAD_DATA[] ohne das wie bei der KUKA-BOF eine Meldung kommt, das die Variable zu groß ist.


    Die CrossComm-Schnittstelle macht auch die KRL-XML-Schnittstelle überflüssig, oder das Encryptiontool, da man alle Berechnungen auf der Windowsseite ausführen kann.


    Eigentlich war es Loipe der mich dazu gebracht hat an die Schnittstelle ranzugehen, da er Variablen als String lesen und schreiben wollte.
    Der Kuka hat ja ausser bei Kooperierenden Robotern keine Möglichkeit folgendes durchzuführen:


    strPos = Lese("XHOME")
    oder
    Schreibe("PGNO","1") ; VarName,Value


  • Ich rede von einem Touchmonitor ohne eigenes Betriebssystem. Diese haben einen VGA und einen COM oder USB Ausgang. USB fällt weg, weil auch ältere Steuerungen damit arbeiten sollen können. Einen physikalischen COM-Port der Steuerung habe ich also durch den Touchmonitor belegt. Es bleiben also keine zwei freien COM-Ports übrig, um die Methode mit dem Nullmodem-Kabel (Kommunikation Steuerung<->Visualisierung) anzuwenden. --> Deshalb virtuelle Ports...


    Wie sich das mit einem externen Monitor an der Steuerung verhält, der etwas anderes als die KUKA BOF anzeigen soll, weiß ich allerdings noch nicht... Zudem muss ich mich nochmal mit den Modi der seriellen Schnittstelle befassen.


    Mal was anderes: Wie heißt noch gleich der Nachfolger für crosscommexe, wo bekomme ich die entsprechenden Dateien her und gibt es Anleitungen?


    Dank und Gruß

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

  • Hallo,
    also das mit dem virtuellen Com-Port wirst Du vergessen können.
    Der Treiber für die serielle Schnittstelle unter VX-Works dürfte die
    Hardware direkt ansteuern, und da ist dann mit irgend was
    virtuellem nichts machbar.


    Grüssle Hermann

  • Wenn Du beim KUKA eine HMI-Schnittstelle suchst, die Du über mehrere Jahre benutzen möchtest, bleibt meiner Meinung nach aus jetziger Sicht nur OPC. Seit Version 2.1 ist der KUKA OPC Server sauber implementiert und läuft ohne Probleme.


    Vorteile:
    1. Deine HMI kann nicht nur lokal sondern auch remote laufen
    2. standardisiert und dokumentiert
    3. durch OPC UA absolut zukunftssicher (muss KUKA noch implementieren!)
    4. stets gleicher Zugriff egal ob von Deinem eigenen Client oder mächtigen Fremdsystemen wie WinCC oder InTouch


    Natürlich ist das Alles nicht kostenlos aber dafür professionell und macht in Summe vielleicht 0,5-1,5% der Gesamtkosten der Roboterzelle aus??


    Grüße Dust2

    Einmal editiert, zuletzt von dust2 ()

  • Ok, danke euch allen für eure Info!


    Ich muss wohl anerkennen, dass es nicht möglich ist über virtuelle COM-Ports mit der Steuerung zu kommunizieren. Über ein Nullmodemkabel habe ich es nun auf einer KRC2 wenigstens hinbekommen Daten aus dem C++ Programm zur Steuerung zu schaufeln. Aber auch das ist letztlich eine Bastellösung.

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

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