Попробуйте, как я предлагал, чтобы запись шла не постоянно, а по команде(состоянию булевой переменной), мне кажется так предпочтительней, чем постоянно писать переменную!
Я так предполагаю, Вы с экрана хотели сбрасывать переменную, например создаёшь переменную "Сброс_пост_1", "Сброс_пост_2", "Сброс_пост_3", "Сброс_пост_4", и т. д., при редактировании из "Нет" в "Да" - переменной присваивается значение "1" и происходит разовая(кратковременная) запись "0" в сетевую переменную Var_2!
Чтение_2.PNG
Запись.PNG
Запись_2.PNG
Сброс_3.PNG
Последний раз редактировалось Сергей0308; 25.08.2020 в 19:37.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
День добрый, неделю пытаюсь сделать, ничего не получается.
Есть входы самой центральной пр200, на них подключены микропереключатели реле давлений насосов принцип такой (в дополнение к тому что есть уже), кнопку на пульте нажал, включилась программа (которую мы закодировали в настройках) и начался отсчет времени (задается но по умолчанию 30 секунд) если это реле давления не срабатывала за него мы выключаем насос (сейчас я выключаю все сразу, так как пока не пробовал кодировать именно первый бит и девятый).
2020-09-02_16-27_OWEN Logic.jpg
MSO222.owl
Так же не получается сделать алгоритм, есть битовая маск, если она больше 0 значит разрешаем отсчитывать время, но каждый раз когда меняется состоянии входа датчика давления этого поста время обнуляться должно, и не важно вход замкнут или нет, 30 минут не было изменения входа - мы пишем в переменную поста 0 что бы программа сбросилась на стоп.
Насосы, как я понимаю, Вы как то ещё там включаете с другого шкафа?
Вы сделали, что если эти реле давления выключатся на время большее 30 секунд, то битовая маска нажатых на посте кнопок(что читается с других ПР) заменится "0", что равносильно что все кнопки отжаты, я так понимаю это какая-то защита, всё!
Вы же ранее вроде хотели писать "0" в переменную битовой маски в другие ПР, так конечно надёжней, в том плане, что если Вы запишите "0" в переменную на другой ПР, то оператор этого ПР может "передёрнуть" кнопку(выключить и вновь включить) тогда "0" опять перезапишется значением, соответствующим нажатой кнопке!
В остальном не совсем понятно в чём загвоздка, если Вам нужны таймеры с выводом прямого(обратного) отсчёта времени, имеются разные, даже с паузой есть, делаются на основе счётчиков и много раз обсуждались! Если не ошибаюсь, даже в менеджере компонентов имеются!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Нет, только с этого.
Это стандартный алгоритм работы насоса высокого давления: нажал пистолет вода течет, отпустил пистолет - сработал байпасный клапан и начался отсчет времени (10-60 секунд обычно), если пистолет не нажмут за это время насос выключится должен. Пока опять не нажмут на пистолет (реле давления не сработает).Вы сделали, что если эти реле давления выключатся на время большее 30 секунд, то битовая маска нажатых на посте кнопок(что читается с других ПР) заменится "0", что равносильно что все кнопки отжаты, я так понимаю это какая-то защита, всё!
Так вот то что я сделал у меня не работает, вот потому и пишу, я уже голову за неделю сломал что я делаю не так.
Это простой вариант, универсальный вариант это выключать только 1 или 9 выход МУ110, но до этого я еще не дошел)
Это вторая ступень защиты которую у меня не получается сделать из за сбросов, попробую таймеры поискать. Смысл этой защиты в том что бы начинался отсчет времени если включен пост и сбрасывался по реле давления (по изменению состояния, не важно нажали или отпустили пистолет), это на тот случай если забыли выключить пульт или порвался шланг, в общем что бы насос не работал всю ночь например. Вот тут после окончания отсчета мы записываем в пульт новое значение.Вы же ранее вроде хотели писать "0" в переменную битовой маски в другие ПР, так конечно надёжней, в том плане, что если Вы запишите "0" в переменную на другой ПР, то оператор этого ПР может "передёрнуть" кнопку(выключить и вновь включить) тогда "0" опять перезапишется значением, соответствующим нажатой кнопке!
Тогда и обычного таймера достаточно, ничего искать не нужно, если Вам отображение прямого(обратного) отсчёта не нужно, а как ноль писать уже советовал!
Можно как то так импульс записи сформировать:
Формирование импульса записи.PNG
Далее взводится триггер и остаётся взведённым пока ноль не запишется в сетевую переменную с ограничением по времени в 10 секунд, я картинку уже выкладывал чуть раньше!
Это же простейшие элементы, таймеры, чего тут может быть непонятным?!
Последний раз редактировалось Сергей0308; 03.09.2020 в 11:19.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
А здесь что я не так сделал? Почему не работает?
![]()