Hi,
Du würfelst da einiges durcheinander, so dass zumindest für mich nicht ganz klar ist, was Du eigentlich tun möchtest.
Zunächst einmal wird prinzipiell alles nur binär in der SPS gespeichert. Wenn etwas dann z.B. dezimal oder hexadezimal auf dem Bildschirm dargestellt wird, geschieht dies nur, damit der Mensch davor das besser lesen kann. Am Speicher ändert das aber nichts.
BYTE ist dagegen ein Größenangabe des Speichers, genau wie WORD oder DWORD und besagt, von wieviel BITs als kleinste Speichereinheit die Rede ist. Beim Byte sind es 8 Bits.
Du schreibst was davon, dass Du das nur 3. und 4. Bit dieses Bytes prüfen möchtest. Dafür gibt es verschiedene Möglichkeiten.
Ich persönlich würde wahrscheinlich die Bits per Schiebebefehl auf die Stellen 0 und 1 (kleinste Wertigkeit im Byte) verschieben und dann durch verUNDung alle höheren Stellen auf 0 bringen. Jetzt können nur noch Werte von 0 bis max. 3 vorhanden sein, nach denen man auswerten kann.
Eine weitere Möglichkeit wäre per Slice direkt auf diese Bits zuzugreifen, also z.B.: "MyByte.X3". Somit hast Du einzelne Bits. (Meine zumindest, dass das bei
CODESYS auch geht.)
In welcher Programmiersprache möchtest Du das denn umsetzen und was genau hast Du vor?