В части моделирования все похоже. И библиотеки конечно есть, и в отличие от amesima болшая часть открыта для пользователя. Особенность SimInTech втом, что он для АЭС использовался изначально и там много, систем, подсистем и оборудования, поэтому ядро изначално для больших схем писали свое. Соответсвенно с моделикой пока не работает. А брать готовое ядро моделике — терять все преимущества.
Например сейчас у нас модель гидравлической системы управления для подводной добычи газа считает все месторождение в реальном времени.
Референтная модель на моделике в SimulationX, c которой мы вериффицировались, на этой же машине медленне раз в 10-20, результаты совпадают.
Сейчас можно модель по протоколу FMI подключать.
Встроить возможность считать моделикой планируем, что бы открытые библиотеке можно было к нам подключать. Но у большинства комерческих продуктов, модели закрыты, хотя выполнены на моделике. Amesim тот же. А когда модель закрыта, какая разница, в том что там стандартная моделика, код то недоступен.
Нет тут тоже основное назначение — создание программы управления для контроллера. Более того есть сретификат для систем безопасности АЭС которые позволяют генерировать код из схемы в контроллеры управления важные для безопасности.
Что касается языка то это смесь паскаля (откуда взяли begin — end) и матлаба, где производная пишетеся как y' = a*x;
и естественно можно как в Simulinк из блоков собирать уравнения:
Например гидроцилиндр в виде набора блоков:
Камера в виде дифиренциального уравнения:
C амесим у нас смешная истоия была.
Мы их на простой задачи со стенкой из учебника поймали.
А поскольку библиотека для наших продавцов закрыта, он не могли поправть в течении полу-года.
А сколько там еще не простых ошибок?
База хороша, когда у вас комплектующие готовые и соотвесвуют этой базе. Тогда да берете теплообменник, а если к нему еще и модель с поддержкой FMI интерфеса для моделирования тогда вообще хорошо, но беда в том, если мы проектируем, у нас аппарат которого нет в библиотеке. К тому же в случае теплообменника, в авиации влияния неачинает оказывать взаимное расположение агрегатов, когда перетоки тепла, нужно учитывать.
А здесь возникает вопрос испытаний. В данном случае, я должен в теплообменник загнать воздух с температурой высоты 10 км это -50, плюс для работы System Identification, вы должны мерить не просто точку с установившееся режимом, а скорость перехода из состояние в состояние, с учетом инерционность термопар, сложности настройки оборудования, получить идеальное воздействие для переходного процесса вообще отдельная наука.
Если физика объекта не известна, то это не проектирование от слова совсем.
И если вы систему идентифицировали, в диапазонах на которых были данные, то при выходе за диапазон никто не гарантирует результата.
Так не вопрос написать любой блок на фортране для Simulink или SimInTech, вопрос в дальнейшей поддержки и его использованию. Написали вы чудесный блок привода на фортране, и отдали пользователю, а пользователю захотелось учесть изменения вязкость масла при условии работы привода в отрицательных температурах. И что ему делать? Изучать ваш фортран и пытаться понять где же здесь формула расчета трения скольжения? Вся прелесть структурного моделирования в наглядности решения и возможности его быстро анализировать и изменять под конкретные задачи.
Например вот в этом примере (Скрещивая ежа и ужа), у меня модель двигателя изначально была на фортране и я для меня это темный лес и фортран и тем более двигатель авиационный. Но когда фортран привели к структурной схеме (причем не важно Simulink или SimInTech) то сразу стало понятно, где и что нужно поменять для учета новых эффектов. Я подключал гидравлическую систему с расчетом течения топлива и управления электроприводом клапана и наглядно видел как мой двигатель изменения положения. В случае если бы это двигатель был на фортране мне пришлось бы потрать год на изучение теории двигателей и еще месяца 2 на освоение фортрана.
Про суть МОП очень смешно получилось. Как раз это извращение модельно-ориентированного проектирования почему то у Matlab даже в официальной документации проглядывается, а у русских продавцов матлаба это извращение вобще стало нормой.
На самом деле в модельно-ориентированном проектировании слово модель, это про модель объекта управления. Почему пользователи и продавцы Matlab считают, что здесь речь идет о модели программы управления, лично я не понимаю. Даже статью написал по этому поводу. Модельно ориентированное проектирование
Код программы управления и модель программы управления в нормальной среде это одно и тоже. По хорошему они вообще должны быть математически тождественны, с учетом возможностей таргета конечно.
Когда вы говорит о совпадении значения такта в моделирующей среде и на таргете, вы говорите о последних стадиях отладки кода.
Я же рассматриваю процесс проектирования целиком. На стадии проектирования, я ставлю блок интегратор, который должен интегрировать переменную и выдавать накопленное значение. С точки зрения разработчика СУ не важно какой шаг интегрирования важна накопленная сумма. А в процессе проектирования я должен иметь возможность запустить алгоритм с разным тактом, причем здесь Triggered Subsystem? Задача то исследовательская, я не знаю в начале какой шаг меня удовлетворит. В Simulink я должен при измени шага заново генерировать кода загружать его на таргет что бы посмотреть как он работает. В SimInTech я могу менять шаг интегрирования и такт исполнения, не запуская снова генерацию кода, при этом интеграл у меня будет содержать правильное значение вне зависимости от такта исполнения. Для больших проектов возможность анализировать запуск с разным тактом без повторной генерации большой плюс. Код Simulink этого не позволяет.
Я уже привел 3 примера включая видео, где показаны принципиально не решаемые проблемы Simulink на територии РФ. Принципиально не решаемые от слова совсем. По той причине, которую вы сам сформулировали разработчику Matlab не интерсны проблемы российских пользователей. Слишком мелкий рынок. Если для вас видео сравнения пользовательской модели ничего не говорит, то тут офтальмология бессильна. Мы же помогаем решать реальные проблемы. Та же проблем рассчета фильтра где расчет ускоряется в 10 раз, экномит время инженера и приносит реальную осязаемую прибыль.
Конечно если вы копнете нашу среду то выкопаете косяк и не один, но в отличие от Simulinк вы не будете посланы нах, поскольку найти разработчика который накосячил в MatLab невозможно. Мы же устраняем косяки практически сразу. Это преимущества тюнингованого барбуса, над среийной ренологан.
Matlab как и любоу другом западному вендору не итересны любые проблемы пользователей России — слишком мала доля рынка. Им интерсны только деньги, что правильно. Но местные продавцы матлаба у которых SimInTech отжирает кусок уже рассылают заказчикам SimInTech смешные письма почему Matlab лучше. На сегодняшний день по соотношению цена/пользва SimInTech делает Simulink как тузик грелку. Пример с Миландром ниже, пример с гидроприводом я взял от инженера Андреева. А вот пример одного из заказчиков по моделированию простого фильтра. Я даже не знаю что это фильтр делает. Мы повторили модель у нас и сами удивились. Видео сравнения скорости расчет Simulink и SimInTech
Базовые блоки это понятно и не вызывает вопросоов. Еще можно легче в на матлабе на языке или даже на фортране написать мат модель модель. Вопрос как потом с ней работать. И я вобще считал что электромоторчики это где Simulink должен был зачистить всю поляну и решить все проблемы, но оказалось не так. А точ то у вас нет проблем с Simulink значит вам повезло, либо вы знаете Simulink досконально так что не наступаете на грабли. Вот допусти у меня ступор всегда вызвает одна проста вещица. включаешь график — и скорость расчета падает это шо? Это ошибка программиста 1 год обучения. Но до сих пор когда включаю в Simulink графики любой расчет начинает тормозить.
Вот тут например наш конкурент в свое время отказавшися изучать SimInTech поскольку он все считает на Simulink, описывает его user side пробелемы с моделирование простейшего гидравлического поршня в Simulink simscape: engineerandreev.livejournal.com/3918.html
Цитата:
«Видно, что результат практически не отличается, за тем исключением, что Simscape почему-то начинает неистово дробить шаг в конце переходного процесса. Возможно, это связано со способом расчёта расхода, который в конце становится очень маленьким, а может и нет...»
«Примерно та же самая история. Результаты практически не отличаются, но Simscape почему-то безосновательно начинает дробить шаг. Что у него в голове? Я не знаю..»
Мои утверждения базируются на твредом финасовом оснвании, разработчики SimInTech уже 20 лет зарабатывает деньги на проблемах Simulink и с оптимизьмом смотрят в будущее! :))))
Человек занимающийся приводами с 1987 года, вполне мог решить все проблем на user side. Это вобше не первый случай когда на практике Simulink паказывает свою неприменимость по различным причинам, возможно все встреенные нам пользователи были рукожопыми. Но SimInTech c 1998 года, тогда еще под именем ПК МВТУ решал комерческие задачи, там где Simulink валился на user side проблемах.
Вобще то я ничего на задвал, я даже не автор статьи. Вопрос не ко мне, это вобще то не моя специальность, я до недавнего времени считал, что электропривод это настолько прост, что в любом моделирующем продукте все должно из коробки работать и там нет проблем и даже убогий Simulink должен считать его на раз два. Но оказалось, что там не все так просто. И попытки собрать на Simulink быструю и точную модель электромотора упираются в особенности и ограничения самого Simulink. Разрабочики электродивгателей попробовали SimInTech после Simulink и сказали, что тут гораздо быстрее считает и больше возможностей.
Исторически SimInTech работает там, где русские продавцы Matlab Simulink не могли решить конкретные производтвенные задачи (не важно это рукожопость продавцов или фатальный недостаток Simulink). :))))))
Если не барть в пример задачи управления АЭС, откуда изначально появлися SimInTech. то последнии кейсы:
1) расчет охлаждение датацентра, с учетом 8 000 юнитов на три сервера в каждом из которых 4 вентелятора со своей логикой управления.
2) расчет солнечной батареи спутника с учетом затенения от воспомогательных устройств.
В обоих случаях первое решение предлагаемое продавцами Matlab Simulink нихрена не работало так как нужно заказчику. С приводом получилось так же. Калачев Юрий Николаевич занимается приводами с 1987 года Автор книги Вектороно регулирование. Заметки практика. (в книге есть его почта для связи) И он всегда использовал Simulink пока как то раз не встретился с разработчиками SimInTech. В итоге он объяснил разработчику электрической модели SimInTech, что ему не хватет для счастья, электрик из SimInTech поставил задачу для доработки в математическом ядре и в итоге получился в продукт который покрывает Simulink в области моделирования электропривода как бык овцу. Сам удивлен. Подробнее в книге "Моделирование в электроприводе" Специалисты после практического использования решения в восторге об этом и текст.
http://simintech.ru/?page_id=7541
В части моделирования все похоже. И библиотеки конечно есть, и в отличие от amesima болшая часть открыта для пользователя. Особенность SimInTech втом, что он для АЭС использовался изначально и там много, систем, подсистем и оборудования, поэтому ядро изначално для больших схем писали свое. Соответсвенно с моделикой пока не работает. А брать готовое ядро моделике — терять все преимущества.
Например сейчас у нас модель гидравлической системы управления для подводной добычи газа считает все месторождение в реальном времени.
Референтная модель на моделике в SimulationX, c которой мы вериффицировались, на этой же машине медленне раз в 10-20, результаты совпадают.
Сейчас можно модель по протоколу FMI подключать.
Встроить возможность считать моделикой планируем, что бы открытые библиотеке можно было к нам подключать. Но у большинства комерческих продуктов, модели закрыты, хотя выполнены на моделике. Amesim тот же. А когда модель закрыта, какая разница, в том что там стандартная моделика, код то недоступен.
Что касается языка то это смесь паскаля (откуда взяли begin — end) и матлаба, где производная пишетеся как y' = a*x;
и естественно можно как в Simulinк из блоков собирать уравнения:
Например гидроцилиндр в виде набора блоков:
Камера в виде дифиренциального уравнения:
Для студентов и преподавателей бесплатный, плюс сейчас действует программа, за каждую публикацию статьи с использованием SimInTechплатится 10 000 руб.
Мы их на простой задачи со стенкой из учебника поймали.
А поскольку библиотека для наших продавцов закрыта, он не могли поправть в течении полу-года.
А сколько там еще не простых ошибок?
И если вы систему идентифицировали, в диапазонах на которых были данные, то при выходе за диапазон никто не гарантирует результата.
Делали так, 3 фазы, к ним звездой подсоединены резисторы 100 кОм, чтобы нулевую точку получить. Осциллографы измеряют падение на этих резисторах.
Например вот в этом примере (Скрещивая ежа и ужа), у меня модель двигателя изначально была на фортране и я для меня это темный лес и фортран и тем более двигатель авиационный. Но когда фортран привели к структурной схеме (причем не важно Simulink или SimInTech) то сразу стало понятно, где и что нужно поменять для учета новых эффектов. Я подключал гидравлическую систему с расчетом течения топлива и управления электроприводом клапана и наглядно видел как мой двигатель изменения положения. В случае если бы это двигатель был на фортране мне пришлось бы потрать год на изучение теории двигателей и еще месяца 2 на освоение фортрана.
На самом деле в модельно-ориентированном проектировании слово модель, это про модель объекта управления. Почему пользователи и продавцы Matlab считают, что здесь речь идет о модели программы управления, лично я не понимаю. Даже статью написал по этому поводу. Модельно ориентированное проектирование
Код программы управления и модель программы управления в нормальной среде это одно и тоже. По хорошему они вообще должны быть математически тождественны, с учетом возможностей таргета конечно.
Когда вы говорит о совпадении значения такта в моделирующей среде и на таргете, вы говорите о последних стадиях отладки кода.
Я же рассматриваю процесс проектирования целиком. На стадии проектирования, я ставлю блок интегратор, который должен интегрировать переменную и выдавать накопленное значение. С точки зрения разработчика СУ не важно какой шаг интегрирования важна накопленная сумма. А в процессе проектирования я должен иметь возможность запустить алгоритм с разным тактом, причем здесь Triggered Subsystem? Задача то исследовательская, я не знаю в начале какой шаг меня удовлетворит. В Simulink я должен при измени шага заново генерировать кода загружать его на таргет что бы посмотреть как он работает. В SimInTech я могу менять шаг интегрирования и такт исполнения, не запуская снова генерацию кода, при этом интеграл у меня будет содержать правильное значение вне зависимости от такта исполнения. Для больших проектов возможность анализировать запуск с разным тактом без повторной генерации большой плюс. Код Simulink этого не позволяет.
Конечно если вы копнете нашу среду то выкопаете косяк и не один, но в отличие от Simulinк вы не будете посланы нах, поскольку найти разработчика который накосячил в MatLab невозможно. Мы же устраняем косяки практически сразу. Это преимущества тюнингованого барбуса, над среийной ренологан.
Видео сравнения скорости расчет Simulink и SimInTech
engineerandreev.livejournal.com/3918.html
Цитата:
«Видно, что результат практически не отличается, за тем исключением, что Simscape почему-то начинает неистово дробить шаг в конце переходного процесса. Возможно, это связано со способом расчёта расхода, который в конце становится очень маленьким, а может и нет...»
«Примерно та же самая история. Результаты практически не отличаются, но Simscape почему-то безосновательно начинает дробить шаг. Что у него в голове? Я не знаю..»
Мои утверждения базируются на твредом финасовом оснвании, разработчики SimInTech уже 20 лет зарабатывает деньги на проблемах Simulink и с оптимизьмом смотрят в будущее! :))))
Исторически SimInTech работает там, где русские продавцы Matlab Simulink не могли решить конкретные производтвенные задачи (не важно это рукожопость продавцов или фатальный недостаток Simulink). :))))))
Если не барть в пример задачи управления АЭС, откуда изначально появлися SimInTech. то последнии кейсы:
1) расчет охлаждение датацентра, с учетом 8 000 юнитов на три сервера в каждом из которых 4 вентелятора со своей логикой управления.
2) расчет солнечной батареи спутника с учетом затенения от воспомогательных устройств.
В обоих случаях первое решение предлагаемое продавцами Matlab Simulink нихрена не работало так как нужно заказчику. С приводом получилось так же. Калачев Юрий Николаевич занимается приводами с 1987 года Автор книги Вектороно регулирование. Заметки практика. (в книге есть его почта для связи) И он всегда использовал Simulink пока как то раз не встретился с разработчиками SimInTech. В итоге он объяснил разработчику электрической модели SimInTech, что ему не хватет для счастья, электрик из SimInTech поставил задачу для доработки в математическом ядре и в итоге получился в продукт который покрывает Simulink в области моделирования электропривода как бык овцу. Сам удивлен. Подробнее в книге "Моделирование в электроприводе" Специалисты после практического использования решения в восторге об этом и текст.