Pull to refresh

Comments 28

Маленькое замечание: термопара не меняет свое сопротивление (меняет его терморезистор) а генерирует термоЭДС, которая идет на усилитель и преобразователь...

Вам еще стать немного электронщиком в дополнение к немного уже не технолог и немного программист.

Подскажите как генерировать алгоритмы (рисунки 13-17)? По блок-схема все понятно, а по этой части документацию с ходу не нашел.

И сразу второй вопрос, как дела обстоят с OPC DA, UA. У обычных смертных не работающих с активной зоной контроллеры то буржуазные, хотелось бы модель покрутить с реальным ПЛК.

OPC и OPC UA блоки в закладке Устройства. Работает в нескольких проектах уже.

В папке демо пример есть

Если ваш контроллер с Linux или QNX то там все должно идти по кнопке. Если у вас микроконтроллер из поддерживаемых по умолчанию то там все тоже одной двумя кнопками. Если нет нужно брать один из шаблонов генерации и по образцу и подобию переделывать его под задачу

В папке SimInTech после установке есть папка doc в ней Программирование встраиваемых систем

C:\SimInTech64\doc\Программирование встраиваемых систем

Статью прочитать не смог, невозможный для восприятия стиль. Отдал ChatGPT на анализ. Тот ответил, что в статье утвержадется, что для построения моделей типа HIL обязательно нужен технолог.
Я что-то здесь сомневаюсь. В случае HIL не будет построено адекватеной модели. Там в лучшем случае можно помоделировать разные виды аварий и неисправностей на коротких отрезках времени. Зачем там технолог?
Другое дело SIL, как вот в этой статье, вот тут технолог бы пригодился со своими эвристиками. Потому что тут реально нужен прошлый опыт технолога при взаимодействии с ситемой.
А зачем технолог при моделировании аварий в HIL, о которых технолог даже не подозревает и в жизни не сталкивался?

На вкус и цвет все фломастеры разные, мне лично наоборот стиль научных публикаций и учебников никогда не нравился. В свое время я еще студентом, купил книгу Очков В.Ф. "Mathcad 6 для студентов и инженеров" купил ее просто потому, что нужно было курсовой сделать. Купил как справочник, только потому что там в содержании был интересующий меня пример. Открыл эту книжку в метро пока добирался из центра Москвы в свое замкадье, и не отрываясь прочитал всю пока ехел с двумя пересадками. Это было оченьку круто, читать книгу по программе как художественную литературу. Автор в предисловии поясняет:

"С другой стороны, автор понимает, что стиль этюдов (из которых составлена книга) не всегда импонирует читателю издательства "КомпьютерПресс", привыкшему к краткому, четкому и в то же время по возможности полномуизложению.

С тех по когда сам пишут тексты страюсь в меру своих слабых сил писать с художественными извращениям, что бы было не скучно. Конечно до Очкова мне как до Пекниа раком, но это не значит, что не надо пробовать.

Отдал ChatGPT на анализ.

Это порадовало реально. ChatGPT тоже ошибается. Основная мысль статьи что программист, как скрипач, не нужен а все может сделать технолог и даже отладить программу в контроллере. :))))) У нас был пример когда програмиста престали брать на объект, технолог гонял программу в конктроллере на модели, а потом сам заливал ее в контролел на АЭС. А определение технолога в начале:

Технологи - специалисты в конкретной предметной области: физики, электрики, конструктора и проектанты разных сложных объектов. Технолог знает, как работает его сложный технический объект, что и когда включать или что и когда выключать, чтобы не было потом мучительно больно.

Возможно мы говорим о системах разной размерности и сложности

В случае HIL не будет построено адекватеной модели. Там в лучшем случае можно помоделировать разные виды аварий и неисправностей на коротких отрезках времени.

Если говорить про реальные сложные системы, то например для отладки аппаратуры ледокола, используется полноценная модель реактора и турбины которую создают в ОКБМ на стадии проектирования, и на ней гоняют систему управления уже залитую в стойки и режимы там могут суткам моделировать, если разогрев реактора проверяют

