Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Организация триггеров
- В этой теме 29 ответов, 5 участников, последнее обновление 7 лет, 2 месяца назад сделано Gagarin.
-
АвторСообщения
-
13.01.2017 в 12:03 #4027manjey73Участник
Что-то SET выдает ошибку в логе…
Все работает, забыл номер канала указать….
- Этот ответ был изменен 7 лет, 2 месяца назад от manjey73.
13.01.2017 в 12:10 #4029manjey73УчастникCnlValSet(№ канала) работает только в режимах «Снять Взять», «Откл Вкл», и без указания вводом значений 0 и 1…
13.01.2017 в 12:38 #4032manjey73УчастникПри команде «Включить» в лог КП летит
10 | 13.01.2017 12:37:26 | Команда ТУ: тип=Standard, КП=30, значение=0,000Почему значение НОЛЬ ?
13.01.2017 в 14:08 #4034MikhailМодераторПри использовании CnlValSet команда вообще не должна доходить до КП, потому что формула возвращает NaN. Если это не так, то нужно разбираться.
13.01.2017 в 14:10 #4035MikhailМодераторCnlValSet позволяет задать любое числовое значение входному каналу. Дискретное или вещественное — зависит от того, установлено ли поле Значения команд для канала управления или поле пустое.
13.01.2017 в 14:24 #4036manjey73УчастникЯ вообще о принципе ввода Значения команд.
Имеем — Отключить;Включить — 0;1
А при записи ;Включить имеем на экране с одной кнопкой которая передает 0 вместо 1То есть ничего перед знаком ; должно быть нулем но без отрисовки клавиши, но значение то должно посылаться 1.
Например запись ;Один;Два;Три — должно нарисовать 3 кнопки и посылать 1, 2 или 3
А если написать Ноль;Один;Два;Три должно отриосвать 4 кнопки и посылать 0, 1, 2 или 3.13.01.2017 в 15:23 #4037MikhailМодераторТут лучше мыслить в другом порядке. Если Вам нужна одна кнопка — смотрите как введена команда Выполнить. Если нужно 2 кнопки — пишите их названия. Если нужно модифицировать значение при отправке — используйте формулы.
Скорее всего, пустые значения между ; игнорируются, но это не важно, т.к. вводить пустые значения бессмысленно.13.01.2017 в 15:27 #4038MikhailМодераторХотя да, по той логике, как введены команды в базу по умолчанию, Вы правы. Но судя по всему, на самом деле работает иначе )
Попробуйте обновить DLL https://yadi.sk/d/M33iECaY38moiM для SCADA-Сервера. Какой результат?
- Этот ответ был изменен 7 лет, 2 месяца назад от Mikhail.
13.01.2017 в 15:33 #4041MikhailМодераторУточнение — DLL нужно обновлять не для Сервера, а для Вебстанции.
13.01.2017 в 15:38 #4042MikhailМодераторПоявляется пустая кнопка. В общем всё взаимосвязано )
13.01.2017 в 15:48 #4043MikhailМодераторИсправление войдёт в следующую версию Вебстанции.
13.01.2017 в 16:14 #4044manjey73Участника dll уже удалили ? хотел посмотреть 🙂
13.01.2017 в 19:29 #4049MikhailМодераторУдалил, потому что появляется пустая кнопка. Нужно исправлять одновременно несколько DLL.
14.01.2017 в 13:01 #4061manjey73УчастникGagarin, добавил в тему с формулами возможность снимать RS триггер на основе кода CnlValGet и CnlValSet из Web. Схем у меня пока нет, так что на кнопку пока не пробовал повесить.
- Этот ответ был изменен 7 лет, 2 месяца назад от manjey73.
16.01.2017 в 13:01 #4074GagarinУчастникСпасибо, формулы видел, даже пробовал экспериментировать, но видать не до конца разобрался. Не работает у триггера функция хранения и все тут. Делал так:
Добавил формулы
Добавил входные каналы — Res тип Дорасчетный ТИ и Alarm1 тип Дорасчетный ТС, прописал для них формулы
Добавил канал управления RESET с формулой CnlValSet
Проверяем, используем входной канал 601 как Set, изначальное состояние Set=0, Res=0
Устанавливает 601 канал в 1, т.е. Set=1, Res по прежнему в 0.
Как видно Alarm1 установился в 1.
Устанавливаем 601 канал в 0, т.е. Set=0. По идее Alarm1 должен остаться в 1, а нет
Ладно, попробуем установить Res в 1
Устанавливает 601 канал в 1, т.е. Set=1, используем запрещенную комбинацию. Результат
Alarm1 вообще никак не отреагировал. Ну, вроде бы так и должно быть.
Где я ошибся?
Прошу прощения, не увидел отредактированной формулы RS-триггера. Все заработало!- Этот ответ был изменен 7 лет, 2 месяца назад от Gagarin.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.