Visualisierung mit GraphWorX

  • Moin, Moin,


    ich erstelle gerade eine Visualisierung für ein Robotersystem. Auf dem KUKA Control Panel soll der Bediener das System überwachen und durch drücken verschiedener Taste eingreifen können. Durch drücken der Linken Tasten am Display soll der Bediener die Ansicht wechsen. Die unteren Tasten werde mit verschiedenen anderen Funktionen belegt werden.


    Jetzt zu meinem Problem: Ich habe keine Ahnung, wie ich die Tasten des KCP anprechen kann.


    Das mit der Bedienoberfläche klappt schon ganz gut. Aber wie gesagt, wenn man eine Taste drückt passiert gar nichts. Und dass muss sich ändern. Und das mit dem Kopieren aus den Beispielen hat auch nicht funktioniert.



    Vielen Dank im Vorraus.


    marfri

  • Schritt für Schritt zum Roboterprofi!
  • Hi,


    leider habe ich keine Ahnung was GraphWorX ist. Aber die Tasten Kannst du am KCP mit Funktionen belegen - dazu braucht es die Option UserTec (ab den 5-er Verisonen kostenpflichtig).
    Ich denke, das dein GraphWorX eine externe SW ist, die auf dem KCP laufen soll, dann hilft dir das leider nichts??


    Gruss Stefan

  • 1. Hast du das Steuerelement KCPKeysOcx geladen?
    2. Welche Software-Version von KUKA benutzt du?
    3. Welche HMI-Studio-Version?

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Moin, Moin,


    erstmal danke für die schnellen Antworten.


    @ stefanM:
    Über UserTech hab ich schon ein wenig herausgefunden. Kann man damit alle Tasten neu belegen, oder nur die vier unteren Tasten am linken Bildschirmrand? Wir haben hier Version 2.2.0.
    GraphWorX ist ein Visualisierungsprogramm, das von KUKA mitgeliefert wurde. Damit habe ich die Bedienoberfläche gestaltet.


    @ IrrerPolterer:
    zu 1.) KCPKeys.ocx hab ich auf der Steuerung. Was genau bedeutet „geladen“? Es ist unter anderem im Ordner c:\KRC\LIB gespeichert.
    zu 2.) KR C Version 5.2.11; GraphWorX32 Version 6.13
    zu 3.) KUKA HMI 1.2 (?); Genesis Version 6.1


    @all:
    1. Ich hatte im Forum gelesen, dass das KCP eine OPC-Int-Variable für die Tastenbenutzung benötigt sonst würde eine Fehlermeldung erscheinen. Beim Ausprobieren der Beispiele in GraphWorX erhalte ich folgende Fehlermeldung: „Couldn’t connect to OPC Server PCOS.OPC.20 or couldn’t find nKPCKeyInfo var.“
    Es liegt wohl an der fehlenden Variablen, dass die Fehlermeldung erscheint, aber das Beispiel lässt sich ohne Probleme ausführen. Im Beispiel selbst können die Tasten am KCP benutzt werden um Aktionen (z.B. Ansichtswechsel) aus zu führen. Wenn aber die Variabel fehlt, geht dass doch dann nicht, oder? Wer kann mir hier weiterhelfen?


    2. Ich habe beim Stöbern die Datei KCPService.exe gefunden. Wenn ich sie ausführen will passiert nicht! Weiß jemand was es mit dieser Datei auf sich hat?


    Gruß und Dank


    marfri

  • Das KCPKeys-Ocx muß im HMI-Studio per OLE geladen werden. Siehe Beispielprogramme. Desweiteren benötigst du KUKA-OPC Server um überhaupt die benötigten Variablen zur Verfügung zu stellen. Ich benutze folgende Konstellation


    OPC Server 2.1
    ProConOS (Version weiß ich gerade nicht...)
    Visual Basic und Visual C++ (statt HMI-Studio - wenn man schon eine richtige Hochsprache kann, kann man IMO auf HMI-Studio verzichten)


    Der OPC-Server dient als Schnittstelle meiner HMI (mit VB erstellt) und der Soft-SPS (Proconos). Die Variablen können also zwischen Soft-SPS und HMI ausgetauscht werden.
    Das KCP Keys OCX benötigt die Variable nKCPKeyInfo vom Typ Double-Integer und die Variable gbHMIPicNum vom Type Byte, um mit der Soft-SPS kommunizieren zu können. In der Soft-SPS gibt's dann die Bibliotheken, die das ganze auswerten.
    In GraphWorX32 kannst du auf das Kcpkeysocx klicken und dann ViewVBA-Code auswählen. Dort erscheinen dann einige Prozeduren, wie z.B.:
    Private Sub KCPKeysOCX1_BottomkeyPressed(nKey As Integer)


    nKey gibt die Nummer des gedrückten Bottomkeys (unterer Tasten) zurück.


    In die Prozeduren schreibst du dann deine Kram rein, also was passiert bei welchem Key.


    Ach ja..., bei mir hat's übrigens unter VB trotzdem nicht funktioniert. Mit HMI-Studio schon. Mußte dann meine eigene KCP-Key-Auswertung basteln.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

    Einmal editiert, zuletzt von IrrerPolterer ()

  • Hallo Polterer,


    Habe ein ähnliches Problem. KCP-Tasten via KCPKEYS.OCX und Graphworx abzufragen funktioniert, aber wenn ich das OCX in meine mit LabView erstellte HMI integriere dann klappts leider nicht.


    Wie schaut die "eigene KCP-Auswertung" aus? Sieht so aus als bräuchte ich auch eine Alternative zu dem KUKA-OCX.


    Schon im voraus :danke: für jegliche Info...


    Grüsse, Peter

    APT Techniques GmbH<br />Software-Entwicklung für Roboter &amp; SPS.

  • Wie schaut die "eigene KCP-Auswertung" aus? Sieht so aus als bräuchte ich auch eine Alternative zu dem KUKA-OCX.


    Ich habe keine Ahnung, wie das unter LabView oder HMI gehen mag. Ist in Visual Basic aber relativ einfach zu realisieren.
    Ist aber eine Entwicklung, die ich für unsere Firma gemacht habe und ich glaube mein Vorgesetzter sieht das nicht so gern, wenn ich das weitergebe... :isagnix:


    Bei mir sieht das halt anders aus. Ich benutze:


    Eigene in VB programmierte Visualisierung
    Eigenen in C++ als DLL programmierten OPC-Client, der auf den OPC-Server zugreifen kann.
    Eigene KCPKey-Auswertung als Bibliothek in ProConOS (mit weiteren OPC-Funktionen)


    Ist also ein komplett anderer Aufbau, als mit HMI oder LabView


    BTW: Ein OCX für die KCP-Keys brauche ich nicht...

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Hallo Fritsch,


    damit's mit Graphworx/HMI-Studio funktioniert zunächst den KCP-Keys OCX registrieren (START/Ausführen: regsvr32 "C:\KRC\Lib\KcpKeys.ocx".


    In Proconos zyklisch KCPSETKEYS aufrufen, und mit einer OPC-Variable nKcpKeyInfo verbinden.


    In den Graphworx-Bildern den OCX einbetten. In den OCX-Properties können einzelne Tasten gesperrt oder freigegeben werden.


    Sobald die HMI läuft müssten in der OPC-Variable dann schon was eingetragen werden, sobald eine Taste gedrückt wird. Damit die HMI-Tasten alternativ zur Mausklickbedienung auch via KCP aktiviert werden brauchts dann leider VB-Script, hätte hierzu aber ein Beispiel.


    Würde mich freuen wenn's so weit geholfen hat. Ich setze das KUKA HMI-Studio nicht ein, weil es eigentlich an fast allem fehlt was man für ein vernünftiges HMI braucht, inkl. Rezepturverwaltung.


    Grüsse aus der Schweiz :)

    APT Techniques GmbH<br />Software-Entwicklung für Roboter &amp; SPS.

  • Hallo Polterer,


    ...eigener OPC-Client, eigene VB-Visu, ich verstehe dass Vorgesetzte über einen solchen Wissenstransfer wohl nicht sehr glücklich wären.


    Mir würde ja schon reichen wenn die KCP-Tasten innerhalb ProConOs, oder im Idealfall in globalen KRL-Variablen (wie beim alten WIN95 GetKeys...) zur Verfügung stehen würden, und ich diese dann als OPC-Variablen der LabView-Applikation zur Verfügung stelle.
    Genau genommen bin ich für jeden Weg offen der Funktioniert, wenns am ende etwas Kosten würde könnten wir darüber reden, ich bin eine 1-Mann-Firma, da sind in solchen Fällen die Entscheidungswege kurz ;)


    Gruss, Peter

    APT Techniques GmbH<br />Software-Entwicklung für Roboter &amp; SPS.

  • Hallo Peter Klotz,


    deine Eintrag hat mich sehr viel weiter gebracht. Kann mir jetzt die Veränderung der Variablen beim Drücken einer Taste am KCP in der Visualisierung ansehen. Vielen Dank.


    Ich werde mich jetzt mal in die Arbeit mit VB stürzen (absoluter Neuling) und komme ggf. noch mal auf dein Angebot



    Damit die HMI-Tasten alternativ zur Mausklickbedienung auch via KCP aktiviert werden brauchts dann leider VB-Script, hätte hierzu aber ein Beispiel.


    zurück.


    Viele Grüße aus Hamburg.


    marfri

    Einmal editiert, zuletzt von Fritsch ()

  • Moin, Moin,


    wer kann einem VBA-Neuling sagen, wie die Tasten im VBA-Editor von GraphWorX32 eingebunden werden?


    Hab das Problem, dass ich die OCX-Datei nicht initialisieren kann.


    Gruß aus Hamburg


    marfri

  • Hallo,


    Habe hier ein Graphworx GDF-File in dem funktionierende KCP-Tasten projektiert sein müssten.
    Kann's leider nicht mehr Kontrollieren, da ich meine HMI-Studio Software & Lizenz an KUKA zurückgegeben habe. Vielleicht hilft dir die Datei ja weiter...


    Bei Bedarf bitte mir eine PM schicken.


    Grüsse, Peter

    APT Techniques GmbH<br />Software-Entwicklung für Roboter &amp; SPS.


  • Hab das Problem, dass ich die OCX-Datei nicht initialisieren kann.


    Wo genau liegt dein Problem?


    Du mußt per OPC-Server die Variablen nKcpKeyInfo zur Verfügung stellen. Denn dort schreibt das OCX die Information zur aktuellen Taste rein.
    Dann fügst du in deinem GraphWorX32 das Steuerelement KCPKeysOCX ein. Bei mir gibt's da 'ne Schaltfläche für. Mit rechtem Mausklick auf das eingefügte Steuerelement kommst du zu den Eigenschaften (KcpKeys.KcpKeysOcx Object->Eigenschaften. Dort kannst du einstellen, welche Tasten aktiv schalten willst (enable/disable).


    Willst du die Tasten in ProConOS auswerten, brauchst du zusätzlich eine Variable für die Picture Number per OCP, deren Name ist mir aber gerade entfallen. Pichture Number dient zum Vergleich in ProConOs, für welchen Bereich die Tasten gültig sind. In ProConOs brauchst du dann die Bibliothek KCPLib.


    Auch mit rechter Maustaste auf dem Steuerelement oder F4 kommst du zum VBA Property Window - ebenfalls Eigenschaften. Dort kannst du noch zusätzlich die PictureNumber einstellen.


    Mit rechter Maustaste auf View VBA.Code kannst du den Code eintragen, der beim Tastendruck ausgeführt werden soll. Willst du nur die Taste ans ProConOs übergeben, brauchst du für die entsprechende Taste nix eintragen. Beispiel:


    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Moin, Moin,


    erst mal ein ganz großes :danke: für eure Hilfe! :merci:


    Ich kann jetzt die Tasten des KCP in meiner GraphWorX Visualisierung mit Funktionen belegen.
    Eigenlich ist ja jetzt die Zeit für :beerchug:


    Wenn da nicht "DER CHEF" währe, der immer neue tolle Ideen hat.


    Er hat sich überlegt: "Warum OPC :?: Warum SPS :?: Integrieren wir die Steuerungswerte des Roboters doch gleich (sprich ohne Umweg über SPS oder OPC) in der Visualisierung. Finden Sie mal raus wie das geht :!:"


    Und so sitze ich hier im verregneten Hamburg und versuche "mal raus zu finden, wie das geht".


    Wenn jemand eine Tipp hat, ich nehme jeden Hinweis gerne entgegen.


    Gruß


    marfri

  • Hallo zusammen,


    ich stehe leider vor dem gleichen Problem wie marfri vor 3 Jahren:


    Visualisierung auf einem KRC-System mit GraphWorX, Multiprog/Proconos und Proconos-OPC-Server.


    Programme sind installiert und laufen. Mit den Infos hier aus dem Forum und den Software-Dokus konnte ich schon etwas anfangen und erstellen
    ...aber es läuft halt noch nicht wie gewollt :???:


    Als Aufgabenstellung soll zunächst eine Oberfläche mit GraphworX32 mit 3 Buttons erstellt werden,
    welche jeweils einen Ausgang an der KRC schalten.
    Die Ausgänge sollen beim Anklicken der Buttons und den ersten 3 linken KCP-Tasten umgeswitched werden.



    1. In Multiprog habe ich ein neues POE erzeugen, welches zyklisch abgearbeitet wird. Das POE enthält die Bausteine
    "KcpSetKeys" mit der Eingangsvariablen "nKCPKeyInfo" (DINT, Global, OPC, keine I/O-Adresse zugewiesen) und "KCPLeftKeys"
    mit der Eingangsvariablen "nKCPKeysOCX1" (Byte, global, OPC, keine I/O-Adresse zugewiesen) und den 3
    Ausgangsvariablen "Rot",Gelb","Gruen" (BOOL, Global, OPC, O-Adresse zugewiesen) an den ersten 3 Bausteinknoten angeknüpft.


    2. In GraphworX32 habe ich eine Oberfläche mit 3 Buttons erzeugt. In den Button-Eingenschaften ist unter dem
    Register "Pick" Action:"Toggle Value" eingestellt und Value1 auf 0 und Value2 auf 1 gesetzt.
    Bei Data Source ist der Verweis auf die jeweilige OPC-Variable PCOS.OPC.20\KRC.Rot gesetzt.
    In der Oberfläche ist ebenfalls über die Symbolleiste "OLE" das Objekt KCPKeys.KCPKeysOCX eingefügt und die ersten
    drei linken Buttons aktiviert.
    Im VBA.Code habe ich nichts hinzugefügt.


    3. Visualisierung auf KRC übertrag und dort gestartet zusätzlich OPC-Client-Server, um die OPC-Variablen zu beobachten.


    Wenn ich nun auf der oberfläche einen Button mit der Maus anklicke, wird die OPC-Variable kurzzeitig von 0 nach -1 umgeswitched
    und der Ausgang kurzzeitig geschaltet. Danach springt der Wert direkt wieder auf 0. Mit den KCP-Tasten kann ich gar nichts steuern -
    es ändert sich aber der OPC-Variablenwert "nKCPKeyInfo".


    Fragen:
    1. Wieso bleiben die Variablen beim Drücken eines Button nicht gesetzt? Muss ich in GraphWorX etwas einstellen
    oder liegt das Problem an Multiprog/ProConOs?
    2. Ist der Variablenname "nKCPKeysOCX1" der entsprechende Name für das Objekt (PictureNr) KCPKeys.KCPKeysOCX
    in der GraphworX-Oberfläche?
    3. Ist im VBA-Code etwas einzutragen damit die KCP-Tasten zugewiesen werden?


    Freue mich über jede Hilfestellung.


    Gruß
    Spyro

  • Hi,


    suche doch mal auf deiner CD nach *.gdf. Früher waren dort Beispielbilder mit denen du das genau machen kannst.
    Dort sind schon eine ganze Reihe Taster und die kannst dann verwenden.


    Wie gesagt, weis nicht ob die immer noch auf der CD sind, aber früher waren sie.


    Was bei dir Fehlt ist die Verbindung von dem ocx zu deinen Tasten.
    D.h. mit dem ocx hast du nur einen Aufruf im VBA und dort müsstest du dann sagen das eine Taste gedrückt werden soll
    oder du kannst natürlich auch direkt Variable beschreiben.
    Wobei ich die erste Variante besser finde, da du dann auch weiterhin mit der Maus arbeiten kannst.
    In dem Template ist es so umgesetzt, das die entsprechende Taste gesucht wird und dann dort mit der Maus ein Tastendruck ausgelöst wird.


    Suche es mal, das wird dir bestimmt weiter helfen.


    Gruß

  • Hi RobAutomation,


    erstmal Danke für deine Hilfestellung.


    Habe die Tasten jetzt nach langem rumprobieren zum Laufen gebracht.
    Der Fehler liegt ja wie immer im Detail.
    Musste der Bildvariablen "nKCPKeysOCX1" noch den Anfangswert 1 zuordnen und in meinem Multiprogprogramm die Ausgangsvariablen nicht direkt mit dem "KcpLeftKeys-Baustein" verbinden, da die Tasten ja nur einen Impuls geben...Anfängerfehler halt ;)


    Gruß
    Spyro

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