Показать сообщение отдельно
Старый 18.07.2016, 15:28   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 037
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Поговорим о быстродействии контроллеров

В данной статье будут рассмотрены вопросы быстродействия контроллеров.

На написание статьи меня натолкнуло неоднократное упоминание в переписке на то, что наши контроллеры "по слухам" не могут обработать много аналоговых сигналов. Что нет у них ресурсов программных для этого.

Также иногда всплывает вопрос, сколько точек сигналов может обработать контроллер.

Не знаю, кто и где распускает эти слухи, но реальность следующая.

---------------------------

Вопрос: В нашей схеме всего 184 канала ввода/вывода. Я так, с первого взгляда, понял, что Segnetics не располагает штатно модулями, чтобы покрыть нужное нам количество каналов. Это предполагает использование модулей сторонних производителей по RS-485? 112 каналов подразумевается именно по системной шине или всего на контроллер, включая и те, что будут на RS-485?

Ответ: В описании подразумеваются именно штатные модули расширения по шине. По RS485 можно подключить до 31 сторонних модуля или же ещё 31 любой контроллер (например, Pixel25) с ещё 8 модулями расширения - эти контроллеры будут банально предоставлять входы/выходы, типа как это делают "коммутаторы" модулей расширения у того же Сименса.

Если говорить о валовой производительности, то для SMH2G(i) предельное число точек ввода/вывода находится за гранью разумного, т.е. 65535 точек на ввод и 65535 точек на вывод.


Вопрос: Ну просто Cray, как минимум. Хочется Вам верить, что все так лучезарно.

Ответ: 2x 65535 - это ограничение программной обработки. Лично я не вижу способа ввести столько точек внутрь алгоритма, не затрачивая при этом уймы времени на сам ввод/вывод. Сила крэя не в синтетической обработке данных, а в том, что его узлы могут поставлять данные и отводить результаты с той скоростью, с которой он их образует. Хотя, опять же, всё дело во времени, т.к. за 100 мсек данных в программу ввести можно однозначно меньше, чем за секунду. Я же ориентируюсь на цикл обработки данных, равным именно 100 мсек.


Вопрос: Так как на данный момент есть указание от Заказчика на "имопортозамещение", параллельно рассматриваем **** и Segnetics. У последнего есть сложности с большим объемом контролируемых каналов, а точнее - ограничение по ПИДам на единичном контроллере в одном программном цикле.


Ответ: Я скажу на это следующее. Если задаться временем программного цикла, равным 100 мсек - этого времени с лихвой хватает на любые задачи ИТП/ЦТП/Вентиляции, то самый слабый наш контроллер, Пиксель-12, без проблем отработает 56 регуляторов за 78 мсек. Подтверждение на прилагаемой картинке - это скриншот из режима отладки, в этом режиме контроллер работает медленнее на 30%. Обратите внимание на выход "RealTick" блока Device(kernel) - это реальное время выполнения полного цикла программы.

Для сравнения, та же программа на контроллере SMH2G(i) - время выполнения 3 мсек. И дополнительно скриншот с более, чем 36000 FBD (смотрите на счётчик внизу справа), набранных именно ПИД-регуляторами. Сколько их штук получилось я, если честно даже не готов сказать - не считал, просто давил "Ctrl+V, вставить из буфера", на калькуляторе получилось больше полутора тысяч. Обратите внимание на время выполнения полного цикла - 38 мсек.

Trim5 имеет в разы бОльшее быстродействие. SMH4 процентов на 10 быстрее Trim5. Matrix хоть и имеет быстродействие, аналогичное SMH4.
Миниатюры
Нажмите на картинку для увеличения

Название:  Безымянный.png
Просмотров: 524
Размер:  105.7 Кбайт   Нажмите на картинку для увеличения

Название:  Безымянный1.png
Просмотров: 281
Размер:  110.7 Кбайт   Нажмите на картинку для увеличения

Название:  Безымянный2.png
Просмотров: 353
Размер:  92.4 Кбайт  


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 30.06.2022 в 18:40
Arsie вне форума   Ответить с цитированием