Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Подстановка значения в переменную
- В этой теме 58 ответов, 5 участников, последнее обновление 1 год, 6 месяцев назад сделано fergus2022.
-
АвторСообщения
-
07.10.2022 в 13:45 #25298fergus2022Участник
Здравствуйте, подскажите как реализовать: Есть виртуальная переменная(входной канал) «Температура». На опрашиваемом устройстве есть 4-е AI входа. Нужно чтобы значение выбранного из списка AI подставлялось в переменную «Температура».
- Эта тема была изменена 1 год, 6 месяцев назад от Mikhail.
07.10.2022 в 14:41 #25305MikhailМодераторДобрый день!
Канал должен быть дорасчётного типа. Также понадобится канал, который будет хранить выбранный номер переменной.Формула для выбора будет примерно такая:
public double MyTemp(int selectCnlNum) { int n = (int)Val(selectCnlNum); if (n == 0) return Val(101); else if (n == 1) return Val(102); else if (n == 2) return Val(103); else return Val(104); }
101, 102, 103, 104 — каналы, которые хранят температуры.
selectCnlNum — канал, в которым хранится выбранное значение.07.10.2022 в 15:21 #25310manjey73УчастникТак нельзя вроде. Типа на лету выбирать. Как минимум надо 2 канала, чтобы в одном выставлять нужный AI, а в другой по формуле тянуть из нужного канала формулой.
Только если формула будет вида, Если канал 1 = 1 то данные взять отсюда,
Если канал 1 = 2 то данные взять отсюда.И записать ее в Таблицу формул.
10.10.2022 в 13:00 #25352fergus2022УчастникЗдравствуйте, а куда этот код записывается ? Во входных каналх — формула: ограничение по кол-ву символов..
10.10.2022 в 13:04 #25353manjey73УчастникВ таблицы «Фурмулы» и уже в канале вызываете свою формулу
10.10.2022 в 13:17 #25354fergus2022УчастникА для выбора (допустим с помощью «переключателя» на схеме»), нужно делать команды в шаблоне устройства КП ? Т.е как присваивать значение 1 тегу, на основе которого будет отрабатывать скрипт ?
Формулу присваивать виртуальному тегу, который хранит выбранный AI, или тегу, который будет отображать значение выбранного AI ?- Этот ответ был изменен 1 год, 6 месяцев назад от fergus2022.
10.10.2022 в 13:27 #25356fergus2022УчастникМожно пожалуйста подробный пример реализации выбора на «схеме». (в т.ч что куда прописывать, куда формулу присваивать и т.д.)
- Этот ответ был изменен 1 год, 6 месяцев назад от fergus2022.
10.10.2022 в 13:44 #25358fergus2022УчастникДля наглядности скриншот того, что нужно. (в каждый канал прилетают значения, нужно указывать из писка, значение чего прилетает в конкретный канал.)
>>скрин<<\10.10.2022 в 13:50 #25359fergus2022Участниккак это реализовать в Rapdi Scada ?
10.10.2022 в 15:57 #25360MikhailМодераторВыпадающие списки на схемах не поддерживаются.
Для начала добавьте в базу конфигурации:
1. Входной канал типа дорасчётный ТИ, который будет хранить выбранное значение.
2. Канал управления для установки входного канала.Если используется Rapid SCADA версии 6, то достаточно одного канала, который объединяет в себе входной канал и канал управления.
Формула канала управления: SetVal(222, Cmd)
Где 222 — номер канала, который нужно установить.
Чтобы вводить команду не числом, а выбирать из списка, добавьте значения команд в соответствующую таблицу.11.10.2022 в 06:39 #25361fergus2022Участник1. Создал переменную «znach», тип «Дорасчетный ТИ».
2. В каналах управления у меня один канал.
Мне нужно создавать команды в файле «шаблон устройства кп .xml» ?
» Чтобы вводить команду не числом, а выбирать из списка, добавьте значения команд в соответствующую таблицу. » — вот здесь поподробнее, где эти команды создавать, куда добавлять (какую таблицу) ?11.10.2022 в 06:45 #25362fergus2022Участникверсия скады 5.5.2.2.
11.10.2022 в 06:49 #25363fergus2022УчастникВ канале управления создан КП «Мой канал передачи». В таблице этого КП создаю канал с номером 102, наименование «канал 1», тип команды «стандартная», номер 1, значения «выполнить», формула » SetVal(101 — номер тега со значением приходящим с устройства, которое нужно подставить в виртуальную переменную «znach», Cmd) — верно ?
11.10.2022 в 07:06 #25364fergus2022УчастникВо входящих каналах, для виртуальной переменной 105 «Znach» (тип дорасчетный ТИ), задал канал управления, в котором формула SetVal(101, Сmd).
На схеме переключателю задал канал управления с этой формулой, при срабатывании команды, значение с входного канала 101 «Тег1» не передается в виртуальную переменную 105 «Znach». Что делаю не так ?11.10.2022 в 08:26 #25365RomirosУчастникЕсли значение нужно установить в 105 канал, тогда SetVal(105, Сmd).
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.