Simple-Scada forum
Simple-Scada 2 => OPC UA/DA сервер arOPC => Тема начата: ARV от 25 Октября 2024, 13:10:49
-
Отлаживаю свой проект.
На одном компьютере все запускаю, localhost. Среда разработки симулирует ПЛК и изменения переменных в режиме отладки показывает практически в реальном времени.
В arOPC примерно 7000 тегов, 625 блоков. Очень много блоков по 1-3 тега, но есть и по 125.
Обновление в Simple-Scada всех тегов длится секунд 40, хотя опрос установлен 1 раз в секунду.
После нажатия на кнопку в Simple-Scada реакция в симулируемом ПЛК наступает тоже секунд через 20-30, точно не измерял, но явно ооооочень не быстро. То де самое происходит, и когда в отладчике ПЛК я изменяю значения переменных - в скаду они попадают спустя ту же самую задержку.
То есть где-то бутылочное горлышко... Или для симуляции это нормальное явление? Что посоветуете?
-
Добрый день.
Правильно понял, речь идёт о Modbus устройстве?
Можете конфигурацию прислать?
Айрат
-
В arOPC примерно 7000 тегов, 625 блоков. Очень много блоков по 1-3 тега, но есть и по 125.
То есть где-то бутылочное горлышко... Или для симуляции это нормальное явление? Что посоветуете?
Добрый день. А какое число стоит в параметре "Разрыв в регистрах"?
Я что-то такое как вы описываете наблюдал в одном проекте где этот параметр равнялся 1, а фактически разрывы достигали по 70-100 регистров между тегами. Устранение разрывов или увеличение этого параметра должно помочь.
-
Добрый день.
Правильно понял, речь идёт о Modbus устройстве?
Можете конфигурацию прислать?
Айрат
Да не вопрос, прикладываю.
-
Добрый день. А какое число стоит в параметре "Разрыв в регистрах"?
Я что-то такое как вы описываете наблюдал в одном проекте где этот параметр равнялся 1, а фактически разрывы достигали по 70-100 регистров между тегами. Устранение разрывов или увеличение этого параметра должно помочь.
Гм... Сделал от фонаря разрыв в 500, пересчитал блоки - стало 22. И реакция ускорилась секунд до трёх!
Спасибо!
-
Более детальное описание конфигурирования arOPC с указанием, на что влияет, не помешало бы в документации. А то методом тыка приходилось разбираться, как из одного 16-битного регистра получить 2 bool-переменные, если ПЛК одну распихивает в старший байт регистра, а другую - в младший. Было бы описание - было бы проще.
-
Гм... Сделал от фонаря разрыв в 500, пересчитал блоки - стало 22. И реакция ускорилась секунд до трёх!
Странно такого не должно быть. Число 500 допустимо только для битовых переменных, для параметров, читаемых командами 3 и 4, можно максимально задать 125. Специально перепроверил вашу конфигурацию, количество блоков у меня получилось равным 58.
Какой размер блока опроса в регистрах у вас получился?
Более детальное описание конфигурирования arOPC с указанием, на что влияет, не помешало бы в документации
Эта информация приведена в документации.
1. Информация о размере блоков и разрыве в регистрах на стр. 50.
2. Информация о получении битовых значений из регистров на стр. 51.
При большом количестве параметров в устройстве, могу порекомендовать разделить его, в OPC сервере, на два или три, в зависимости от возможностей контроллера и необходимой скорости опроса, виртуальных устройства, с созданием для каждого своего отдельного канала связи. В этом случае будет параллельный опрос.
-
Возможно, моя проблема была в том, что при импорте переменных из таблицы я не удалял верхнюю часть таблицы со списком блоков... А там их было 600 с хвостиком. Откуда они взялись, я уж и не скажу, т.к. не следил за этим...
При большом количестве параметров в устройстве, могу порекомендовать разделить его, в OPC сервере, на два или три, в зависимости от возможностей контроллера и необходимой скорости опроса, виртуальных устройства, с созданием для каждого своего отдельного канала связи. В этом случае будет параллельный опрос.
А вот за этот совет большое спасибо!
При опросе modbus ТCP параллельный опрос явно полезен, это просто Modbus вечно тормозит...