реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Matlab и FEKO или CST Microwave Studio
Demonis
сообщение Mar 2 2008, 16:15
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 9-05-06
Из: Киев
Пользователь №: 16 911



Пришлось таки после долгого перерыва вернуться к связке CST+Matlab (CST Microwave Studio 5+Matlab 2006b)

Кое-что получается

-открытие программы и изменение параметров
cst = actxserver('MWStudio.Application');
cst.invoke('OpenFile','C:\\GA\\Test\\test.mod');
cst.invoke('StoreDoubleParameter','L','25');

-запуск солвера
cst2 = actxserver('MWStudio.Solver');
cst2.invoke('Start');

-экспорт S11 -параметров в формате TOUCHSTONE, хотя вот что-то SetNSamples как-то непонятно работает (просто скидывается вся точки расчета)

cst3 = actxserver('MWStudio.TOUCHSTONE');
cst3.invoke('Reset');
cst3.invoke('FileName','c:\\results');
cst3.invoke('Impedance','50');
cst3.invoke('Renormalize','True');
cst3.invoke('SetNSamples','20');
cst3.invoke('Write');


А вот попытка аналогично вызвать

cst5 = actxserver('MWStudio.ASCIIExport');

приводит к ошибке

??? Error using ==> actxserver
Server creation failed. Invalid ProgID 'MWStudio.ASCIIExport'

Как бы вызвать все-таки объект ASCIIExport??
Go to the top of the page
 
+Quote Post
nadie
сообщение Mar 4 2008, 12:56
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 22-07-05
Пользователь №: 7 016



Цитата
Demonis


Ваш опыт очень интересен, только насколько я знаю, нет открыто выложенных данных, как получить данные полей через COM интерфейс.

Работающий вариант, читать данные из бинарных файлов, которые находятся в директории Result (CST2008). Там есть как поля, так и 1D результаты. Проблема с полями возникает только в случае, если используются различные фичи типа Subgrigging, TST, так как поля в этом случае перестают быть просто 3Д матрицей.

Если у вас официальная лицензия, то как читать поля информацию вы можете получить у разработчиков. У остальных, знающих это, руки связаны соглашениями о не распространении информации, полученной от тех же самых разработчиков.
Go to the top of the page
 
+Quote Post
Demonis
сообщение Mar 4 2008, 15:28
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 9-05-06
Из: Киев
Пользователь №: 16 911



Нашел вот второй способ управления ЦСТ из Матлаба. В самом Матлабе можно сформировать *.bas файл такого содержания

Sub Main ()
OpenFile("C:\GA\Test2\test.mod")
StoreDoubleParameter ("L", 50)
With Solver
.Start
End With
SelectTreeItem ("Tables\1D Results\S11dB")
With ASCIIExport
.Reset
.FileName ("c:\example.txt")
.Mode ("FixedNumber")
.Step (20)
.Execute
End With
End Sub

и запустить его из матлаба строкой

! "C:\LIBRARY\ENGINEERING\CST STUDIO SUITE 2006\CST DESIGN ENVIRONMENT.exe" -m C:\test3.bas

(для 5-го ЦСТ без ключа -m). Так по идее можно через родные VBA-функции добраться до любых резкльтатов (хотя в моих расчетах мне вполне достаточно S11, VSWR). Но при каждом запуске заново запускается приложение и по выполнению закрывается. А когда таких запусков свыше 1000, то слишком много времени на запуск приложения уходит.

В принципе сам ASCII-экспорт можно реализовать в виде макроса в ЦСТ. Вот только как его заставить выполняться после каждого расчета по типу как это делается в Template based postprocessing??? Это бы решило все проблемы

А может ли кто-то проверить как работает вот такой вот макрос на версии новее 2006. А то почему-то экспортируется полностью все данные, а не 20 элементов.

Sub Main ()
SelectTreeItem ("Tables\1D Results\S11dB")
With ASCIIExport
.Reset
.FileName ("c:\example.txt")
.Mode ("FixedNumber")
.StepX (20)
.Execute
End With
End Sub

UPDATE:
макрос удалось запустить камандой:
cst = actxserver('MWStudio.Application');
cst.invoke('RunMacro', 'S11_Export');

Так что связать Матлаб и ЦСТ более-менее получается
Go to the top of the page
 
+Quote Post
nadie
сообщение Mar 5 2008, 08:25
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 22-07-05
Пользователь №: 7 016



Цитата
связать Матлаб и ЦСТ более-менее получается


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

Только не очень понятно, зачем заниматься таким экпортом, если эти результаты уже есть в виде бинарных файлов? Чтение и запись текстовых файлов отнюдь не быстрое занятие, особенно если это касается данных полей.
Go to the top of the page
 
+Quote Post
navuho
сообщение Mar 11 2008, 17:06
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 328
Регистрация: 21-07-05
Пользователь №: 6 972



CST 2008 Service Pack – Jan-18-2008 :

>General / Environment

>A DLL to read CST STUDIO SUITE™ results in MATLAB or in other external tools is available now. New Feature!
Go to the top of the page
 
+Quote Post
Demonis
сообщение Mar 14 2008, 07:07
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 9-05-06
Из: Киев
Пользователь №: 16 911



Посмотрел - полезная вещь для считывания результатов измерений.

Вот только доступ из Matlab к CST2008 как-то изменился. То, что работало в 2006 не работает с 2008, хотя вроде бы изменения небольшие. Можно конечно это все написать макросами в самом ЦСТ и запускать уже их, но как-то это немного в обход получается.
Go to the top of the page
 
+Quote Post
Jack_Profit
сообщение Jan 12 2010, 14:49
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 246
Регистрация: 16-11-09
Из: СССР
Пользователь №: 53 661



Свежие книжки по моделированию радаров в МАТLАВ.

Ваssеm R Маhаfzа, Аtеf Elshеrbеni. МАТLАВ Simulаtiоns for Rаdаr Systеms Dеsign, 2004.
Ваssеm R Маhаfzа. Rаdаr Signаl Аnаlysis аnd Рrоcеssing Using МАТLАВ , 2009.

См. линки в приложении

Сообщение отредактировал Jack_Profit - Jan 12 2010, 14:49
Прикрепленные файлы
Прикрепленный файл  Links.txt ( 314 байт ) Кол-во скачиваний: 77
 


--------------------
Учись бить врага!
Go to the top of the page
 
+Quote Post
VitaliyZ
сообщение Jan 19 2010, 12:01
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 382
Регистрация: 2-05-06
Из: мiсто Харкiв
Пользователь №: 16 681



Цитата(Jack_Profit @ Jan 12 2010, 18:49) *
Свежие книжки по моделированию радаров в МАТLАВ.

Ваssеm R Маhаfzа, Аtеf Elshеrbеni. МАТLАВ Simulаtiоns for Rаdаr Systеms Dеsign, 2004.
Ваssеm R Маhаfzа. Rаdаr Signаl Аnаlysis аnd Рrоcеssing Using МАТLАВ , 2009.

См. линки в приложении


Спасибо за линки, только в этих книгах нет ничего о связке Matlab / FEKO и CST Microwave Studio.
Go to the top of the page
 
+Quote Post
Прим_Юрий
сообщение Oct 24 2010, 07:22
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 13-05-10
Пользователь №: 57 238



Цитата(Yuri Potapoff @ Oct 20 2006, 17:56) *
Я имел в виду востребованность материала для публикации. Будет ли его кто читать - вопрос отдельный.





Читать будут, убеждён!
Если есть результат-просьба выложить.
Go to the top of the page
 
+Quote Post
Sharh
сообщение May 17 2011, 14:42
Сообщение #25





Группа: Новичок
Сообщений: 6
Регистрация: 4-05-11
Пользователь №: 64 772



Доброго времени суток, Вы не могли бы по подробнее описать с помощью какой команды возможно открыть проект CST из Matlab, запустить его и получить данные, с конкретным примером, желательно, а то никак не пойму что и как писать=((((
Go to the top of the page
 
+Quote Post
Demonis
сообщение May 18 2011, 06:37
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 9-05-06
Из: Киев
Пользователь №: 16 911



Цитата(Sharh @ May 17 2011, 16:42) *
Доброго времени суток, Вы не могли бы по подробнее описать с помощью какой команды возможно открыть проект CST из Matlab, запустить его и получить данные, с конкретным примером, желательно, а то никак не пойму что и как писать=((((


bas_fid = fopen('c:\PROJECT\cst2008.bas', 'w');

fprintf(bas_fid,'Sub Main ()\n');
fprintf(bas_fid,'OpenFile("c:\\PROJECT\\vivaldi.cst")\n');
fprintf(bas_fid,'DeleteResults \n');

fprintf(bas_fid,'StoreDoubleParameter ("parameter1", %f) \n', par(1));
fprintf(bas_fid,'StoreDoubleParameter ("parameter2", %f) \n', par(2));

fprintf(bas_fid,'StoreDoubleParameter ("parameter3", %f) \n', par(3));


fprintf(bas_fid,'Rebuild \n');

fprintf(bas_fid,'With Solver \n');
fprintf(bas_fid,'.Start \n');
fprintf(bas_fid,'End With \n');

fprintf(bas_fid,'End Sub \n');

fclose(bas_fid);


! "C:\Program Files\CST STUDIO SUITE 2008\CST DESIGN ENVIRONMENT.exe" -m c:\PROJECT\cst2008.bas

Вот так все успешно работает и для CST 2010. Пути к файлам и их название, естественно, проставлять свои. parameter1, parameter2, parameter3 - это названия параметров, которые надо поменять в проекте, par(1), par(2), par(3) - это, соответственно, значение, которые вы им присваиваете из Матлаба.

Для считывания результата ищите в каком файле их хранит CST. Как правило формат этих файлов текстовый. Все результаты можно найти в папке Results проекта.
Go to the top of the page
 
+Quote Post
Sharh
сообщение May 18 2011, 07:59
Сообщение #27





Группа: Новичок
Сообщений: 6
Регистрация: 4-05-11
Пользователь №: 64 772



Спасибо большое,попробую все это проделать, пока вроде все ясно)
Go to the top of the page
 
+Quote Post
Sharh
сообщение May 21 2011, 10:57
Сообщение #28





Группа: Новичок
Сообщений: 6
Регистрация: 4-05-11
Пользователь №: 64 772



подскажите пожалуйста как формировать .bas файл?
Go to the top of the page
 
+Quote Post
Demonis
сообщение May 22 2011, 16:51
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 9-05-06
Из: Киев
Пользователь №: 16 911



Цитата(Sharh @ May 21 2011, 12:57) *
подскажите пожалуйста как формировать .bas файл?


Так, собственно, в моем сообщении полностью описано как формировать bas-файл. Там открывается проект, удаляются старые результаты, меняются значения переменных, обновляется геометрия и запускается transient-solver. Если нужны какие-то другие функции, то ищем их в помощи по VBA и пробуем применять.
Go to the top of the page
 
+Quote Post
Sharh
сообщение May 22 2011, 17:15
Сообщение #30





Группа: Новичок
Сообщений: 6
Регистрация: 4-05-11
Пользователь №: 64 772



fprintf(bas_fid,'Sub Main ()\n'); в этом месте у меня Matlab выдает ошибку, скажите, пожалуйста какие параметры необходимо указать
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01492 секунд с 7
ELECTRONIX ©2004-2016