Hallo Jürgen,
du betreibst viel Aufwand für eine Maskenumschaltung in der E4.
Ich hatte letztes Jahr schon in der Fa ein Menue erstellt mit Umlaufendem Zähler und als Extra einen geschützten Bereich im oberen Seitenbereich. kann ich leider hier nicht veröffentlichen. Aber eine einfache Version, wie ich es lösen würde (16 Seiten).
(*Umlaufender Menueseitenzähler *)
C01 (
EN := ,
C_ := P03 OR P01, //vor- und zurückblättern
D_ := P01,
SE := C01FB,
RE := C01OF,
SH := 16, //höchste Seite +1
SL := -1, //niedrigste Seite -1
SV := 15, //höchste Seite
OF => ,
FB => ,
CY => ,
ZE => ,
QV => MB90
);
CASE MB90 OF //Mit dem Zählerstand die Bitmaske setzen
1:MW30:= 2; //Maske 2
2:MW30:= 4; //Maske 3
3:MW30:= 8;
4:MW30:= 16;
5:MW30:= 32;
6:MW30:= 64;
7:MW30:= 128;
8:MW30:= 256;
9:MW30:= 512;
10:MW30:= 1024;
11:MW30:= 2048;
12:MW30:= 4096;
13:MW30:= 8192;
14:MW30:= 16384;
15:MW30:= 32768;
ELSE
MW30:= 1; //Startmaske
END_CASE;
D01 (
EN := M465, //Startmaske
AI := ,
Q1 => ,
AO => );
D02 (
EN := M466, //Maske 2
AI := ,
Q1 => ,
AO => );
D03 (
EN := M467, //Maske 3
AI := ,
Q1 => ,
AO => );
D04 (
EN := M468,
AI := ,
Q1 => ,
AO => );
D05 (
EN := M469,
AI := ,
Q1 => ,
AO => );
D06 (
EN := M470,
AI := ,
Q1 => ,
AO => );
D07 (
EN := M471,
AI := ,
Q1 => ,
AO => );
D08 (
EN := M472,
AI := ,
Q1 => ,
AO => );
(* war zu faul, alle Textbausteine einzufügen ;-) *)
Man könnte auch in der Case- Auswahl erst das MW30= 0, und dann das Merkerbit setzen, wenn das verständlicher ist.
Gruß Thomas