Вы там пожалуйста без извращений, в смысле, что запишете(запись по уровню сигнала "1" на соответствующем входе) в ячейку, то там и будет, ячеек 32(0-31), два независимых выхода для чтения(вывода) данных из ячеек памяти:
Матрица памяти.jpg
Матрица памяти_2.owle
И, Вы так и не написали какое у Вас ПР, название у него есть?
В смысле, может у вашего ПР нет энергонезависимой памяти, тогда программно это не поправишь!
Последний раз редактировалось Сергей0308; 08.12.2024 в 16:33.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
И, Вы так и не написали какое у Вас ПР, название у него есть?
В смысле, может у вашего ПР нет энергонезависимой памяти, тогда программно это не поправишь![/QUOTE]
ПР102-230.2416.01
Может кто поможет? Имеется светодиодный светильник с драйвером, управление свечения (больше-меньше) на 12-24В. Управление происходит выключателем звонкового типа (кратковременное нажатие-включить/выключитб свет (запоминает последнее свечение), долгое нажатие - регулирует свечение больше/меньше. Проблема в том, что при отключении питания на драйвер (220В) и последующем включении, настройки пропадают. Надо сделать так, чтобы при отключении/подаче питания драйвера и ПР102 сохранялись настройки драйвера, т.е. чтобы ПР выводил свечение на на ту яркость, что была до отключения питания...
Схема освещ.jpg
Вот схема подключения.
Попробуйте так и первое включение сделайте через кнопку ПР, а все остальные через "Выключатель".
TMRSet - сделайте энергонезависимой, ФБ должен запоминать время удержания кнопки BTN и повторить на выходе при сбросе питания на ПР.
Owen.jpg
Код:function_block TMRPush var_input BTN : bool; RPT : bool; TMRSet : udint; end_var var_output TMRValue : udint; Q : bool; end_var var RT : SYS.RTRIG; FT : SYS.FTRIG; TS : time; TMRRPT : SYS.TP; end_var TMRValue := TMRSet; RT(I:=BTN); if RT.Q then TS := get_time(); end_if FT(I:=BTN); if FT.Q then TMRValue := time_to_udint(get_time() - TS); end_if TMRRPT(I:=RPT, T:= udint_to_time(TMRValue)); Q := BTN or TMRRPT.Q; end_function_block
Последний раз редактировалось EFrol; 08.12.2024 в 18:55.
Посмотрел вашу схему, мне видится один реальный вариант, это подать сигнал(8-40В) с выхода драйвера на аналоговый вход ПР через делитель напряжения(не более 10В на выходе) и запоминать это значение, всё!
При включении ПР восстанавливать это значение с помощью дискретного выхода ПР!
Есть ПР102 с аналоговыми входами, вам придётся менять модификацию ПР102!
ПР102_3.jpg
Другие варианты - это несерьёзно, из области фантастики, мне так кажется!
Последний раз редактировалось Сергей0308; 08.12.2024 в 23:36.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Если у вас дискретное управление яркостью от ПР102, в смысле сигналами больше-меньше, то настройки яркости находятся в драйвере, а ПР в принципе здесь не причём!
Короче для энергонезависимости нужно чтобы управление яркостью было с аналогового выхода ПР, которого, как я понимаю нет у вашего ПР!
Вот это поворот!
https://www.youtube.com/watch?v=uB-02LymtgE
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.