Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: Array mehrere Werte gleichzeitig zuweisen

  1. #1
    Registriert seit
    20.01.2012
    Beiträge
    98
    Danke
    0
    Erhielt 36 Danke für 34 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    gibt es die Möglichkeit unter CoDeSys 2.3 einem Array mehrere Werte gleichzeitig zuzuweisen?

    Bei der Intialisierung kann man ja gleich mehrere Werte durch Komma getrennt angeben. Wie kann man das im Code machen?

    Konkret habe ich einen Funktionsbaustein mit einem Array als Eingang.
    Code:
    FUNCTION_BLOCK TSET
    VAR_INPUT
    DATA: ARRAY [1..4] OF BYTE;
    END_VAR
    Diesen binde ich wie üblich ein
    Code:
    VAR
    TEST:TSET;
    END_VAR
    Nun würde ich die Daten gerne gleich in einem Stück zuweisen und nicht einzeln
    Code:
    TEST.DATA:=1,2,3,4;
    
    TEST();
    anstelle von
    Code:
    TEST.DATA[1]:=1;
    TEST.DATA[2]:=2;
    TEST.DATA[3]:=3;
    TEST.DATA[4]:=4;
    
    TEST();
    Das funktioniert leider nicht bei mir. Kennt jemand eine Möglichkeit wie man das machen kann?

    Gruß
    Geändert von Thruser (17.12.2014 um 22:18 Uhr)
    Zitieren Zitieren Array mehrere Werte gleichzeitig zuweisen  

  2. #2
    Registriert seit
    04.03.2011
    Beiträge
    77
    Danke
    15
    Erhielt 6 Danke für 6 Beiträge

    Standard

    wenn du variablen in einem fb von außen manipulieren willst, dann solltest du die entweder als IN oder IN-OUT deklarieren.
    Es kommt nicht darauf an, mit dem Kopf durch die Wand zu rennen, sondern mit den Augen die Tür zu finden.

  3. #3
    Registriert seit
    20.01.2012
    Beiträge
    98
    Danke
    0
    Erhielt 36 Danke für 34 Beiträge

    Standard

    Mist, da ist was verloren gegangen

    Data sollte eigentlich bei VAR_INPUT definiert sein. Berichtige ich gleich.

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.188
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Vielleicht geht das?
    Code:
    TEST(DATA := 1,2,3,4);
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Registriert seit
    20.01.2012
    Beiträge
    98
    Danke
    0
    Erhielt 36 Danke für 34 Beiträge

    Standard

    Hallo,
    Zitat Zitat von PN/DP Beitrag anzeigen
    Vielleicht geht das?
    Code:
     TEST(DATA := 1,2,3,4);
    Harald
    bin erst jetzt dazu gekommen das zu testen.

    Funktioniert leider nicht:
    Fehler 4012: Unzulässiger Typ für Eingang 'DATA' von 'TSET': Kann '1' nicht in ARRAY [1..4] OF BYTE konvertieren
    Fehler 4000: Bezeichner erwartet

    Das Komma wird ja als Trenner der verschiedenen Argumente verwendet. So kann der Compiler das einzelne Byte (1) nicht in ein Array mit 4 Byte wandeln. Die 2 nimmt bereits er als weiteres Argument, für daß dann der Bezeichner fehlt.

    Gruß

  6. #6
    Registriert seit
    10.05.2010
    Beiträge
    81
    Danke
    36
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo Thruser,
    scheibe in der Deklaration
    Data :ARRAY of INT:=1, 2, 3, 4;

    Gruß Felix

  7. #7
    Registriert seit
    10.05.2010
    Beiträge
    81
    Danke
    36
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Natürlich mit der Bereichgröße

    Data:ARRAY [1..4] of INT:=1, 2, 3, 4;

Ähnliche Themen

  1. 2 Dimensionales ARRAY OF BYTE, Werte zuweisen
    Von KingHelmer im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 22.10.2013, 10:46
  2. WinCC RT mehrere Tasten gleichzeitig
    Von mario1 im Forum HMI
    Antworten: 6
    Letzter Beitrag: 26.06.2013, 09:42
  3. Wago. Mehrere Dateien gleichzeitig erstellen,
    Von nmap im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 25.01.2012, 11:04
  4. Mehrere Bits gleichzeitig setzen bzw. rücksetzen
    Von funkey im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 18.01.2011, 16:13
  5. Antworten: 5
    Letzter Beitrag: 30.12.2010, 00:10

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •