AlexanderUshakov

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

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

    Спасибо за помощь!
    Я так понял в 6й версии можно для определенных тэгов период записи выбирать?

    AlexanderUshakov
    Участник

    Да у нас большой проект с кучей оборудования, это время надо выделить. А пришел один пользователь и говорит мне нужны секундные данные, чтобы эффективность работы вакуумных насосов отслеживать. Вот думал быстренько что-то где-то подправить и пусть смотрит.
    То есть я правильно понял, что мой предел это 30 секунд (поменять время в параметрах записи) и изменить в xml графиков период опроса на 30000 ?

    AlexanderUshakov
    Участник

    Вы имеете ввиду это?
    <RefreshRate>60000</RefreshRate>
    Что-то я поменял на 10000 ничего не произошло.
    Да и если графики берут из минутного архива данные, то там нет секундных значений.

    AlexanderUshakov
    Участник

    А можно поподробнее узнать в каких настройках?
    в настройка сервер->Параметры записи ? Там вроде только 30 секунд минимум

    в ответ на: Перезапуск коммуникатора #29244
    AlexanderUshakov
    Участник

    Отвечу за коллегу, проблему решили.
    На сервере в это время происходил процесс — Служба VSS выключается из-за тайм-аута простоя.
    Решение — для службы VSS был выбран режим запуска «Автоматический».
    Отключение ScadaServer и ScadaComm прекратились.

    AlexanderUshakov
    Участник

    Чтобы задать цвет для записи в журнале событий

    AlexanderUshakov
    Участник

    Сделал как вы написали и все получилось, спасибо всем за помощь!
    Правильно я понял, что у расчетного канала, какой бы тип данных в него для расчета не передаешь, то он всегда преобразуется в double?

    AlexanderUshakov
    Участник

    Romiros, сделал как вы описали, через мастера, все получилось, длинна данных сама определилась, и номера каналов перераспределились. Только теперь каналы на мнемосхеме поправить надо, смещение получилось.
    Теперь мне надо в расчетном канале получается соединить значение Val(129) и Val(130) и сделать преобразование в Double? А то если написать просто DecodeUnicode(Val(129)), то он преобразует без пятой цифры, а DecodeUnicode(Val(130)) преобразует в одну недостающую пятую цифру, но DecodeUnicode(Val(129)+Val(130)) выдает значение 0, а string.Concat(Val(129), Val(130)) не компилируется

    AlexanderUshakov
    Участник

    Romiros, так у меня же каналы приходят из OPC сервера, как они сканируются коммуникатором так и БК появляются, если я в БК принудительно правлю номер каналов например, из 150 каналов я каналу 129 ставлю длинна 2, а каналу 130 присваиваю номер в конце списка 151 и тоже длинну 2, чтобы 129 занял два места 129-130, то перенесенный канал 151 вообще не показывается. А при сканировании через Коммуникатор я не могу менять нумераци

    AlexanderUshakov
    Участник

    Вообщем я в свойствах устройства сделал длинну строки 16, при опросе стали приходить корректные значения в таблице.
    Но при выводе на схему обрезается одна цифра у значений с пятью цифрами.
    Так же происходит корректное преобразование в double формулой DecodeUnicode(Val()), но так же без последней цифры.
    То есть наглядно:
    Фактическое значение параметра — 32525
    При опросе через коммутатор в таблице — 32525
    При отображении на схеме — 3252
    При переводе в double — 3 252.00
    Скрин: https://disk.yandex.ru/i/lV3RHVyQ4bc92Q

    полное значение получается добиться, если у входного параметра поставить длинну данных 2, а не 1, но тогда сбивается порядок каналов. Как я описывал ранее.

    AlexanderUshakov
    Участник

    Romiros, странно как то привязались, у Y1 длинна массива или строки 8 а у Y2 — 2. Оно же все автоматически установилось, получается надо править вручную и пересинхронизировать?

    AlexanderUshakov
    Участник

    И еще такой момент. У меня значения стринг приходят не полностью. Вот скрин где сравнение с OPC клиентом и значений в скаде — значение Частота Вентилятора М3 — нет одной цифры, а Положение клапапна Y1 показано полностью, но при отображении на схеме тоже одной цифры не хватает:
    https://disk.yandex.ru/i/GdaXArcf2_NIIg
    Если я им делаю длинна — 2 то на схеме показывается полностью число. Но вот изза того что у Y1 и Y2 каналы идут друг за другом, канал Y1 как будто занимается два канала для значения. Поэтому Y2 на схеме показан некорректно. Скрин:
    https://disk.yandex.ru/i/nIBPGpki44rmYA

    AlexanderUshakov
    Участник

    Михаил, был в отпуске, снова вернулся в неравный бой со стринг параметрами.
    Вот скрин, надеюсь я правильно понял, что вы просили сделать:
    https://disk.yandex.ru/i/YDgzV5_GIwhNPw

    Самое интересное, что когда я делаю расчетный канал с типом UnicodeString и в формуле пишу Val(128), то он не пишет тоже значение что и у канала 128 с типом UnicodeString на прямую.

    AlexanderUshakov
    Участник

    Михаил, еще вопрос. Весь день сегодня убил, но вопрос решить не вышло. Все из-за это передачи в стринг.
    У меня приходит значение от 0 до 32767, это открытие клапана. Надо его в проценты переделать, соответственно разделить текущее значение на 327.67, но у меня не выходит.
    Если я прям в канале формулу делаю Cnl / 327.67, то получается некорректное значение (например 3,05, а должно быть 77).
    Если я делаю расчетный канал,
    «Тип данных — пустой», Формат D
    И скрипт:
    public double AnalogConv(double s)
    {
    return s/327.67;
    }
    то выходит просто 0
    Что то не пойму логику преобразований каналов.

    AlexanderUshakov
    Участник

    Михаил, спасибо, заработало. Я поправил все прям из администратора в конфигурационных файлах Коммуникатора DrvOpcUa.Logic.xml и DrvOpcUa.View.xml.

    <!— WARNING: SHA1 signed certficates are by default rejected and should be phased out.—>
    <RejectSHA1SignedCertificates>false</RejectSHA1SignedCertificates>
    <MinimumCertificateKeySize>1024</MinimumCertificateKeySize>

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