Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 16 из 16

Тема: ПЛК110 [M02] -> Бит PowerStatus всегда TRUE

  1. #11
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,890

    По умолчанию

    Цитата Сообщение от Rednaxel Посмотреть сообщение
    Решение Sergey666 просто и гениально, но неплохо бы также иметь в арсенале чисто программный вариант, поэтому позвольте перефразировать вопрос следующим образом:

    Как отловить событие запуска (начала выполнения) программы?
    От банального
    IF NOT flag THEN
    flag := TRUE;
    (* некие действия при запуске *)
    END_IF;


    до прочтения документации https://ftp.owen.ru/CoDeSys23/06_Doc...7.27138%2C0%5D
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  2. #12
    Пользователь Аватар для Rednaxel
    Регистрация
    15.05.2015
    Адрес
    Минск
    Сообщений
    255

    По умолчанию Решение найдено!

    Цитата Сообщение от capzap Посмотреть сообщение
    От банального
    IF NOT flag THEN
    flag := TRUE;
    (* некие действия при запуске *)
    END_IF;
    Действительно банально, и даже обидно: "Почему я сам этого не увидел?". Вот только судя по тому, что только никто здесь до сих пор этого не предложил, самые простые и эффективные решения требуют прокачанного мышления профи

    В итоге создал и протестировал следующий ФБ:
    Код:
    FUNCTION_BLOCK FD (*Проверка условия и обнаружение сбоя*)
    VAR_INPUT
    In_cond:BOOL; (*Входящее условие (должно быть RETAIN)*)
    Rst:BOOL; (*Если нужно сбросить ошибку*)
    END_VAR
    VAR_OUTPUT
    Ouch:BOOL; (*Ой, обнаружен сбой!*)
    Start_fl:BOOL; (*Флаг запуска программы*)
    END_VAR
    VAR
    END_VAR
    =======================================
    IF NOT Start_fl THEN Start_fl:=TRUE;
    IF In_cond THEN Ouch:=TRUE; (*Сигнал об ошибке*)
    END_IF;
    END_IF;

    IF Ouch AND Rst THEN Ouch:=FALSE; (*Сброс ошибки*)
    END_IF;


    Правда, получается что задачу ТС это все равно не решает, т.к. при кратковременном (меньше 2 сек.) пропадании фазы ПЛК реально не выключается. Ему остается только решение Sergey666.

    Тема закрыта, благодарю за помощь!

  3. #13
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,426

    По умолчанию

    Вспомнил для чего это (подача на дискретный вход сигнала от реле контроля напряжения) понадобилось на ПЛК110-30М02.
    Получается при отключении питания связка ПЛК110-32М02 и панель Weintek еще несколько секунд работают, НО !!! дискретные входы у ПЛК обрубаются сразу , а там сигналы Н.З типа кнопка Аварийный стоп, аварийные доп контакты автоматов и пр. по которым формируются аварии (битовые флаги, упакованные в WORD) и панель успевала их зафиксировать.
    В результате при каждом выключении питания формируется куча ложных аварийных сообщений.
    Мелкие косяки в схемотехнике однако...

  4. #14
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,651

    По умолчанию

    Почему косяки ? Я вот всё в логи сливаю, с метками времени после легче выводы сделать.
    "Лишних" аварий не бывает. Именно масса практически одновременных аварий является дополнительным подтверждающим признаком что помогает когда объясняешь что произошло.

  5. #15
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,426

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Почему косяки ? Я вот всё в логи сливаю, с метками времени после легче выводы сделать.
    "Лишних" аварий не бывает. Именно масса практически одновременных аварий является дополнительным подтверждающим признаком что помогает когда объясняешь что произошло.
    Косяк потому-что часть устройства работает еще, а часть нет, в принципе можно сказать -типо оно так и должно быть, но у сименс 1200, у модикон М240 такого эффекта нет, при аналогичной схеме подключения ПЛК.
    А ложные аварии именно ложные, а не "лишние", т.к не было нажатия кн. аварийный стоп и прочих, было просто штатное отключение питания.

  6. #16
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,651

    По умолчанию

    А ложные аварии именно ложные, а не "лишние",
    Не ложные, а "лишние". Кавычки как Вы поняли - обязательны.
    Если придете к врачу на сердце жалится (не дай бог), он же не только сердце слушать будет, а попросит пройти полное обследование, да еще карту по прошлым "авариям" почитает, даже посмотрит что там было с отмороженой задницей, и почему блевали после овсяной каши. Нормальный врач есно, а не так себе.

    В применении.
    1.Питание ёк
    2.Увидел (и записал) отскок контактора (который должен быть включен). Вы гарантируете что катушка того реле 100пудово отскочит быстрее катушки этого контактора ?
    3.Роутер ёк (как оказалось - он висел на той же итогой сети которая ёк)
    4.Что там дальше - теперь хз т.к. потеря связи ....

    Местные звонят и жалятся - ваше говеное ПО на ПК не может связатся с вашим ПЛК !!!
    Я им - а нука лог. А там перед потерей связи целая серия отвалов оборудования которое должно быть включено. А с этим у меня даже сомнений про питание не будет вне зависимости что показало бы реле с вышеуказанным применением. Да и самого реле чего-то нет, ведь см. п.3

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Ответов: 19
    Последнее сообщение: 31.10.2016, 14:43
  2. Вызов программы по событию TRUE->FALSE
    от Туман в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 19.11.2015, 06:52
  3. Ответов: 3
    Последнее сообщение: 12.05.2015, 22:19
  4. Ответов: 4
    Последнее сообщение: 03.11.2013, 01:14
  5. проект загружается не всегда
    от жекон в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 28.07.2010, 20:47

Ваши права

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