djbond07

Созданные ответы форума

Просмотр 15 сообщений - с 16 по 30 (из 295 всего)
  • Автор
    Сообщения
  • djbond07
    Участник

    Проверил, работает, спасибо. То есть свою формулу просто оборачиваем в Retain и всё. У Вас в итоге заработало?

    в ответ на: Закрывание всплывающего окна #7145
    djbond07
    Участник

    Нужно в ~/.config/autostart/ добавить следующее

    [Desktop Entry]
    Encoding=UTF-8
    Name=Connect
    Comment=Checks internet connectivity
    Exec=/usr/bin/chromium-browser -incognito —kiosk YOUR_WEB_ADDRESS

    Ну вместо адреса вводим адрес скады.

    djbond07
    Участник

    Вот, я тоже на последней смотрел.
    Но мы же не можем в 451-м канале вставить формулу Retain(Val(451)), если в нём уже какая-то логика есть (допустим, если это минутный ТИ, в котором хранится наработка). То есть мы в 452-й канал должны добавить формулу Retain(Val(451)), и именно в нём будет храниться значение. Или не так?

    djbond07
    Участник

    Спасибо за советы, обновился на винде и Raspberry, всё прошло нормально.
    Теперь вопрос по работе самой формулы Retain.
    Как правильно её использовать? Сделал всё, как в соответствующей теме написано, но что-то не выходит.
    Файл retain.txt создаётся, и записи присутствуют, всё ОК. Но получается так, что после перезагрузки малинки, даже если из файла загружается какое-то значение (чего я так и не смог пронаблюдать), то тут же подсасывается нулевое значение из ячейки, которую мы резервируем.
    В общем можете ещё раз для особо одарённых подсказать как правильно настроить?Основная функция — это хранение наработок. Они считаются Минутными ТИ.

    • Этот ответ был изменен 6 лет, 8 месяцев назад от djbond07.
    djbond07
    Участник

    Да, на новом сервере всё стартануло без ошибок.
    Подскажите, если я перенесу просто старые базы и конфигурации как в гайде с 5.0.2 на 5.3.0, всё должно сразу заработать? Модули обновлять нужно? (в частности модуль автоматического управления).
    И аналогичный вопрос по линукс версии.

    djbond07
    Участник

    Видимо, пора обновляться до новой версии…

    djbond07
    Участник

    Здравствуйте!
    Версия : 5.0.0.0

    djbond07
    Участник

    Нет, впервые слышу про такую проблему. Может, Михаил внесёт ясность в вопрос =)

    djbond07
    Участник

    Я в таком формате и записал. Создал 2 дорасчётных канала. 10 и 11. Записал в 10-й формулу SetVal(11, 20). В итоге ошибка.

    djbond07
    Участник

    Проверил по Вашему способу, только добавил формулу не в канал управления, а во входной канал. Записи не появилось, появилась только ещё одна ошибка.

    Строка 497, колонка 56: error CS0103: Имя «SetVal» отсутствует в текущем контексте.

    Ругань идёт как раз на использование функции, которая не объявлена.
    На какой версии скады у Вас работает данная схема?

    • Этот ответ был изменен 6 лет, 8 месяцев назад от djbond07.
    djbond07
    Участник

    Добрый день! Хотелось бы вернуться к вопросу. Посмотрел в файл
    C:\SCADA\ScadaServer\Log\CalcEngine.cs
    И не нашёл там функции SetVal(). Искал и с помощью поиска, и просто посмотрел в начале, где все они объявляются, её нет. Есть только Val(), Stat() и математические всякие. Смотрел на SCADA 5.0.2 и на SCADA 5.2.1. (На 5.2.1 просто вставил базу sdf в скаду 5.0.2 и запустил, чтобы сгенерировать файл CalcEngine).
    Что с этим делать? Может просто добавить вручную в блок формул данную формулу? Тогда нужен её текст. А вообще странно всё это.

    djbond07
    Участник

    Спасибо, Михаил, что занимаетесь данным вопросом. Тема действительно актуальная и важная. С нетерпением ждём новую систему =)

    в ответ на: Каналы управления #6962
    djbond07
    Участник

    Добрый день!

    Можно ли для этих устройств использовать один шаблон в коммуникаторе, или нужно для каждого создавать с другим названием?

    Шаблон может быть один. Вам в любом случае придётся задать разные имена в самой базе данных (SCADA-администраторе).

    Должны ли при этом в шаблоне отличаться номера команд КП и вообще они должны быть разными для КП?

    Соответственно номера команд одни и те же. Исполнение команд зависит от номера КП, поэтому здесь всё гладко, и никакой путаницы не будет.

    • Этот ответ был изменен 6 лет, 8 месяцев назад от djbond07.
    djbond07
    Участник

    Я прописал путь так
    string pathRet = @»e:\Retain\retain.txt»;
    Не думаю, что дело в пути. В формуле C# явно ругань идёт на то, что переменную SetVal не объявили. Вот этак строчка из формулы LoadRetain:

    SetVal(Convert.ToInt32(RetLoad[i].Substring(RetLoad[i].IndexOf("[")+1, RetLoad[i].IndexOf(", ")-(RetLoad[i].IndexOf("[")+1)),10),Convert.ToDouble(RetLoad[i].Substring(RetLoad[i].IndexOf(", ")+2,RetLoad[i].IndexOf("]")-(RetLoad[i].IndexOf(", ")+2))));

    А в случае с Linq, вот строчка в формуле SaveRet:

    RetSave[i] = Convert.ToString(System.Linq.Enumerable.ElementAt(DictRet, i));

    В принципе я даже примерно понимаю, что делать. В 1 случае как-то объявить переменную, SetVal. Или вообще убрать эту строчку из формулы, так как она скорей всего относится только к каналу управления (Вам виднее).
    Во 2-м случае прописать Using Sustem.Linq; или как-то так. Но где это прописать? И опять же, Вы писали код, и может дело вообще в другом?
    Посмотрите, пожалуйста, пост #6686, может Вы что-то потом меняли в формулах?

    • Этот ответ был изменен 6 лет, 8 месяцев назад от djbond07.
    • Этот ответ был изменен 6 лет, 8 месяцев назад от djbond07.
    djbond07
    Участник

    Добрый день! Вопрос к manjey73 больше, по формуле Retain. Пытаюсь тестировать на Windows, в сервер пишет такие ошибки:
    Строка 480, колонка 1: error CS0103: Имя «SetVal» отсутствует в текущем контексте
    Строка 539, колонка 38: error CS0234: Имя типа или пространства имен «Linq» отсутствует в пространстве имен «System» (пропущена ссылка на сборку?)
    SetVal Встречается в формуле Load_Retain
    linq в формуле Save_Retain
    Можете подсказать как пофиксить это?

Просмотр 15 сообщений - с 16 по 30 (из 295 всего)