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