Не дождался ,сделал макрос ротации оборудования по времени наработки (моторесурс) .
Вид для печати
Не дождался ,сделал макрос ротации оборудования по времени наработки (моторесурс) .
Этот макрос подходит только для станций повышения давления, а для циркуляционных насосов он не подходит, потому как они переключаются не по давлению, а по времени окончания цикла. Поэтому я и решил контролировать сколько циклов пропустил насос вышедший в аварию, а потом на это время заставить его дольше работать.
а есть ли вообще смысл следить за строгим равенством наработки, это же все равно одномоментный эффект, насос с наименьшей наработкой догнал остальных и не остановился же, а перегнал и опять фактически равенство неполучилось. Моя идея организовать стек FIFO и выключившийся насос туда заносить, а вытесненный из стека запускать следующим, так как по определению он больше "отдыхал"
А строго равенства и не будет .Но чем больше ,без аварийно работают насосы ,тем точнее будет равенство.При последовательной ротации через равный промежуток времени (например 24 часа) ,то же нет равенства времени работы,причем еще больще,потому как не учитывается время которое отработал насос за 24 часа.А тут время ротации разное ,а время работы стремится уравнятся.Главное принцип -меньше работал -включайся .Если нужно 3 насоса чередовать ,то ищется (запоминается) минимально работавший из 3 и он включается .Анализ производится каждый раз когда есть команда на включение .:rolleyes:
Это примерно то же что стек ,только по другому организован .
А циркуляционные насосы по определению за цикл (24 часа) проработают все 24 часа. Просто следующие 24 часа будет работать другой насос. И так до тех пор пока один из них не выйдет в аварию. Вот тогда и нужно контролировать переработку исправного насоса, а после устранения неисправности, дать новому насосу догнать по времени наработку предыдущего насоса.
вот опять же стек FIFO для этого очень подойдет, вытеснив аварийный мы его запихиваем обратно, вытесняя таким образом следующий исправный, а так как факт аварийного насоса зафиксирован, после делаем сдвиг внутри стека, чтоб аварийный снова стал первым в очереди на вытеснение и если он будет исправен к следующей смене, то запустится, а если нет то повторяем манипуляции
Ну это смотря наверное какие котлы .В бытовых он зимой работает постоянно на обогрев ,летом на ГВС ,когда включаю гор.воду .Но это в бытовых ,а в промышленных ,наверное как вы говорите.
Тогда команду на включение нужно давать с генератора или с часов на этот макрос и все.Сломался насос ,сбросил моторесурс ,поставил новый и поехало все автоматически ...новый дорабатывает до старого ,а потом чередование.
Если это насосы повысительные ,то наверное стек не пойдет ,особенно если их 3 шт.Потому как при каждом включении они могут поменяться местами ,а могут и нет .Все будет зависеть от разбора воды ,то есть частоты срабатывания датчика давления .Одним словом давайте вариант (я же дал) ,тогда и поглядим в симуляторе.:) ;)-За любым вариантом должна стоять реализация,тема то конкретная. Кроме того в макросе не только ведется переключение насосов ,но и выдача фактически отработанного времени ,каждого из насосов.Причем если это ПР114 ,то эти значения можно сделать энергонезависимыми.
:) Что-то куда то автор задания подевался (ААА1) .
Выношу на суд макрос ротации оборудования (насосов) ,числом до трех ,по времени наработки .
входа -ON -включение оборудования
Тm- максимальное время работы оборудования
Р1,Р2,Р3- работающее оборудование (1-есть в составе ,0- нет в составе комплекса)
Какие насосы установлены (работают) там "1" .То есть можно задавать ротацию 2 или 3 насосов в любом сочетании .Подсчет времени наработки ведется только по рабочим насосам.В случае превышения времени работы насоса(любого) ,установленного максимального времени работы ,выдается сигнал на Выход AL и номер оборудования- это сигнал ,что пора проводить профилактику или замену насоса.При снятии (отключения от работы) насоса нужно выключить соответствующий вход(Р1...Р3) ,что бы дальше шла ротация оставшихся в работе насосов ,при установке вновь насоса нужно подать сигнал на соответствующий вход ,что бы включить в ротацию данный насос.причем при включении обнуляется соответствующий счетчик моторесурса автоматически.
Выходы Q1-3 управление (вкл) оборудования)
Т1-3 время наработки каждого оборудования.:eek:
Точность счета 0,1сек ,максимальное время моторесурса более 100000часов
Спасибо,Василий ,доработаю .Проблема в том ,что если сделать тик 1сек.,то не хватает размерности счетчика (16разрядов -это около 18часов всего) ,но доработать надо ,надо последовательно 2 счетчика соединить .
Доработал ,теперь ТИК -0,1сек(точность счета) , макс. время работы более 100000часов.:eek:
В отъезде был без инета. Макросы чуть позже гляну. Прочитал рассуждения по наработке. Для чего всё усложнять, для таких насосов так к другим так... Я с самого начала писал, что нужен контроль наработки оборудования и ротация. Если макрос строго это соблюдает, то он подойдёт хоть куда. Ещё считаю, что наработка должна считаться не по часам реального времени, а от внутреннего таймера или счётчика CTN имхо самый удобный вариант.
Все так и сделано .Добавлена возможность задавать количество насосов(любого оборудования ,требующего резервирования) в системе (рабочих) от 1до 3 ,среди которых проводится ротация по времени наработки и возможность контролировать время наработки через сеть RS485.Кроме того появилась возможность задавать время до следующего профилактического обслуживания .Если насос проработал данное время -выдается сигнал и номер насоса(насосов).
rovki смотрю Ваше творение! По моему программируемое реле как-то скромно звучит:D
Самому понравился :D ,правда логики много .Вот бы кто упростил ,оставив общий принцип:rolleyes: .Или предложил бы другую идею(принцип) выравнивания моторесурса при ротации.;) насосов ,что бы не влияли суточные колебания ,праздничные ,сезонные разбора воды .Согласитесь ,что по времени (24 часа) ротация не обеспечит это (равномерный износ)-праздники ,каникулы ,полив,утечки ....(то,что не имеет цикличности).делают свое дело.:rolleyes: ,мне так кажется ,хотя не дня не работал в этой сфере.:cool:
Моторесурс идеальный не возможно имхо реализовать. Так, что надо довольствоваться только одинаковой наработкой по времени.
Задачка -нужно сделать макрос реверсивного счетчика по типу CTN ,но что бы разрядность счета была 32 разряда .За лучший вариант -ЛАВРЫ:D
:rolleyes: Отлично ,хорошо бы продублировать в "универсальные макросы" :) Лавровый лист куда высылать ?:D :)
Сегодня случайно сообразил, что к примеру если в проекте остались свободные два входа возьмём I1, I2; один свободный выход, возьмём Q1, то можно с помощью одной кнопки присоединённой на вход ПР задавать целочисленные значения в двоичном коде, а следовательно изменять уставки ФБ, выбирать исполняемую программу, из числа ранее записанных в память и так далее. Вот макрос сделал, выбирает значение от 1 до 7. Вход I1 включает блинк, входом I2 во время лог1 на выходе Q1 выбираем единицу или ноль. Соответственно первое включение Q1-первый разряд, второе-второй, третье-третий.
Наверное для многих очевидно, вдруг кому пригодиться.Вложение 7025
Подумал ещё... Даже свободных не надо входов и выходов, уставку или программу можно сменить и с занятыми входами/выходами.
Не совсем понятно как задать уставку 100 ,например:confused: .
Если нужно по одной кнопке выбирать любые уставки ,то достаточно поставить счетчикCTN на выходе сравнение на равенство 1,2,3,4,5,6.... с которых завести на управление SEL ,которые подключают нужные константы (уставки) .:rolleyes:Или использовать счетчик и макрос ППЗУ
Я же простейший пример положил, добавьте в макросе 8-16-32... Хоть какую уставку можно брать. Если ещё усложнить, то первым выбором можно указывать номер ФБ, а потом уже уставку, вариантов море. Тут где-то на форуме один посетитель спрашивал, как застраховаться от заказчика который может "кинуть", тоже самое, программа работает, заказчик смотрит, не оплатил, определённое нажатие допустим кнопки "пуск" на щите и идёт смена в ПО или записывается ошибка.
А поставив счётчик CTN, уставку 1254 выбирать как будем? Нажимать кнопку столько раз? Либо нужен специальный девайс. В моём варианте ни чего дополнительно не надо иметь.
есть макросы дешифратор уставок ,на входе 3 булевых разряда на выходе уставка ,защитая в макрос (8штук) .
На счет счетчика ,я же подробно описал ,могу и нарисовать.Или с ППЗУ (16 уставок)
На счет блокировок работы программы ,то же были макросы специальные
Да тяжело прочитать 2000постов и проглядеть 500 проектов ,сочувствую :( ;) .
Для любителя Задачек (rovki) - задачка : Преобразователь кода Грея. 9 разрядов. Пробовал сам, но видимо не хватает тяму.:( Лаврушка на готове:)
Вы это имели ввиду?
В 1.6 build 40
В шапке программы: Помощь, О программе..., Проверить обновления.