Тема / Topic: Идеальная запись в архив не более 80 каналов
zem21
Active Forum Member / Активный участник форума
Участник № / Member № 418
отправлено / posted
На нижнем уровне в микроМРВ сделано 85 каналов типа пила, цикл - 10 мс; по Ethernet 10Mb их значения передаются в МРВ; в МРВ с циклом 10 мс они пишутся в архив. При просмотре архива наблюдаем следующее явление: 80 каналов пишутся идеально, тогда как остальные (81 и далее) могут писаться с интервалом вплоть до одно значение за несколько секунд (с такой же скоростью изменяются их значения на мнемосхеме). При увеличении циклов на обоих уровнях (в микроМРВ и МРВ) до 100 мс - ситуация не изменилась, отсюда можно сделать вывод - причина не в пропускной способности сети. Похоже это связано с ограничением в самом микроМРВ.
отправлено / posted
Это не совсем ограничения Микро МРВ, а ограничения ресурсов сети и свободных NCB-блоков. Я попробовал Ваш эксперимент. В моем проекте 102 канала, цикл пересчета 10 мс - сеть 100Mb (но в контроллере адаптер всего на 10Mb, так что суммарно можно считать, что 10Mb). При запуске узла в контроллере Микро МРВ было недостаточно тех NCB-блоков, которые были выделены для обмена, чтобы обеспечить динамику обмена с циклом в 10 мс. Это видно в log-файле в виде сообщений типа: NET:warning:waiting autosend(float) = 1 Т.е., система ожидает, когда освободится очередной NCB, чтобы отправить данные в сеть. Ожидание свободных блоков для отправки естественно привело к увеличению реального цикла пересчета до 20 мс - для этого я создал специальный канал подтипа СИСТЕМНЫЙ с дополнением к подтипу ВРЕМЯ ПЕРЕСЧЕТА, который и показал реальное время пересчета. При превышении установленного цикла пересчета вполне вероятны сбои, которые у Вас и выразились в торможении каналов больше 80-го номера (например, в моем случае из сотни так "тормозил" только один канал - все остальные исправно укладывались в 20 мс). После того, как я установил для обоих узлов цикл в 20 мс обмен пошел без сбоев. Очевидно, необходимо большее количество NCB-блоков для отправки, чтобы увеличить скорость обмена. Система автоматически определяет это количество исходя из количества каналов в проекте (один NCB - может перенести 80 Дискретов или 60 Аналогов). В моем эксперименте система выделила 3 NCB блока на отправку (это примерно 3*60=180 значений), но при такой динамике их явно не хватило. На данный момент параметр недоступен для ручного задания и видимо есть смысл его открыть (до сих пор количество удовлетворяло динамические потребности наших пользователей). Будем рассматривать возмжность предоставления задания этих параметров пользователем.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Гунин В.И.
Junior Member / Новичок
Участник № / Member № 450
отправлено / posted
Хочу поправить уважаемую группу тех. поддержки мы сталкивались проблемой нехватки NCB блоков на контроллерах. В итоге ее решили переводом значений аналоговых параметров в тип HEX и разнесением нагрузки по передаче их значений по фазам! Очень хотелось бы иметь возможность управлять выделение NCB блоков.
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |