# Ausgänge mit Bitmuster aus WORD/DWORD direkt beschreiben ?



## SyWiTec (12 August 2020)

Hallo an die Wissenden unter euch 
Ich möchte mit einer 750-871 zwei Ausgangsklemmen (750-1501, je 16 DO) so ansprechen, dass ich ein Bitmuster,
welches z.B. in einem WORD oder für beide einem DWORD steckt, ausgeben kann.
Ich könnte jetzt nun natürlich hergehen und ein WORD bitweise zerlegen, abfragen auf 0/1 und dann den entsprechend
benannten Ausgang ansteuern. Aber das scheint mir doch ein wenig umständlich.
Sicher gibt's eine (für mich leider derzeit nicht offensichtliche) viel einfachere Möglichkeit, die Ausgänge %QX2.x 
zu beschreiben. 
Das Bitmuster selber wird im Programm durch div. AND, OR, SHIFT Befehle verändert, aber das tut ja eigentlich nichts zur Sache.
So, hoffe, ich habe keine wesentlichen Infos vergessen.
Wenn also jemand eine Idee oder besser noch ein Beispiel hat, das wäre super !
Besten Dank schon mal !


----------



## ccore (12 August 2020)

```
wAusgang  AT %QW0: WORD;
```

Den wert entsprechend den QX anpassen. 

Gruß
ccore


----------



## SyWiTec (12 August 2020)

ccore schrieb:


> ```
> wAusgang  AT %QW0: WORD;
> ```
> 
> ...



Danke !
%QW übernimmt also den Wert einer als WORD definierten Variablen.
Was aber soll "wAusgang" sein ?  In den div. Dokus ist da nichts zu finden.
Sorry für meine Begriffstutzigkeit, aber ein paar Worte der Eklärung bitte.

Gruß Reelf


----------



## oliver.tonn (12 August 2020)

SyWiTec schrieb:


> Danke !
> %QW übernimmt also den Wert einer als WORD definierten Variablen.
> Was aber soll "wAusgang" sein ?  In den div. Dokus ist da nichts zu finden.


Na, wAusgang ist diese von Dir erwähnte Variable. In der Hardwarekonfig mappst Du diese Variable auf die Ausgänge und wenn Du nun der Variable einen Wert zuweist werden die Ausgänge entsprechend gesetzt.


----------



## SyWiTec (12 August 2020)

So hatte ich vermutet. Da das aber nicht ging, fing ich an zu grübeln und zu fragen ;-)
In der Hardwarekonfig ("Steuerungskonfiguration") kann ich WORD (%QW) nur analogen Ausgangsklemmen zuweisen. Da bekommt ja jeder D/A-Wander seinen
Wert als WORD. Das gaht auch alles ohne Probleme, auch die Digital-Ausgänge einzeln.
Aber DO und WORD? Bei den DO-Klemmen geht nur %QXy.z, z.B. "Ventil1 AT %QX2.0" .
Sehe ich jetzt etwas gar nicht?  Suche ich an der völlig falschen Stelle?  Liegt's an der Hitze? ;-)


----------



## oliver.tonn (12 August 2020)

Ich kenn jetzt leider "nur" TwinCAT und da kann man einem 16 Bit I/O direkt eine Word-Variable zuweisen man kann auch einem 8 Bit breitem Ausgang eine Wordvariable zuweisen und wählen welcher Ausgang auf welches Bit reagieren soll.


----------



## SyWiTec (12 August 2020)

Hm, "TwinCat" kenne ich nun wieder nicht. Habe hier CodeSy V2.3. Wahrscheinlich wird's daran liegen, vermutlich kann CodesSys das nicht.
Falls noch jemand eine Idee hat, dann her damit 
Dir schon mal besten Dank !


----------



## ccore (12 August 2020)

Du kannst trotzdem die Variablen übersteuern. 
@oliver.tonn: Ich kenne TwinCat 2 nur bedingt, ist aber meines Erachtens (bis auf ein paar Feinheiten)identisch mit Codesys 2.3


----------



## oliver.tonn (12 August 2020)

Meinst Du jetzt wirklich natives Codesys V2.3 oder die Codesys V2.3 Variante von WAGO (I/O-Pro)?


----------



## ccore (12 August 2020)

Also ich kann eine WAGO mit Codesys 2.3 genauso progammieren wie mit I/O Pro. Bei Twincat gibt es mit sicherheit ein paar "Plugins" mehr als bei den nativen Varianten.


----------



## oliver.tonn (12 August 2020)

ccore schrieb:


> Also ich kann eine WAGO mit Codesys 2.3 genauso progammieren wie mit I/O Pro. Bei Twincat gibt es mit sicherheit ein paar "Plugins" mehr als bei den nativen Varianten.


I/O Pro ist ja auch Codesys nur halt mit den Target Dateien und ohne die kommt der TE nicht weit.


----------



## SyWiTec (12 August 2020)

Super!  Es kann so einfach sein 
Es ist CodesSys V23 als WAGO I/O-Pro
Klar, ich programmiere die WAGO 750-8xx ja auch damit. Nur die beiden 1501 mit DWORD ansteuern, da kam ich auf keine Lösung.
Ein DWORD auf zwei WORD aufteilen und dann direkt an die 1501 schicken mit der o.g. Lösung (Danke für die Screenshots!) ist ja nun  auch machbar 
Danke nochmals, ich stand da echt auf'm Schlauch. Liegt vielleicht doch an der Hitze, 29.3°C hier im Büro ...


----------



## oliver.tonn (12 August 2020)

ccore schrieb:


> @oliver.tonn: Ich kenne TwinCat 2 nur bedingt, ist aber meines Erachtens (bis auf ein paar Feinheiten)identisch mit Codesys 2.3


Ist es auch, das Schöne bei TwinCAT ist der Systemmanager und das man I/Os selber keine Adresse vergeben muss wie %QX1.0, sondern TwinCAT das selber macht und man lediglich %Q* angeben muss.
TwinCAT 3 basiert auch auf Codesys, aber da hat Beckhoff kaum ein Stein auf dem Anderen gelassen.


----------

