Das folgende Skript zeigt, wie man den 8-Bit-Wert (Interer: 0 bis 255) eines beliebigen Eingang (1-Wire oder andere I/O Geräte)
in 8 einzelne Variablen (Boolean: An/Aus) „zerlegt“.
Getriggert wird das Skript z.B. mit der Variable „IO8_Port_In“ mit „OnChange“.
In der For-Next-Schleife wird 8 mal eine Bitmaske über den Integer-Wert gelegt und somit Zustand der einzelnen Eingänge (An/Aus bzw. True/ False) bestimmt.
Wenn die jeweilige Variable noch nicht existiert, so wird sie angelegt: „IO8_Port_In_BitX“ (X steht für 0 bis 7)
wie ich gerade im Parallelthread erwähnte: Für C-Programmierer ist das der normale Weg. nicht wie in Basic->erst Zeichenkette aus 0 und 1 machen und dann die Stringfunktionen drauf los lassen. DAS ist umständlich. Ein Glück, das wir alle Computer mit Ghz-Prozessoren haben, sonst würden sich die Programierer letzteres von ganz alleine verkneifen.
Tommi
(Der gerade versucht, Prozessoren mit 128Byte Ram und 8Mhz zu Programmieren)
wie bereits beschrieben, läuft das Script für das Auslesen und aufteilen der Werte super.
Geht das vielleicht auch anders herum?
Also DB1.DBX1.0 und DB1.DBX1.1 auf 1 entspricht DB1.DBB1=3 etc.
So könnte man in der Visu die einzelnen Bits für die Schaltvorgänge verwenden und diese würden dann als Byte zur SPS übertragen.