Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Отсутствие данных
Помечено: Быстрый шлюз, Формулы
- В этой теме 46 ответов, 5 участников, последнее обновление 2 года, 8 месяцев назад сделано Mikhail.
-
АвторСообщения
-
13.07.2021 в 15:41 #20378RomirosУчастник
Странно. У меня последняя формула работает. Правда я пользуюсь генератором, но по идее RapidGate через то же API данные отправляет.
13.07.2021 в 18:41 #20380MikhailМодераторЕсли не поступает значение по входному каналу, то его статус должен стать недостоверным через время, указанное в настройках Сервера. Проверьте, происходит ли это?
Но при недостоверном значении разрыв на графике не появится. С помощью формулы можно заменить недостоверный статус на неопределённый.
По поводу докачки данных после восстаовления связи, нужно смотреть логи Rapid Gate. Там довольно подробно видно состояние.
13.07.2021 в 18:42 #20381MikhailМодераторCnl; CnlStat == 5 ? 0 : CnlStat
это если канал не дорасчётный- Этот ответ был изменен 2 года, 9 месяцев назад от Mikhail.
14.07.2021 в 16:04 #20383MikhailМодераторУказанная формула не работает, к сожалению. Я подумаю, что можно сделать в следующей версии плагина графиков.
15.07.2021 в 07:29 #20384OlegSolУчастникМихаил, в продолжение :
Отсутствовала связь с удаленной SCADA всю ночь. Центральнsq сервер пишет себе последние показания по всем входным каналам. Утром при восстановлении данные с удаленного сервера Быстрый шлюз не перебрасывает. На центральном сервере висят неверные показания. Все же видимо синхронизация архивов происходит, если не центральном сервере есть неопределенные значения каналов при отсутствии связи. Не дорабатывает Быстрый шлюз))15.07.2021 в 14:07 #20385MikhailМодераторЭто нужно проверять на живой системе, одновременно анализируя журналы.
В настройках шлюза можно указать номер канала управления (по умолчанию он = 0). Тогда Вы сможете отправлять команды на принудительный запуск экспорта. Пример команды внизу страницы.15.07.2021 в 14:07 #20386MikhailМодераторПопробуйте, будет ли работать экспорт по команде.
27.07.2021 в 11:29 #20412OlegSolУчастникПрерывание графика при отсутствии связи с удаленной SCAFA ( Быстрый шлюз):
1.Создаем виртуальный вх.канал Х на центр.SCADA с функцией типаpublic double MyFunc2()
{
int alarmCnt = 0;for (int cnlNum = 101; cnlNum <= 110; cnlNum++)
{
if (Stat(cnlNum) == 5 ^ Stat(cnlNum) == 0)
alarmCnt++;if (alarmCnt == 3)
return 0; // Нет
}return 1; // Есть
}
При отсутствии связи канал встает в 0
2. С помощью модуля Автоматического управления, завязанным на данном канале Х, передаем в канал управления Y,0 или 1 соответственно данным вх.канала Х
3. В канале управления Y пишем формулу
Cnl==0? SetStat(Х,0):SetStat(Х,1)График вх. канала Х прерывается
27.07.2021 в 14:04 #20414MikhailМодераторВ чём общая задача описанного выше?
27.07.2021 в 14:40 #20416manjey73УчастникПолагаю все в том же, при пропадании связи между RapidGate и сервером создавать аналог Invalidate Cure Data для каналов, в которые передает данные RapidGate.
28.07.2021 в 10:59 #20417OlegSolУчастникКстати, подскажите, как в формуле
Cnl==0? SetStat(101,0):SetStat(101,1)
передать значение множеству каналов
28.07.2021 в 12:13 #20418a80808УчастникИМХО писать внешнюю формулу где в передаваемых аргументах номера каналов, а в канале писать формулу вызова этой формулы с перечнем каналов
28.07.2021 в 13:35 #20419OlegSolУчастникИМХО, для просто Юзеров пример формулы о Гуру можно? для логического разбора и начала понимания языка C#.
28.07.2021 в 13:52 #20420manjey73УчастникВы хотите по значению одного канала изменить статусы нескольким каналам?
При этом количество каналов неизвестно?28.07.2021 в 13:56 #20421RomirosУчастникКак-то наворочено слишком. Зачем модуль автоуправления? В дорасчетном канале создайте формулу проверки статуса и запускайте из нее SetStat нужным каналам.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.