Открытие диалогового окна «Параметры блока» блока Simulink и программный доступ к его данным

#matlab #simulink #programmatically

#matlab #simulink #программно

Вопрос:

При двойном нажатии на блок Simulink открывается соответствующее диалоговое окно «Параметры блока». Ради автоматизации тех же тестов GUI я хочу:

  1. Определите, действительно ли диалоговое окно открывается при нажатии двойного щелчка.
  2. Доступ к некоторым данным из самого GUI (не используя get_param и set_param).

До сих пор я открывал диалоговое окно с помощью open_system и реализовал try — catch для проверки на наличие ошибок. Однако я не смог найти дескриптор открытого диалогового окна, поскольку findall(0) и findobj(0) возвращают только корневой объект

findall(0)

ans =

Графический корень со свойствами:

       CurrentFigure: [0x0 GraphicsPlaceholder]
ScreenPixelsPerInch: 96
         ScreenSize: [1 1 1920 1080]
   MonitorPositions: [1 1 1920 1080]
              Units: 'pixels'
  

Показать все свойства

и allchild(0) возвращает пустой массив 0x0

allchild(0)

ans =

0x0 пустой массив GraphicsPlaceholder.

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

Кроме того, close_system не выдаст сообщение об ошибке / предупреждение, если диалоговое окно выбранного блока не открыто.

Любая помощь будет высоко оценена.

Комментарии:

1. Диалоговые окна Simulink не являются графическими объектами и не имеют доступных дескрипторов. почему вы не хотите использовать get_param? Данные, к которым он обращается, — это то, что находится в диалоговом окне.

2. Некоторые параметры запускаются только при выборе определенной опции, например, манипулирование данными с фиксированной точкой. К этому, однако, всегда можно получить доступ через set_param / get_param, даже если они недоступны пользователю. Я хочу автоматизировать запуск GUI и пользовательских тестов доступности, а не самих API.

3. Я второй Фил . Насколько мне известно, мы не можем получить доступ к диалоговым окнам блока Simulink в качестве графических дескрипторов.

4. Хорошо, спасибо за вашу помощь.