Сообщение от
vsa
Спасибо. Буду пробовать. У меня до этого момента было 14 условных операторов IF для определения, какой вход активный. И в зависимости от ситуации, я в программе в специальную переменную записывал номер активного входа (датчика). И этот номер датчика потом использовал в программе. Но вот на днях, я решил немного оптимизировать программу. И был готов установить CASE для определения активного датчика. Ведь, я думал, что CASE будет быстрее определять номер активного датчика, нежели 14 отдельных условных операторов? Ну и столкнулся с проблемой, как прочитать множество входов и записать все скопом в одно слово для CASE. Думаю, что Ваша функция будет работать быстро.
Если так сделать, то D13 тоже попадает в WORD и биты будут не по порядку.
Можно ещё проще и ничего лишнего не будет и все биты по порядку, с D14 по D27 .
Код:
w : WORD;
w.0:=D14; w.1:=D15; w.2:=D16; w.3:=D17; w.4:=D18; w.5:=D19; w.6:=D20; w.7:=D21;
w.8:=D22; w.9:=D23; w.10:=D24; w.11:=D25; w.12:=D26; w.13:=D27;