Probleme bei der deklaration in Codesys

Lockemotive

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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)

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?

LockemotiveCodesys.jpgSteuerung.jpgscreen.jpg
 
Hallo,
Also deinen Screenshots zufolge würde ich es mal mit
Code:
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.
Code:
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.
 
Hallo,
Also deinen Screenshots zufolge würde ich es mal mit
Code:
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.
Code:
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.

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

mfg Lockemotive
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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)

das mit der adresse "Qx1.1.1" ist aber seit einigen codesys-versionen vorbei. da hat 3s einen riegel vorgeschoben.
 
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.

Wago.jpgSteuerung.jpg
Mfg Lockemotive
 
Zuletzt bearbeitet:
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Taskdeployment.jpg

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
 
Zurück
Oben