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

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

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

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

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

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

Вопрос: В нашей схеме всего 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
Просмотров: 593
Размер:  105.7 Кбайт   Нажмите на картинку для увеличения

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

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


__________________
Программа делает то что написал программист, а не то что он хотел.

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

Последний раз редактировалось Arsie, 17.02.2023 в 12:52
Arsie сейчас на форуме   Ответить с цитированием