PDA

Просмотр полной версии : "Залипание" кнопки без фиксации



alexfromnn
21.09.2016, 01:59
Здравствуйте. У меня такой вопрос. Создаю на мнемосхеме кнопку без фиксации путем перетаскивания Команды. После кратковременного нажатия (~ 0,5 с) кнопка на экране остается в "нажатом" состоянии еще в течении 4-5 с, хотя как я понимаю она должна вернуться в "отжатое" состояние сразу же после отпускания кнопки "мыши". Что я не так делаю? Изменение периода опроса не помогает. Опрос периодический, каждый 1 такт. Продолжительность импульса (тактов) - 1. Период цикла опроса объектов - 200 мс.

SCADAMaster
21.09.2016, 09:01
На данный момент это стандартное поведение кнопки без фиксации.

alexfromnn
21.09.2016, 10:39
Спасибо, понял

capzap
13.02.2017, 12:47
На данный момент это стандартное поведение кнопки без фиксации.

чем можно заменить такую кнопку, чтоб просто отправить управляющую битовую команду, можно даже визуально не показывать что было нажатие

SCADAMaster
13.02.2017, 13:03
А чем стандартная команда не подходит? Длительность импульса на выходе команды все равно по умолчанию равна одному циклу.

capzap
13.02.2017, 13:11
А чем стандартная команда не подходит?
да точно так же как и остальным, после отпускания, кнопка продолжает некоторое время находится в нажатом состоянии. Есть способы снизить время цикла, если это зависит от количества элементов,то я пока читаю одно слово и вот кнопку создал бля включения бита

SCADAMaster
13.02.2017, 13:58
чем можно заменить такую кнопку, чтоб просто отправить управляющую битовую команду, можно даже визуально не показывать что было нажатие
А обратная связь не нужна? Просто нажатие и все?
Можно использовать событие - вытащите его на мнемосхему правой кнопой мыши, и выберите "зона выбора"

capzap
13.02.2017, 14:02
ну раз от залипания на 4 секунды не избавиться, то хотелось бы перевести саму кнопку в невидимку, а отображение состояния, на это же место с такими же размерами перетащить тег ОРС на мнемосхему, можно ли так?

lara197a
13.02.2017, 14:07
Я сейчас посмотрел в v3 MRST32 кнопка не "залипает"

capzap
13.02.2017, 14:12
у меня что то такое 3.8.0.57174 3.8(DemoReleaseMax)_17_02_03_14_22

SCADAMaster
13.02.2017, 14:34
Я сейчас посмотрел в v3 MRST32 кнопка не "залипает"
Возможно вы добавили кнопку не как команду, а как контрол из палитры мнемосхемы.
Такую кнопку нужно удерживать чтобы сигнал появился в дереве объектов на время равное циклу опроса объекта

lara197a
13.02.2017, 14:36
Да, я про такую кнопку. + обратная связь от объекта на индикатор.

capzap
13.02.2017, 16:52
Андрей,:) ну вот че началось то, нормально же сидели. Взяли, спугнули мне разработчика, как вот теперь узнавать. Может есть какая нибудь функциональная область, нажимая на которую можно выполнить какие либо действия

SCADAMaster
13.02.2017, 17:13
Может есть какая нибудь функциональная область, нажимая на которую можно выполнить какие либо действия
Мы вам ответили - "зона выбора" у события

capzap
13.02.2017, 18:18
Мы вам ответили - "зона выбора" у события

давайте начнем с того, что мне это пока ни о чем не говорит, я привык к тому что можно в панелях, не говорю что могу сам написать на яве, здесь всё в диковинку, не прошу мне выложить пример, но если не затруднит и выложите ссылки не посредственно на документ где это расписано, для меня это уже будет "подарок", только не так как обычно в Ваших темах, ссылки есть, но все они ведут на заглавную страницу сайта, а дальше ищи как хочешь

capzap
13.02.2017, 18:20
Функция по событию не поможет, все ровно упретесь в упаковку 32, они не работают с битами отдельно, пока ворд по каждему биту с подтверждением не соберется записи не будет, следовательно наступает момент, когда нужно дергать все кнопки вкл выкл по мнемесхеме этого слова потом бах и все включилось круто да.

на сколько я прочитал, можно построить "увлекательную" цепочку из переходов команд, событий, расчетов и т.д., чтоб в итоге отправить нужное в битовый тег

SCADAMaster
13.02.2017, 18:29
на сколько я прочитал, можно построить "увлекательную" цепочку из переходов команд, событий, расчетов и т.д., чтоб в итоге отправить нужное в битовый тег
Да, ссылку на пример мы давали.

capzap
13.02.2017, 18:38
Да, ссылку на пример мы давали.

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

SCADAMaster
13.02.2017, 19:29
Про какие кнопки проекта "Демонстация бака" вы говорите?

capzap
13.02.2017, 19:39
демонстрационный проект бак_демо или как то так, по сути любой готовый фб, задвижка или что то еще, при нажатии открывается дополнительный фрейм и в нем работают кнопки без всяких залипаний, добавив к себе в проект такой элемент наверное так же будут работать, вот почему в инструментах пользователю нет таких кнопок не понятно, кстати с палитры кнопка у меня тоже с таким же залипанием работает

SCADAMaster
13.02.2017, 19:45
Ну так это не команды. Там другой механизм - у этих кнопок обратная связь не предполагается

capzap
13.02.2017, 19:56
так и с отключенной ОС тоже самое у меня, если я правильно понимаю в свойствах за это специальный чекбокс отвечает

SCADAMaster
13.02.2017, 20:06
Нет. Пока что наличие обратной связи не играет роли.
Мы рассматриваем возможность доработки команды, при которой если у команды не будет обратной связи ее удержания происходить не будет.

capzap
13.02.2017, 20:27
вобщем по команде создается кнопка на мнемосхеме, в ФБ тоже есть кнопка она добавляется в дерево объектов, а вот когда открыта мнемосхема, в палитре тоже есть элемент кнопка, она какую роль играет и как к ней привязывать какой нибудь тег или вход

SCADAMaster
13.02.2017, 21:09
а вот когда открыта мнемосхема, в палитре тоже есть элемент кнопка, она какую роль играет и как к ней привязывать какой нибудь тег или вход
Через выход динамизации "Кнопка нажата".
Но эту кнопку нужно удерживать чтобы сигнал появился в дереве.

capzap
14.02.2017, 09:20
Через выход динамизации "Кнопка нажата".
Но эту кнопку нужно удерживать чтобы сигнал появился в дереве.
попробовал, проблема в том что когда отпускаю кнопку, в системных сообщениях ОРС вижу что происходит запись нуля, что сводит на нет все старания

с зоной выбора у события, тоже не всё ясно, далеко не все нажатия активируются, это с чем связано?

SCADAMaster
14.02.2017, 10:32
попробовал, проблема в том что когда отпускаю кнопку, в системных сообщениях ОРС вижу что происходит запись нуля, что сводит на нет все старания

Поясните - а что должно записываться? В чем вообще проблема?



с зоной выбора у события, тоже не всё ясно, далеко не все нажатия активируются, это с чем связано?
Что значит не все активируются? Опишите детальнее со скриншотами.

capzap
14.02.2017, 10:42
Поясните - а что должно записываться? В чем вообще проблема?

записываться должна соответственно единица и совсем не планировалась запись нуля, по отпусканию клавиши (ноль и единица это конечно же FALSE и TRUE)

capzap
14.02.2017, 10:46
Что значит не все активируются? Опишите детальнее со скриншотами.

как я покажу на скриншотах, тут и с видео то проблематично доказать что я не переставая кликаю ЛКМ а в поле отладки Вкл у события случается очень редко

SCADAMaster
14.02.2017, 10:55
На видео как раз щелчки мыши как раз хорошо видны.
Приложите ваш проект для начала.

SCADAMaster
14.02.2017, 10:56
записываться должна соответственно единица и совсем не планировалась запись нуля, по отпусканию клавиши (ноль и единица это конечно же FALSE и TRUE)
Сделать так конечно можно (через присваивание в действиях), но это уже глупость.

capzap
14.02.2017, 11:48
Сделать так конечно можно (через присваивание в действиях), но это уже глупость.

какая глупость, я хочу ЗАПИСАТЬ TRUE В КОНТРОЛЛЕР, с какого перепугу скада после отжатия кнопки в догонку записывает FALSE, её об этом НИ КТО НЕ ПРОСИТ

SCADAMaster
14.02.2017, 12:43
какая глупость, я хочу ЗАПИСАТЬ TRUE В КОНТРОЛЛЕР, с какого перепугу скада после отжатия кнопки в догонку записывает FALSE, её об этом НИ КТО НЕ ПРОСИТ
А что она должна записать, если кнопка отжимается?
Если так требуется - вы можете решить эту задачу с помощью действий. У команды, вкладка "Действие", добавляете действие типа "Присвоить" и пропишите в параметре 1

capzap
14.02.2017, 13:40
А что она должна записать, если кнопка отжимается?
Если так требуется - вы можете решить эту задачу с помощью действий. У команды, вкладка "Действие", добавляете действие типа "Присвоить" и пропишите в параметре 1

да этот вариант работает, только опять же вопрос, праметр в действии работает только с цифровым представлением, а FALSE или ИСТИНА не мрабатывают? Я подставлял в действие ИСТИНУ по аналогии со вкладкой формула, не работало вроде

SCADAMaster
14.02.2017, 13:58
1 - истина, 0 - ложь.

capzap
14.02.2017, 14:14
еще раз спрашиваю, есть разница если я вставлю конкретно на в кладке действие символ 1 или текст ИСТИНА, что они соответствуют друг другу я вкурсе

SCADAMaster
14.02.2017, 14:29
Нужно вписать 1 или 0.

capzap
14.02.2017, 14:44
почему тогда TRUE работает, так же как единица, а с ИСТИНА не получается, ведь это всё в свойствах объекта, где на соседней вкладке именно такие имена используются в формулах