CaspeR27
Forum Member / Участник форума
Участник № / Member № 8933
отправлено / posted
Доброго времени суток! Было задание сделать цветовую индикацию пределов измерения температуры. Я задал аварийные границы в самом канале, на мнемосхеме в значении выбрал вид индикации "ARG в интервале". Но при запуске эмуляции цвет инициируется только при номерах самих интервалов, то есть от 1 до 6. Как быть с этим?
Сообщения / Posts 36 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
В режиме эмуляции происходит эмуляция работы только данного шаблона экрана. Управлять графикой можно задавая значения его аргументов. Соответственно в этом режиме шаблон экрана не может иметь информацию от канала о его границах, как и о любых других компонентах проекта.
Запустите проект в профайлере. Для имитации работы канала, привяжите его к генератору, или задайте его значение в дереве каналов в панели МРВ вручную во входное значение, или сделайте вспомогательный графический элемент для ввода данных во вход канала.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
jenyak542
Active Forum Member / Активный участник форума
Участник № / Member № 9353
отправлено / posted
Добрый день. Есть задача выводить предупреждающую индикацию, например, для датчика температуры, при определенном значении текст подсвечивается желтым. Для этого использован arg в интервале. Верхний и нижний пределы заданы в канале согласно диапазону измерений датчика. А вот предупредительные границы задаются через кнопку (ввести и передать значение), также вместе с предупредительными границами задаю и аварийные, через эту же кнопку делаю добавление: источник - верхняя/нижняя предупредительная граница, результат - верхняя/нижняя аварийная граница (как я понял, если не заданы все границы, то корректно работать не будет, хотя аварийные границы мне по сути не нужны, достаточно предупреждающих).
При этом индикация работает некорректно. Бывает, что она не возникает при достижении необходимого значения, бывает, что возникает, но при снижении значения до нормы или изменении границы в онлайне - не пропадает. Как корректно настроить индикацию?
Сообщения / Posts 73 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Добрый день. Если Вы работаете через "ARG в интервале", то для корректной работы необходимо задать корректные значения всех границ (Нижняя Предельная LL < Нижняя Аварийная LA < Нижняя Предупредительная LW < Верхняя Предупредительная HW < Верхняя Аварийная HA < Верхняя Предельная HL).
отправлено / posted
Если Вам нет необходимости использовать Аварийные границы, то задайте их (с учетом выражения) максимально близкими к Аварийным.
Уточните что Вы подразумеваете под "также вместе с предупредительными границами задаю и аварийные, через эту же кнопку делаю добавление: источник - верхняя/нижняя предупредительная граница, результат - верхняя/нижняя аварийная граница" Опишите как у Вас настроены действия у ГЭ Кнопка.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
jenyak542
Active Forum Member / Активный участник форума
Участник № / Member № 9353
отправлено / posted
через событие MousePress, вначале передаю при помощи передачи "ввести и передать" значение в предупредительную границу, затем, в этой же кнопке при помощи передачи "добавить" задаю аварийную границу. Источник в передаче - это предупредительная граница, результат - аварийная. Добавляемое значение при этом 0, то есть получается, что аварийная граница равна предупредительной. Необходимо, чтобы авариная граница была больше предупредительной или допустимо, чтобы они были равны?
Сообщения / Posts 73 | Из / From: Россия
| IP / IP: IP адрес / IP address |
jenyak542
Active Forum Member / Активный участник форума
Участник № / Member № 9353
отправлено / posted
еще появился другой вопрос. Возможно ли, допустим, использовать только верхнюю аварийную границу, а нижнюю нет? То есть, есть предупреждающая верхняя и нижняя, при их достижении заливка текста подсвечивается желтым, а аварийная только верхняя и подсвечивается красным. Возможно ли такое реализовать, чтобы нижняя аварийная граница не участвовала и с красной подсветкой не отображалась?
Сообщения / Posts 73 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by jenyak542: ... Необходимо, чтобы авариная граница была больше предупредительной или допустимо, чтобы они были равны?
Ответ дан ранее
Если Вы работаете через "ARG в интервале", то для корректной работы необходимо задать корректные значения всех границ (Нижняя Предельная LL < Нижняя Аварийная LA < Нижняя Предупредительная LW < Верхняя Предупредительная HW < Верхняя Аварийная HA < Верхняя Предельная HL).Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by jenyak542: Возможно ли такое реализовать, чтобы нижняя аварийная граница не участвовала и с красной подсветкой не отображалась?
jenyak542
Active Forum Member / Активный участник форума
Участник № / Member № 9353
отправлено / posted
Спасибо за рекомендации, помогло. Но осталась еще проблема. Задача следующая: аварийная уставка передается в контроллер. Используется кнопка, mousepress. Первая передача - тип передачи: ввести и передать, выбираю аргумент экрана типа out и атрибутом входное значение. Именно это значение передается в контроллер в качестве аварийной уставки. Вторая передача - вызов клавиатуры, тип передачи прямая. Третья передача - тип передачи: добавить, значение: 0. Здесь в источнике используется тот же самый аргумент из первой передачи, результат: верхняя аварийная граница необходимого канала.
Проблема в том, что при первом нажатии на кнопку, значение верхней аварийной границы принимает значение 0. Я ввожу необходимое число, но значение верхней границы (смотрю через панель МРВ) не изменяется. При повторном нажатии на кнопку, значение верхней границы канала принимает то значение, которое было введено в прошлый раз. То есть, значение обновляется не сразу, а только при повторном нажатии на кнопку.
Необходимо, чтобы значение в нужной границе обновлялось сразу же. В чем может быть проблема и как ее решить?
Сообщения / Posts 73 | Из / From: Россия
| IP / IP: IP адрес / IP address |
jenyak542
Active Forum Member / Активный участник форума
Участник № / Member № 9353
отправлено / posted
Кстати, уточнил потому что в мануале, как я понял, говорится о том, что допустимо определять границы не строго больше/меньше, а больше/меньше или равно: "В случае, когда задано не менее двух ненулевых значений границ и полный перечень заданных значений границ корректен (LL<=LA<=LW<=HW<=HA<=HL)..."
quote:Отправитель / Originally posted by АдАстра. Техподдержка:
quote:Отправитель / Originally posted by jenyak542: ... Необходимо, чтобы авариная граница была больше предупредительной или допустимо, чтобы они были равны?
Ответ дан ранее
Если Вы работаете через "ARG в интервале", то для корректной работы необходимо задать корректные значения всех границ (Нижняя Предельная LL < Нижняя Аварийная LA < Нижняя Предупредительная LW < Верхняя Предупредительная HW < Верхняя Аварийная HA < Верхняя Предельная HL).
quote:Отправитель / Originally posted by jenyak542: Необходимо, чтобы значение в нужной границе обновлялось сразу же. В чем может быть проблема и как ее решить?
Рекомендую все упростить до двух действий по нажатию кнопки - вызов клавиатуры (я так понимаю у Вас сенсорная панель или только мышка) и окно "ввести и передать".
На экране есть ГЭ Кнопка с "ввести и передать". Передаете в один аргумент экрана. Этот аргумент экрана привязываете к аргументу типа IN канала Call.Move с параметром=0. У канала Call.Move первый аргумент типа IN, два последующих OUT (привязаны к каналам, в которые необходимо передать границу).
Все. Вводите значение один раз в экран. Экран передает значение в Call.Move. Канал Call.Move передает его согласно привязкам.
При необходимости передавать таким образом несколько границ, создаете аргументы в канале Call.Move группами (см. описание call.move)
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by jenyak542: Кстати, уточнил потому что в мануале, как я понял, говорится о том, что допустимо определять границы не строго больше/меньше, а больше/меньше или равно: ...
Все верно. Можно ориентироваться на "больше/меньше или равно", только так проще допустить ошибку. Лучше ориентироваться именно на "больше/меньше"
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |