• Регистрация
AnyaKim
AnyaKim +25.08
н/д

новый вопрос

10.02.2020

Здравствуйте, уважаемые участники. Есть файл sm_scissor_lift_lib.slx. Нужно вызвать в окне scissors_full.slx блок 'Link 3 Holes'. Как это сделать? Заранее благодарю.

Simulink изучаю недавно. Еще не совсем точно разобралась с терминологией.

Теги

    10.02.2020

    Лучший ответ

    • kurguz+270.00
      18.02.2020 12:00

      Чтобы добавить таким образом библиотечный блок в модель, нужно соблюсти 2 условия:

      1. Вы должны работать в одной из последних версий Матлаба. Такое добавление блоков точно работает в релизах 2018b и выше.

      2. Библиотека (файл sm_scissor_lift_lib - это библиотека) должна быть в рабочих путях MATLAB, чтоб он знал что такая библиотека вообще есть.

      Что такое эти рабочие пути, можно почитать в справке: https://docs.exponenta.ru/R2019b/matlab/matlab_env/what-is-the-matlab-search-path.html

      Чтобы все работало как в видео, нужно распаковать архив для нужного релиза (я распаковал Scissor_Lift_R19a) и запустить скрипт startup_sm_scissor_lift.m.

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

      ScissLift_HomeDir = pwd;
      addpath([pwd]);
      addpath([pwd filesep 'Libraries']);
      addpath([pwd filesep 'Libraries' filesep 'Images']);
      addpath([pwd filesep 'Libraries' filesep 'Pace']);

      https://docs.exponenta.ru/R2019b/matlab/ref/addpath.html

       

      Можно вместо этого добавить библиотеку в браузер библиотек, но это чуть сложнее. Для этого вам нужен файл Scissor_Lift_R19a\Libraries\slblocks.m и инструкции из справки:

      https://docs.exponenta.ru/R2019b/simulink/ug/adding-libraries-to-the-library-browser.html

    Ответы

    • kurguz
      kurguz+270.00
      12.02.2020 17:57

      Ничего не понятно, попробуйте переформулировать.

      • kurguz
        kurguz+270.00
        18.02.2020 11:02

        С картинками стало намного понятнее. Теперь скажите, что вы имеете в виду под словом "вызвать блок в окне"?

        • AnyaKim
          AnyaKim+25.08
          18.02.2020 11:20

          Повторяю модель вот с этого ресурса https://de.mathworks.com/videos/multibody-simulation-with-simmechanics-81877.html?s_eid=PSM_15028

          На 8й минуте видеоролика, в новое окно вызывает модель из файла sm_scissor_lift_lib. У меня не показывают данные модели и не получается вызвать в новом окне. 

          • kurguz
            kurguz+270.00
            18.02.2020 12:02

            Чтобы добавить таким образом библиотечный блок в модель, нужно соблюсти 2 условия:

            1. Вы должны работать в одной из последних версий Матлаба. Такое добавление блоков точно работает в релизах 2018b и выше.

            2. Библиотека (файл sm_scissor_lift_lib - это библиотека) должна быть в рабочих путях MATLAB, чтоб он знал что такая библиотека вообще есть.

            Что такое эти рабочие пути, можно почитать в справке: https://docs.exponenta.ru/R2019b/matlab/matlab_env/what-is-the-matlab-search-path.html

            Чтобы все работало как в видео, нужно распаковать архив для нужного релиза (я распаковал Scissor_Lift_R19a) и запустить скрипт startup_sm_scissor_lift.m.

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

            ScissLift_HomeDir = pwd;
            addpath([pwd]);
            addpath([pwd filesep 'Libraries']);
            addpath([pwd filesep 'Libraries' filesep 'Images']);
            addpath([pwd filesep 'Libraries' filesep 'Pace']);

            https://docs.exponenta.ru/R2019b/matlab/ref/addpath.html

             

            Можно вместо этого добавить библиотеку в браузер библиотек, но это чуть сложнее. Для этого вам нужен файл Scissor_Lift_R19a\Libraries\slblocks.m и инструкции из справки:

            https://docs.exponenta.ru/R2019b/simulink/ug/adding-libraries-to-the-library-browser.html

            • AnyaKim
              AnyaKim+25.08
              19.02.2020 13:35

              Здравствуйте.

              1. установлен matlab 2019b

              2. установлен путь библитеки, но при запуске скрипта startup_sm_scissor_lift.m

              выдает ошибку и еще требует установить компилятор mex, что тоже безуспешно.

               

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

              4. помогите решить возникшие проблемы. благодарю.

              если вам удобно напишите мне на почту cinderella-20@mail.ru

              • kurguz
                kurguz+270.00
                19.02.2020 14:19

                Вы должны быть в папке проекта при запуске скрипта startup.

                Очень мелкие картинки, ничего не видно.

                • AnyaKim
                  AnyaKim+25.08
                  20.02.2020 11:03

                  Вроде бы заработала. Благодарю.

                  Можно еще совет по другому проекту. Построила модель машинки из твердых тел, если вы слышали RoboCake. Хочу спроектировать чтобы теперь эта модель могла двигаться по прямой и делать повороты. 

                  p.s. Массу прописала и инрецию прописала.

                  • kurguz
                    kurguz+270.00
                    20.02.2020 13:50

                    А вопрос в чем?

                    Если заработало, то нажмите стрелочку вверх :)