Если бы существовали "полноценные" модели реакторов никто бы так не боялся их.
Тут даже полноценных моделей асинхронных моторов сделать не могут. Потому что полноценные модели либо слишком детализированы и с их расчетом в реальном времени не справляются компьютеры, либо моделируемые системы недостаточно изучены. Неспроста появился AI. Вручную наращивать детализацию люди больше не могут.
Программисты критически нужны в обоих случаях. В первом случае чтобы поддерживать модели на нужном уровне производительности и повышать её, во втором чтобы обеспечивать гибкость архитектуры модели. Ну и чтобы уже переходить на AI.
Если обходятся одним технологом значит модель морально устарела.

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

Потому что полноценные модели либо слишком детализированы и с их расчетом в реальном времени не справляются компьютеры, либо моделируемые системы недостаточно изучены. 

Нужно понимать, нет понятия "полноценная модель", для разных задач используются разные модели, даже для одного и того же устройства. Используются разные математические модели. Полнота модели и степень детализации определяются задачами. В статье речь и идет о програмнном обеспечении в системах управления сложными техническими устройствами. А значит нам нужна такая модель, которая выдаст значения соответсвющие точностями реального измерения, в точнее не надо, система управления и программа управления все равно эту точность не получат, в качестве исходных данных, следовательно для целей тестировани HIL она избыточна

Вот здесь пример создания модели для авиационного теплообменника и его сравнение с реальными данным, для определени минимально необходимой точности модели Модельно ориентированное проектирование. Создание достоверной модели, на примере авиационного теплообменника

Если обходятся одним технологом значит модель морально устарела.

С чего это? Реактор работате 60 лет, систему управления для него меняют раз в 10 лет, как может морально устареть модель, если сам объект не изменился?

Или взять модель движения летательного аппарата в Matlab Simulink, там просто уравнения Ньютона, как уравнение Ньютона могут морально устареть?

Программисты критически нужны в обоих случаях. В первом случае чтобы поддерживать модели на нужном уровне производительности и повышать её,

В статье шла речь про прогамирование систем управления для технических объектов, саму систему управления пишут программисты.

никто не боится автомбилей и электро самокатов

в профильных топиках говорят иначе ;)

А значит нам нужна такая модель, которая выдаст значения соответсвющие точностями реального измерения, в точнее не надо, система управления и программа управления все равно эту точность не получат, в качестве исходных данных, следовательно для целей тестировани HIL она избыточна

Тут запутали окончательно.
Модель в HIL не про точность , а про поведение, как я понимаю эту технологию.
И поведение это придумывается чисто умозрительно не опираясь ни на какой опыт. Например придумать сколько датчиков откажет и какого типа отказы будут.
Будет ли это дребезг, спорадические выбросы, разрывы, утечки и смещение показаний или прочее. Вот такие сценарии в HIL и отрабатывают. При чем тут технолог?
Это комбинаторная задача не уровня технолога.

Вы же не можете создать модель реактора прямо повторяющую физику реактора. Иначе бы в Чернобыле не ставили эксперименты на живом реакторе. Вы можете только моделировать переключатели и простые грубые зависимости типа звеньев второго - третьего порядка. А дальше неизвестность и эвристики.

Про колическтво листов в модели тоже не аргумент в пользу ее полноты и комплексности. Это может быть простое механическое масштабирование, когда вместо одного вентиля моделируют сотню. Вот вам и сотня листов или тысяча если рисовать, как на ваших скриншотах, заполняя все непропорционально большими блоками и рамками.

Т.е. тема адекватности моделей и принципов их создания в HIL не раскрыта.

Вы же не можете создать модель реактора прямо повторяющую физику реактора. Иначе бы в Чернобыле не ставили эксперименты на живом реакторе. Вы можете только моделировать переключатели и простые грубые зависимости типа звеньев второго - третьего порядка. А дальше неизвестность и эвристики.

