Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Отсутствие данных
Помечено: Быстрый шлюз, Формулы
- В этой теме 46 ответов, 5 участников, последнее обновление 1 год назад сделано
Mikhail.
-
АвторСообщения
-
13.07.2021 в 15:41 #20378
Romiros
УчастникСтранно. У меня последняя формула работает. Правда я пользуюсь генератором, но по идее RapidGate через то же API данные отправляет.
13.07.2021 в 18:41 #20380Mikhail
МодераторЕсли не поступает значение по входному каналу, то его статус должен стать недостоверным через время, указанное в настройках Сервера. Проверьте, происходит ли это?
Но при недостоверном значении разрыв на графике не появится. С помощью формулы можно заменить недостоверный статус на неопределённый.
По поводу докачки данных после восстаовления связи, нужно смотреть логи Rapid Gate. Там довольно подробно видно состояние.
13.07.2021 в 18:42 #20381Mikhail
МодераторCnl; CnlStat == 5 ? 0 : CnlStat
это если канал не дорасчётный-
Этот ответ был изменен 1 год назад от
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 нужным каналам.
-
Этот ответ был изменен 1 год назад от
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.