# Probleme bei der deklaration in Codesys



## Lockemotive (16 Dezember 2011)

Hi zusammen. Ich habe eine Wago 750-841 mit einer 750 655 AS-interfacemaster (24Byte) an der eine Airbox (Slave1)hängt mit 4in/2out. Würde gern in Codesys in FUP programmieren.Ich versuche verzwiefelt diese zu deklarieren aber kriege das nicht hin,word will codesys nicht oder muss ich doch als bool?

mfg lockemotive


----------



## 1985zottel (16 Dezember 2011)

Hallo.

Codesys kann natürlich auch Word verarbeiten.
Beschreib doch mal was du genau machen willst. Du möchtest doch bestimmt die einzelnen Bit verarbeiten.

Ich würde die Ein/Ausgänge in der Steuerungskonfiguration direkt einem eindeutigen Namen zuordnen.
Du kannst aber auch mit der Adresse arbeiten (z.B: %QX1.1.1)


----------



## Lockemotive (16 Dezember 2011)

1985zottel schrieb:


> Hallo.
> 
> Codesys kann natürlich auch Word verarbeiten.
> Beschreib doch mal was du genau machen willst. Du möchtest doch bestimmt die einzelnen Bit verarbeiten.
> ...



Ich möchte die Bits einzeln ansprechen.An den 4 Eingängen sitzen je ein Magnetschalter.Wago I/o check 2 zeigt mir auch die bitbelegung an und erkennt alles,nur die umsetzung und das ansprechen in Codesys. Meines Meinung müsste es auch %QX1.1.1 sein, aber dann kommt unzulässige Adresse wenn ich es übersetze.Ich lade mal n screenshoot hoch,vielleicht hilft dir das etwas.Um zu testen ob ich die Ausgänge reagieren muss ich online und das auf werte Forcen auf True oder??Oder muss man das noch was Beachten?

Lockemotive


----------



## Simatiker (16 Dezember 2011)

Hallo,
Also deinen Screenshots zufolge würde ich es mal mit

```
VAR
   B1 AT %IX0.0:BOOL;
END_VAR
```
versuchen. %IX0.0 weil, Sensor ist ja sicherlich ein Eingang und 0.0 weil Eingangsbyte 0.
Das gleiche gilt auch für Q. Eine weitere Möglichkeit wäre die Bytes zu mappen.

```
VAR
   InByteAsiMaster AT %IB0:BYTE;
   OutByteAsiMaster AT %QB0:BYTE;
END_VAR
```
Im Programm kannst du dann mit InByteAsiMaster.0 - InByteAsiMaster.7 bzw. mit OutByteAsiMaster.0 - OutByteAsiMaster.7 auf die einzelnen Bits zugreifen.

Wenn du Online bist kannst/musst du die Eingänge "Forcen" damit sich an den Ausgängen was tut. Beachten muss du da eigentlich nichts weiter, außer das du irgendwann mal "Unforce" ausführst.


----------



## Lockemotive (16 Dezember 2011)

Simatiker schrieb:


> Hallo,
> Also deinen Screenshots zufolge würde ich es mal mit
> 
> ```
> ...



Danke erstmal,werde es montag gleich ausprobieren und werde euch informieren=) 

mfg Lockemotive


----------



## repök (17 Dezember 2011)

1985zottel schrieb:


> Hallo.
> 
> Codesys kann natürlich auch Word verarbeiten.
> Beschreib doch mal was du genau machen willst. Du möchtest doch bestimmt die einzelnen Bit verarbeiten.
> ...



das mit der adresse "Qx1.1.1" ist aber seit einigen codesys-versionen vorbei. da hat 3s einen riegel vorgeschoben.


----------



## Lockemotive (19 Dezember 2011)

Moin Moin.Habe es nun ausprobiert aber es funktioniert nicht. Egal ob ich den Eingang auf %IX1.1 oder %IX0.1 setze oder den Ausgang auf %QX0.1 passiert nichts. Habe noch mal ein Screenshot von der 
Wago I/O Check gemacht,vielleicht kann man dort die Bits herrauslesen.Wäre für eure Hilfe sehr dankbar.




Mfg Lockemotive


----------



## RobiHerb (19 Dezember 2011)

*Pack, unpack*

Wenn es nur an den Bits hapert und Bytes oder Words lesbar und beschreibbar sind, bieten sich die Funktionalitäten PACK und UNPACK an, die die Bits aufdröseln oder zusammenbauen.

Ich greife beim IO lieber auf Worte zu als auf einzelne Bits, da man meisst eh mehrere Bits braucht und so auch beim Debug schnell überblickt, was abgeht im System.


----------



## Lockemotive (19 Dezember 2011)

RobiHerb schrieb:


> Wenn es nur an den Bits hapert und Bytes oder Words lesbar und beschreibbar sind, bieten sich die Funktionalitäten PACK und UNPACK an, die die Bits aufdröseln oder zusammenbauen.
> 
> Ich greife beim IO lieber auf Worte zu als auf einzelne Bits, da man meisst eh mehrere Bits braucht und so auch beim Debug schnell überblickt, was abgeht im System.



Danke für die gute Idee.habe jetzt die Eingänge gefunden %IX8.0-8.4  . Die Ausgänge müssten doch auch dort liegen aber dann auf %QX8.0 und %Qx 8.1 oder sehe ich das falsch?? Kann die  im Programm nicht beobachten,zumindest kommt das kein Signal.muss ich die noch umwandeln?? Bin total überfragt=( und irgendwie finde ich keine passenden Unterlagen wo man mal was abschauen kann....
Wäre nett wenn ihr noch Tips hättet

mfg Lockemotive


----------



## ErazorVIP (29 Juli 2014)

Hallo,

ich habe ein ähnliches Problem. Kann mir jemand sagen warum ich den Ausgang nicht auf 1 bekomme?


Gruß Klaus


----------



## HausSPSler (29 Juli 2014)

Hallo Klaus,

kannst du dir mal das Taskdeploment anschauen, da sieht man welcher Input/Output in welcher Task referenziert wird,
das hilft meistens weiter.

Grüße


----------

