Beiträge von KaiF

    Okay vielleicht nicht genau genug beschrieben.

    Hintergrund ist, ich möchte eine GUI anzeigen, welche verschiedene Optionen zum Editieren anzeigt.

    Nachdem Aufbau der GUI, steht das Script auf der Readabfrage, welche Option geändert werden soll. Dort sind aktuell auch zwei Zahlenwerte (Zurück und Löschen) hinterlegt.

    Aus Platz- und Logikgründen, möchte ich nun die beiden Optionen (Zurück und Löschen) auf den F1-5 Tasten hinterlegen.

    Der User soll dann entweder die Zahl eingeben können oder per TPIN (F1-5) die anderen Aktionen machen können.


    Ich schätze, dass es aufgrund des Wartens bei Read nicht klappt. Aber vielleicht kennt ja jemand den Weg es parallel laufen zu lassen.

    Hallo zusammen,

    kann mir jemand sagen, ob es einen Weg gibt zeitgleich auf eines der beiden Ereignisse zu warten: TPIN (die F-Tasten) oder Eingabe via Keyboard (READ TPDISPLAY)?

    Das KAREL Manual liefert mir hierzu kein Befriedigendes Ergebnis und der Compiler wirft mich mit Fehler raus.



    Danke und Grüße

    Kai


    PS: Habe spaßhalber mal ChatGPT gefragt, die sagt das geht so :S wer weiß ob da je mal einer wirklich KAREL korrekt eingepflegt hat. ^^

    Guten morgen zusammen,


    kennt jemand eine Möglichkeit einen String aus verschiedenen Datentypen (String, Integer, Real) zusammenzusetzen, ohne vorher die anderen Datentypen konvertieren zu müssen?

    Im Prinzip so wie bei WRITE TPDISPLAy (oder anderen Files). So das ich den String anschließend weiter verarbeiten kann.

    Bsp:

    string = err_msg.name,'; Job: ',err_msg.job::3,cr,'Errorcode: ',err_msg.derror::5,'; Description:';

    WRITE TPDISPLAY(err_msg.name,'; Job: ',err_msg.job::3,cr,'Errorcode: ',err_msg.derror::5,'; Description:')

    Guten Morgen Tom,


    liegen dir die Daten für den TCP vor? So liest sich das für mich, dann brauchst du die Approach Punkte garnicht beschreiben. Du kannst stattdessen die FRAMES und TOOLS direkt beschreiben:


    Für USER FRAMES:

    $mnuframe[1,#] = dein_frame (XYZWPR)

    Für TOOLs:

    $MNUTOOL[1, #] = dein_tool (XYZWPR)


    Die 1 beschreibt jeweils die Gruppe. # gibt das zu beschreibende Frame an.


    Die Variablen findest du im Software Reference Manual und den Rest im KAREL Reference Manual.


    BG

    Ja, wenn ich dazu auch die original von FANUC definierten XML verwende läuft das Programm wie es soll.

    Wenn ich allerdings die andere Variante nehme, mit den einzelnen Tags und dem Inhalt zwischen Start und End, dann lässt er die einzelnen Structure Elemente uninitialisiert, läuft allerdings auch ohne Fehler durch.

    Die Variablenausgabe links ist einmal mit der geänderten XML und rechts mit der originalen. Die Ausgabe auf dem Userscreen ist in beiden Fällen identisch.

    Es wirkt fast so als könne er nicht eine Ebene Tiefer tauchen.

    Hallo Hermann,

    danke für das posten des korrigierten Beispiels von FANUC. Endlich hab ich das auch mal laufen sehen. 🙃 War da auch schon seit 2019 vergeblich dran ...

    Kurze Frage, laut Anleitung muss ja die Struktur: <xmlstrct_t first="123456" second="7.8910" third="1" fourth="A string"> gegeben sein.

    Konntest du mit dem Built-In auch eine Struktur wie diese:

    <xmlstrct_t>

    <first>123456</first>

    <second>7.8910</second>

    <third>1</third>

    <fourth>A string</fourth>

    Text assocated with xmlstrct_t tag

    </xmlstrct_t>

    zum laufen bringen?


    Bisher musste ich das mit einem Work-around (einzeln jedes Zeichen durch eine IF-Schleife durchführen und prüfen ob es Datenteil oder Tag ist) lösen. Würde aber gerne auf die Bordmittel zurückgreifen, wenn diese das irgendwie zulassen.

    Danke schon mal vorab.


    BG

    So generell hab ich das auch verstanden. Ich scheitere gerade an dem WIE. Also wie schreibe ich eine Dict, die eben solche Fehlermeldungen beinhaltet.

    Du hast nicht zufällig ein kleines Beispiel? 🙈

    Hallo Sven,


    Gedanke war, dass der Endanwender, wenn er die Applikation einspielt, nur ein einziges Skript, das PC File, benötigt und keine weiteren LS/ TP Files, die er einspielen und am Ende noch modifzieren muss.

    Und da der Endanwender während der Initialiserung und später durch ein Setup die Möglichkeit hat, das entsprechende Positionsregister (und auch einen UAlarm in einem Programm) anzupassen, wollte ich die Erzeugung und Änderung des Programms aus dem PC-File heraus machen. Auch zur Vermeidung von IBN Fehlern (vergessen anzupassen etc.).

    Hallo zusammen,


    kann mir jemand eine kleine Vorlage geben, wie man ein TPE Programm mittels Karel erzeugt bzw. modifziert.


    Es geht um das folgende Programm, welches zwecks Flexibiliserung statt einem statischen Positionsregister ein "flexibles" Positionsregister erhalten soll.

    Die Positionsregisternummer soll dabei aus einer in KAREL hinterlegten Variable definiert werden. Diese wird während eines Setupprozesses vom Anwender festgelegt (oder wieder geändert).

    Da das Programm direkt aus Karel aufgerufen wird, scheiden Argumente aus. Ebenso scheidet ein Zwischenregister wegen des Flexibiliserungsgedanken aus.

    Jemand Erfahrung mit dem generieren von TPE Programmen aus KAREL heraus?


    Danke und beste Grüße

    Kai

    Hallo zusammen,

    ich suche nach einem Weg, eigene Fehlermeldungen (samt Stopp etc.) in der Statuszeile des Robots aus KAREL heraus auszugeben. Wenn möglich mit eigener Facility, Nummer, Text und Severity.

    Bspw: PLX-101 Part not found.

    Weiß jemand wie ich ein eigenes Fehler-Dictionary erstellen kann, welches ich in einen Roboter laden kann? Meine hierzu mal etwas gelesen zu haben, aber finde leider keinen Link mehr.

    Ich kenne sowas bereits aus Customs (bspw. für GM oder VW), daher muss es ja einen Weg geben.


    Bisher habe ich mich mit Useralarms versucht (siehe UAlarm auslösen aus Karel heraus mit Post_Err) und dort auch einen mehr schlechten als rechten Workaround mir zurecht gebaut. Auch hier wäre ein Weg, die UAlarms ohne diese unbeschrifteten Parameter ausgeben zu können gut.


    Bin für Hinweise und Ratschläge sehr dankbar.


    Beste Grüße

    Kai

    Hallo ToGe,


    bisher leider nein. Habe mir hier jetzt einen Workaround gebaut.

    Ich beschreibe zuerst den die User Alarm Variable mit dem gewünschten Text, setze die Severity und anschießend rufe ich aus Karel heraus ein TP Programm auf, in dem der User Alarm ausgeführt wird.

    Nicht optimal aber geht.

    Hallo zusammen,
    ich suche nach einer Möglichkeit, einen User Alarm aus Karel heraus auszulösen und dort dann meine vorher auf den User Alarm geschriebenen Texte anzuzeigen, ohne störende Zusätze.
    Ich nutze bisher dieses Kommando:
    POST_ERR(12213,'', 0, 2)
    mit diesem Ergebnis:
    INTP-213 %s^7 (%s^4, %d^5) UALM[%d^9]


    Weiß jemand, ob das was ich vorhabe geht und wenn ja, welchen POST_ERR Code ich nehmen muss, um meinen User Alarm, bspw. die 5, anzuzeigen?
    Kai