1. Dashboard
    1. Dashboard
    2. Suche
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  4. Jobs
  5. Articles
  6. Calendar
    1. Upcoming Events
    2. Map
  7. Shop
    1. Orders
    2. Shipping Costs
  • Login or register
  • Search
Roboterprogrammierer finden
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Events
  • Files
  • Products
  • More Options
  1. Roboterforum.de - die Industrieroboter und Cobot Community
  2. Forum
  3. Industrieroboter Support
  4. KUKA Roboter
Your browser does not support videos autonome mobile Roboter von KUKA
besuche unseren Hauptsponsor
Roboterprogrammierer
Robot Support Forum
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

Probleme bei der Anzeige von Dialogbuttons

  • ASK_ROBOTER
  • November 4, 2012 at 7:29 PM
  • Thread is Resolved
  • ASK_ROBOTER
    Reactions Received
    1
    Points
    1,911
    Posts
    322
    • November 4, 2012 at 7:29 PM
    • #1

    Servus Zusammen,
    hab gerade ein Problem bei der Anzeige von den Dialogbuttons.
    KRC2
    Version: V4.1.7 SP05
    Also man kann 7 Buttons frei programmieren. Ich brauche weniger und dadurch bleibt der letzte Button durch einen alten Eintrag erhalten. Das möchte man natürlich nicht.
    Die Buttons sollen so aussehen.
    JA NEIN
    1 2 3 4 5 6 7
    Nur 1 und 2 sollen beschriftet sein der Rest soll leer bleiben. Jetzt ist es so das 7 noch einen alten Eintrag hat "Alles Quit".
    Hab gelesen das $MSG_T.DLG_FORMAT ein bestimmtes Format haben muss. Habe es aber noch nicht hinbekommen. Bei neueren Version funktioniert das ohne Probleme. Hab schon mehrere Möglichkeiten ohne Erfolg probiert.
    Kann mir jemand da ein Tipp geben?

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

  • Schritt für Schritt zum Roboterprofi!
  • abuschmeyer
    Points
    860
    Posts
    163
    • November 5, 2012 at 8:33 AM
    • #2

    Musst du mal probieren, ist schon sehr alt das Programm und habe seit dem auch nicht mehr viel mit den Knöpfen gemacht. Poste doch mal deinen Code, vielleicht sieht man dann ja was.

    INT iANSWER, icounter, iNr
    DECL MSG_T EMPTY_MSG

    doStoerung=TRUE

    EMPTY_MSG={MSG_T: VALID FALSE,RELEASE FALSE,TYP #QUIT,MODUL[] "MAIN",KEY[] " ",PARAM_TYP #KEY,PARAM[] " ",DLG_FORMAT[] " ",ANSWER 0}
    iANSWER=0
    icounter=0

    MSG_NOCHMAL:
    $MSG_T=EMPTY_MSG
    $MSG_T.VALID=FALSE
    $MSG_T.TYP=#DIALOG

    SWITCH iNr
    CASE 1
    $MSG_T.KEY[]="FehlerNr: 1! x Minuten kein Job gefunden"
    CASE 2
    $MSG_T.KEY[]="FehlerNr: 2! kein Teil entnommen BAZ1"
    DEFAULT

    ENDSWITCH

    $MSG_T.DLG_FORMAT[]="OK"
    $MSG_T.VALID=TRUE
    WHILE (($MSG_T.VALID==TRUE) AND (icounter<20))
    HALT
    WAIT SEC 0.2
    icounter=icounter+1
    ENDWHILE
    IF icounter>=20 THEN
    GOTO MSG_NOCHMAL
    ENDIF
    iANSWER=$MSG_T.ANSWER

    bMerker_Interrupt=TRUE

    WHILE TRUE
    INTERRUPT OFF 35
    bMerker_Interrupt=FALSE
    WAIT SEC 0.25
    INTERRUPT ON 35
    WAIT SEC 0.25
    bMerker_Interrupt=TRUE
    ENDWHILE


    ______________________________________


    Und hier nochmal etwas, wo ich die Knöpfe definiert habe:


    INT iANSWER, icounter
    DECL MSG_T EMPTY_MSG

    EMPTY_MSG={MSG_T: VALID FALSE,RELEASE FALSE,TYP #QUIT,MODUL[] "MAIN",KEY[] " ",PARAM_TYP #KEY,PARAM[] " ",DLG_FORMAT[] " ",ANSWER 0}
    iANSWER=0
    icounter=0

    MSG_NOCHMAL:
    $MSG_T=EMPTY_MSG
    $MSG_T.VALID=FALSE
    $MSG_T.TYP=#DIALOG
    $MSG_T.KEY[]="Waehlen Sie den gewuenschten Greifer!"
    $MSG_T.DLG_FORMAT[]="Greifer 0|Greifer 1|Greifer 2|Greifer 3|Greifer 4|ZURUECK"
    $MSG_T.VALID=TRUE
    WHILE (($MSG_T.VALID==TRUE) AND (icounter<20))
    HALT
    WAIT SEC 0.2
    icounter=icounter+1
    ENDWHILE
    IF icounter>=20 THEN
    GOTO MSG_NOCHMAL
    ENDIF
    iANSWER=$MSG_T.ANSWER
    SWITCH iANSWER
    CASE 1
    GreiferNrwechsel (0)
    CASE 2
    GreiferNrwechsel (1)
    CASE 3
    GreiferNrwechsel (2)
    CASE 4
    GreiferNrwechsel (3)
    CASE 5
    GreiferNrwechsel (4)
    CASE 6
    ;--Sprung zurueck in Hauptmenue
    RETURN
    DEFAULT

    ENDSWITCH

  • ASK_ROBOTER
    Reactions Received
    1
    Points
    1,911
    Posts
    322
    • November 7, 2012 at 9:37 AM
    • #3

    Hallo Dos,
    danke schon mal für die Beispiele. Hab aber das Problem noch nicht lösen können :down: Komme auch erst am Wochenende an die Anlage wieder drann um irgendwas zu testen.
    Im großen und ganzen habe ich das auch so. Hier ein ein kleines Beispiel.

    DEF Prog_a()
    MSGTXT[]="Robi in einer definierten Position.Wollen Sie den Robi automatisch Home fahren?"
    KeyTxt[]=" Ja | | Nein "
    KCPTOOL (#DIALOG,Msgtxt[],KEYTXT[],0,0.0,I_FKEY)
    if (I_FKEY==1) then
    ;ja gedrueckt
    wait for (findpos(0))
    else
    ;nein
    WAIT FOR $IN_HOME
    endif
    END

    Der Text und die Tasten sind in der config.dat deklariert.
    DECL CHAR MSGTXT[80]
    MSGTXT[]="Robi in einer definierten Position.Wollen Sie den Robi automatisch Home fahren? "
    DECL CHAR KEYTXT[70]
    KEYTXT[]=" "

    Das Programm KCPTOOL() steuert dann die Anzeige. So wie bei dir. Bei neueren Versionen gibt es auch keine Probleme nur bei der alten Version: V4.1.7 SP05.
    Hab einige Sachen probiert. Wie zum Beispiel:
    KeyTxt[]=" Ja | | Nein | | | | " ; keine 70 Zeichen
    KeyTxt[]=" Ja | | Nein " ; genau 70 Zeichen
    KeyTxt[]=" Ja | | Nein | | | | " ; genau 70 Zeichen mit den "|" zusammen.
    Was mir noch aufgefallen ist das $MSG_T.DLG_FORMAT[] vor dem Anzeigen nicht mit Leerzeichen beschrieben wird? War ja auch nie nötig :denk:
    Vielleicht funktioniert es bei der alten Version wenn ich vorher erst mal den alten Inhalt von $MSG_T.DLG_FORMAT[] überschreiben und danach den eigentlichen Text in .Format[] schreibe.
    Am Wochenende gibts dann mehr Infos....... :genau:

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

  • ASK_ROBOTER
    Reactions Received
    1
    Points
    1,911
    Posts
    322
    • November 18, 2012 at 1:59 PM
    • #4

    So! Nach einigem Probieren habe ich es aufgegeben :down: Egal was ich es mache der letzte Button 7 hat fast immer irgendeine unerwünschte Beschriftung. Hab auch vor dem eigentlichen setzen der Variable $DLG_FORMAT[] alle Zeichen mit " " beschrieben, ging auch nicht.
    Und nun...........wie es aussieht müssen die Leute damit klar kommen.
    Werde mich mit dem Problem auch nicht mehr länger herumschlagen.
    Schönen Sonntag noch :ylsuper:

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

  • verbogener
    Reactions Received
    1
    Points
    706
    Posts
    130
    Location
    Schweiz
    • February 20, 2013 at 9:16 PM
    • #5

    hehe, wie sich manches wie ein Virus verbreitet :mrgreen:

    Da hat APT vor vielen Jahren wegen der damals besch... KRC2 Meldungsverwaltung mal für die eigene Verwendung eine universelle "KCPTOOL" Bibliothek geschrieben, und seitdem begegnet es einem mit EXAKT dem gleichen Syntax bei den verschiedensten Firmen immer und immer wieder :pfeif:

    ...hoffe du hast dein Problem unter der V4.x BOF-Version in den Griff bekommen, KCPTOOL entstand auf V5.2 :zwink:

    Grüsse, APT

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

  • Toud
    Points
    325
    Posts
    64
    • February 20, 2013 at 11:14 PM
    • #6

    Schau mal in das Prog,
    das sollte eigentlich funktioniert (Im FOLD Dialog ist alles eigentlich gut erklärt zu dem du Probleme hast).

    Ich würds mit "Softkey[7] = {sk_type #EMPTY}" probieren oder "Softkey[3] = {sk_type #VALUE, sk_txt[] " . " }"
    einfach mit nen Leerzeichen oder Punkt beschreiben.
    Du musst aber in meinem Prog bei der Declarierung der Variable "Sofkey[3]" auf 7 erhöhen (sieht dann so aus "Sofkey[7]").
    Die declarierung ist vor der INI Zeile im Fold "Decleration der Meldungsvariablen" zu finden.
    Ich hab damals versucht das Programm so zu schreiben, dass es übersichtlich ist und eigentlich keine Fragen offen bleiben
    sollten. Wenn irgendwas fehl einfach melden damit ich es noch hinzu fügen kann.

    Als zweites Prog hab ich mal nen Bsp. angehongen wo wir das ganze verwenden (Das Cell Programm)

    Ich hoffe das bringt dir was befor du ganz verzweifelst

    Files

    meldungen.zip 7.52 kB – 22 Downloads
  • WolfHenk
    Reactions Received
    52
    Points
    13,782
    Trophies
    96
    Posts
    2,650
    About Me

    -- RETIRED --

    Location
    50° 31' 18" Nord, 09° 19' 48" Ost, Terra (Sol 3), Alpha-Quadrant
    Occupation
    Was wohl, wenn ich hier rumstürze?
    • February 21, 2013 at 11:23 AM
    • #7

    APT, Sieh es doch als Ehre an, dass alle Deinen Code nutzen...
    Ich habe für Sachen, die rausgingen immer auch nen Programmkopf geliefert. Wenn mir mein Code ohne Kopf begegnet, dann bitte ich freundlich um Nachrüstung...

    :biggrins:

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.

    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • ASK_ROBOTER
    Reactions Received
    1
    Points
    1,911
    Posts
    322
    • February 21, 2013 at 12:29 PM
    • #8

    Hallo Zusammen,
    hab die Linie so mit den ganzen Programmen übernommen! Und natürlich auch verwendet. Hier in Stuttgart bei Mercedes sieht der Programmkopf so aus:

    ;************************************************************
    ;* Programm : Utility-SRC zum Dialog mittels KCP *
    ;* Filename : KCPTOOL.SRC *
    ;* Quelle : KCPMSG.SRC *
    ;* Zielsystem : KR-C1 *
    ;* Zielsoftware : V2.2.8 *
    ;* Kunde : - *
    ;* Autor : Christian Stein *
    ;* (c) Ch. Stein AG, 5004 Aarau *
    ;*==========================================================*
    ;* AENDERUNGSGESCHICHTE: *
    ;* Vers. Datum/Visum Beschreibung *
    ;*----------------------------------------------------------*
    ;* 0.1 09.08.00 / pk Entwurf *
    ;* 1.0 10.08.00 / pk Nutzungsfreigabe *
    ;* 1.1 27.06.11 /ohu Deklarationen hinter die Def-Zeile


    @ Toud: Dein Beispiel ist für die KRC4...ich hatte das Problem mit der KRC2. Aber Trotzdem Danke.

    Und bei der KRC4 hat sich zum Glück da einiges getan und funktioniert besser.
    Köpfe werden immer wieder gerne mal entfernt ist manchmal ärgerlich.
    Gruß Paulaner

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

  • verbogener
    Reactions Received
    1
    Points
    706
    Posts
    130
    Location
    Schweiz
    • February 21, 2013 at 11:26 PM
    • #9

    WolfHenk

    ...mach ich. ist ja schön wenn man merkt dass man ab-und-zu ausser chaos auch mal halbwegs brauchbares zu produzieren scheint. geht dir ja sicher auch so, immerhin spielst du in der top-liga.

    ...hab grad zur kontrolle in den spiegel geschaut. "christian stein" bin ich trotzdem nicht, da hat sich mein ehemaliger chef zum autor gemacht hat, hehe
    :jawohl:

    @Paulaner

    ich glaube mich zu erinnern, dass der 7. softkey auch bei mir manchmal probleme machte, wenn nur leerzeichen angezeigt werden sollten. probier mal für den letzten key irgend ein zeichen das keinem auffällt, z.b. underline _

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

  • Toud
    Points
    325
    Posts
    64
    • February 22, 2013 at 9:35 AM
    • #10
    Quote from Paulaner

    @ Toud: Dein Beispiel ist für die KRC4...ich hatte das Problem mit der KRC2. Aber Trotzdem Danke.

    Nicht ganz richtig, das zeugs hab ich letztes Jahr geschrieben und da hatten wir noch keinen KRC4.
    Daher weiß ich dass es auf ner KRC 2 auch lauffähig ist, allerdings erst ab dem Softwarestand 5.5.

    Wenns bei dir nicht läuft haste warscheinlich noch nen älteres Modell, dazu hab ich dann leider doch
    nichts.

    Dann mal noch nen schönes WE :beerchug:

  • ASK_ROBOTER
    Reactions Received
    1
    Points
    1,911
    Posts
    322
    • February 24, 2013 at 7:08 PM
    • #11

    Hallo Toud,
    ok das wusste ich nicht das man diese Funktionen schon ab der V5.5 verwenden kann. Aber ich habe da eine alte Krüke die Probleme bereitet.
    Version: V4.1.7 SP05

    @APT
    ich habe sowas programmiert:
    if (bdiAblagePlatz1Frei==false) and (bdiAblagePlatz2Frei==false) then
    MSGTXT[]="Alle Plaetze belegt. Robi bewegt sich wieder in Grundstellung "
    KEYTXT[]=" Ok | _ | _ | _ | _ | _ | _ "
    KCPTOOL (#dialog,MSGTXT[],KEYTXT[],0,0.0,I_FKEY)
    return -1
    endif
    if (bdiAblagePlatz2Frei==true) and (bdiAblagePlatz1Frei==false) then
    MSGTXT[]="Greifer wird am Bahnhof 2 abgelegt. "
    KEYTXT[]=" Ok | _ | _ | _ | _ | _ | _ "
    KCPTOOL (#dialog,MSGTXT[],KEYTXT[],0,0.0,I_FKEY)
    return 2
    else
    if (bdiAblagePlatz2Frei==false) and (bdiAblagePlatz1Frei==true) then
    MSGTXT[]="Greifer wird am Bahnhof 1 abgelegt. "
    KEYTXT[]=" Ok | _ | _ | _ | _ | _ | _ "
    KCPTOOL (#dialog,MSGTXT[],KEYTXT[],0,0.0,I_FKEY)
    return 1
    else
    ;beide plätze frei auswahl
    repeat
    MSGTXT[]="Beide Plaetze frei. Welcher Platz soll angefahren werden? "
    KEYTXT[]=" Platz 1 | Platz 2 | _ | _ | _ | _ | Abbrechen "
    KCPTOOL (#dialog,MSGTXT[],KEYTXT[],0,0.0,I_FKEY)
    until ((i_fkey==1) or (i_fkey==2) or (i_fkey==3))
    if (i_fkey==1) then

    Das verrückte ist dass der MSGTXT richtig angezeigt wird. So weit so gut. Aber die Buttons wo eigentlich Ok stehen müsste steht immer Weiter!!
    Von wo kommt das "weiter"? Auch wenn ich über Satzanwahl springe und mehrmals Meldungen ausgebe erscheint "weiter". Erst bei den Plätzen 1 oder 2 wird es wieder richtig angezeigt.
    Selstam seltsam.... Und nirgends habe ich irgendwo im keytxt ein "weiter" verwendet :waffen100:
    Gruß Paulaner

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

Tags

  • 1
  • 33
  • 2
  • ABB
  • ABB Roboter
  • ABS
  • base
  • constant
  • CP_PARAMS
  • Dialog
  • EX
  • EXT
  • fanuc
  • Fehler
  • FRAMES
  • INIT
  • INITIALIZED
  • INITMOV
  • IRC5
  • joint
  • KRC2
  • KRC4
  • kuka
  • new
  • NONE
  • notify
  • PATH
  • PGNO_GET
  • profinet
  • PTP_DAT
  • PTP_PARAMS
  • P_ACTIVE
  • P_FREE
  • P_RESET
  • P_STOP
  • Quit
  • Roboter
  • RobotStudio
  • Schweißen
  • Sps
  • Sync
  • T1
  • t2
  • tcp
  • Tool
  • VALUE
  • VAR
  • vel_cp
  • vel_ptp
  • Yaskawa
AD
Your browser does not support videos Automatisierung im Handwerk - ich schaffs mit KUKA
Einloggen für weniger Werbung

gesponserte Artikel

  • Gebrauchtroboter kaufen - Was ist zu beachten. Die Checkliste zum kauf von gebrauchten Robotern

    August 11, 2019 at 7:02 PM
  • Was macht ein Roboterprogrammierer genau und was verdient er?

    August 21, 2019 at 8:17 AM
  • Vernetzen, referenzieren, kollaborieren: Das B2B Portal für die Produktionsautomatisierung

    June 2, 2021 at 11:29 AM

Job Offer

  • Sie wollen Ihr Stellenangebot im Roboterforum schalten? Ab 149€

    Werner Hampel June 17, 2021 at 9:52 AM
  • Werde Roboterprogrammierer bei ROBTEC GmbH in Mainburg / Bayern

    Werner Hampel April 5, 2023 at 7:13 PM
Werbung auf Roboterseite
Roboter programmieren lernen
Banner Robotik

Tags

  • Dialog
  • Quit
  • VALUE
  • KEY
  • empty

Wieviele Mitglieder waren heute eingeloggt?

Logge Dich ein, um hier zu lesen wer in den letzten 24h Online war und um weniger Werbung zu sehen.

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™ 6.0.22
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on Google Play
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on the App Store
Download