Here's another way to do it. Fully tested.
Code:
Sens1 Var bit
Sens2 Var bit
Sens3 Var bit
Sens4 Var bit
Sens5 Var bit
Value VAR WORD
Idx VAR BYTE
Abit VAR BIT
Value = 0
FOR Idx = 1 TO 5
LOOKUP2 Idx-1,[Sens1,Sens2,Sens3,Sens4,Sens5],Abit
IF Abit THEN Value = Value * 10 + Idx
NEXT Idx
Or, if you change the bits to an array similar to what henrik did, you can do this ...
Code:
Senser VAR BYTE
Sens1 Var Senser.0
Sens2 Var Senser.1
Sens3 Var Senser.2
Sens4 Var Senser.3
Sens5 Var Senser.4
Value VAR WORD
Idx VAR BYTE
Value = 0
FOR Idx = 1 TO 5
IF Senser.0(Idx-1) THEN Value = Value * 10 + Idx
NEXT Idx
Bookmarks