TPE Programm mittels KAREL erzeugen/ modifizieren

  • 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

  • ANZEIGE
  • Kurze Frage: Warum nutzt du nicht die indirekte Adressierung auf ein PR?

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • 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 KaiF,

    so sollte es klappen.



    OPEN FILE file1 ('RW', 'MD:TEST_99.LS')

    WRITE file1('/PROG TEST_99',CR)

    WRITE file1('/ATTR',CR)

    WRITE file1('OWNER = MNEDITOR;',CR)

    WRITE file1('COMMENT = "created in Karel";',CR)

    WRITE file1('PROG_SIZE = 772;',CR)

    WRITE file1('CREATE = DATE 29-05-99 TIME 12:17:02;',CR)

    WRITE file1('MODIFIED = DATE 17-05-26 TIME 12:17:44;',CR)

    WRITE file1('FILE_NAME = ;',CR)

    WRITE file1('VERSION = 0;',CR)

    WRITE file1('LINE_COUNT = 5;',CR)

    WRITE file1('MEMORY_SIZE = 1124;',CR)

    WRITE file1('PROTECT = READ_WRITE;',CR)

    WRITE file1('TCD: STACK_SIZE = 0,',CR)

    WRITE file1(' TASK_PRIORITY = 50,',CR)

    WRITE file1(' TIME_SLICE = 0,',CR)

    WRITE file1(' BUSY_LAMP_OFF = 0,',CR)

    WRITE file1(' ABORT_REQUEST = 0,',CR)

    WRITE file1(' PAUSE_REQUEST = 0;',CR)

    WRITE file1('DEFAULT_GROUP = 1,*,*,*,*;',CR)

    WRITE file1('CONTROL_CODE = 00000000 00000000;',CR)

    WRITE file1('/APPL',CR)

    WRITE file1('/MN',CR)

    WRITE file1(' 1: OVERRIDE=10% ;', CR)

    WRITE file1(' 2:J PR[',nummer,'] 10% FINE ;',CR)

    WRITE file1(' 3:J P[2] 40% FINE ;',CR)

    WRITE file1(' 4:L P[3] 100mm/sec CNT100 ;',CR)

    WRITE file1(' 5:L P[4] 100mm/sec FINE ;',CR)

    WRITE file1(' 6:L P[5] 10000mm/sec FINE ;',CR)

    WRITE file1 (' 7: !comment;',CR)

    WRITE file1 (' 8: !new comment;',CR)

    WRITE file1('/POS',CR)

    WRITE file1('P[1]{',CR)

    WRITE file1(' GP1:',CR)

    WRITE file1(' UF : 0, UT : 1, CONFIG : ''N U T, 0, 0, 0'',',CR)

    WRITE file1(' X = 1206.939 mm, Y = .079 mm, Z = 936.701 mm,',CR)

    WRITE file1(' W = -179.957 deg, P = -8.668 deg, R = .016 deg',CR)

    WRITE file1('};',CR)

    WRITE file1('P[2]{',CR)

    WRITE file1(' GP1:',CR)

    WRITE file1(' UF : 0, UT : 1, CONFIG : ''N U T, 0, 0, 0'',',CR)

    WRITE file1(' X = 1206.939 mm, Y = .079 mm, Z = 849.147 mm,',CR)

    WRITE file1(' W = -179.957 deg, P = -8.668 deg, R = .016 deg',CR)

    WRITE file1('};',CR)

    WRITE file1('P[3]{',CR)

    WRITE file1(' GP1:',CR)

    WRITE file1(' UF : 0, UT : 1, CONFIG : ''N U T, 0, 0, 0'',',CR)

    WRITE file1(' X = 1269.144 mm, Y = .079 mm, Z = 849.147 mm,',CR)

    WRITE file1(' W = -179.957 deg, P = -8.668 deg, R = .016 deg',CR)

    WRITE file1('};',CR)

    WRITE file1('P[4]{',CR)

    WRITE file1(' GP1:',CR)

    WRITE file1(' UF : 0, UT : 1, CONFIG : ''N U T, 0, 0, 0'',',CR)

    WRITE file1(' X = 1324.438 mm, Y = .079 mm, Z = 849.147 mm,',CR)

    WRITE file1(' W = -179.957 deg, P = -8.668 deg, R = .016 deg',CR)

    WRITE file1('};',CR)

    WRITE file1('P[5]{',CR)

    WRITE file1(' GP1:',CR)

    WRITE file1(' UF : 0, UT : 1, CONFIG : ''N U T, 0, 0, 0'',',CR)

    WRITE file1(' X = 1324.438 mm, Y = .079 mm, Z = 880.251 mm,',CR)

    WRITE file1(' W = -179.957 deg, P = -8.668 deg, R = .016 deg',CR)

    WRITE file1('};',CR)

    WRITE file1('/END',CR)

    CLOSE FILE file1

  • Hallo R47,


    etwas verspätet, danke dir. Klappt so wie ich mir das vorgestellt habe. :)

    Beim Austesten ist mir noch aufgefallen, dass man auf das meiste oben bei den Programmparametern weglassen kann.

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