Стартовая страница › Форумы › Понять, как работает ПО › Статусы каналов и архивы
Помечено: Статусы канала расчетного
- В этой теме 6 ответов, 4 участника, последнее обновление 2 года, 9 месяцев назад сделано
Mikhail.
-
АвторЗаписи
-
10.11.2023 в 10:19 #30316
saprin8
УчастникДобрый день, возникла проблема (старая как оказалось) с расчетным статусом канала.
Есть 2 переменные с режимом клапана bAuto и bManual, тип канала входной у них.
Создал скрипт StatusSA:
public int StatusSA(double avt, dobule mu)
{
int status = 3;if (avt == 1 & mu == 0)
{
status = 1; //АВТО
}
else if (avt == 0 & mu == 1)
{
status = 2; //МУ
}
else if (avt == 0 & mu == 0)
{
status = 3; //ОТКЛ
}
return status;
}Добавил в статусы каналов цвет 201-limegreen, 202-yellow, 203-darkgray.
Также создал формат «-;АВТ;МУ;О» с кодом String и перечислением.
Добавил формулу в расчетный канал StatusSA(Val(avt), Val(mu)); Cnl + 200
Слинковал на динамический текст адрес расчетного канала, установив цвет текста Status, и вывод размерности.
В итоге у меня желтым цветом отображается «АВТ».
При этом если входной канал со статусом 0-МУ, а 1-АВТ, в формуле канала (входном) Cnl;Cnl+204, где 204 это yellow, а 205 это limegreen, то все работает и передает правильно и цвет и текст (в форматах соответственно МУ;АВТ).
Такое ощущение, что передает дорасчетное изначальное значение канала 0 и он в формуле статус Cnl + 200 прибавляет дорасчетное значение. А так как 200 это yellow в статусах канала, то он желтым и выделяет его.
В 5 версии все работало нормально.И немного не по теме вопросы:
1. Куда пропал генератор из 5 версии? удобно было тестировать формулки и отображение на мнемосхеме.
2. Как теперь смотреть архивы? Мне подсказали про утилиты, но какие?
3. Зачем добавлена кнопка «Закрыть» во всплывающие окна?10.11.2023 в 12:04 #30317
MikhailМодераторДобрый день!
Проверьте фактический статус канала с помощью утилиты ScadaTestClient, которую можно скачать здесь.Генератор внутри проекта был не совсем уместным. Нужно перенести его внутрь веб-приложения. Но пока этого не сделано используйте ScadaTestClient.
Архивы можно смотреть не только утилитами, но и с помощью стандартных отчетов. Архивы в 6-й версии могут использовать разные источники данных, поэтому интерфейс для их просмотра тоже должен быть через веб.Зачем добавлена кнопка «Закрыть» во всплывающие окна?
Заведите, пожалуйста, отдельную тему, добавив скриншоты как было и как стало.
10.11.2023 в 14:02 #30318saprin8
УчастникЗапустил TestClient, как я и писал выше — статус 200 (0+200 соответственно). Попробовал скопировать формулу StatusSA в статус и прибавить 200, вроде заработало.
10.11.2023 в 16:47 #30320
MikhailМодераторВ 6-й версии формула может возвращать структуру CnlData, которая содержит значение и статус вместе. Это удобно, когда одновременно рассчитываются и значение, и статус.
Например,return NewData(1.23, 1);13.11.2023 в 10:59 #30333mr_smit
УчастникА что такое вообще статус канала?
В сообщениях есть: по изменению статуса, по изменению значения. В чем разница?
13.11.2023 в 11:42 #30334
a80808УчастникЗначение канала — это данные, которые в канал записаны.
Статус канала — это состояние. Например статус = 0 — данные недостоверны.
Полный перечень в таблице «Типы событий» (и5) и «Статусы каналов» (в6). Можно задавать свой статус (напрмер чтобы в свой любимый цвет покрасить )) формулой SetStat() и также свой статус занести в таблицу и покрасить в нужный цвет13.11.2023 в 12:39 #30337
MikhailМодераторПосмотрите таблицу Статусы каналов, там все статусы описаны.
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.