symbolische Programmierung

  • Hej,


    bräuchte mal schnelle Hilfe.


    Ich habe eine KRC1 SW 2.3... und möchte z.B. einen interrupt declarieren.


    Code:
    INTERRUPT DECL 20 WHEN DN_I_STOER_NAGL DO WECHSEL ()


    Diesen Code nimmt er nicht. :nocheck: Wenn ich aber direkt über die Eingangsnummer gehe, macht er es!


    Code:
    INTERRUPT DECL 20 WHEN $IN [33] DO WECHSEL ()


    Ich möchte aber mit den Symbolen/Langtexten Programmieren, damit es klarer ist. Die Langtexte habe ich eingegeben.
    Geht diese Programmierung nicht? Wenn doch, wie? Muss ich die Langtexte noch in der Config oder wo anders configurieren?
    Bei IF Anweisungen ist das genauso! :bawling:



    Über rasend schnelle Hilfe würde ich mich freuen!
    Es wird für euch cracks doch bestimmt kein Problem sein mir zu antworten :mrgreen:



    Danke vorab.

    Wenn die Menschen Flügel hätten und schwarze Federn, wären die wenigsten schlau genug, um Krähen zu sein! Henry Ward Beecher

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Robotiker,


    du musst in der $config.dat noch den Signalnamen definieren. Nur mit Langtexten funktioniert es eben nicht.


    Das ganze heißt dann
    SIGNAL DN_I_STOER_NAGL $IN[33]


    od.
    SIGNAL DN_O_ANF_STATION $OUT[21]


    mehrere Ein- bzw. Ausgänge werden mit
    SIGNAL DN_O_GRUPPE $OUT[1] TO $OUT[8]


    zusammengefasst.


    Anschließend kannst du in deinen Programmen mit Namen arbeiten.



    Gruß
    Thilbi

  • :merci: :merci: :merci:


    Werde ich dann gleich mal testen. Ich dachte das wäre jetzt weggefallen, da ich doch alles über die Langtexte eingebe. Also doch noch genug Altlasten der KRC 32! :down:


    Robotiker

    Wenn die Menschen Flügel hätten und schwarze Federn, wären die wenigsten schlau genug, um Krähen zu sein! Henry Ward Beecher

  • Die KRC 32 kenn ich jetzt nicht.


    Aber bei der KRC 2 werden die Langtexte in einer Datenbankdatei abgespeichert auf die das Programm wohl keinen Zugriff hat.
    Sollte trotzdem jemand wissen wie es einfacher gehen wäre ich ihm schon dankbar wenn er das schreiben würde. Dann könnten wir und die doppelte Eingabe der Namen sparen.


    Gruß
    Thilbi

  • @Thilbi/Robotiker
    Die Langtexte dürfen u.a. Leer- und Sonderzeichen enthalten und wären von daher als Variablen- /Signalnamen nicht geeignet.
    Außerdem können sie sprachspezifisch (z.B. Englisch/Deutsch) eingerichtet werden. Man müsste dann bei jeder Sprachumschaltung auch das KRL-Programm anpassen ?!


    Robotiker
    Ich meine mich dunkel zu erinnern, dass bei den SW-Ständen bis 2.x die Signalnamen höchstens 12 Zeichen lang sein dürfen, DN_I_STOER_NAGL wäre dann zu lang. Aber sicherheitshalber noch mal in der Doku nachschauen.


    Gruß Hinky

  • Hallo,


    ich habe feststellen müssen, dass man zwar im Programm-Test schreiben kann :If Eingangxxx THEN ..., bei der Interrupt-Deklaration muss man aber schreiben ... Eingangxxx==true, damit das akzeptiert wird. Es ist dabei egal, ob symbolische Namen oder $IN[] benutzt wird. Ich habe mich vor Jahren damit abgefunden.


    Gruß


    PA

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