• Регистрация
ViacheslavM
ViacheslavM0.00
н/д
  • Написать
  • Подписаться

Как создать свои блоки в Simulink?

Всем доброго времени суток!

Столкнулся с проблемой (как мне кажется) нехватки ресурсов в Simulink.

У меня такой вопрос:

Возможно ли создать (написать самостоятельно) собственные библиотеки и блоки, с собственной логикой в линиях связи? 

А идея в том чтобы создать несколько блоков и линии связи между ними по закону электричества (где меньше потенциал, туда и пойдет сигнал от источника), но не используя стандартные блоки Simscape. А  логические линии свзи не имеют обратной связи.

Теги

    03.11.2020

    Ответы

    • aBoomest
      aBoomest+371.90
      3.11.2020 13:24

      Используйте блоки simulink семейства subsystems.

      • ViacheslavM
        ViacheslavM0.00
        3.11.2020 14:32

        Не первый год уже работаю с Matlab/Simulink. И не знаю, как с помощью Subsystem создать новый тип сигналов удовлетворяющие моему вопросу "... с собственной логикой в линиях связи?"

        Научите если знаете! Буду очень признателен.


        В противном случае категорически не соглашусь с Вами!
        Subsystem только то и умеет, что помещать в себя имеющиеся блоки. А что мне пока от этого толку, если сигнальные связи остаются связями без обратной связи?

      • aBoomest
        aBoomest+371.90
        3.11.2020 14:35

        Ну я сомневаюсь что можно создать "новый тип сигналов". Ну а для начала поясните что конкретно значит "новый тип сигналов", а то разковор слишком абстрактный.

        SimscapeElectrical чем не устроил, интересно знать?

        • ViacheslavM
          ViacheslavM0.00
          3.11.2020 15:12

          "разковор слишком абстрактный" - согласен!


          Ну вот например, если собирать электрическую цепь при помощи блоков из Simscape, то связь между например батареей (источником) и резистором (потребителем) создается как бы проводом. Как мы понимаем, что это провод? Так что в эту линию связи мы можем и параллельно и последовательно подсоединять другие блоки (например, конденсатор), и при этом в этом "проводнике" в разных точках будут разные уровни "тока". А блоки имитирующие электрические компоненты, как бы имеют обратную связь и не только реагирует на изменение сигнала с линии, но и задают свои воздействия. Ну и так далее.

           

          Так вот как и можно ли вообще создать блоки и взаимодействие между ними по такому же принципу?

           

          Чем эти не подходят? Просто задача не просто моделировать систему, а приблизится к реальной при этом не используя блоки из Simscape. Поскольку эта библиотека слишком физична и загружена, а я в итоге собираю dll-ки.

        • aBoomest
          aBoomest+371.90
          3.11.2020 16:05

          0. Создать тип сигнала не заложенного в симулинк не получится это точно.
          Абз.1. Думаю с блоками SimScape в этом плане все в порядке. Модели - это есть д.у. И они учтывают то что нужно. Есть модели которые более простые. Если надо что-то учесть, то нужна более сложная модель.
          Абз.2. Скорее всего нет. Если вы придумаете что-то такое как оно должно быть, то в пору создавать свой "симулинк". Видел лет 10 назад ряд статей, в которых описывалась подобная теория - по созданию универсальной программы моделирования. Интересное чтиво.

          в этом "проводнике" в разных точках будут разные уровни "тока"

          Иеете ввиду падение напряжение вдоль проводника?

          А блоки имитирующие электрические компоненты, как бы имеют обратную связь и не только реагирует на изменение сигнала с линии, но и задают свои воздействия.

          Что понимается под "свои воздействия"? Пример бы того что имеется ввиду.
          Что-то це не очень понятно? Если у вас есть кондер (ТОЭшный элемент), то он описывается дифуром. Если увас кондер как прибор - то там может быть учтено влияние ТКЕ, Тангенс дельта, . . . Это я пример привел просто. Подобное имеете виду? 


          Абз.3. Имхо если СимСкейп для вас слишком перегружен функциональностью, то соберите то, что нужно на блоках Симулинк. Или еще более глубже можно на дифурах все сделать, а в них учесть то, что именно вам нужно. Думаю это перебор по трудоемкости будет.

          • ViacheslavM
            ViacheslavM0.00
            5.11.2020 09:27

            Скорее всего нет. Если вы придумаете что-то такое как оно должно быть, то в пору создавать свой "симулинк". Видел лет 10 назад ряд статей, в которых описывалась подобная теория - по созданию универсальной программы моделирования. Интересное чтиво.


            Непрям кардинально новое, но со своими некоторыми законами и условиями.


            Иеете ввиду падение напряжение вдоль проводника?


            Нет, я имею ввиду падение напряжение после некоторых эл. компонентов.


            Что понимается под "свои воздействия"? Пример бы того что имеется ввиду.


            тут я просто говорю про простые взаимодействия с остальным компонентами. Например, на конденсаторе не может мгновенно поменяться напряжение, а, следовательно, и в цепи тоже. И прочие физические моменты.


            Я к тому, что я бы не стал задавать такой вопрос и такую тему, если бы не воспринимал Matlab не, то чтобы совсем оупенсорс, но хотя бы как кастомную среду. А, следовательно, и решение индивидуальных задач.

            • aBoomest
              aBoomest+371.90
              5.11.2020 21:30

              Непрям кардинально новое, но со своими некоторыми законами и условиями.

              Думаю это жестко "прописано".

              я имею ввиду падение напряжение после некоторых эл. компонентов.

              А что этого нет? Не замечал проблем с законами ТОЭ. Что-то конкретное? Есть пример?

              тут я просто говорю про простые взаимодействия с остальным компонентами. Например, на конденсаторе не может мгновенно поменяться напряжение, а, следовательно, и в цепи тоже. И прочие физические моменты.

              Это все безусловно так и реализовано. Вы в этом сомневаетесь?

          • kurguz
            kurguz+156.46
            5.11.2020 23:12

            Если вам не подходят стандартные разделы физики (домены) в Simscape, вы можете написать свой собственный: https://www.mathworks.com/help/releases/R2020b/physmod/simscape/creating-custom-domains.html