Beiträge von panic mode

    Auf jedem KSS gibt es zwei Sätze von Maschinendaten:

    1. Roboter (befindet sich in KRC:\R1\MADA)

    2. Steuerung (befindet sich in KRC:\STEU\MADA)


    und ... man möchte beides NICHT übertragen, außer wenn die KSS-Versionen gleich sind ... weil sie wahrscheinlich unterschiedliche Inhalte oder Strukturen haben.

    Ich möchte sie vergleichen und nur die anwendungsrelevanten Werte einzeln übertragen.

    ich hatte bisher nur die Programmierschulung 1 bei KUKA.

    du brauchst Programmerschulung 2


    Ich habe bereits ein Programm, mit dem KRL andere Programme starten kann. Ich verwende es, um KrcDiag auszulösen. Und KUKA holt auf – bei neueren KSS ist es möglich, KrcDiag auszulösen, wenn ein Fehler auftritt.


    aber so etwas ist hier nicht nötig – es könnte im Startmenü platziert werden, damit es beim Einschalten läuft.


    Nach dem Start bleibt es minimiert und läuft im Hintergrund. Die aktuelle Version löscht die WriteFile beim Einschalten oder jedes Mal, wenn auf „Aktualisieren“ geklickt wird. Dann schreibt es WriteFile jedes Mal, wenn es feststellt, dass es fehlt ... oder jedes Mal, wenn es feststellt, dass ReadFile neuer ist.


    Auf diese Weise soll WriteFile praktisch immer auf dem neuesten Stand sein. Außerdem könnte das KRL-Programm CWRITE verwenden, um das WriteFile zu löschen, wenn man eine Aktualisierung erzwingen möchte (oder prüfen möchte, ob das Programm ausgeführt wird).


    Es sind nur ein paar Codezeilen. Ich habe mich nicht um den XML-Parser gekümmert, sondern nur die String-Manipulation verwendet. Ich habe versucht, etwas Kleines auf die Beine zu stellen, nur um andere zum Handeln zu ermutigen. Bisher ist daran nichts Besonderes:

    * Überprüfen ob die Datei vorhanden ist

    * Überprüfen das Dateidatum

    * Textdatei lesen,

    * etwas mit den Daten machen,

    * eine weitere Textdatei schreiben...


    Das sollte jeder können.

    Wenn es einen Willen gibt, gibt es auch einen Weg... (oder 2,3,4...)


    Wenn die Verarbeitung von Zeichen-Arrays in KRL zu umständlich ist, warum sollte man sich dann die Mühe machen, dies in KRL zu tun?


    man könnte alles verwenden, was bequemer ist – es ist völlig in Ordnung, externe Programme wie FNR.exe oder C, VB, C#, AutoIt3 usw. zu verwenden. Und während man dort ist, warum nicht ordentlich formatierte Ergebnisse in einem Ordner ablegen, auf den CREAD direkt zugreifen kann – ohne krl_mount?


    Jeder sollte wissen, wie man ein Programm schreibt, das Textdateien lesen und schreiben kann. Sind wir Programmierer oder was?

    Mit PlantArchiver ist das Herausholen von Archiven ganz einfach. alle Archive werden auch entpackt...


    Daher ist es nicht schwierig, ein Programm oder Skript zur Dateibearbeitung zu erstellen. Bevor das Versionskontrolltool aufrufen, die Dateien mit dem genannten Programm oder Skript bereinigen ...


    es könnte alles automatisiert werden...

    SIGNAL ID_STRING_ECHO_01 $OUT[353] TO $OUT[360]

    SIGNAL ID_STRING_ECHO_02 $OUT[361] TO $OUT[368]

    SIGNAL ID_STRING_ECHO_03 $OUT[369] TO $OUT[376]

    SIGNAL ID_STRING_ECHO_04 $OUT[377] TO $OUT[384]

    SIGNAL ID_STRING_ECHO_05 $OUT[97] TO $OUT[104]

    SIGNAL ID_STRING_ECHO_06 $OUT[105] TO $OUT[112]

    SIGNAL ID_STRING_ECHO_07 $OUT[113] TO $OUT[120]

    SIGNAL ID_STRING_ECHO_08 $OUT[121] TO $OUT[128]

    SIGNAL ID_STRING_ECHO_09 $OUT[129] TO $OUT[136]

    SIGNAL ID_STRING_ECHO_10 $OUT[137] TO $OUT[144]

    SIGNAL ID_STRING_ECHO_11 $OUT[145] TO $OUT[152]

    SIGNAL ID_STRING_ECHO_12 $OUT[153] TO $OUT[160]


    ; SPS ...

    ID_STRING_ECHO_01=ID_STRING_01

    ID_STRING_ECHO_02=ID_STRING_02

    ID_STRING_ECHO_03=ID_STRING_03

    ID_STRING_ECHO_04=ID_STRING_04

    ID_STRING_ECHO_05=ID_STRING_05

    ID_STRING_ECHO_06=ID_STRING_06

    ID_STRING_ECHO_07=ID_STRING_07

    ID_STRING_ECHO_08=ID_STRING_08

    ID_STRING_ECHO_09=ID_STRING_09

    ID_STRING_ECHO_10=ID_STRING_10

    ID_STRING_ECHO_11=ID_STRING_11

    ID_STRING_ECHO_12=ID_STRING_12

    zB.


    Code
    --- Input Image Value ---
    0001: 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    0065: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

    Eingaenge 2,3,4,5,7,27 und 68 waren hochgesaetzt...


    Namen sind in WorkVisual Projekt gefunden (Strg+L)

    kein timer oder interrupt ist noetig


    Code
    IF $IN[10] THEN
       $OUT[1] = ($ROB_TIMER B_AND 1023)>500
    ELSE
       $OUT[1] = $IN[11]
    ENDIF