- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
TIA Portal + панель сименс TP700 срабатывание кнопки
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 06 июн 2016, 08:13
- Имя: Иванов Вячеслав Валериевич
- Страна: Россия
- Благодарил (а): 15 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Здравствуйте! Вопрос глупый, и возможно даже не важный для меня сейчас, но как сделать так, что б при нажатии кнопки на панели, включалась переменная, а при отпускании - переменная выключалась?! Какие свойства проиписывать? И ещё, почему может быть задержка реагирования контроллера на нажатие кнопки на панели? Панель та же TP700, контроллер Сименс 313С вроде. Т.е. нажал кнопку - механизм сработал, а вдругой раз сработал, но не сразу а с задержкой до 4х секунд. Закономерность не выявил, может много раз сработать мгновенно, а может подтупливать..
-
- осмотрелся
- Сообщения: 141
- Зарегистрирован: 08 ноя 2010, 14:03
- Имя: Владимир
- Страна: Россия
- город/регион: Новосибирск
- Благодарил (а): 9 раз
- Поблагодарили: 8 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Думаю, изображение проиллюстрирует идею.
В свойствах кнопки нужно использовать события Press и Release, которые вызывают соответственно функции SetBit и ResetBit. Этот бит обрабатывать контроллером как запрос на управление механизмом.
В свойствах кнопки нужно использовать события Press и Release, которые вызывают соответственно функции SetBit и ResetBit. Этот бит обрабатывать контроллером как запрос на управление механизмом.
-
- авторитет
- Сообщения: 802
- Зарегистрирован: 12 авг 2008, 11:05
- Имя: Патрушев Олег Валерьевич
- Страна: Россия
- город/регион: г. Н.Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 158 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Я бы еще посоветовал использовать функцию SetBitWhileKeyPressed
-
- осмотрелся
- Сообщения: 141
- Зарегистрирован: 08 ноя 2010, 14:03
- Имя: Владимир
- Страна: Россия
- город/регион: Новосибирск
- Благодарил (а): 9 раз
- Поблагодарили: 8 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Спасибо! Век живи, век учись.
Не знал о такой функции. Действительно, она более удобна и прозрачна для понимания.
Не знал о такой функции. Действительно, она более удобна и прозрачна для понимания.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Я, пожалуй, внесу свои 5 копеек. Пришлось тут общаться с системой из такой панели и CPU1200. Задача была - интегрироваться с этой системой. По разным (опустим их) причинам было решено продублировать часть панели в моей WinCC Flex 2008 RT. Так вот, я изрядно попортил карму и разработчикам панели и себе, пока воспроизвел эту функцию во Флексе, с учетом того, что ее в нем нет и с учетом того, что часть событий было организовано по переднему, а часть - по заднему фронту кнопок. Очень бы рекомендовал использовать обычный SetBit, а потом в контроллере его после "отлова" сбрасывать. Карму и себе и тем, кто после вас работать будет, сбережете. Особенно, с учетом того, что в мануале по SetBitWhileKeyPressed прям английским по белому написано: If the PLC supports BOOL tags, do not use this system function. Use the "SetBit" system function instead.
-
- авторитет
- Сообщения: 802
- Зарегистрирован: 12 авг 2008, 11:05
- Имя: Патрушев Олег Валерьевич
- Страна: Россия
- город/регион: г. Н.Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 158 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Странно, WinCCflex2008SP3 RT поддерживает эту функцию, судя по встроенной справке. Я глюков на старых панелях (до TIA) не наблюдал, хотя, надо признать, использую эту функцию не часто (в основном при замене старых панелей, не только Сименс, и переходе от S5 на S7). Комментарий про тип BOOL занятный (перечитал несколько раз - непонятно что хотели этим сказать разработчики), хотя функция как раз и использует тип BOOL, да и трудно представить контроллер без этого типа. Возможно у Вас, Marrenoloth, дело как раз в том, что управление было построено из двух мест?
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Нет. В функцию SetBitWhileKeyPressed _можно_ подставить тег типа BOOL, но она создавалась не под них - у нее явно два параметра: тег и номер бита.
Функция действительно есть, каюсь. Но не смотрел я на нее, видимо, потому, что данные отправлялись из кода, а не просто отображением интерфейса на другой панели. В любом случае, это не отменяет того, что использование ее - не самое хорошее решение. Вам надо ловить бит с негарантированным сроком взведения. SetBit в этом план надежнее - поймали фронт в плк, сбросили бит. Гарантированное единичное включение по циклам контроллера. А SetBitWhileKeyPressed так и будет писать 1 в контроллер, пока палец на кнопке.
А управление, по-факту, из одного места. По программе в плк. Сверху, на Флексе, костыль из скриптов, чтобы гарантированно симулировать нажатие кнопки пальцем оператора. Родной панелью никто не пользуется без крайней необходимости.
Функция действительно есть, каюсь. Но не смотрел я на нее, видимо, потому, что данные отправлялись из кода, а не просто отображением интерфейса на другой панели. В любом случае, это не отменяет того, что использование ее - не самое хорошее решение. Вам надо ловить бит с негарантированным сроком взведения. SetBit в этом план надежнее - поймали фронт в плк, сбросили бит. Гарантированное единичное включение по циклам контроллера. А SetBitWhileKeyPressed так и будет писать 1 в контроллер, пока палец на кнопке.
А управление, по-факту, из одного места. По программе в плк. Сверху, на Флексе, костыль из скриптов, чтобы гарантированно симулировать нажатие кнопки пальцем оператора. Родной панелью никто не пользуется без крайней необходимости.
-
- авторитет
- Сообщения: 802
- Зарегистрирован: 12 авг 2008, 11:05
- Имя: Патрушев Олег Валерьевич
- Страна: Россия
- город/регион: г. Н.Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 158 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Если под "из кода" имелся в виду скрипт, то в скриптах SetBitWhileKeyPressed как раз использовать нельзя. Там в скриптах еще много чего нельзя из функций использовать.
А так, спасибо за комментарий с акцентом внимания, пожалуй буду еще пореже ее использовать.
А так, спасибо за комментарий с акцентом внимания, пожалуй буду еще пореже ее использовать.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Да я, в общем, так, высказать мнение... Тут на форуме поднимали тему best practice, вот, мне кажется, это немного туда, в ту степь... :)
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Что-то Вы запутали. Что надо делать-то тогда, если не SetBitWhileKeyPressed?
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
SetBit же! И сбрасывать бит в контроллере или в конце цикла каждый цикл контроллера, или слазу после отлавливания фронта. Именно в контроллере. :)
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Понял, неудобно. Пусть лучше жмут кнопку до упора, пока не сработает.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
А чем неудобно? Я понимаю, что по-другому и непривычно, но почему неудобно?
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Неудобно. Нужно делать лишние телодвижения по сбросу.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Ну да. Нужно. Зато не нужно городить велосипеды с отлавливанием повторных нажатий.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Что за повторные нажатия? И что за велосипеды? Вроде не беспокоит. Наверное из-за перегруженного обмена данными?
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Ну на нажатие же должно быть одно действие? А если кнопка отвечает за, к примеру, переход на следующий шаг программы, то без отлова позитивного фронта уже не обойтись. Иначе, пока оператор держит кнопку, программа будет шагать вперед. Вот и приходится прописывать позитивный фронт. Имхо, проще в конце прописать чохом общий сброс всех кнопок, чем для каждой в каждом месте проверки писать отлов фронта.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
А это... Для меня наоборот лучше ловить фронт, если нужно ловить фронт.
-
- здесь недавно
- Сообщения: 53
- Зарегистрирован: 05 дек 2016, 16:55
- Имя: не форум и был
- Поблагодарили: 1 раз
- Забанен: Бессрочно
TIA Portal + панель сименс TP700 срабатывание кнопки
Marrenoloth сам запутался и других пытается запутать...
Функция Установить_Пока_Нажата_Кнопка очень удобна и использовал её лет... десять (?) для булевых значений и в старых панелях и сейчас в портальных тоже.
По задержкам реакции на нажатие или отображение - посмотрите установленное время обновления конкретного тэга = по умолчанию для добавляемых тэгов автоматически устанавливается 1 секунда... на новых панелях с Эзернетом устанавливаю 100 миллисекунд.
Функция Установить_Пока_Нажата_Кнопка очень удобна и использовал её лет... десять (?) для булевых значений и в старых панелях и сейчас в портальных тоже.
Это не проблема кнопок панели, а проблема программиста обработки желаемого действия. Некоторые любят на одну кнопку повесить и включение и выключение, а потом удивляются поведению системы :)А если кнопка отвечает за, к примеру, переход на следующий шаг программы, то без отлова позитивного фронта уже не обойтись. Иначе, пока оператор держит кнопку, программа будет шагать вперед.
По задержкам реакции на нажатие или отображение - посмотрите установленное время обновления конкретного тэга = по умолчанию для добавляемых тэгов автоматически устанавливается 1 секунда... на новых панелях с Эзернетом устанавливаю 100 миллисекунд.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Чую холивар "Автосброс против Сет-Ресета управляющих битов"!
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Семен, спасибо, а в каком месте я запутался? (Кстати, у вас ошибка в имени в профиле, если не ошибаюсь.)
Я, кажется, достаточно четко описал возникающие проблемы. И, да, это проблема программиста. Возможно, что того, кто будет дорабатывать программу после вас. Я не навязывал свое мнение, и не говорил, что SetBitWhileKeyPressed не будет работать.
-
- здесь недавно
- Сообщения: 53
- Зарегистрирован: 05 дек 2016, 16:55
- Имя: не форум и был
- Поблагодарили: 1 раз
- Забанен: Бессрочно
TIA Portal + панель сименс TP700 срабатывание кнопки
Как бы на картинке видно, что кнопке можно прописать разные варианты реакции на разные события или их комбинации.
Дальше уже дело программиста как обрабатывать события Клика, Начало Нажатия, Начало Отпускания или Состояния_Пока_Нажато...
для логики управления может быть нужен уровень или автоматом будет получаться "фронт" в RS-триггере или на счётном входе счётчика... всё зависит от фантазии программиста.
Дальше уже дело программиста как обрабатывать события Клика, Начало Нажатия, Начало Отпускания или Состояния_Пока_Нажато...
для логики управления может быть нужен уровень или автоматом будет получаться "фронт" в RS-триггере или на счётном входе счётчика... всё зависит от фантазии программиста.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
А я где-то говорил, что нельзя? Я где-то говорил, что не будет работать? Я высказал свое имхо на тему того, как делать правильнее. Вы почему-то утверждаете, что я запутался, не не уточняете где. Я действительно хочу узнать что я не понимаю и расширить свой кругозор!
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
Оно может плохо работать, если интерфейс "ПЛК-ЧМИ" перегруженный или цикл программы ПЛК слишком большой. Придется быть терпеливее и нажимать кнопочки подольше.
Ну и второй момент: при переходе на другой экран нажатая кнопка останется нажатой. Есть даже настройка такая в WinCC "сбросить состояние кнопок при выходе из экрана". Если состояние кнопки управляется в ПЛК, то такой проблемы нет вообще.
Ну и второй момент: при переходе на другой экран нажатая кнопка останется нажатой. Есть даже настройка такая в WinCC "сбросить состояние кнопок при выходе из экрана". Если состояние кнопки управляется в ПЛК, то такой проблемы нет вообще.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
TIA Portal + панель сименс TP700 срабатывание кнопки
А вот про идею "одной рукой зажать кнопку, а второй поменять экран" я не подумал, спасибо, буду знать про такие приколы! Придется же будет как-то с ними бороться рано или поздно!