Umstieg s7 auf codesys 2.3

rabit

Level-1
Beiträge
60
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
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!
attachment.php
 

Anhänge

  • Picture0001.jpg
    Picture0001.jpg
    47,8 KB · Aufrufe: 89
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.:
Code:
AT-Deklaration xSchalterHeizung7 AT %QX0.0: BOOL;
 wLichtschrankenimpuls AT %IW2: WORD;
 xAblage AT %MX2.2: BOOL;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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?
 
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.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
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???
 
Zuletzt bearbeitet:
Zurück
Oben