EA-Feld/Binärcode

SCLNewbie

Active member
Beiträge
42
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hey Leute,

ich möchte über ein EA-Feld in meinem Control Panel (TP 277) einen 21-stelligen Binärcode ausgeben. Dazu habe ich in meinem SCL-Programm
ein ARRAY[0..21] OF BOOL angelegt. Im Fenster "Eigenschaften" des EA-Feldes kann man als Prozessvariable leider aber nur ein Element aus diesem ARRAY auswählen, obwohl ich als Darstellungsformat "111111111111111111111111111111" binär eingestellt habe. Was mache ich falsch, was gibt es für Möglichkeiten? Vielen Dank für eure Hilfe!

Grüße
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.092
Punkte Reaktionen
2.719
Hallo,
die Visu kann hier nichts mit dem Datentyp Array anfangen. Du mußt das Array entweder (ggf. mittels AT) auf eine DWord-Variable umkopieren, die du für die Visu benutzt oder du vergibst im Variableneditor der Visu die Adresse "per Hand" - hier aber auch wieder als DWord (o.ä.) ...

Gruß
Larry
 

ducati

Well-known member
Beiträge
6.016
Punkte Reaktionen
1.165
Zuviel Werbung?
->Hier kostenlos registrieren
ich würde sagen, die Bits in ein Doppelwort legen, und dieses DWORD dann im EA-Feld anzeigen...

Trotzdem wären immer mal wieder Infos zu Deinem Sytem (welche SPS, welche Programmiersoftware, welche Visu-Software) sinnvoll...

Gruß.
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.092
Punkte Reaktionen
2.719
Mit AT machst du eine andere Sicht auf eine vorhandene Variable.
Als Beispiel für deinen Fall :
Code:
in der Deklaration :

meineVisuVar : DWord ;
meinArray : Array [0..20] of BOOL ;
meinDWord AT meinArray : DWORD ;

im Code dann nachdem das Array seine Informationen hat :

meineVisuVar := meinDWORD ;
Zur Erklärung :
Die Variable "meinDWord" ist keine eigenständige neue Variable sondern sie betrachtet das vorher definierte Array wie ein DWord. Dadurch sind alle Inhaltsänderungen bei dem Einen auch gleichzeitig bei dem Anderen drin.
Die Variable "meineVisuVar " ist eine "echte" Variable an die du die Visu hängen kannst (wie du es vorhast). Durch die Anweisung "meineVisuVar := meinDWORD ;" kopierst du den Inhalt des Arrays in diese Variable.

Zu AT gibt es aber auch in der SCL-Hilfe noch ein wenig zu lesen ...

Gruß
Larry
 
Oben