Страница 99 из 318 ПерваяПервая ... 4989979899100101109149199 ... ПоследняяПоследняя
Показано с 981 по 990 из 3178

Тема: Панели оператора СП3xx. Вопросы и ответы

  1. #981

  2. #982

    По умолчанию

    С обменом между панелью и ПЛК все в порядке. При нажатии кнопки на панели, в ПЛК состояние бита изменяется сразу, а на панели состояние кнопки изменяется с задержкой. Задержка есть и при переходе на панели к другому окну.

  3. #983
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Добавьте на экран индикаторы с битами PSB50 и PSB51. Это биты статусы связи для Download- и PLC-порта. Если один из них (соответствующий вашему порту) будут мигать красным - то, очевидно, все же есть какая-то проблема с обменом.

  4. #984

    По умолчанию

    Подскажите как в макросе можно словить фронт бита?
    Требуется подать звуковой сигнал при смене состояния бита. Битов много.

  5. #985
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Цитата Сообщение от spa Посмотреть сообщение
    Подскажите как в макросе можно словить фронт бита?
    Требуется подать звуковой сигнал при смене состояния бита. Битов много.
    Это обязательно делать в макросе? Можно использовать элемент Зуммер, например.

  6. #986

    По умолчанию

    C зуммером понятно, сделать для каждого бита и радоваться. Но если по мимо звука надо открыть окно с сообщением или еще что сделать. То для каждого бита делать еще элемент "Функциональная область" или создавать окно тревоги. Битов очень много.
    Много элементов получается, хотел как проще и меньше муторной работы. С кодом проще и быстрей работать, чем графику и настройки туда сюда гонять.

    Насколько я знаю зуммер работает только если открыт тот экран на котором он расположен. У меня биты раскиданы по разным экранам.
    Последний раз редактировалось spa; 08.06.2018 в 13:54.

  7. #987
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Цитата Сообщение от spa Посмотреть сообщение
    C зуммером понятно, сделать для каждого бита и радоваться. Но если по мимо звука надо открыть окно с сообщением или еще что сделать. То для каждого бита делать еще элемент "Функциональная область" или создавать окно тревоги. Битов очень много.
    Много элементов получается, хотел как проще и меньше муторной работы. С кодом проще и быстрей работать, чем графику и настройки туда сюда гонять.

    Насколько я знаю зуммер работает только если открыт тот экран на котором он расположен. У меня биты раскиданы по разным экранам.
    Вот пример.Example_MacroRtrig.txp

    Для каждого бита потребуется доп. бит, чтобы помнить о предыдущем состоянии.

    Зуммер может быть глобальным - тогда будет работать независимо от открытого экрана.

  8. #988

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Вот пример.Example_MacroRtrig.txp

    Для каждого бита потребуется доп. бит, чтобы помнить о предыдущем состоянии.

    Зуммер может быть глобальным - тогда будет работать независимо от открытого экрана.
    Сложность еще в том что биты у меня храняться в PSW. Написал следующую функцию:
    Код:
    void AlarmEdge(WORD NumWord, WORD NumBit){
        
    if( (PSW[NumWord]&(1<<NumBit)) && !(PSW[NumWord+50]&(1<<NumBit))   )   
    {
    	Beep();
    	PSW[NumWord+50] = 1 | (1<<NumBit);
    }
    else if ((PSW[NumWord]&(1<<NumBit))!=0)
    {
    	PSW[NumWord+50] = 0 | (1<<NumBit);
    }
    }
    Работает если только один бит сработал, если при включенном бите сработает еще один, то тогда начинает пищать постоянно.
    Последний раз редактировалось spa; 08.06.2018 в 17:00.

  9. #989

    По умолчанию

    Если в одном регистре, можно так сделать... как вариант, для одного регистра
    Панель должна пикнуть при установке любого бита PSW[111] в 1
    Код:
    void AlarmEdge() {
    static WORD last_val;
    WORD cur_val;
      cur_val = PSW[111];
      if ( (cur_val  & ~last_val ) > 0 ) {
       Beep();
      }
      last_val = cur_val;
    }
    Код с коленки, не тестировался
    Последний раз редактировалось SokolovS; 08.06.2018 в 16:31.

  10. #990

    По умолчанию

    В этом случае будет пиликать всегда, при появлении бита и пропадания, пока все биты не потухнут. Нужно чтобы сигнал шел только при переднем фронте.

Страница 99 из 318 ПерваяПервая ... 4989979899100101109149199 ... ПоследняяПоследняя

Похожие темы

  1. Экспорт CSV в панели СП3xx и порядок квитирования событий
    от theoretician в разделе Панели оператора (HMI)
    Ответов: 30
    Последнее сообщение: 24.08.2021, 16:17
  2. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  3. Сенсорные панели оператора ОВЕН СП3ХХ
    от Боднар Олег Миколайович в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 17.12.2015, 09:09
  4. СПК 107 в качестве панели оператора
    от Леонид в разделе СПК1хх
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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