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

Ergebnis 1 bis 5 von 5

Thema: ARRAY in SCL

  1. #1
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    wer kann mir hier helfen

    ich möchte ein 2dimensionales Array in SCL programmieren aber es funktioniert nicht. Laut Hilfe sieht es so aus

    VAR
    DaysYear :
    ARRAY[1..3,1..4] OF INT:= -54, 736, -83, 77,
    -1289, 100, 385, 2,
    1, 2, 3, 4 ;

    END_VAR

    aber es kommt folgende Fehlermeldung


    > Eine Initialisierung ist in diesem Kontex nicht erlaubt

    wer kann mir bei diesem Problem helfen?
    Zitieren Zitieren Gelöst: ARRAY in SCL  

  2. "Hallo.

    Zitat Zitat von Anonymous
    ...ich kann aber sagen, dass ich in einem fc (awl) ohne weiteres arrays im temp-bereich benutzen kann...
    Ja natürlich kann man Arrays im temporären Bereich verwenden, nur initialisieren kann man sie nicht, jedenfalls nicht in der Deklaration. Vermutlich verwendet Udo eine FUNCTION und versucht, statische Variablen an zu legen.

    @Udo
    Versuch's doch einfach mal mit einem FUNCTION_BLOCK, dann geht es.


    Gruss, Onkel"


  3. #2
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Code:
    DATA_BLOCK DB_10
    TITLE =
    VERSION : 0.1
    
    
      STRUCT     
       DB_VAR : ARRAY  [1 .. 3, 10 .. 13 ] OF //vorläufige Platzhaltervariable
       INT ;    
      END_STRUCT ;    
    BEGIN
       DB_VAR[1, 10] := 0; 
       DB_VAR[1, 11] := 0; 
       DB_VAR[1, 12] := 0; 
       DB_VAR[1, 13] := 0; 
       DB_VAR[2, 10] := 0; 
       DB_VAR[2, 11] := 0; 
       DB_VAR[2, 12] := 0; 
       DB_VAR[2, 13] := 0; 
       DB_VAR[3, 10] := 0; 
       DB_VAR[3, 11] := 0; 
       DB_VAR[3, 12] := 0; 
       DB_VAR[3, 13] := 0; 
    END_DATA_BLOCK
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  4. #3
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Hallo Udo,

    in einem FB geht es unter "VAR", jedoch nicht unter "VAR_TEMP". In einer FC geht es überhaupt nicht, da gibt es keine "VAR". Die Fehlermeldungen sind die selben.


    Gruß, Onkel
    Zitieren Zitieren geht nur im FUNCTION_BLOCK  

  5. #4
    Anonymous Gast

    Standard

    also ich kenn mich mit scl nicht so richtig gut aus.

    ich kann aber sagen, dass ich in einem fc (awl) ohne weiteres arrays im temp-bereich benutzen kann.

    Code:
    FUNCTION FC 3 : VOID
    TITLE =
    VERSION : 0.1
    
    
    VAR_INPUT
      varin : ARRAY  [1 .. 3 ] OF INT ;	
    END_VAR
    VAR_TEMP
      vartemp : ARRAY  [1 .. 3, 10 .. 13 ] OF INT ;	
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
          L     #varin[1]; 
          T     #vartemp[2, 11]; 
    
    END_FUNCTION
    hab das ganze mal in scl probiert. folgendes wird ohne fehler übersetzt.
    Code:
    FUNCTION_Block FB_4
    VERSION : '0.1'
    
    VAR
      var1 : ARRAY  [1 .. 3 ] OF INT :=1,2,3;
      var2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT :=1,2,3,10,11,12,13;
    END_VAR
    VAR_Input
      varin1 : ARRAY  [1 .. 3 ] OF INT :=1,2,3;
      varin2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT :=1,2,3,10,11,12,13;
    END_VAR
    VAR_Output
      varout1 : ARRAY  [1 .. 3 ] OF INT :=1,2,3;
      varout2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT :=1,2,3,10,11,12,13;
    END_VAR
    VAR_In_Out
      varinout1 : ARRAY  [1 .. 3 ] OF INT;
      varinout2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT;
    END_VAR
    VAR_TEMP
      vartemp1 : ARRAY  [1 .. 3 ] OF INT;
      vartemp2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT;
    END_VAR
    
          var1[1] := var2[2,13]; 
          varin1[1] := varin2[2,13]; 
          varout1[1] := varout2[2,13]; 
          varinout1[1] := varinout2[2,13]; 
          vartemp1[1] := vartemp2[2,13]; 
    
    END_FUNCTION_Block
    
    
    
    FUNCTION FC_4 : Void
    VERSION : '0.1'
    
    VAR
      var1 : ARRAY  [1 .. 3 ] OF INT;
      var2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT;
    END_VAR
    VAR_INPUT
      varin1 : ARRAY  [1 .. 3 ] OF INT :=1,2,3;
      varin2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT :=1,2,3,10,11,12,13;
    END_VAR
    VAR_OUTPUT
      varout1 : ARRAY  [1 .. 3 ] OF INT :=1,2,3;
      varout2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT :=1,2,3,10,11,12,13;
    END_VAR
    VAR_IN_OUT
      varinout1 : ARRAY  [1 .. 3 ] OF INT;
      varinout2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT;
    END_VAR
    VAR_TEMP
      vartemp1 : ARRAY  [1 .. 3 ] OF INT ;    
      vartemp2 : ARRAY  [1 .. 3, 10 .. 13 ] OF INT;
    END_VAR
    
          var1[1] := var2[2,13]; 
          varout1[1] := varout2[2,13]; 
          varinout1[1] := varinout2[2,13]; 
          vartemp1[1] := vartemp2[2,13]; 
    
    END_FUNCTION

  6. #5
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Zitat Zitat von Anonymous
    ...ich kann aber sagen, dass ich in einem fc (awl) ohne weiteres arrays im temp-bereich benutzen kann...
    Ja natürlich kann man Arrays im temporären Bereich verwenden, nur initialisieren kann man sie nicht, jedenfalls nicht in der Deklaration. Vermutlich verwendet Udo eine FUNCTION und versucht, statische Variablen an zu legen.

    @Udo
    Versuch's doch einfach mal mit einem FUNCTION_BLOCK, dann geht es.


    Gruss, Onkel

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 21.12.2016, 17:03
  2. Array in Nov Ram
    Von COOLT im Forum CODESYS und IEC61131
    Antworten: 41
    Letzter Beitrag: 22.09.2009, 20:19
  3. In: Array ???
    Von husox81 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 15.12.2008, 07:07
  4. Array
    Von rainer-step5 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 31.10.2006, 19:46
  5. Bool-Array in Byte-Array
    Von Techniker im Forum Sonstige Steuerungen
    Antworten: 10
    Letzter Beitrag: 13.01.2006, 19:12

Lesezeichen

Berechtigungen

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