-> Hier kostenlos registrieren
Hallo Leute,
ich hätte da mal ein - zwei Verständnissfragen zur Programmierung mit Codesys.
1. Versuche ich gerade mit Arrays zu arbeiten und habe versucht die Folgendermaßen zu definieren:
(*Zuweisung Array BYTE*)
fluegel_var_byte: ARRAY [1..2,1..2] OF BYTE;
(*Fluegel 1*)
fluegel_var_byte[1,1] :BYTE:= 12;
fluegel_var_byte[1,2] :BYTE:= 16;
(*Fluegel 2*)
fluegel_var_byte[2,1] :BYTE:= AT %IB1;
fluegel_var_byte[2,2] :BYTE:= AT %IB6;
Das geht so aber scheinbar nicht. Wie ich anfangswerte initialisieren kann ist mir prinzipiell schon klar, aber wie stelle ich das an wenn ich einen Wert nachträglich in den Array schreiben will?
Wie kann ich ein Byte aus einem Eingang, wie in obigem Beispiel in den Array schreiben?
Und zweitens würde ich gerne den Array von [1..i,1..5] definieren. Dabei habe ich i: int:=5; definiert, funktioniert allerdings leider auch nicht ...
Zuletzt noch eine andere Sache: Und zwar würde ich gerne 3 Schalter einbauen um zwischen 3 verschiedenen Betriebsarten umzustellen. Wenn ich Modus 1= true aktiviere, sollen die anderen beiden auf False zurückspringen, bei Modus 2= true dementsprechend Modus 1 und 3 auf False. Da ich Anfänger bin und Momentan mit FUP programmiere, hab ich das nur mit einer Ellenlangen Schaltung gelöst bekommen. Gibts da eine einfachere Lösung?
Zu diesem Thema auch gleich noch eine Frage wegen der Visualisierung: Ist es möglich ein Feld so zu belegen, dass es bei Modus 1=true den Text "Modus 1" ausgibt, bei Modus 2= true den Text "Modus 2" ausgibt und bei Modus 3= true den Text "Modus 3" ausgibt?
Jeder fängt mal klein an, vielen Dank schonmal für die Mühe!
Vincent
ich hätte da mal ein - zwei Verständnissfragen zur Programmierung mit Codesys.
1. Versuche ich gerade mit Arrays zu arbeiten und habe versucht die Folgendermaßen zu definieren:
(*Zuweisung Array BYTE*)
fluegel_var_byte: ARRAY [1..2,1..2] OF BYTE;
(*Fluegel 1*)
fluegel_var_byte[1,1] :BYTE:= 12;
fluegel_var_byte[1,2] :BYTE:= 16;
(*Fluegel 2*)
fluegel_var_byte[2,1] :BYTE:= AT %IB1;
fluegel_var_byte[2,2] :BYTE:= AT %IB6;
Das geht so aber scheinbar nicht. Wie ich anfangswerte initialisieren kann ist mir prinzipiell schon klar, aber wie stelle ich das an wenn ich einen Wert nachträglich in den Array schreiben will?
Wie kann ich ein Byte aus einem Eingang, wie in obigem Beispiel in den Array schreiben?
Und zweitens würde ich gerne den Array von [1..i,1..5] definieren. Dabei habe ich i: int:=5; definiert, funktioniert allerdings leider auch nicht ...
Zuletzt noch eine andere Sache: Und zwar würde ich gerne 3 Schalter einbauen um zwischen 3 verschiedenen Betriebsarten umzustellen. Wenn ich Modus 1= true aktiviere, sollen die anderen beiden auf False zurückspringen, bei Modus 2= true dementsprechend Modus 1 und 3 auf False. Da ich Anfänger bin und Momentan mit FUP programmiere, hab ich das nur mit einer Ellenlangen Schaltung gelöst bekommen. Gibts da eine einfachere Lösung?
Zu diesem Thema auch gleich noch eine Frage wegen der Visualisierung: Ist es möglich ein Feld so zu belegen, dass es bei Modus 1=true den Text "Modus 1" ausgibt, bei Modus 2= true den Text "Modus 2" ausgibt und bei Modus 3= true den Text "Modus 3" ausgibt?
Jeder fängt mal klein an, vielen Dank schonmal für die Mühe!
Vincent
Zuletzt bearbeitet: