да. абсолютно поддерживаю в том, что "да" и "нет" не всегда подходят. вернее чаще не подходят, чем подходят.
что такое "да" и "нет" на что "да"? мнемосхемы и окна управлений должны быть логичными и простыми к пониманию. "да" - не просто к пониманию, "ввести новое значение" - просто. поэтому предлагаю сделать редактируемыми названия данных кнопок
это не лучше. лучше это тогда, когда всё написано в едином стиле.
более того, это потенциально может приводить к лавинообразному увеличению тэгов.
поясняю: у меня на объекте есть 8 однотипных задвижек. рисовать ВОСЕМЬ окон управления, отличающихся текстом - дико неразумно и неэкономно и увеличивает размер программы.
поэтому намного проще сделать признак, по которому в поле "название задвижки" будет подставляться её название, положение будет браться именно с той задвижки. выхода будут идти именно на нужную задвижку, а само тело окна управления будет абсолютно неизменно.
проще всего данную логику реализовать скриптом на C.
признак задвижки опять же должен идти в тело скрипта. НО! если я использую стандартную кнопку, к выходам которой прицеплена передача признака задвижки, у меня получается задержка в 1-2 секунды.
для того, чтоб её нивелировать надо делать дополнительную команду, вытаскивать её на мнемосхему, прицеплять её выход к входам скрипта....
да по большему счёту меня интересует следующее: с какой целью нужно было делать библиотеку стандартных управляющих элементов "аля кнопка", если есть столь серьёзный недостаток в их работе. и будет ли это исправлено?
следующий вопрос касается удержания команды в течении 1 секунды после нажатия кнопки: зачем это было сделано? нет, я читал объяснения зачем: чтобы команда прошла весь путь от системы до контролера.
НО, обычно данные вещи опять таки реализуются скриптами, либо настройками, то есть являются отключаемыми. Мне вот, скажем, надо именно защиту от случайного нажатия реализовать. А у вас любая команда висит 1 секунду +-.
в общем я предлагаю убрать задержку с присвоением значения при использовании стандартных выходов динамизации и убрать задержку на снятие команды(или сделать её настраиваемой)
Мы обсудим данную возможность с программистами.
Начнем с того что команды, значения, расчет и события тегами не считаются и вы их можете использовать в своей программе без ограничений.
С нашей точки зрения создание отдельного объекта для каждой задвижки логичнее, быстрее, проще. Такое решение также проще масштабировать.
Не совсем понятно как связаны между собой удержание кнопки и защита от случайного нажатия.
Защита от случайного нажатия у нас реализуется при помощи прав доступа - галочка "Подтверждение".
Спасибо.
в данном случае они увеличивают объём различных переменных. вопрос даже не в лицензировании, а в уменьшении промежуточных звеньев и прочего хлама, затрудняющего чтение и понимание самой программы.
отнюдь не быстрее и не проще. берём пишем скрипт, в этот скрипт собираются параметры всех задвижек, к этому скрипту привязывается ОДНА команда ДУ в формате 16 или 32-х разрядного слова.
в эту команду записывается признак задвижки, команда на открытие-стоп-закрытие.
после чего рисуется одно окно и в динамических объектах данного окна есть лишь выход со скрипта, который является общим.
если мы решаем увеличить количество управляемой арматуры - мы просто берём переходим в скрипт, методом копипаста добавляем пару-тройку расчётов-условий, добавляем входных команд и всё готово. таким образом нам не надо заново привязывать каждый отдельный элемент динамизации(а в случае, если один элемент перекрывает другой, который перекрывает третий, который перекрывает четвёртый и все они появляются при различных условиях - это бывает достаточно сложно, долго и муторно).
нам нужно лишь привязать входы и скопипастить кусок текста.
вы по-прежнему считаете, что плодить окна без каких-либо принципиальных отличий является более простым путём?
кстати, что проще: внести изменения во внешний вид одного окна, либо 8?![]()
вы путаете "защиту от случайного нажатия" с "подтверждением действия".
нет. для более простого понимания - посмотрите на продукцию Овена, конкретно на прибор ПКП. для предотвращения случайного нажатия кнопка должна быть удержана в нажатом положении определённое время, данный параметр является программируемым. хотим - кнопку надо держать 0.3 секунды, хотим - секунду.
здесь же команда всегда удерживается секунду после того, как была нажата кнопка. даже если тыкнулась она совершенно случайно мимо пробегавшей мышью.
более того, возникает вопрос: у нас есть задвижка, оборудованная ПКП, реализовано управление без самоподхвата(не положено других по нормативам), время хода задвижки 20 секунд(что не является столь уж огромной величиной), выбега почти нет(что не является чем-то экстраординарным). мы нажимаем кнопку "открыть", держим кнопку, в нужном положении нам отпускаем и..... правильно - мы пролетели на 5% открытия в другую сторону, из-за того что команда удерживается в течении 1 секунды после снятия кнопки. писать в РЭ фразу "и отпустите кнопку за 1 секунду до достижения нужного вам значения".... ну понятно, что мягко говоря "не поймут".
при ручном управлении авторегуляторами на быстрых МЭО опять таки 1 секунда является явно лишней.
да, мне действительно непонятно, почему если вы уж добавили столь сомнительную опцию, вы не сделали её отключаемой.![]()
Последний раз редактировалось sa1ntik; 04.06.2012 в 11:26.
Первоначально вы сказали именно про лицензирование.
Читаемость проекта зависит исключительно от правильности его построения.
Да.
Одинаково, если использовать механизм шаблонов.
В чем с вашей точки зрения между ними разница? И почему "Подтверждение действия" не может предотвратить случайного нажатия?
Для компьютеров данный механизм защиты не типичен.
В этом случае вам действительно нужно использовать контрол "Кнопка без фиксации", связанный с командой. Чтобы не "проскочить" положение клапана, вам нужно установить меньший период опроса объекта.
Это не совсем так. Кнопка действительно удерживается, но длительность импульса команды зависит от настройки "Продолжительность импульса (тактов)" на закладке "Опрос" у команды.
По умолчанию установлен 1 такт. То есть если период опроса объекта 1 секунда (по умолчанию), то и длительность импульса будет 1 секунда. А если установите 100 мс, то импульс будет 100 мс.
Спасибо.
В приложении ваша конфигурация с исправлением. Вы добавили перед именем группы пробел. Сейчас программист в отпуске, когда выйдет мы исправим эту ошибку.
Спасибо.
Так что я еще и ошибку помог найти что ли ???Спасибо,все нормально
Последний раз редактировалось rovki; 21.05.2012 в 22:24.
электронщик до мозга костей и не только
Зачем? Просто не используйте остальные биты - на них будут нули.
В настройках ФБ можно убрать ненужные выходы.
Спасибо.