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

Ergebnis 1 bis 8 von 8

Thema: Probleme mit einem Array

  1. #1
    Registriert seit
    25.07.2005
    Beiträge
    226
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin moin Zusammen

    Ich finde meinen Fehler nicht!


    Geht nicht!
    ReceivedData: ARRAY [1..39] OF BYTE:= 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 ;

    Geht nicht!
    FOR f:=1 TO 39 DO
    ReceivedData: ARRAY [1..f] OF BYTE:= 0;
    END_FOR;

    Geht auch nicht!
    ReceivedData: ARRAY [1..39] OF BYTE :=39(0);

    der Fehler der immer kommt "" Fehler 4024 Erwarte ';',':=' oder '(' vor ':' ""

    was mache ich falsch?
    MFG
    Frank



    Zitieren Zitieren Probleme mit einem Array  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von Hitschkock Beitrag anzeigen
    Moin moin Zusammen

    Ich finde meinen Fehler nicht!


    Geht nicht!
    ReceivedData: ARRAY [1..39] OF BYTE:= 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 ;

    Geht nicht!
    FOR f:=1 TO 39 DO
    ReceivedData: ARRAY [1..f] OF BYTE:= 0;
    END_FOR;

    Geht auch nicht!
    ReceivedData: ARRAY [1..39] OF BYTE :=39(0);

    der Fehler der immer kommt "" Fehler 4024 Erwarte ';',':=' oder '(' vor ':' ""

    was mache ich falsch?
    Für die Vorbelegung von Arrays, such mal in der Hilfe von Codesys.

    Sollt so gehen!

    Code:
    FOR f:=1 TO 39 DO
       ReceivedData[f]:= 0;
    END_FOR;
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Hitschkock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.07.2005
    Beiträge
    226
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Super danke für die schnelle hilfe!!!

    Aber warum meins nicht geht verstehe ich trozdem nicht.
    MFG
    Frank




  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Du hast die Deklaration des Array in die For-Schleife eingetragen, das geht natürlich nicht.
    In der For-Schleife wird einzeln auf jedes Element zugegriffen und 0 hineingeschrieben.

    Was du suchst ist die Vorbelegung des Array bei der Deklaration, wie gesagt, schau mal in die Hilfe, das weiß ich nicht aus dem Stehgreif.

    Die For-Schleife läuft ja im Programm! Vorteil, man kann bei Bedarf, das Array zu einem beliebigen Zeitpunkt auf 0 setzen, auch mitten im Programmablauf.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    Hitschkock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.07.2005
    Beiträge
    226
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    wenn ich das richtig sehe habe ich das ARRAY im Programmteil Angelegt und nicht verändert, wegen dem ':' . richtig?
    MFG
    Frank




  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Hallo,
    das ist eine Variablen-Deklaration :
    Zitat Zitat von Hitschkock Beitrag anzeigen
    ReceivedData: ARRAY [1..39] OF BYTE ;
    und das ist Programm-Code :
    Zitat Zitat von Hitschkock Beitrag anzeigen
    FOR f:=1 TO 39 DO
    ;
    END_FOR;
    und das ist Mischmasch - würde aber als Deklaration funktionieren, wenn "f" eine Konstante mit einem sinnvollen Wert ist :
    Zitat Zitat von Hitschkock Beitrag anzeigen
    ReceivedData: ARRAY [1..f] OF BYTE ;
    Gruß
    LL

  7. #7
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard

    Hallo,

    sollte im Declare-Teil aber funktionieren, NICHT in der Codesection:

    rcD : ARRAY[1..39] OF BYTE := 39(0);

    Viele Grüße

  8. #8
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Fx64 Beitrag anzeigen
    Hallo,

    sollte im Declare-Teil aber funktionieren, NICHT in der Codesection:

    rcD : ARRAY[1..39] OF BYTE := 39(0);

    Viele Grüße
    Schliesse mich dem an, ich würde zusätzlich noch global die 39 durch eine Literal Konstante ersetzen, dann kann ich später, wenn ich mal ein längeres Array bräuchte an genau einer Stelle ändern, das erspart langes Suchen und vermeidet Fehler.
    Als Freelancer immer auf der Suche nach interessanten Projekten.

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 21.12.2016, 17:03
  2. Antworten: 6
    Letzter Beitrag: 30.09.2011, 13:35
  3. Antworten: 24
    Letzter Beitrag: 24.06.2010, 07:48
  4. Startwert von einem Array in DB
    Von Flo im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 05.03.2010, 14:09
  5. UDT Array Input an einem FC
    Von TagebauCoder im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 04.10.2009, 02:29

Lesezeichen

Berechtigungen

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