Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Variablen initialisieren

Andy
2016-01-07
2016-01-08
  • Andy - 2016-01-07

    Hallo,

    ich hab bestimmt schon alles versucht - außer der richtigen Variante
    Ich möchte einzelne Werte einer Strukturvariablen initialisieren. Im konkreten Fall aus der Wago Scheduler_03.lib:
    Der typSchedule enthält ein Array ScheduleWeekly OF typScheduleWeekly. Dort ist z.B ON_Hour enthalten, welche ich initialisieren möchte.
    Hier einer meiner Versuche, welcher in "Fehlerhafter Initialwert" endet:
    Sched1:typSchedule := (ScheduleWeekly[1] := (ON_hour := 4));
    Wie wäre das richtig?

    Danke für Eure Hilfe
    Andreas

     

    Related

    Talk.ru: 1

  • Pitsch - 2016-01-08

    Hallo Andy

    Geht es nicht eher so:

    Sched1:typSchedule := (ScheduleWeekly[1].ON_hour := 4);

    Hab's nicht getestet. Aber ON-Hour, ist doch sicher ein Element des Array-Feldes[1]. Und da kannst Du es nicht ausserhalb ansprechen.

    Mit freundlichen Grüssen! Pitsch

     

    Related

    Talk.ru: 1

  • Andy - 2016-01-08

    Hallo Pitsch,

    danke für Deine Antwort.
    Aber ON_hour ist ein Element einer Struktur, welche im Array ScheduleWeeekly enthalten ist. Deshalb meine Schreibweise.

    Inzwischen habe ich das ON_Hour im ersten Element des Arrays initialisieren können:

    Sched1:typSchedule:= (ScheduleWeekly := (ON_hour := 4));

    Aber wo kommt nun der Index hin, im weitere Elemente anzusprechen?

    Gruß
    Andreas

     
  • Andy - 2016-01-08

    Hallo,

    ich glaub, ich hab's:
    typSchedule := (ScheduleWeekly := (ON_hour := 4, OFF_hour := 7), (),(ON_minute := 3));
    Man muss jedes Element des Arrays in Kommas auflisten. Wenn mit Default besetzt werden kann, einfach ein leeres Klammerpaar angeben.
    Falls jemand weiß, wie man das noch umgehen kann, bitte posten.

    Gruß
    Andreas

     

Log in to post a comment.