# Eindimensionales Array Beschreiben (Codesys 2.3, ARRAY OF BOOL)



## KingHelmer (17 November 2016)

Hallöchen,

ich habe ein 
	
	



```
ARRAY [1..60] OF BOOL.
```
Dieses möchte ich mit bestimmten Bits beschreiben, z.B. wie folgt:


```
arrSegmentsInvisible ((iNumberOfSegmentsUsed+1)..60) := TRUE;
arrSegmentsInvisible (1..NumberOfVisibleSegments):= FALSE;
arrSegmentsInvisible ((NumberOfVisibleSegments + 1)..iNumberOfSegmentsUsed):= TRUE;
```

Nun werden mit Fehler angezeigt.
Kann es sein, dass ich hier nur über eine Schleife die Werte in das Array schreiben kann und es so direkt nicht funktioniert?

Wäre sehr schade.

Grüße, 
Flo


----------



## Pippen (17 November 2016)

Ja, das geht nur via Schleife im Code.

Bei der Deklaration kannst Du jedoch solche Sachen machen:

  TestArray           : ARRAY[1..8] OF BYTE:= 8(0);

oder

TestArray           : ARRAY[1..8] OF BOOL:= 8(TRUE);


----------



## shrimps (17 November 2016)

Hi,
also die Syntax ist m.E. falsch.
So gehts / gehts nicht..:

Array2 funktioniert ! (wie Pippen schon andeutete)

```
PROGRAM MAIN
VAR
    test : ARRAY [1..60] OF BOOL;
    test2 : ARRAY [1..60] OF BYTE;
END_VAR

test2[5].1 := TRUE;

test[5].1 := TRUE; (* Fehlermeldung !!!*)

hth
Shrimps
```


----------



## mario1 (21 November 2016)

Morgen,

der Datentyp BOOL ist bei CoDeSys 8 Bit (1 Byte) groß.

Gruß
Mario


----------



## KingHelmer (21 November 2016)

Hi Leute,

habe eine FOR Schleife eingebaut und funktioniert.


```
IF CurrentBlindPositionInvert <> OldBlindPosition THEN

    FOR i:= iNumberOfSegmentsUsed +1 TO 60 BY 1 DO
    arrSegmentsInvisible[i] := TRUE;
    END_FOR

    FOR i2:=1 TO NumberOfVisibleSegments BY 1 DO
    arrSegmentsInvisible[i2] := FALSE;
    END_FOR;

    FOR i3:= NumberOfVisibleSegments +1 TO iNumberOfSegmentsUsed BY 1 DO
    arrSegmentsInvisible[i3] := TRUE;
    END_FOR;

END_IF;

OldBlindPosition := CurrentBlindPositionInvert;
```

Das array sind einzelne Lamellen einer Jalousie in meiner Visu und der BOOL wert steht für die Variable Invisilble.
Habe den Task, so ängstlich wie ich bin, mit T#500ms eingetragen, da ich noch keine Vorstellung davon habe, wie lange es jeweils dauert, die FOR-Schleife abzuarbeiten 

Grüße, 
Flo


----------



## Tiktal (21 November 2016)

Moin Flo,

heisst das Du hast eine Visu in der Du darstellt wie die aktuelle Position deiner Jalousie Lamellen ist??

Ich bin aj nicht neugierig, aber magst Du beizeiten einen Screenshot posten? Bin ja neugierig was mit einer WAGO-Visu alles zu machen ist 

Gruß

Onno


----------



## KingHelmer (21 November 2016)

Kann dir leider gerade nur einen Screenshot senden, der nicht "live" ist, da ich im Büro sitze und nicht an der SPS 
Ist jetzt auch nichts so besonderes  Da könnte man einiges mehr draus machen 




Gruß, 
Flo


----------



## Tiktal (21 November 2016)

Das sieht nach der Visu fürs Handy aus ;-)

Find sowas einfach interessant was man doch mit der Codesys Visu hinbekommen kann...diese ist ja nun nicht sooo schick.
War schon am überlegen mich nach einer Alternative umzusehen...


----------



## KingHelmer (21 November 2016)

Es ist alles etwas umständlicher mit der Codesys Visu, aber man bekommt mit etwas mühe schon ansehnlichere Sachen hin.
Aber alles mit Farbverläufen und 3D Ansichten ist dann doch zuviel.

Und ja, die Visu ist für ein Tablet, habe auf dem Bild aber nicht die ganze Seite dargestellt.

Grüße, 
Flo


----------



## Tiktal (21 November 2016)

Außer Du fügst ein Bild mit Farbverlauf ein ;-)
Aber ja, man kann viel machen, deswegen bin ich auch immer für Ideen dankbar. Einiges habe ich von den Lehrgängen bei WAGO auch aufschnappen können.

Gruß

Onno

P.S.: du hast noch ne Pn ;-)


----------



## oliver.tonn (21 November 2016)

Man könnte die Jalousie über den Zähler auch als Ganzes nach oben oder unten bewegen, bei geschickter Gestaltung der Visu hätte man einen ähnlichen Effekt und hätte nur einen Zähler und nicht noch ein Array.

Von irgendwas mit Internetzugang gesendet.


----------



## KingHelmer (21 November 2016)

Hi Oliver,

Tatsächlich habe ich beide "Versionen" am laufen auf zwei unterschiedlichen Steuerungen.
Mein Problem bei deiner Version ist, dass beim Zoom auf die Visu Seite ganz kurz die "Fläche" zu sehen ist, die sich verschiebt.
Liegt meine ich an der Visu App von WAGO.

Das hat jedenfalls etwas gestört, daher diese aufwändigere Version.


Aber danke trotzdem für den Hinweis


----------

