# Umstieg s7 auf codesys 2.3



## rabit (27 September 2009)

Hallo Gemeinde,
Wie der Titel es schon sagt steige ich von S7 auf codessys um.
Mein Problem ist momentan 1: Prgramsimulation
2: Ein / Ausgänge zuweisen.
Einfaches Beispiel:
Siehe Foto! Was mache ich falsch?
Bitte um Einstiegshilfe!


----------



## zotos (27 September 2009)

Du musst Dich entscheiden ob Du nun symbolisch oder absolut adressieren möchtest.

Also entweder Du löschst oben aus der Variablen Deklaration alles wo mit AT anfängt da diese Deklaration unvollständig ist.

ODER

Du machst die sache Symbolisch und liest erstmal in der Hilfe die Erklärung zur AT Deklaration.

z.B.:

```
AT-Deklaration xSchalterHeizung7 AT %QX0.0: BOOL;
 wLichtschrankenimpuls AT %IW2: WORD;
 xAblage AT %MX2.2: BOOL;
```


----------



## grosser_marco (27 September 2009)

Richtig müsste es heissen:

(*Zuweisung der Eingänge IX0.0 und IX0.1 zu Variablen*)
VAR_INPUT
Eingang1 AT%ix0.0: bool;
Eingang2 AT%ix0.1: bool;
end_var
(*Zuweisung des Ausganges QX0.0 zu Variable*)
VAR_OUTPUT
Ausgang at%qx0.0: bool;
end_var

Ich programmiere nicht auf CodeSys, aber auf TwinCAT (was ja ein CodeSys-Derivat ist), und dort kann ich die Adressverwaltung auch dem System überlassen:
VAR_INPUT
Eingang1 AT%i*: bool;
Eingang2 AT%i*: bool;
end_var
VAR_OUTPUT
Ausgang AT%q*: bool;
end_var

Warum willst du denn den Variablen physische Ein- und Ausgangsadressen zuweisen?


----------



## GLT (27 September 2009)

Ein- oder Ausgänge werden ausschließlich über Variablen angesprochen; das Programm selbst schreibt man möglichst hardwareunabhängig - so kann ein Programm schnell portiert werden.

In den Ressourcen "Globale Variablen" hat man dann eine zentrale Stelle für die HW-Anbindung

VAR_GLOBAL
E1 AT %IX0.0: BOOL;
E2 AT %IX0.1: BOOL;
Q AT%QX0.0: BOOL;
END_VAR

In Codesys ist z.B. eine Beispielprogrammierung einer Ampel beschrieben - arbeite das mal durch.


----------



## grosser_marco (27 September 2009)

@GLT: Wieso deklarierst du eine boolsche Variable als AT%IB ???


----------



## rabit (27 September 2009)

Also was ich nicht auf Kette kriege ist nehme mal an habe einen Eingang das an der Anlage ein Schliesser ist und an der Anlage steht Start.
Woher weis codesys das ich diesen Taster auf ix0.0 verdrahtet habe?
Kann es sein das codesys nur Byteweise Eingänge einliest?
Unter Projects finde ich keine Ampel???


----------



## GLT (27 September 2009)

grosser_marco schrieb:


> @GLT: Wieso deklarierst du eine boolsche Variable als AT%IB ???


Weil ich mich vertippt u. die Zeile faulerweise kopiert hatte :|

@rabit
ist nicht unter Projects - war in der Hilfe


----------



## rabit (27 September 2009)

Kann mir denn keiner helfen?
Gibt es einen Link zu dieser "AMPEL"


----------



## GLT (27 September 2009)

www.iep.de/Downloads/deutsch/codesys_v23_d.pdf


----------



## rabit (27 September 2009)

Danke GLT werde es durcharbeiten.
Melde mich wenn ich damit fertig bin.


----------