Вполне себе можем. Для этого и придумали целый раздели математики диференциальное исчисление называется. Если у вас есть система диференциальных уравнений описывающая процесс, то вы можете его рассчитать. Переключения и грубые зависимости это для слабаков полупокерсов с Simulink. У нас SimInTech отмоделируюет все что движется, а что что не движется подвигает и тоже отмоделирует. :))))))

Т.е. тема адекватности моделей и принципов их создания в HIL не раскрыта.

Тема адекватности раскрыта, только ChatGPT этого не понимает, вот картинка из статьи:

Сравнение модели реактора и реального реактора
Сравнение модели реактора и реального реактора

Это может быть простое механическое масштабирование, когда вместо одного вентиля моделируют сотню. Вот вам и сотня листов или тысяча если рисовать, как на ваших скриншотах, заполняя все непропорционально большими блоками и рамками.

Конечно сотни и даже тысячи задвижек, калпанов и вентилей не показатель, комплексности модели, но вот когда эта сотня задвижек и клапанов, стоит в системе взаимосвязаных трубопроводов, реактора и турбины вмесе с насосами и теплообменниками, и когда перемещения клапана в одной части системы меняют всю систему с обратными связями по давлению, тогда да. У нас первой столконовение с Simulink было когда в систем было всего три клапана и один блок конденсатора, Simulink не смог решит задачу именно из-за уравнений механики жидкости и газа. Когда три клапана влияют на праметры всей системы через уравненьния Бернули и Новье-Стокса

А из последнего веселого у нас есть 8000 среверов у каждого из которых хитрый ПИД регулятор с 4 вентиляторами, в зависимости от нагрзуки на дата центра, греется либо процессор либо память либо жестки диски все это стоит в дата центре и динамически в течении дня меняет нагрузуку на все сревера.

Как я чуть не стал миллионером, продавая воздух, или почему Россия – не Америка

У нас SimInTech отмоделируюет все что движется, а что что не движется подвигает и тоже отмоделирует. :))))))

Моделировать то можно, но в HIL модель должна работать в реальном времени.
Поэтому я не верю, что вы имеете модель реактора со всей тысячей клапанов работающей в реальном времени.
Тема все же не раскрыта.

Simulink то хоть может откомпилировать модель и запустить на специальной RealTime платформе, а не на Windows. А ваш SimInTech чё?

Поэтому я не верю, что вы имеете модель реактора со всей тысячей клапанов работающей в реальном времени.

Если на клетке слона прочтешь надпись: буйвол, — не верь глазам своим!

Вот у меня на макбуке в виртуальной машине крутится часть модели реактора с турбиной там 5 проектов (пять моделей которые можно на разные компьторы разнести), 300 задвижек и клапанов 500 датчиков в гидравлике 1465 объемов.

Считает в 5 раз быстрее реального времени. То есть даже здесь можно модель увеличить в 5 раз и попадать в реальное время. А если несколько компьютеров поставить? Обычно модель реактора ледокола на 5 машинах разворачивается и спокойно сичтает.

Считать больше быстрее точнее!
Считать больше быстрее точнее!

Simulink то хоть может откомпилировать модель и запустить на специальной RealTime платформе, а не на Windows. А ваш SimInTech чё?

У вас просто представление о моделировании испорченно тормозным Simulink-ом.

У нас тоже можно скопиилировать модель в Си и запустить хоть в контроллере, но если запас в 5 раз быстрее реального времени, можно таким извращением не заниматся, а использовать модель в SimInTech на рабочей станции.

А, сорри, понял в чем подвох. У вас реальное время с очень длинными тактами.
Тогда вопрос снят.
Приколько только что вы умудряетесь писать про системы управления и не упоминать длительность такта.

Кстати интересен вопрос выбора масштаба самого реального времени.

