Физический сигнал Simscape: Почему существует?
Какова добавленная стоимость физических сигналов simscape по сравнению с обычными сигналами simulink? Насколько я вижу, с функциональной точки зрения нет никакой разницы между двумя типами сигналов: я могу добавить единицы к обоим типам, у них обоих есть направление потока, и у них обоих есть подобные функциональные блоки как добавление, вычитание... Только для физических сигналов доступные типы блоков очень ограничены. Почему ребята из Matlab просто не использовали обычные линии Simulink вместо физических сигналов?
4 ответа
Я не думаю, что это в основном связано с применением физических сигнальных устройств, хотя это и приятно. Я думаю, что речь идет о решателе - и до того, как он попадет к решателю, о выборе состояний и причинно-следственной связи уравнения - перестановке уравнений, готовых к решению.
Simulink не имеет ничего общего с этим и просто интегрирует сигналы в виде последовательности выборок. Я знаю, что это усложняется с решателями с переменным шагом, но они только проводят дополнительный причудливый численный анализ с выборочными данными. Интеграция и здесь-и-сейчас, вот что это все о!
Simscape просто начинается с набора переменных и набора уравнений, которые по-разному зависят от указанных переменных. Кажется, они называют это «двудольным графом». Точно так же, как мы должны прокладывать маршрут через одновременные уравнения, чтобы выбрать простые и заменить (или матричные эквиваленты этого), Simscape должен делать то же самое в программном обеспечении, поэтому он хочет поддерживать расширенную информацию о сигналах, например, в каких уравнениях они находятся и знает ли он или может легко получить их производные, что они из себя представляют и т. д. Физические сигналы ведут себя для нас, пользователей, точно так же, как сигналы Simulink, но я считаю, что они существуют для того, чтобы предоставить Simscape ценную услугу по сохранению этой дополненной информации живой и связанной между блоками. так что можно составить одно массивное матричное уравнение для всей системы,
Эта перестановка уравнений, готовая к тому, что более традиционный решатель застрянет, - действительно черная магия! Мы очень мало узнаем о том, как это делает Simscape, из документации MathWorks, но вы можете бесплатно установить OpenModelica и посмотреть, как это делается.
Физические сигналы, в отличие от сигналов Simulink, имеют связанные с ними единицы измерения. Это означает, что они следуют ряду правил, например, чтобы убедиться, что используется правильная единица (например, вы не можете добавить kg
а также m/s
). Из документации:
Использование физических сигнальных портов
Следующие правила применяются к портам физических сигналов:
Вы можете подключить физические сигнальные порты к другим физическим сигнальным портам с помощью обычных линий связи, аналогично сигнальным соединениям Simulink. Эти соединительные линии передают физические сигналы между блоками Simscape.
Вы можете подключить физические сигналы к портам Simulink через специальные блоки преобразователя. Используйте блок конвертера Simulink-PS для подключения выходов Simulink к входам физических сигналов. Используйте блок PS-Simulink Converter для подключения физических портов к входам Simulink.
Физические сигналы могут иметь связанные с ними единицы. Диалоговые окна Simscape позволяют вам указывать единицы измерения вместе со значениями параметров, где это уместно. Используйте блоки преобразователя, чтобы связать единицы с входным сигналом и указать желаемые единицы выходного сигнала.
Любой сенсорный блок в Simscape (в любой физической области) будет выводить физический сигнал. Затем вы можете преобразовать его в обычный Simulink для подачи на ваш контроллер. Точно так же любой блок источника в Simscape (в любой физической области) будет принимать физический сигнал в качестве входа.
Какова добавленная стоимость физических сигналов simscape по сравнению с обычными сигналами simulink?
Как вы думаете, что дают физические сигналы Simscape? Это один номер? Как вы решаете систему массовых пружин и амортизаторов с помощью только положения? Это положение И это скорость И это ускорение.
Я могу добавить единицы к обоим типам
Нет, ты не можешь. Вы кладете все, что вы хотите в Simulink. Вы не можете ничего выбирать о том, что находится в физическом сигнале в Simscape. Вы можете указать единицы измерения в блоках, которые соединяют сигналы, но вы не можете выбрать, что несет сама труба.
они оба имеют направление потока
Нет, они не Ваша голова и туловище связаны. Там нет направленности на это. Они просто связаны. Физический сигнал также просто показывает, что (вещи) физически связаны. Опять же, система масса-пружина-демпфер: если демпфер указывает на массу, а пружина указывает на массу, то есть ли вероятность, что демпфер может повлиять на пружину? Да, конечно. Демпфер влияет на пружину, потому что демпфер влияет на массу, а масса влияет на пружину.
Пружина влияет на массу, а масса влияет на весну. Сигнал является двунаправленным. Вы путаете направленность сигнала с кинематическими цепями.
они оба имеют похожие функциональные блоки, такие как сложение, вычитание
Если вы едете на поезде, который идет со скоростью 30 миль в час, и вы идете вперед со скоростью 3 мили в час, как быстро вы движетесь относительно кадра мира? Что делать, если вы идете назад? Существует физический смысл в сложении и вычитании физических сигналов.
[Для] физических сигналов доступные типы [функциональных блоков] очень ограничены
Что вы думаете, что они пропали? Можете ли вы также дать описание того, каким будет физический смысл этого функционального блока?
Почему ребята из Matlab просто не использовали обычные линии Simulink вместо физических сигналов?
Потому что они не одинаковы. Самым важным моментом, вероятно, является то, что Simscape - это сигнал + производная + вторая производная, но опять же, они просто концептуально отличаются. Simulink - это простой способ написания кода - выполните этот шаг, двигайтесь вдоль стрелки, выполните следующий шаг и т. Д. Simscape - это графическое представление физической системы. Физические сигнальные линии просто показывают, что все связано. Система решается одновременно.
Я предлагаю вам просто прочитать страницу продукта Simscape
Особенно,
Компоненты Simscape представляют физические элементы, такие как насосы, двигатели и операционные усилители. Линии в вашей модели, которые соединяют эти компоненты, соответствуют физическим соединениям в реальной системе, которые передают энергию.
Это описание сопровождает следующее изображение, которое показывает, как модели Simscape могут быть гораздо более интуитивно понятными для построения, чем модель, использующая стандартный сигнал. Это означает, что модели гораздо более удобны в обслуживании и более понятны, например, для инженеров, которые могут не иметь опыта работы с компьютерами.
Давайте углубимся в то, что такое "физическая связь".
[Simscape] использует подход физической сети, который отличается от стандартного подхода моделирования Simulink и особенно подходит для моделирования систем, состоящих из реальных физических компонентов.
[...]
Каждая система представлена состоящей из функциональных элементов, которые взаимодействуют друг с другом путем обмена энергией через свои порты.
Вы указали в своем вопросе, что оба метода имеют направление потока. Это не верно!
Блоки Simscape пытаются сбалансировать энергию между входом (-ами) и выходом (-ами). Например, фиксированное отверстие в жидкостной системе может иметь высокое давление на одной стороне. Simscape будет пытаться решить баланс давления на каждой итерации. Для этого вам понадобится какая-то собственная подсистема Simulink, если не для Simscape.