Ответы в темах
-
АвторЗаписи
-
OlegSol
УчастникНу попробуйте. Почитайте всю тему. Не получилось ни у кого.
И модуль автоуправления позволяет задержки выставить.-
Ответ изменён 5 лет назад пользователем
OlegSol.
OlegSol
УчастникИМХО, для просто Юзеров пример формулы о Гуру можно? для логического разбора и начала понимания языка C#.
OlegSol
УчастникКстати, подскажите, как в формуле
Cnl==0? SetStat(101,0):SetStat(101,1)
передать значение множеству каналов
OlegSol
УчастникПрерывание графика при отсутствии связи с удаленной 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)График вх. канала Х прерывается
OlegSol
УчастникМихаил, в продолжение :
Отсутствовала связь с удаленной SCADA всю ночь. Центральнsq сервер пишет себе последние показания по всем входным каналам. Утром при восстановлении данные с удаленного сервера Быстрый шлюз не перебрасывает. На центральном сервере висят неверные показания. Все же видимо синхронизация архивов происходит, если не центральном сервере есть неопределенные значения каналов при отсутствии связи. Не дорабатывает Быстрый шлюз))OlegSol
УчастникБесполезно. Спасибо за попытки.
OlegSol
УчастникПочему о после отработки SetStat и сброса статуса на ноль, дальнейшее поступление данных с удаленного сервера не меняют значение статуса на 1
OlegSol
УчастникОбе не работают.
Каналы куда передаются данные с удаленного сервера — мертвые. У них нет никаких линий связи. Просто в них закидывается удаленно значение и все. При этом встает значение переданное и статус 1. При обрыве- остается цифра, статус меняется на 5. Все.
Единственное, чем я мог сменить статус на ноль это
Val();Stat()==5? SetStat(101,0):Stat()Но при восстановлении связи статус 0 так и остается
OlegSol
УчастникПри отсутствии связи статус у каналов, которые получают данные с удаленной SCADA по Быстрому шлюзу встают в 5((
OlegSol
УчастникVal();Stat()==5?0:Stat() не работает.
о- это тоже значение на графике.Мне нужно что то подобное, помогите ))
Val(112) ==1 ? Cnl : NULL
112 канал встает в 0 при 30 сек обрыве связи. КАК дать в каналы на графике -NULL ??
OlegSol
УчастникДа, все каналы идут в статус 5. Я по данному значению и определяю в виртуальном канале наличие связи с удаленной 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,1,5,13 и пр??OlegSol
Участникне работает данный параметр записи. Входной канал принимающей по быстрому шлюзу SCADA просто висит при обрывке связи на последнем переданном значении
-
Ответ изменён 5 лет назад пользователем
-
АвторЗаписи