Ответы в темах
-
АвторЗаписи
-
Romiros
УчастникПодозреваю что ситуация в следующем. Видимо пытаетесь применить данную формулу во входном, а не расчетном канале. Val() — это значение канала после расчета. Оно у Вас рассчитывается первый раз и далее Вы к нему постоянно обращаетесь, игнорируя реальные входящие данные.
Поэтому во входном канале используйте Math.Round(Cnl,1)Есть разные способы округления. Почитайте про округления в c# и подберите нужное, если хотите повторить поведение как у установки.
Romiros
УчастникНасколько помню, просто:
throw new Exception(«Вводите данные нормально»);Romiros
УчастникНу да, так и есть. Можно взять формулу за основу и переделать под себя уже со значениями. Просто хотел идею показать. Это делали для управления диммированием освещения в одном проекте.
Romiros
УчастникМожете, например, добавить в скрипты следующую формулу:
stepCnlNum — номер канала из которого берется размер шага
cnlNum — номер канала, значение которого нужно увеличить или уменьшить
increase — true — увеличить false — уменьшитьpublic double SetStep(int stepCnlNum, int cnlNum, bool increase)
{
double s = (Val(stepCnlNum));
if(increase)
{
double val = Val(cnlNum)<100?Val(cnlNum)+s:100;
return val>100?100:val;
}
else
{
double val = Val(cnlNum)>0?Val(cnlNum)-s:0;
return val<0?0:val;
}
}Использование в канале:
SetStep(156,131, true)Вместо использования номеров каналов можете сразу вписать значения
SetStep(1,CnlNum, true)Romiros
УчастникStatus должен быть в графе «Код тега». Это зарезервированное слово и не должно пересекаться с кодами тега создаваемыми пользователем. Предназначено для отображения статуса всего устройства — Норма:Ошибка
Romiros
УчастникДобрый день. Заведите отдельную тему или найдите похожую. Не надо смешивать вопросы в одну кучу.
Если в двух словах, то коммуникатор 5 версии несовместим с 6 версией сервера.В шестой версии на сервере, где установлен только коммуникатор, Вам необходимо установить из установочного пакета ещё и ScadaAgent. После этого в основном сервере «Полном» создать ещё один экземпляр, в котором указать, что он будет состоять только из коммуникатора. Далее в настройках связать этот экземпляр. Так у Вас появится визуальная составляющая и сможете выполнять удаленное конфигурирование и перезапуск службы коммуникатора.
Romiros
УчастникВ таблице Форматы создайте свой формат с вашими 16-ю перечислениями по аналогии с похожим форматом. Можете сразу задать цвет фразам. Далее для своего канала выберите созданный формат.
Romiros
УчастникСлужба целиком перегружается и все создаётся с нуля.
Romiros
УчастникПоищите браузер под win7. Раньше можно было скачать неофициальные версии, которые ставились на win7.
Romiros
УчастникУ Вас, судя по логу, не подгружаются переменные из бэкенда в js. Возможно браузер действительно старый. Если есть возможность установить последнюю версию на win7, то попробуйте, чтобы исключить этот момент. Или другим компом с win10 по сети попробовать подключиться. А возможно дело просто в настройках безопасности сервера, в том числе того же IIS. Просто так быстрее получится выяснить куда копать.
Romiros
УчастникКак-нибудь так:
Cnl-1>0?Cnl-1:CnlRomiros
УчастникТак про это и писал. Есть устройство у которого уже есть тег статус. Просто в этот статус положить ещё и статус линии и статус коммуникатора, для устройства это родители, поэтому доступ будет. Канал это double можно все состояния всех поместить. А дальше дергай те статусы, которые нужны.
Romiros
УчастникМожет быть что-то типа битовой маски. Чтобы в каждом устройстве в теге Status шел составной сигнал: Статус коммуникатора, статус линии, статус устройства.
Romiros
УчастникТак а ошибка какая? Что в журнале линии связи? Вы каким-нибудь MqttExplorer подключались к брокеру? Связь с ним вообще есть?
Romiros
УчастникВидимо так оно и есть. Рисовать схему без каких-либо данных, смысла нет. В крайнем случае можно текущее время вывести в динамическом тексте.
-
АвторЗаписи