Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 4646

Тема: разные вопросы новичка

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    У меня создаётся впечатление, что Вы не смотрели мои варианты включения-выключения ламп, там как раз как Вы хотите при переключении режима работы кнопок с первого(включение-выключение) на второй(переключение по кругу выходов одного светильника 1-8), как раз первый режим блокируется на время и если кнопка не нажимается некоторое время(10 с) опять переключается на первый режим работы! Вам ничего и думать-понимать не нужно, можно сделать аналогично! И если Вы сторонник текстовых языков, то только из-за принципа должны были взять что-то вроде СПК, дюймов на 10 и не заморачиваться, там на экране места хватит для двух кнопок на каждый светильник и главное реализовали бы свои способности, может завидовать все вам стали!
    Я посмотрел их, даже разобрался что и как работает. Но убрать задержки я пока не могу, не понимаю как (не хочу ждать, перед возможностью переключать лампы)
    Кстати, в пятом примере ложные срабатывания есть (т.е. одна из ламп выключается). А там, где есть ТР, при сбросе на 0, происходит подвисание (вполне возможно что на приборе такого не будет, но пока с ПР не могу эксперементировать, могу остаться без света).
    Ладно, буду думать как обойти ограничения и убрать задержки и лишние срабатывания.
    Спасибо за помощь.

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

    По умолчанию

    Цитата Сообщение от Sel Посмотреть сообщение
    Я посмотрел их, даже разобрался что и как работает. Но убрать задержки я пока не могу, не понимаю как (не хочу ждать, перед возможностью переключать лампы)
    Кстати, в пятом примере ложные срабатывания есть (т.е. одна из ламп выключается). А там, где есть ТР, при сбросе на 0, происходит подвисание (вполне возможно что на приборе такого не будет, но пока с ПР не могу эксперементировать, могу остаться без света).
    Ладно, буду думать как обойти ограничения и убрать задержки и лишние срабатывания.
    Спасибо за помощь.
    Надеюсь Вы прикупили пару ПР для экспериментов и на железе экспериментируете, я уже писал, что в симуляторе и у меня случалась не правильная работа, многое зависит от настроек, так что повторюсь на всякий случай: я не уверен, что Вы в симуляторе делаете идеальные настройки!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #3

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    повторюсь на всякий случай: я не уверен, что Вы в симуляторе делаете идеальные настройки!
    Спасибо. Но единственное, что может зависеть от железа, это время сброса ТР (возможно на ПР сложнее будет попасть в момент сброса из-за времени отклика). Все остальное, что написал это проблема логики (алгоритма), т.е. данная логика приведет на любом устройстве и на любом языке к данным срабатываниям. Это и есть ограничения логики лоджика, которая очень не привычна. Ну и не привычно, что в лоджике мало ресурсов (мало функциональных возможностей). Поэтому и приходится городить костыли в виде блока, который Вы предложили с использованием ТР.
    Если смогу без костылей реализовать задуманное, выложу, может кому пригодится. Хотя сейчас понимаю, что пока проще использовать костыли (хотя они приводят к ограничениям меня как пользователя светом в квартире). Заодно мозги разомну, а то давно не решал сложных задачек

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

    По умолчанию

    Цитата Сообщение от Sel Посмотреть сообщение
    Я посмотрел их, даже разобрался что и как работает. Но убрать задержки я пока не могу, не понимаю как (не хочу ждать, перед возможностью переключать лампы)
    Кстати, в пятом примере ложные срабатывания есть (т.е. одна из ламп выключается). А там, где есть ТР, при сбросе на 0, происходит подвисание (вполне возможно что на приборе такого не будет, но пока с ПР не могу эксперементировать, могу остаться без света).
    Ладно, буду думать как обойти ограничения и убрать задержки и лишние срабатывания.
    Спасибо за помощь.
    Это Вы так придумали алгоритм работы, что надо ждать 5 секунд, нажав одну кнопку, что бы переключился режим работы другой, для всех остальных людей, кроме Вас, такой проблемы не существует в принципе, можно сразу без задержки переключить режим работы другой кнопки и Вы ещё пытаетесь несовершенство ваших задумок преподнести как какой-то косяк ПР или ОЛ, по крайней мере это неразумно, а по мне просто дикость дикая, мягко выражаясь!

    Вот так попробуйте, я убрал задержки в 5 с, что Вы придумали(зачем они мне не понятно):


    2 лампы по 8 режимов_6.PNG

    Вот так с сохранением(запоминанием) режима работы светильника что был на момент выключения и его восстановлением при включении для обеих светильников и без всяких задержек всё переключается и выключается-включается, я так понимаю, Вы так хотели?


    2 лампы по 8 режимов_7.PNG
    Вложения Вложения
    Последний раз редактировалось Сергей0308; 05.11.2018 в 21:39.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  5. #5

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Это Вы так придумали алгоритм работы, что надо ждать 5 секунд, нажав одну кнопку, что бы переключился режим работы другой, для всех остальных людей, кроме Вас, такой проблемы не существует в принципе, можно сразу без задержки переключить режим работы другой кнопки и Вы ещё пытаетесь несовершенство ваших задумок преподнести как какой-то косяк ПР или ОЛ, по крайней мере это неразумно, а по мне просто дикость дикая, мягко выражаясь!

    2 лампы по 8 режимов_6.PNG
    Спасибо за пример. Но я бы хотел убрать и TP. В Вашем примере если переключить режим Лампы_1 и отпустить обе клавиши и управиться меньше чем за 1с, то Лампа_2 погаснет (если была включена) и наоборот. А если уменьшить значение ТП, то будет мало времени на "подумать" с нажатым выключателем. Когда такое возможно - я точно знаю, что следующий режим лампы нужный и я нажму сразу 2 клавиши и отпущу их, это займет менее секунды, в итоге вторая лампа или включится или выключится. Согласен, это редко бывает, когда нажатие меньше сек, но бывает.

    Кстати, задумка самая обычная - чтобы не было лишних срабатываний или не срабатываний, а если задумался, то выключатель выполнил свою функцию. У меня больше года свет работает на ПР и эти тонкости оказались актуальны. Сейчас подключена 1 лампа с 3-мя режимами и 1 обычная лампа, управляются с 2-х выключателей . При этом описанные выше нюансы не возникают. Но я не помню какими условиями я этого добился. Помню только, что условий было мало и делал на DTRIG. Единственная тонкость работы нынешнего переключения - лампы вкл\выкл по заднему фронту, а переключение режимов по переднему. Короче, не помню, а восстановить не могу.

    Сейчас ковырялся, надумал следующий алгоритм. Если нажимались 2 клавиши одновременно (например l2 зажата, l1 выбираем режим), создаем переменную и сохраняем в ней логическую 1 (в моем примере DTRIG2). При срабатывании заднего фронта l2 (отпускаем клавишу) проверяем условие DTRIG2 равен 1, статус Лампа_2 не меняется и обнуляется DTRIG2. Если же DTRIG2 равен 0, то меняем статус Лампа_2 на противоположное.
    В принципе, для Лампа_2 я этой логикой убрал лишние срабатывания и предыдущие замечания. Но вот если удержать l1 и быстро понажимать на l2, то Лампа_2 меняет свой статус. На железе, чтобы получить этот глюк, надо нажимать клавишу со скоростью 1 раз в цикл. Пока не знаю реально это или нет, так как не знаю времени цикла.
    Чтобы вообще убрать лишнее срабатывание, надо разорвать связь между FTRIG1 и DTRIG1, но как это сделать, я не знаю. (есть идея убрать все в переменные и работать с переменными, но на практике пока не проверял, да и в прошлый раз, когда писал программу, столкнулся с какими-то сложностями, когда лоджик оказался записывать переменную)

    Пример для Лампы с 3-мя режимами и для 1 обычной. Но, в дальнейшем прейду на 2 многорежимные лампы. Отлаживать проект пока проще на одной многорежимной лампе. Кстати, так как для многорежимной лампы пока не ввел алгоритм разделения выключателя и триггера, то можно посмотреть как она себя ведет, если зажать l1 и нажимать на l2 (в реальной жизни пользователь выбрал нужный режим Лампа_1 и отпустил сначала l2, а потом l1).
    Пример 3:
    3.jpg

    P.S. Нашел, почему при быстром нажатии меняется статус лампы. У DTRIG приоритет по сбросу. Если команда на сброс приходит одновременно с одновременным нажатием 2-х клавиш, то программа не запоминает, что клавиши были нажаты. Надо еще условие добавлять перед DTRIG2. Ндя, куда проще убрать связь между кнопкой и триггером, но просто в теории, а на практике...
    Вложения Вложения
    Последний раз редактировалось Sel; 05.11.2018 в 22:00.

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

    По умолчанию

    Цитата Сообщение от Sel Посмотреть сообщение
    Спасибо за пример. Но я бы хотел убрать и TP. В Вашем примере если переключить режим Лампы_1 и отпустить обе клавиши и управиться меньше чем за 1с, то Лампа_2 погаснет (если была включена) и наоборот. А если уменьшить значение ТП, то будет мало времени на "подумать" с нажатым выключателем. Когда такое возможно - я точно знаю, что следующий режим лампы нужный и я нажму сразу 2 клавиши и отпущу их, это займет менее секунды, в итоге вторая лампа или включится или выключится. Согласен, это редко бывает, когда нажатие меньше сек, но бывает.

    Кстати, задумка самая обычная - чтобы не было лишних срабатываний или не срабатываний, а если задумался, то выключатель выполнил свою функцию. У меня больше года свет работает на ПР и эти тонкости оказались актуальны. Сейчас подключена 1 лампа с 3-мя режимами и 1 обычная лампа, управляются с 2-х выключателей . При этом описанные выше нюансы не возникают. Но я не помню какими условиями я этого добился. Помню только, что условий было мало и делал на DTRIG. Единственная тонкость работы нынешнего переключения - лампы вкл\выкл по заднему фронту, а переключение режимов по переднему. Короче, не помню, а восстановить не могу.

    Сейчас ковырялся, надумал следующий алгоритм. Если нажимались 2 клавиши одновременно (например l2 зажата, l1 выбираем режим), создаем переменную и сохраняем в ней логическую 1 (в моем примере DTRIG2). При срабатывании заднего фронта l2 (отпускаем клавишу) проверяем условие DTRIG2 равен 1, статус Лампа_2 не меняется и обнуляется DTRIG2. Если же DTRIG2 равен 0, то меняем статус Лампа_2 на противоположное.
    В принципе, для Лампа_2 я этой логикой убрал лишние срабатывания и предыдущие замечания. Но вот если удержать l1 и быстро понажимать на l2, то Лампа_2 меняет свой статус. На железе, чтобы получить этот глюк, надо нажимать клавишу со скоростью 1 раз в цикл. Пока не знаю реально это или нет, так как не знаю времени цикла.
    Чтобы вообще убрать лишнее срабатывание, надо разорвать связь между FTRIG1 и DTRIG1, но как это сделать, я не знаю. (есть идея убрать все в переменные и работать с переменными, но на практике пока не проверял, да и в прошлый раз, когда писал программу, столкнулся с какими-то сложностями, когда лоджик оказался записывать переменную)

    Пример для Лампы с 3-мя режимами и для 1 обычной. Но, в дальнейшем прейду на 2 многорежимные лампы. Отлаживать проект пока проще на одной многорежимной лампе. Кстати, так как для многорежимной лампы пока не ввел алгоритм разделения выключателя и триггера, то можно посмотреть как она себя ведет, если зажать l1 и нажимать на l2 (в реальной жизни пользователь выбрал нужный режим Лампа_1 и отпустил сначала l2, а потом l1).
    Пример 3:
    3.jpg

    P.S. Нашел, почему при быстром нажатии меняется статус лампы. У DTRIG приоритет по сбросу. Если команда на сброс приходит одновременно с одновременным нажатием 2-х клавиш, то программа не запоминает, что клавиши были нажаты. Надо еще условие добавлять перед DTRIG2. Ндя, куда проще убрать связь между кнопкой и триггером, но просто в теории, а на практике...
    Можно конечно и все таймеры(ТР) убрать, но возможно это не принесёт счастья, если сейчас допустим Вы случайно нажали какую-то кнопку, можно подержать её не менее секунды и ничего не случится при её отпускании, то тогда это станет невозможным! Вы же рассматриваете какие-то случайные нажатия?! Но попытка - не пытка! У Вас как будто не лампочка, а ядерная боеголовка! Применяйте мажоритарную логику, типа если в течении 5 минут более 100 раз повторится какая-то команда, то будет выполнена, тогда наверняка ничего лишнего не включится, не переключится, одна трудность: Вам минимум 100 раз придётся команду выполнять и укладываться по времени, Вы так хотите?
    Последний раз редактировалось Сергей0308; 05.11.2018 в 22:21.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  7. #7
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,552

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Можно конечно и все таймеры(ТР) убрать, но возможно это не принесёт счастья, если сейчас допустим Вы случайно нажали какую-то кнопку, можно подержать её не менее секунды и ничего не случится при её отпускании, то тогда это станет невозможным! Вы же рассматриваете какие-то случайные нажатия?! Но попытка - не пытка! У Вас как будто не лампочка, а ядерная боеголовка! Применяйте мажоритарную логику, типа если в течении 5 минут более 100 раз повторится какая-то команда, то будет выполнена, тогда наверняка ничего лишнего не включится, не переключится, одна трудность: Вам минимум 100 раз придётся команду выполнять и укладываться по времени, Вы так хотите?
    Сергей предложи ему использовать XOR на входах 1 и 2, чтобы при одновременном нажатии сигнал от них не проходил.

  8. #8

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Сергей предложи ему использовать XOR на входах 1 и 2, чтобы при одновременном нажатии сигнал от них не проходил.
    И как только я отпущу одну из клавиш, отработает вторая. В этом то вся и проблема, чтобы сигнал обрубить и не пустить его дальше. Вся логика сигнал не рубит, а пускает дальше, как только условие соблюдается

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

    По умолчанию

    Цитата Сообщение от Sel Посмотреть сообщение
    И как только я отпущу одну из клавиш, отработает вторая. В этом то вся и проблема, чтобы сигнал обрубить и не пустить его дальше. Вся логика сигнал не рубит, а пускает дальше, как только условие соблюдается
    ну так напишите таблицу истинности, внесите туда все свои алгоритмы и стразу станет ясна вся картина, на какой логике это можно сделать. В СДНФ/СКНФ нет ни каких таймеров как Вам и хочется
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  10. #10

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Вы так хотите?
    Все гораздо проще, я хочу удобно. А значит должно сработать с первого раза и правильно (даже если пользователь я сделал что-то не так).
    А на счет "случайно нажали какую-то кнопку, можно подержать её не менее секунды" мне ближе заложить двойное быстрое нажатие, чтобы восстановить режим. Не дружу я со всем удержаниями кнопок, поэтому стараюсь от них уйти.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

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