Широкомащабно моделиране на Simulink: най-добри практики за свързване на блокове

Какви са най-добрите практики за широкомащабно моделиране в Simulink, когато става въпрос за свързване на блокове? Бихте ли използвали една и съща структура за всички I/O портове на вашите блокове, за да улесните тяхното взаимно свързване (но очевидно ще има много излишни сигнали) или бихте дефинирали персонализирани структури за всеки тип I/O порт само с необходимата информация?

Например: Реакторът е моделиран като единичен блок с 4 входа и 1 изход:

  • I1. Фураж, който е структура, съдържаща: поток и концентрации (7 вида);

  • I2. Масов поток от ензими - скаларен;

  • I3. Масов поток на водата - скаларен;

  • I4. Отток - който се регулира от контролер за поддържане на постоянна маса в резервоара - скаларно;

  • O1. Изходящият поток, който е структура: поток и концентрации (да кажем 10 вида).

Сега си представете, че този реакторен блок е само малка част от целия процес. Има ензими и водни резервоари, свързани с него и някои други процеси надолу по веригата и т.н.

Бихте ли използвали уникална структура за всички IO портове (дори ако тя се мащабира до 50-100 компонента, но ще ви трябва по-малко на блок или 1 компонент като I2, I3 и I4 по-горе, които са скалари)? Смята ли се това за лоша програмна практика?

Или бихте персонализирали структурата на IO порта за всеки блок? Разбира се, бихте ги групирали по някакъв начин и ще ги използвате повторно, но без излишна информация.

Благодаря!


person remus    schedule 27.11.2013    source източник


Отговори (1)


Може да намерите следното полезно: http://www.mathworks.co.uk/videos/tips-and-tricks-for-large-scale-model-based-design-part-2-81873.html.

Аз лично бих използвал един вход за шина и един изход за шина за вашия реакторен блок. След това можете да групирате шини заедно, за да формирате по-големи шинни сигнали, докато се придвижвате нагоре в йерархията на вашия модел. Вижте блоковете Bus Creator и Bus Selector.

person am304    schedule 27.11.2013
comment
Бихте ли следвали подхода SISO за всичките си блокове? Имам предвид под SISO единична входна шина, единична изходна шина, които в крайна сметка биха били структури от структури. - person remus; 28.11.2013
comment
Предполагам, че зависи колко сигнала влизате и излизате от всеки блок, но това е много мащабируем подход и всички широкомащабни модели, с които се занимавах, използваха автобуси по един или друг начин. - person am304; 28.11.2013