Simscape изменение свойств среды во время расчета

Обсуждение вопросов, связанных с Simulink

Модератор: Admin

drifter
Пользователь
Сообщения: 6
Зарегистрирован: Чт авг 04, 2011 3:46 pm

Simscape изменение свойств среды во время расчета

Сообщение drifter » Пт мар 01, 2013 8:32 pm

Подскажите, возможно ли менять значения свойств среды в блоке Fluid Propities во время расчета?
С уважением,
Владимир.

drifter
Пользователь
Сообщения: 6
Зарегистрирован: Чт авг 04, 2011 3:46 pm

Сообщение drifter » Сб мар 02, 2013 7:06 pm

Попробую описать подробнее.
РАсчитываю простенькую пневматическую схему в Simscape. Все хорошо, кроме того, что параметры газовой смеси во время работы системы меняются. (концентрации газов в смеси). Свойства газа указываются в блоке Gas Propieties. Возможно ли задать свойства как переменную и менять их во время расчета модели исходя из текцщего состояния системы?

chernykh
Эксперт
Сообщения: 4524
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Сообщение chernykh » Сб мар 02, 2013 7:17 pm

Для обычных блоков Simulink это возможно:
http://matlab.exponenta.ru/simulink/book2/10.php
Для Simscape - ??? (Для SimPowerSystem, например, нет).
Черных И.В.
Уральский федеральный университет им. Б. Н. Ельцина
Приглашаю к сотрудничеству: http://urfu.ru/ru/science/stimul-pablik
Связь через ЛС.

drifter
Пользователь
Сообщения: 6
Зарегистрирован: Чт авг 04, 2011 3:46 pm

Сообщение drifter » Сб мар 02, 2013 10:12 pm

Спасибо, попробовал, не меняет. Говорит не трогать во время расчета.
Но возникла другая идею, поvогите проверить.
почитал сорс блока свойств и обнаружил, что этоn блок походу лишь присваивает каким-то глобальным переменным типа A.R, A,Kin_viscocity и т.д. сои диалоговые свойства. Эти же переменные потом используются в других блоках Симскейп.
Можно ли эти переменные менять из S-функции или еще каким-нибудь образом?

chernykh
Эксперт
Сообщения: 4524
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Сообщение chernykh » Вс мар 03, 2013 3:39 pm

Можно менять в m-функции (блок Matlab Fcn). Переменную нужно объявлять глобальной в самой функции и в Workspace.
Черных И.В.
Уральский федеральный университет им. Б. Н. Ельцина
Приглашаю к сотрудничеству: http://urfu.ru/ru/science/stimul-pablik
Связь через ЛС.

drifter
Пользователь
Сообщения: 6
Зарегистрирован: Чт авг 04, 2011 3:46 pm

Сообщение drifter » Вт мар 26, 2013 12:17 pm

Написал в блоке MATLAB function
function y = fcn(u)
%#codegen
global R1;
y = R1*u;

R1 объявил в воркспейс

вот как он меня послал:
Global declaration not resolved to a Data Store Memory block registered via the Ports and Data Manager.

Function 'MATLAB Function' (#36.45.47), line 4, column 5:
"R1"
Launch diagnostic report.

Чего я не так сделал?

Ришка
Пользователь
Сообщения: 22
Зарегистрирован: Вт мар 24, 2015 5:33 pm

Re: Simscape изменение свойств среды во время расчета

Сообщение Ришка » Пт сен 09, 2016 4:42 pm

Такая же проблема: Global declaration not resolved to a data store memory block registered vis the ports and data manager.
Кто-нибудь сталкивался с такой ошибкой и если да, то как ее решить?

Ришка
Пользователь
Сообщения: 22
Зарегистрирован: Вт мар 24, 2015 5:33 pm

Re: Simscape изменение свойств среды во время расчета

Сообщение Ришка » Ср сен 14, 2016 4:13 pm

в симулинке эту проблему решила с помощью добавления в схему блока Data Scope Manager и указание этого же типа в типе данных Ports and Data Manager.