Стартовая страница › Форумы › Ошибки в работе › Не работает динамический рисунок
- В этой теме 42 ответа, 5 участников, последнее обновление 1 год, 9 месяцев назад сделано a80808.
-
АвторСообщения
-
18.05.2022 в 15:50 #23578MikhailМодератор
Исходный канал должен быть строкой, т.к. данные от OPC приходят в виде строки. Потребуются дорасчётные каналы для получения чисел.
А почему OPC-сервер отправляет не числа, а строки, в которых записаны числа? Не встречал раньше такого.- Этот ответ был изменен 1 год, 10 месяцев назад от Mikhail.
18.05.2022 в 15:53 #23580MikhailМодераторПроверьте информацию об узле (теге) на OPC-сервере.
18.05.2022 в 16:17 #23583AlexanderUshakovУчастникПотому что люди, которые его администрируют работают в другом отделе и им якобы трудно, неудобно, очень заморочено заводить тэги в соответствии их реальным типом данных, а в стринг они где-то там используют у себя и им достаточно, мне сложно сказать, мне просто поставили задачу забрать у них данные и вывести в СКАДУ.
Раз уж оффтоп по OPC-серверу. Скажите у меня есть kepserver с которого мастерскада4D забирает параметры. Безопасность и шифрование выключены. Но я не могу подключиться из Рапид Скады к нему, пишет «Ошибка соединения с ОРС-сервером: Certificate doesn’t meet minimum key lenght requrement»18.05.2022 в 21:24 #23590a80808УчастникПотому что люди, которые его администрируют работают в другом отделе и им якобы трудно, неудобно, очень заморочено заводить тэги в соответствии их реальным типом данных, а в стринг они где-то там используют у себя и им достаточно, мне сложно сказать, мне просто поставили задачу забрать у них данные и вывести в СКАДУ.
Ой как мне это знакомо…
Выражаю искреннее сочувствие. Надейтесь только на себя и не смотрите на других!19.05.2022 в 15:17 #23606MikhailМодераторCertificate doesn’t meet minimum key lenght requrement
Ответ здесь.
То есть нужно создать в проекте файл конфигурации клиента и прописать там указанные параметры.19.05.2022 в 15:18 #23607MikhailМодераторФайл конфигурации, если не ошибаюсь, создаётся автоматически в C:\SCADA\ScadaComm\Config
Нужно его в проект положить19.05.2022 в 21:34 #23618a80808УчастникЯ тут еще нашел, что в случае если «управляющий» канал имеет тип «Входной» то надо указывать тип данных Integer или Double. Если не указывать тип данных работает неустойчиво.
20.05.2022 в 15:15 #23619AlexanderUshakovУчастникМихаил, спасибо, заработало. Я поправил все прям из администратора в конфигурационных файлах Коммуникатора 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>20.05.2022 в 15:52 #23621AlexanderUshakovУчастникМихаил, еще вопрос. Весь день сегодня убил, но вопрос решить не вышло. Все из-за это передачи в стринг.
У меня приходит значение от 0 до 32767, это открытие клапана. Надо его в проценты переделать, соответственно разделить текущее значение на 327.67, но у меня не выходит.
Если я прям в канале формулу делаю Cnl / 327.67, то получается некорректное значение (например 3,05, а должно быть 77).
Если я делаю расчетный канал,
«Тип данных — пустой», Формат D
И скрипт:
public double AnalogConv(double s)
{
return s/327.67;
}
то выходит просто 0
Что то не пойму логику преобразований каналов.20.05.2022 в 17:06 #23628MikhailМодераторВ отдельном числовом канале получите число из строки без деления. Пришлите скриншот свойств канала. Посмотрим, что нужно дописать.
20.05.2022 в 17:08 #23629MikhailМодераторЧто-то типа
ScadaUtils.ParseDouble(DecodeAscii(Val(135))) / 327.67
Это конечно извращение. Если число будет длиннее 8 символов для ANSI и 4 символов для Unicode, то не будет работать.- Этот ответ был изменен 1 год, 10 месяцев назад от Mikhail.
06.06.2022 в 14:22 #23912AlexanderUshakovУчастникМихаил, был в отпуске, снова вернулся в неравный бой со стринг параметрами.
Вот скрин, надеюсь я правильно понял, что вы просили сделать:
https://disk.yandex.ru/i/YDgzV5_GIwhNPwСамое интересное, что когда я делаю расчетный канал с типом UnicodeString и в формуле пишу Val(128), то он не пишет тоже значение что и у канала 128 с типом UnicodeString на прямую.
06.06.2022 в 16:49 #23913AlexanderUshakovУчастникИ еще такой момент. У меня значения стринг приходят не полностью. Вот скрин где сравнение с OPC клиентом и значений в скаде — значение Частота Вентилятора М3 — нет одной цифры, а Положение клапапна Y1 показано полностью, но при отображении на схеме тоже одной цифры не хватает:
https://disk.yandex.ru/i/GdaXArcf2_NIIg
Если я им делаю длинна — 2 то на схеме показывается полностью число. Но вот изза того что у Y1 и Y2 каналы идут друг за другом, канал Y1 как будто занимается два канала для значения. Поэтому Y2 на схеме показан некорректно. Скрин:
https://disk.yandex.ru/i/nIBPGpki44rmYA06.06.2022 в 16:55 #23914RomirosУчастникКакую длину задаёте, столько каналов и пропускаете. Так это и работает. Посмотрите в коммуникаторе, как у Вас привязались каналы.
06.06.2022 в 17:06 #23915AlexanderUshakovУчастникRomiros, странно как то привязались, у Y1 длинна массива или строки 8 а у Y2 — 2. Оно же все автоматически установилось, получается надо править вручную и пересинхронизировать?
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.