Цитата Сообщение от Сергей0308 Посмотреть сообщение
Так изначальная картинка сильно усложнена, можно без усилий сделать проще в 2-3 раза!
А, зачем на ST, в целях образования?
Наверно там есть функция вставки(записи) бит, аналогичная как в нормальном ОЛ!
Пока я рисовал, сообщения уже нет?
Screenshot_1.png
Код:
function bm_WeekDay: udint; //имя функции и тип данных выхода
    var_input //объявление входных переменных
        Mon : bool; //входная переменная с типом данных bool
        Tue: bool; //входная переменная с типом данных bool
        Wed: bool; //входная переменная с типом данных bool
        Thu: bool; //входная переменная с типом данных bool
        Fri: bool; //входная переменная с типом данных bool
        Sat: bool; //входная переменная с типом данных bool
        San: bool; //входная переменная с типом данных bool
        All: bool; //входная переменная с типом данных bool

end_var

If All Then bm_WeekDay:= 254;
    else
        bm_WeekDay.1:= Mon;
        bm_WeekDay.2:= Tue;
        bm_WeekDay.3:= Wed;
        bm_WeekDay.4:= Thu;
        bm_WeekDay.5:= Fri;
        bm_WeekDay.6:= Sat;
        bm_WeekDay.7:= San;

end_if;
end_function
Может сам догадался?