Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 27

Тема: ПР100 для смены очередности работы насосов

  1. #11
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,930

    По умолчанию

    Ну, так, у нас всего два насоса. Расписываем табличку состояний и реализуем
    Безымянный.png
    Вложения Вложения

  2. #12
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,455

    По умолчанию

    Так с перспективой расширения до 8 насосов, в принципе можно расширить до 32 насосов без существенного усложнения программы(по ссылке).
    На практике ему это на вряд ли понадобится, но он же не один в нашей галактике, в смысле, может у других больше насосов. Кто-то на форуме делал насосную станцию с 12 насосами с периодом ротации в единицы минут, я спросил где это требуется, но товарищ не смог ответить, в смысле, наверно ещё не придумал где такое требуется.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #13

    Question

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Ну, так, у нас всего два насоса. Расписываем табличку состояний и реализуем
    Безымянный.png
    В вашем примере при "авто" на одном насосе -> таймер не останавливается. И если до конца интервала остается пара секунд и включить "авто" на второй насос, то первый доработает эти пару секунд и переключится на второй. А в моем примере таймер запускается только при "авто" на обоих насосах и отсчитывает полный интервал переключения. На мой взгляд так лучше.

    Сделал задание интервала по Modbus и вход аварий. Не могу придумать как считать с Blink сколько осталось до конца отсчета. Чтобы по Modbus прочитать что то типа: "до смены насоса осталось 10 часов".
    Изображения Изображения
    Вложения Вложения

  4. #14
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,455

    По умолчанию

    Может сделать ротацию раз в сутки, например в 9 часов или 2 раза в сутки, в 9 и 21 час или раз в неделю, например в понедельник в 10 часов, короче, суть в том, чтобы время ротации было всем известно, в смысле, не надо смотреть(высчитывать) когда произойдёт ротация.
    Если не одумаетесь, таймер с прямым и обратным отсчётом времени здесь выкладывал: https://owen.ru/forum/showthread.php?t=33720&page=17
    Последний раз редактировалось Сергей0308; 02.11.2024 в 23:05.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  5. #15

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Если не одумаетесь
    А что не так в моем алгоритме?

    Или вы имеете ввиду чтобы меньше заморачиваться? Не хочу привязываться к часам. Помрет батарейка, отключится свет и привет ротация.
    Последний раз редактировалось poligon; 03.11.2024 в 00:54.

  6. #16
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,047

    По умолчанию

    poligon вам надо использовать таймеры с выходом "время" и энергонезависимые. Это не про штатные FBD лоджика. Ищите реализации. Их есть и в FBD и в ST, народ выкладывал.
    А разве часы в ПР перестают работать при мертвой батарейке? Время вроде не сохранят, но при включенном питании вроде будут считать время.

    Ну и инициализацию переменных не забудьте. если за батарейку переживаете. Чтобы при выключении питания и включении заменить обнулившиеся сетевые переменные значениями по умолчанию.
    Последний раз редактировалось melky; 03.11.2024 в 08:28.

  7. #17
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,455

    По умолчанию

    Цитата Сообщение от poligon Посмотреть сообщение
    А что не так в моем алгоритме?

    Или вы имеете ввиду чтобы меньше заморачиваться? Не хочу привязываться к часам. Помрет батарейка, отключится свет и привет ротация.
    Во-первых это не так, в смысле, ротация останется, изменится только время ротации, а период сохранится.
    Если важно и время ротации, что мешает менять батарейку раз в 5 лет?
    В этом плане, мне тоже видны преимущества ПР200, в смысле, время можно настроить прямо с экрана ПР, как я понимаю, по сети Вы не планируете синхронизацию времени, иначе такой проблемы и возникнуть не может!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  8. #18

    Question

    Пришла мне релюшка. Программа работает. И мне очень нравится. Сейчас чтобы сделать ротацию раз в сутки я выставил в blink "1 день". И если в 10:00 один из насосов перевести в "0" и обратно в "авто", то начнется отсчет "1 суток" и по истечении этого времени будет смена насоса. И так каждый день. Если пропадет питание, то отсчет "1 суток" начнется от времени включения. И вот этот момент мне не нравится. Хотя всё работает.

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Может сделать ротацию раз в сутки, например .... в понедельник в 10 часов
    Да. Похоже так и надо делать.

    Сейчас мне нужно заменить блок blink на такой блок:
    - возможно задать время срабатывания и интервал в днях;
    - должен быть вход Enable. Когда он не активен, то на выходе должен быть 0 и счетчик прошедших дней сброшен. При активации Enable начальное состояние выхода 0. По достижении заданного времени и количества дней переключаться в 1. Снова по достижении заданного времени и количества дней переключаться обратно в 0.
    - один выход.

    И вот тут я завис. Так и не смог сделать такой вот свой Blink. Проблема с фиксацией состояния на выходе согласно вышеописанного алгоритма. Т.е. как только системное время становится 10:00:00, то на 1 секунду появляется импульс счета. Как только насчитали 3 таких импульса -> переключили выход (для трех дней). Но блок ON_OFF сохраняет своё состояние при снятии Enable и как его при этом обнулить я не понимаю.
    Изображения Изображения
    • Тип файла: png 1.png (52.1 Кб, Просмотров: 16)
    • Тип файла: png 2.png (67.9 Кб, Просмотров: 8)
    • Тип файла: png 3.png (40.2 Кб, Просмотров: 10)
    Вложения Вложения

  9. #19

    По умолчанию

    Цитата Сообщение от poligon Посмотреть сообщение
    Пришла мне релюшка. Программа работает. И мне очень нравится. Сейчас чтобы сделать ротацию раз в сутки я выставил в blink "1 день". И если в 10:00 один из насосов перевести в "0" и обратно в "авто", то начнется отсчет "1 суток" и по истечении этого времени будет смена насоса. И так каждый день. Если пропадет питание, то отсчет "1 суток" начнется от времени включения. И вот этот момент мне не нравится. Хотя всё работает.
    Новые ПР100 поддерживают язык ST, готовые блоки на 2-4-8 выходов с ротацией по времени 10 часов, по минимальной наработке, время можно менять.

    Последний, 4 насоса_Нараб_Ротация по времени_4 Уровня_7_____ https://owen.ru/forum/showthread.php?t=38920&page=2#13
    Уровни можно выбросить, оставить константу 1.
    Здесь доработанный Опер таймер с запоминанием наработки на языке ST______ https://owen.ru/forum/showthread.php?t=38721#8
    А также блок текущего времени. ФБ (Функц. блоки) на ST, переносятся просто копипастом текста к себе в проект.

    Блок ON_OFF - это R_Trig + XOR, первый импульс -включается, 2 -выключается, 3 -опять включается,
    чтобы сбросить Блок ON_OFF можно на входе поставить OR, на второй вход OR переменную сброс.
    Последний раз редактировалось kondor3000; 21.01.2025 в 13:26.

  10. #20
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,455

    По умолчанию

    Цитата Сообщение от poligon Посмотреть сообщение
    Пришла мне релюшка. Программа работает. И мне очень нравится. Сейчас чтобы сделать ротацию раз в сутки я выставил в blink "1 день". И если в 10:00 один из насосов перевести в "0" и обратно в "авто", то начнется отсчет "1 суток" и по истечении этого времени будет смена насоса. И так каждый день. Если пропадет питание, то отсчет "1 суток" начнется от времени включения. И вот этот момент мне не нравится. Хотя всё работает.


    Да. Похоже так и надо делать.

    Сейчас мне нужно заменить блок blink на такой блок:
    - возможно задать время срабатывания и интервал в днях;
    - должен быть вход Enable. Когда он не активен, то на выходе должен быть 0 и счетчик прошедших дней сброшен. При активации Enable начальное состояние выхода 0. По достижении заданного времени и количества дней переключаться в 1. Снова по достижении заданного времени и количества дней переключаться обратно в 0.
    - один выход.

    И вот тут я завис. Так и не смог сделать такой вот свой Blink. Проблема с фиксацией состояния на выходе согласно вышеописанного алгоритма. Т.е. как только системное время становится 10:00:00, то на 1 секунду появляется импульс счета. Как только насчитали 3 таких импульса -> переключили выход (для трех дней). Но блок ON_OFF сохраняет своё состояние при снятии Enable и как его при этом обнулить я не понимаю.
    Сравнительно давно на форуме обсуждали назначение времени ротации, тему не помню(можете поискать), но проект сохранился, в смысле, там можно назначать время ротации:
    Дата-Время-Уставка_5.owle

    Кроме того делали проект командоаппарата реального времени с маской недели на 32 команды:
    Командоаппарат реальногого времени с маской недели на 32 команды 8 канальный_00.owle
    Хоть он и 8-и канальный, но память динамическая, в смысле, можно использовать все 32-е команды на один канал.

    Здесь подобный, но одноканальный и без маски недели:
    Звонок в школе_3.owle

    Если просто надо энергонезависимый таймер, здесь выкладывал:
    https://owen.ru/forum/showthread.php?t=33720&page=17

    И, я так понимаю, Вы принципиально не смотрите, что вам предлагают, в смысле, чем не подходит, что я предлагал и ссылки давал в постах #2 и 8???
    Какой тогда смысл, что-то спрашивать?
    Последний раз редактировалось Сергей0308; 21.01.2025 в 02:58.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Чередование насосов (случай для 3-х насосов)
    от 07Fobos в разделе Программируемые реле
    Ответов: 14
    Последнее сообщение: 30.10.2022, 22:04
  2. Окно смены оператора
    от Vitamin в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 17.03.2021, 17:15
  3. код смены участков программы
    от werg в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 27.06.2018, 09:44
  4. Номер смены. Вывод на экран
    от Fre5h в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 28.01.2015, 13:02
  5. Проблемы с ПЛК 160 после смены прошивки
    от desperadoes в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 03.10.2013, 18:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •