saprin8

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

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

    Изначально было на несколько линий (точнее на каждый шкаф управления своя линия связи), но ограничение сервера OPC UA в 100 линий связи заставило пересмотреть возможность с каждого шкафа брать и на корпус в целом перейти. Но если ограничение 1000, то будем делить корпус.

    • Этот ответ был изменен 6 дней, 3 часа назад от saprin8.
    saprin8
    Участник

    DrvOpcUa использую, перевалило за тысячу каналов и ошибку начала выдавать линия связи

    saprin8
    Участник

    Я про паузу (3000).
    Проблема решилась возвратом к стандартному опросу…

    saprin8
    Участник

    В 6 версии так: 1

    Был запрос на сделать паузу побольше (не понял зачем), поэтому 3с стоит.

    saprin8
    Участник

    Вот параметры в 5 версии
    5

    saprin8
    Участник

    Когда статус bad — идет пустое значение. В момент изменения значения статус становится Good, в коммуникаторе появляется это значение на цикл опроса и потом пропадает.

    saprin8
    Участник

    У нас есть opc ua сервер, который отправляет значения только при их изменении (статус сигнала переменной Good, значение переменной показывает), после этого сервер это значение не транслирует (статус сигнала Bad, значение переменной пустое). Можно ли настроить в скаде сохранение последнего значения полученного в режиме Good, и менять значение после следующего изменения на opc ua сервере.

    saprin8
    Участник

    Хотелось бы еще уточнить как происходит переинициализация значений при перезагрузке коммуникатора. То есть коммуникатор не запрашивает значения у сервера, а сервер отправляет данные только в случае если они изменились. И возможно ли как-то зафиксировать значения?

    в ответ на: Загрузка ЦП #31911
    saprin8
    Участник

    Это серверный комп, 64Гб оперативы, Xeon Gold 6326. Попробую в исключения добавить папку, позже отпишу

    в ответ на: Everyhour, как работает #31855
    saprin8
    Участник

    Вроде получилось, создал скрипт
    public CnlData Temp_hour(int TE_Cnl)
    {
    return NewData(Val(TE_Cnl), 1);
    }
    В каждый канал, где я присваиваю температуру ставлю
    EveryHour(() => Temp_hour(Te_Cnl))

    А из основной формулы убираю SetVal

    public double Online_stat(int cnl, double tempOut, int cnl2, double tempIn)
    {
    double status = 0;
    if (tempOut == Val(cnl) & tempin == Val(cnl2))
    {
    status = 1;
    }
    else
    {
    status = 0;
    }
    return status;
    }
    То есть теперь не каждый час формула с расчетом и сравнением температур выполняется, а присваивается каналу с температурой значение каждый час, в то время как формула считает постоянно.
    Всем спасибо

    в ответ на: Преобразование string в double #31842
    saprin8
    Участник

    Для тех кто столкнется с таким же:
    public double StringToDouble(double cnlNum)
    {
    string s = DecodeUnicode(cnlNum);
    return (ScadaUtils.ParseDouble(s));
    }
    Добавляете эту функцию в скрипты, во входном канале выставляете галочку на формулу, саму формулу StringToDouble(CnlVal), В случае нужды работы еще и со статусом, то StringToDouble(CnlVal); StringToDouble(CnlVal), ибо статус будет все время единица, если не использовать формулу
    DecodeUncode() есть в скриптах в strings

    в ответ на: Преобразование string в double #31839
    saprin8
    Участник

    Уже пробовал Replace и ничего. В итоге заработал DecodeUnicode, вместо Ascii, которая работала раньше.

    в ответ на: Преобразование string в double #31835
    saprin8
    Участник

    То есть других вариантов нету? На CultureInfo ругается, мол класса такого нету. В загрузке зависимостей в логе сервера нет System.Globalization.dll. А кроме CultureInfo поменять преобразование в соответствии с региональными настройками невозможно.

    в ответ на: Преобразование string в double #31829
    saprin8
    Участник

    Это знак равно «=», либо промахнулся пока печатал

    в ответ на: Преобразование string в double #31828
    saprin8
    Участник

    Пошарил по форумам, может ли быть такое, что региональные параметры не совпадают? Получится, что идет дабл через запятую, а нужна через точку, поэтому строка и не преобразовывается. В коммуникаторе линия показывает значения через точку (45.0 например)

    • Этот ответ был изменен 2 недели назад от saprin8.
Просмотр 15 сообщений - с 1 по 15 (из 127 всего)