Правильно! Если требуемый так управления маленький то никакой компьютре не успевает, даже на простой модели. В теплогидаравлической модели турбины шаг интегрирования плавающий в зависимости от процессов модель его меняет от 0.1 до 0.001 секунды, для автоматики шаг постоянный 0.05 сек. На контроллере такой же.

Вот тут сравнение Simulink - SimInTech одинаковые методы модели и шаги урпаления скорост в 4 раза

Это вообще не серьезно.

Во-первых, профилировщик сам замедляет работу модели. Покажите для начала такой же мощный профилировщик у SimInTech. Во-вторых реально модель выполняется за 2.7 сек. В третьих, есть еще отладочная информация, это тоже занимает время. И в оригинальной модели графиков гораздо больше чем у вас.

Словом если что-то моделируется в несколько раз быстрее, то ищите проблему в этой самой быстрой модели. Там наверняка будет либо меньше отладочных данных, либо меньше диагностики, либо она будет менее точная (проверьте типы данных)

Нет, не прокатит :))) Тут как раз эталонная модель, для прямого сравнения лоб в лоб, в отчете до 14 знака отклонения искали поэтому и методы интегрирования, и шаги и графики все 1 в 1.

Этому нет подтверждения. Но здравый смысл говорит, что софт не может отличаться по быстродействию если он принципиально считает одно и тоже.

Сравните компиляторы. Там отличия на проценты. Сравните симуляторы - аналогично. Я вам даже скажу, что ваша модель атомной станции не так сложна по сравнению с моделью обычного Buck-Boost конвертера, если в нем применяют детализацию моделей транзисторов уровня L3.

Давайте я вам дам мою state machine в Similink и сделайте ее сгенерированный код в 5 раз быстрее. (это риторика, конечно вы его быстрее не сделаете, его даже вручную уже несоптимизировать)

Обратите внимание на нули в профилировщике для подблоков модели. Т.е. они считаются вообще мгновенно. Все время уходит на накладные расходы на отладочные фичи.

Словом вы не привели доказательств, да и в модели Simulink применены закрытые блоки, типа модели атмосферы, которые вы врядли могли воспроизвести один в один.

Словом вы не привели доказательств, да и в модели Simulink применены закрытые блоки, типа модели атмосферы, которые вы врядли могли воспроизвести один в один.

Именно 1:1 и даже отчеты по валидации блоков с тестовыми моделиями в это работе были. Вот скриншот страницы

сравнение блока с учтом ветра
сравнение блока с учтом ветра

А вот полученные отклонения

Словом вы не привели доказательств, да и в модели Simulink применены закрытые блоки, типа модели атмосферы, которые вы врядли могли воспроизвести один в один.

Вот здесь: https://habr.com/ru/articles/787668/

Ну это, скажет так, просто реверсинжениринг.
Хитрыми уловками вы могли просто скомпилить .exe или .dll в Simulink и представить это своим заказчикам, как результат компиляции SimInTech.

Такие вещи скриншотами не доказываются. Тут все потроха надо рассматривать под лупой. Но это не принципиально. И так видно что Simulink пока гораздо сильнее в плане отладочных инструментов и косвенно это подтверждается скоростью ваших моделей.

так мы в очете и показываем все потороха, и лупа тут не нужна, кстати блок ISA атмосферы открыт в Simulink

Если посмотреть под маску
Если посмотреть под маску

Словарь Ожегова(вроде) залупить - отодвинуть кожу с пальца

здесь от англиского луп - петля :))))))

По Ожегову есть и такое - "завернуться". Например, "старая краска залупилась". Но мне припоминается и не очень официальное - типа "выступить не по делу" ;)

Но "запетлиться" - это, безусловно, что-то новое даже для Ожегова :)

А если подключить китайский язык? Вот где простор для воображения! Пресловутое и безобидное конкурентное программирование (concurrent programming) - просто отдыхает! :)

Sign up to leave a comment.

Articles