Не работает динамический рисунок

Стартовая страница Форумы Ошибки в работе Не работает динамический рисунок

Просмотр 15 сообщений - с 16 по 30 (из 43 всего)
  • Автор
    Сообщения
  • #23578
    Mikhail
    Модератор

    Исходный канал должен быть строкой, т.к. данные от OPC приходят в виде строки. Потребуются дорасчётные каналы для получения чисел.
    А почему OPC-сервер отправляет не числа, а строки, в которых записаны числа? Не встречал раньше такого.

    • Этот ответ был изменен 1 год, 10 месяцев назад от Mikhail.
    #23580
    Mikhail
    Модератор

    Проверьте информацию об узле (теге) на OPC-сервере.

    #23583
    AlexanderUshakov
    Участник

    Потому что люди, которые его администрируют работают в другом отделе и им якобы трудно, неудобно, очень заморочено заводить тэги в соответствии их реальным типом данных, а в стринг они где-то там используют у себя и им достаточно, мне сложно сказать, мне просто поставили задачу забрать у них данные и вывести в СКАДУ.
    Раз уж оффтоп по OPC-серверу. Скажите у меня есть kepserver с которого мастерскада4D забирает параметры. Безопасность и шифрование выключены. Но я не могу подключиться из Рапид Скады к нему, пишет «Ошибка соединения с ОРС-сервером: Certificate doesn’t meet minimum key lenght requrement»

    #23590
    a80808
    Участник

    Потому что люди, которые его администрируют работают в другом отделе и им якобы трудно, неудобно, очень заморочено заводить тэги в соответствии их реальным типом данных, а в стринг они где-то там используют у себя и им достаточно, мне сложно сказать, мне просто поставили задачу забрать у них данные и вывести в СКАДУ.

    Ой как мне это знакомо…
    Выражаю искреннее сочувствие. Надейтесь только на себя и не смотрите на других!

    #23606
    Mikhail
    Модератор

    Certificate doesn’t meet minimum key lenght requrement

    Ответ здесь.
    То есть нужно создать в проекте файл конфигурации клиента и прописать там указанные параметры.

    #23607
    Mikhail
    Модератор

    Файл конфигурации, если не ошибаюсь, создаётся автоматически в C:\SCADA\ScadaComm\Config
    Нужно его в проект положить

    #23618
    a80808
    Участник

    Я тут еще нашел, что в случае если «управляющий» канал имеет тип «Входной» то надо указывать тип данных Integer или Double. Если не указывать тип данных работает неустойчиво.

    #23619
    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>

    #23621
    AlexanderUshakov
    Участник

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

    #23628
    Mikhail
    Модератор

    В отдельном числовом канале получите число из строки без деления. Пришлите скриншот свойств канала. Посмотрим, что нужно дописать.

    #23629
    Mikhail
    Модератор

    Что-то типа
    ScadaUtils.ParseDouble(DecodeAscii(Val(135))) / 327.67
    Это конечно извращение. Если число будет длиннее 8 символов для ANSI и 4 символов для Unicode, то не будет работать.

    • Этот ответ был изменен 1 год, 10 месяцев назад от Mikhail.
    #23912
    AlexanderUshakov
    Участник

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

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

    #23913
    AlexanderUshakov
    Участник

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

    #23914
    Romiros
    Участник

    Какую длину задаёте, столько каналов и пропускаете. Так это и работает. Посмотрите в коммуникаторе, как у Вас привязались каналы.

    #23915
    AlexanderUshakov
    Участник

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

Просмотр 15 сообщений - с 16 по 30 (из 43 всего)
  • Вы должны авторизироваться для ответа в этой теме.