Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Nachrichten - krajtl

Seiten: [1]
1
zur Inspiration...

Mein Beispiel, wie ich die Orgeleinstellungen in der Orgel löste und sie für die automatische Einrichtung vom Speicher auf die Ausgänge zurückrief:

(*declarationnnn...*)

TYPE OrgRgMEM :
STRUCT
   OrgRgMEM: ARRAY [0..11] OF BYTE; (*Speichergröße für 90 Bit Digitaleingänge*)
END_STRUCT
END_TYPE

VAR
   Crescendo   : INT;            (*0..30 Speicherzeiger für OrgRgCrA30MEM*)
   ArrDI_OrgRgstr    : ARRAY [0..89] OF BOOL;   (*array of digital inputs*)
   OrgRgCrA30MEM   : ARRAY [0..30] OF OrgRgMEM; (*Speicher für 31 Varianten*)
   ArrRegCresA    : ARRAY [0..89] OF BOOL;   (*array zum Schreiben auf digitale Ausgänge*)
END_VAR

(*programmm...*)


(*pack*)
   FOR i:=0 TO 11 BY 1 DO
   FOR j:=0 TO 7 BY 1 DO
      CASE j OF
      0:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.0:=ArrDI_OrgRgstr[(i*8 )+j];
      1:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.1:=ArrDI_OrgRgstr[(i*8 )+j];
      2:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.2:=ArrDI_OrgRgstr[(i*8 )+j];
      3:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.3:=ArrDI_OrgRgstr[(i*8 )+j];
      4:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.4:=ArrDI_OrgRgstr[(i*8 )+j];
      5:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.5:=ArrDI_OrgRgstr[(i*8 )+j];
      6:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.6:=ArrDI_OrgRgstr[(i*8 )+j];
      7:   OrgRgCrA30MEM[Crescendo].OrgRgMEM.7:=ArrDI_OrgRgstr[(i*8 )+j];
      END_CASE
   END_FOR
   END_FOR
(*end pack*)

(*unpack*)
   FOR i:=0 TO 11 BY 1 DO
   FOR j:=0 TO 7 BY 1 DO
      CASE j OF
      0:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.0;
      1:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.1;
      2:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.2;
      3:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.3;
      4:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.4;
      5:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.5;
      6:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.6;
      7:   ArrRegCresA[(i*8 )+j]:=OrgRgCrA30MEM[Crescendo].OrgRgMEM.7;
      END_CASE
   END_FOR
   END_FOR
(*end unpack*)


2
Hallo, um mit Luft und Dampf unter verschiedenen Druckbedingungen zu arbeiten, habe ich lib erstellt, die einfach und gleichzeitig relativ genau ist. Vergleichen Sie die Ergebnisse hier http://www.michell.com/us/calculator/

Seiten: [1]