EA-Feld/Binärcode

SCLNewbie

Level-1
Beiträge
42
Reaktionspunkte
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
 
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
 
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ß.
 
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
 
Zurück
Oben