1. Касаемо ЯП, где всё-таки спецификация? "скриптовый язык сместь языка матлаба, который сделали сначала с паскалем, поскольку на страте все хотели begin end "
Конечно есть. заходите в справку и читает полное описание языка всех его возможностей и встроенных функций, куча примеров в демо.
А в современны APC SimInTech способно? - разделить структуру ПО на ресурсы (Task) и разложить их на ядра?
Конечно и на ядра и запустить с разным на одном ядре тоже способно. Вообще струкруное моделирование в графическом виде учень удобно в плане разделения большого проекта на малые куски и сборки болшого проекта из малых кусков.
Мы же в статье вытащили кусок большой модели и запустили его на контроллере с заданным тактом
3. А можно этот dataflow разложить на задачи с разным циклом исполнения? напрммер свободный цикл, статичный цикл и прерывания?
Прямо в виде задвали цикл и количество исполнений для системы реального времени
4. Как выполнено взаимодействие с другими ПЛК/APC системы? Какая шина данных для скоростной передачи данных может быть использована и какие протоколы обмена поддерживаются? Есть возможность использования оптической сети аля Reflective memory/ где передача данных исчисляется сотнями наносекунд? Вы не обижайтесь, просто температуры и давление это не прокатка.
Тут вы уже путаете железную реализацию передачи данных (оптику драйвера работы с оптическими преобразователями) и проектирования алгоритма его локиги работы. На стадии проектирования я создаю графически алгоритм где беру одни блоки и соединию их с другим, на этой стадии я указываю что и где я хочу взять какие математические операции совершить и куда отправить результат - это чистая математика схема обработки данных. И я считаю что все происходит мгновенно в пределах одного временного такта.
Потом она переносится на контроллер, где появляются требования к скорости и вычислений и передачи данных. И может оказатся так что моя процедура вычислений вообще не укладывается в заданный временной промежуток. Это задачи проектирования аппаратной части, взять более производительный контроллер, или вернутся в SimInTech и распареллить вычисления или упростить. Обычный процесс разработки систем управления.
По передачи данных и ее скорости это тоже процесс привязки к аппаратному окружению. В SDK для контроллероной части NordWind есть две процедуры readsignal и writesignал (получить значение из памяти контроллера и записать). Если контроллер поддерживает оптическую сеть просто добавляете код передачи по этой сети. Можно в контроллер написать как подпрограмму. А можно код записать прямо в блок на схеме, и пре генерации прошивки он будет добавлен и в исходное Си для сборки прошивки через средства компиляции контроллера. Пользователь ставит блок на схему и получает при генерации все что нужно для передачи данных по любой поддерживаемой сети.
Ну и разумеется стандратные протоколы обмена данным распостраненные уже есть готовые прямо в виде блоков.
5. Про автомат состояний Вы так и не поняли. Не сложно написать программируемый блок машины состояний на 16/32 состояния и перехода для каждого состояния, - сложно сделать удобный генератор для, напрммер, 256 состояний и переходов из каждого состояния на DSL языке. Для этого и есть текстовые языки и описательные генераторы.
Все я прекрасно понял, если бездумно рисвавт все линиями то дейстивиетльно 256 состояний будут выглядеть как паутина и тексто действительно часто быстрее. Но как только вы хотите отладить текст, особенно если там сложная и запутаная логика. То даже паутина с подсветкой заначени и состояния становится более удобной.
Хотя для этого нужно иметь набитую руку и некий опыт. Вот например я как то заморочился и в графическом виде сделел алгоритм поиска оптимального пути. Да пришлось комбинировать скрипт,графический язык, и струкры базы данных. Но оказалось возомжно, хотя мой опыт програмиирования уровня тупого джуна. Просто захотелось нарисовть струкрутным методом логистическую задачу https://habr.com/ru/articles/698694/
А вот тут полотенце текста правил нечеткой логике собрал в читаемую графическую схему и прямо в процессе расчета на схеме можно
6. Кроме того не забывайте про моменты разервирования и их степени R/S (холодный/горячий резерв и его вариации), - где он в SimInTech?
И снова у вас смешивается аппаратура и ПО. С точнки зрения управляюющего ПО резервирование, это задача безударного ввода. Что бы при подключении резервного контроллера, все состояния счетчиков и регуляторов соотвевовали наработанным в данный момент у работающего контроллера. Система безударного ввода резерва у на реализована и уже 10 лет работает на станции. Новый введенный в систему контроллер получает состояний у работающих по подхаватывает управление без проблем.
Но уже аппаратное обеспечение (отключение питание, шины данны и т.п.) за производителем оборудования.
7. Какие используете станции ввода/вывода и какая для них используется ина данных? - ведь важна не только средняя производительность, а именно детерминированность и гарантированное время реакции. У нас ключевыми являются требования жёсткого реального времени. Типичный цикл управления порядка 1 мс включает: дискретизацию аналоговых сигналов, вычисление управляющих воздействий, формирование выходных сигналов, синхронизацию с оборудованием .
Здесь попрос чисто аппаратный, на АЭС используется система реального рвемени QNX (версия КПДА сертефицирования).
SimInTech это среда разработки алгоритмов управления, которая выдает СИ готовый к загрузке в любой контроллер, что его поддерживает. Нет зависимости от поставщика аппаратуры.
NordWind это рантайм для котроллеров под QNX и Linux исполниетельная среда для прокрутки алгоритмов созданны в SimInTech (поэтому если ОСРВ на контроллере позволяет укладыватся в 1 мs то все заработает, если нет то и нет)
Все прото отлично, не знаю кто ходит на формы в 2026 году:
Последнее обновление от марта
В телеграме пользователей более семи тысяч сообщений
Так что все хорошо у нас с развитием.
Кроме того,, не могли бы Вы подробнее рассказать про синтаксис встроенного ЯП, насколько понял это С?
Нет встроенный язык это скриптовый язык сместь языка матлаба, который сделали сначала с паскалем, поскольку на страте все хотели begin end. В Си происходит генерация кода, для того что бы залить алгоритмы разработанные в SimInTech в виде диаграммы FBD, в лбой современный контроллер или микро контроллер
А зачем тогда ссылки на ООП? Задвижки, клапана, насосные это всё понятно. А если чуть шаг в сторону, а там прокатный стан тандем с одним референс проектом на несколько ПЛК или проект слежения с жонглированием массивов данных или параметрируемая машина состояний?
ООП, это парадигма которую мы в SimInTech реализовали в графическом языке программирования. Чего нет не у одного моделирующего пакета вклюяая прямых конкурентов Simulink и Amesim. Весь цимес в том сто работая с объектам в графической среде, при генерации кода вы получаете читый СИ, соответвующий всем требования безопасности для систем управления выжных для безопасности АЭС.
Любую машину сосотоянию тысячи сигналов. Проект системы автоматического регулирования реакторного отделения как раз содержал порядка 7000 контролируемых параметров с 2016 года Балоковска АЭС работает под управления ПО созданного в SimInTech.
Так что ваш прокатный стан это как стакан семек на сдачу вот вам видео с куском модели АЭС прокатный стан отдыхает
Корпоративные стандарты АСУ ТП — это внутренние правила и решения, разработанные самой компанией и обязательные для всех её проектов и подрядчиков. Они учитывают:
конкретные типы оборудования и поставщиков;
Многие корпоративные стандарты сильно привязаны к конкретной платформе (Rockwell Studio 5000, Siemens TIA Portal, AVEVA System Platform). Замена вендора в будущем требует либо полной переписки библиотек, либо сохранения старой платформы — оба варианта дорогостоящие.
Забавно, что первым пунктом стандарта автоматизации идет список поставщиков. И уже ниже по тексту аккуратно многие.
Надо уже честно признать что проактически все стандарты привязаны к платформе и вендору.
Уже на этом этапе менеджеры любой компании ловят клин. И заявляют уже не стесняясь:
"У нас корпротоивный стандарт Емерсон и Якогава". А далее поскольку с тандарте уже прописана поставщик начинают использовать, то что есть у поставщика в плане типовых решений, а поскольку большой и крупный производитель имеет эти решения, то корпоративный стандарт првращяетс в копию предложений вендра.
Менеджеру удбоно, не надо слушать инженеров в поле, он берет лучшее мировае решение и внедряеет "best practic". Инженерам удобно куча готовых элементов и полно знакомых у которых можно спроситить. Собственник переплачивает за бренд вендора, но кого волнуют чужие деньги когда есть отакты поставщика оборудования.
Помню историю в Казахстане, где подрядчик автоматизировал местные линии китайскими контроллерами, и когда пришли русские строить завод кока-колы, он предлагал провереной и занкомое решение, но москвичи потребовали Сименс в два раза дороже.
Ну и сами вендры шарашат по мозгам, как хорошо иметь станраты от вендора:
В одном из кейсов Siemens описан опыт глобального поставщика автокомпонентов, который при миграции на Siemens внедрил корпоративный стандарт ПЛК и типовую архитектуру проектов.
Все изменяется если вдруг нужно сменить поставщика. Например он умер, или внезапно настипило импоротозамещение, или как у немцев было сусидии фраму Меркель выдала с условием, что бы французкую каталическую Dassault заменили на православный протестанстки Siemens, да мало ли случаев когда нужно сменит вендра. И тут выясняется что
Самый болезненный этап — перевод старых линий под новый стандарт. В реальных проектах компании тратят 2–4 года и десятки миллионов евро только на то, чтобы привести хотя бы 50–60% парка в соответствие.
При этом сами вендры, делают все что бы ПО, типовые решения, и средства разработки не могли быть использованы для оборудования другого поставщика.
Но за 2 - 4 года, может многое изменится. И на кону мочало - начинай сначала! Вон очередной дед, запретит применять контроллеры Siemens на американских заводах, и куда можно будет засунуть копрпоративный стандарт?
Поэтому отличная статья и внедрени стандартов отличная и правильная тема. только вот если это внедрении требует 2–4 года и десятки миллионов евро только на то, чтобы привести хотя бы 50–60%, не делайте этого.
Любое внедрение стандратов должно сокращать затраты сразу, а не через 4 года.
И важно — его это устраивает не потому, что это лучший вариант, а потому что он не видел других подходов и не сравнивал с лучшими практиками.
Как только я слышу "best practics" моя рука тянется к пистолету. В 99% вам пытаются впарить устаревшее дерьмо динозавра от ведущих вендоров, ни имеющее никаких реальных преимуществ для любого современного предприятия.
LAD это не основа современной автоматизации это рудимент зашоренных мозгов автоматичков со време релейных схем, которым лень включить мозг. И решает только самые примитивыне задачи включения - выключения. Любой современный алгоритм содержит более сложную математику на которой LAD просто не работает.
Ladder notation is best suited to control problems where only binary variables are required and where interlocking and sequencing of binary is the primary control problem. Like all parallel programming languages, the sequential order of operations may be undefined or obscure; logic race conditions are possible which may produce unexpected results. Complex rungs are best broken into several simpler steps to avoid this problem. Some manufacturers avoid this problem by explicitly and completely defining the execution order of a rung, however, programmers may still have problems fully grasping the resulting complex semantics.
Analog quantities and arithmetical operations are clumsy to express in ladder logic and each manufacturer has different ways of extending the notation for these problems. There is usually limited support for arrays and loops, often resulting in duplication of code to express cases that in other languages would call for use of indexed variables.
Если у вас автоматизации уровня вкл - выкл, то LAD если делает хоть что то с регулированием (а сейчас даже унитзы делают с регулирование слива) то FBD
Это интересная концепция, но она только усиливает основной вопрос: если одна и та же модель является рабочей логикой, то требования к ней должны определяться не удобством разработки, а удобством эксплуатации и диагностики.
Кстати а ведь реально, мы для технолога по сути заменили рисование в визио и описание алгоритмов текста, на модель которая ужен на стадии разработки может запускатся на исполнение. И следовательно он уже на стадии разработки вынужден заниматся отгадкой! Таким образом его стадия разработки технического задания на автоматизацию превращается местами в стадию эксплуатции и диагностики. Если он запускает свой алгоритм на исполнение. Что бы заставить алгоритм работать ему волей не волей приходится влезать в шкуру отладчика исоотвесвенно. Поэтому наш инструменит взлетает у наладчиков как только они ни его попробуют, возращатся назад не хотят.
Без переходов, без поиска, без дополнительных действий.
Отдельно про FBD. Его не используют как основной инструмент диагностики не только из-за читаемости, но и по более простой причине — он занимает слишком много места на экране.
В результате:
на одном экране видно мало логики,
сложно охватить цепочку целиком,
приходится постоянно перемещаться и масштабировать.
LAD гораздо компактнее:
на одном экране помещается больше условий,
сразу видна причинно-следственная цепочка,
легче «сканировать» глазами.
Здесь вы путаете интсрументарий для создания программы АСУ ТП SimInTech и конкретнкю архитектуру кокретной системы управления. У нас в SimInTech ничто не мешает вам упаковать ПИД регулятор в субмодель а на верх вывести нужные для быстрой отладки значения, причем определить, что нужно показывать можно и сточки зрения удобства выпуска документации, и с точки зрения удобства отображения в режиме наладки на контролере. И здесь вопрос уже не к технологии VМодельно ориентированного проектирования в SimInTech, а к разработчику. Вот например реальная упаковка сложных алгоритмов в блок, который в режиме отладке, когда SimInTech подключкен у контроллеру выдвет и вунтренние значения в виде числе и цветовую индикацию состояния. Это сделано именно разработчиком, который с десчток лет отлаживает эти алгоритмы и в модели и в контроллере.
Отладка сложного алгоритма
В принципе если стоит задача сделать отображение в виде LAD диаграммы, то прямо сверху алгоритма ее можно изобразить ровно так как привыкли отладчик, а значения для отображения состояния барть из FBД диаграммы.
И ещё один важный момент — те, кто проектирует такие решения, как правило, сами не работают с ними в условиях аварии, когда счёт идёт на минуты и любое лишнее действие критично.
Первое внедрение SimInTech это отдел создания АСУ ТП для реакторов типа РБМК полсе Чернобыльской аварии. Все кто ставил задачу разрабочику ПО, непосредственно сидели на обёкте во время ППР и работали с АСУ ТП. Поэтому все идеи наработки и решения непосредсвенно с поля, где счет идет на часы ППР (день простоя - миллиарды), а ошибка это Чернобыль.
Ничто не мешает реализовать в SimInTech LAD диаграмму элементы даже приведены в статье.
Задача SimInTech, здесь не сократить сроки разработки а сократить время пусконаладки (и ремнто пригодности). Одним из реальных примеров внедрения, был отказ брать на пусконаладку на объект программиста. Всю настройку делал технолог с SimInTech.
Сама разработка скорее замедляеется поскольку проектант вынужден видеть ошибки до того как их положили в контроллер через 2 года полсе начала проекта.
Технология SimInTech разработана для АЭС, там где один день простоя раектора на 1000 МВТ электрических стоит дороже любых систем возможных протстоев любого конвейера на любом заводе.
Дороже возможно только остановка станка по печати денег.
Именно поэтому во всех зрелых платформах: Siemens, Allen-Bradley и тд.
используются:
LAD как основной инструмент диагностики
Даввйте все таки разделим задачу на две части 1
1) Где разорвалсь логика и какой interlock заблокировал запуск - это логика работы технологическая (то что определяет разработчик объекта будь это реактор атомный, реактор химический или мехенизьм открытия дверей в электричке) эта логика определяется объектом и должна быть реализована "как есть"
2 ) какой сигнал не прошел - здесь уже присутсвует аппаратура, может провод отошел, может датчик оказал, может на плате ввода вывода скис кондесатор и сгорела микросхема.
Разберем по частям
Для первой части, хотите вы или нет вам нужно понимать логику работы особенное если алгоритмы сложные, здесь возможность посмотреть что происходит очень важна.
Из живых примеров, на АЭС перегрев подпятника насоса зваеден как сигнал предупредеительной сигнализации. Выключение насоса шататно приводит к останову и посадке подпятника - температура повышается, вся система в истерике предупреждает оператора о проблемах. Не пройдя всю цепочку выснить какой датчик нужно отключить из логики обрабоки ошибок при остановки не возможно. Неделю искали причину с привлечение технологов протестантов, завода изготовителя насоса и наладчиков. Будь у них SimInTech пройдя по схемам FBD увидили бы это как раз за минуту. За вторую минут добавили переключатель, который снимает эту сигнализацию при штатном отключении насоса.
2. Диагностирование отказа в железе так же возможно прямо в SimInTech для этого мы просто делаем интерфесные блоки в которых прямо на схеме связываем контакты плат ввода вывода и переменные в базе данных сигналов проекта. Более того у нас по умолчанию каждыйсигнал на входе имеет статус (достоверность) и време измерения. И тогда мы опять таки лекго прямо в SimInTech видим на какой ножке платы или с какого устройства по протоколу мы получили проблемы.
Структура связи аппаратуры и алгоритма
Теперь если у меня ошибка логическая я вижу в диагремме где она произошла и что таам сломалось, я работаю с переменными в программе. Если у меня ошибка аппаратная, и диагностируется аппаратурой я тоеже вижу на такой же диаграмее которая описывает плату ввода вывода
Представление плат ввода вывода в SimInTech
И для упрощения отладки я в блок в SimInTech любую индикацию для отладки. Например зелейную или красную лампочку, что бы точно определить на каком контакте у меня косяк
Достоверность сигналов в SimInTech
Что касается LAD, ничто не мешает вам реализаовать логику работы в виде релейных контактов используюя SimInTech в статье как раз пример использования элементов LAD и приведен.
Генерация кода (особенно в C) дополнительно усугубляет ситуацию:
теряется прозрачность,
код превращается в «чёрный ящик»,
возрастает MTTR.
Генерация кода Си это просто внутренний механизьм обеспечивающих кросс платформенность. Си обеспечивает загруску диаграммы из SimInTech куда угодно от микроконтроллеров АРМ до супер ЭВМ без всякого изменения и градацией математической однозначности. Нарисовал один раз и используй везеде и всегда. Для разной аппаратуры используй просто разные компиляторы, которые понимают СИ. А Си понимают примерно все.
Никакая прозрачность не теряется если вы используете SimInTech. То что у вас между Схемой и контроллреом есть байтовая прошивка или бинарный исполняемый файл в системах с ОСРВ, вас не смущает? Тоже теряется прозрачность, на котроллере крутится не совсем то что рисуете в LAD диаграммах средства разработки от Сименса Шнайдреа или Ален бренди.
Проект после ввода в эксплуатацию становится инструментом диагностики. Инженер должен мгновенно понимать:
что это за скорость,
откуда она берется,
где искать ее в схеме,
и что это вообще за сигнал.
Если речь идет о скорости на риснке из коментанитя то это пример быстрого создания модели для тестирования алгоритма, и она берется из характеристик оборудования, когда нужно быстро превратить последовательность срабатывания каких либо защит при нагреве и охлаждении. Для в проекте, есть куча способов быстро определилить источник сигнала, начиная с системы кодирования, закзаничвания поиском источника по всем проектам. Ну например я как раз тупо менеджер и забыл как у меня сто работает подключаю ноутбук к контроллеру и открываю алгаоримт защиты вижу датчики. LBA20CP001A -технолог уже на это месте может расказать какая система какой датчик и какая труба, но я тупой менегер.
алгоритм
Кликаю на поиск и попдаю в базу данных где руским языком для дебила написано написано что это давления в ГПК (Главный паровой коллектор)
база данны сигналоа
После этого открываю схему гидравлики поиск и вижу где у меня стоят эти датики
датчики на схеме
тоже самое могу сделать с любым сиганлом в работающем в контроллер алгоритме. Наприме у меня в алгоритме учитывается положение задвижки. Два кличка мышки и я про это задвижку занаю все что нужно.
Два клика мыши от алгоритма доописания сигнала
Там же я могу посомтрть не только заначения показания датчика или задвижки но еще и под сотню параметров описывающих датчик или задвижку как в проекте (см. пример на рисунке). Хотите посомтреть списком сигналв выбирайте и смотрите
И при этом значение сигнала — в отдельном всплывающем окне. Серьезно?
В отдельно всплывающем окне я могу посмотреть значения на линии связи во время выполенения алгорима, это не сигнал это промежуточные вычисления, которые происходят в алгоритмме, если он достаточно сложный или нужно посмотреть за накоплением в интеграторах или счетчиках во время отладки жто бывает полезно
Отборажение лагоритмы во время работы в контроллере
ни комментариев, ни декомпозиции на небольшие алгоритмы (нетворки, рутины).
Тут сама диаграмма это один сплошной окментарий. Здесь сам принцип формирования алгоритма обязывает разработчика декомпозировать на листы алгоритмов и системы, просто потому что это диаграмма алгоритмов.
Инженеры десятилетиями оттачивали подходы к диагностике и сопровождению. А здесь предлагается решение, которое игнорирует этот опыт.
Это решение уже 20 лет реакторами АЭС и АПЛ управляет. Это решение разработано как раз под созлание сложного АСУ ТП для атомных реакторов.
Вайншток это Транснефть эксплуатация после постройки. Мы тут участовавли на этапе проетирования. Курировать проект назначили ВНИИСТ, за нми стоял Вексельберг через Кипрскую контору. Его люди же и набрал кучу атомщиков тогда для присмотра за проектом на стадии проектирования и создания моделей.
Могли - это ключевое слово. А как управляли и как проектировали управление это другое. Возможно но зачем? :))))
Может быть у меня профдеформация, но мне кажется что никакого переобучения большого тут не нужно. По сути дела на объекте нужен только ноутбук с SimInTech подключили к окнтроллеру и смотрим на схеме что там внутри его происходит. На экране FBD диаграмма по линиям бегут цифры, все наглядно прозрачно.
По моим оценкам любой програмист ПЛК или разработчик алгоритмов управления осилит SimInTech недели за две.
Модель всего объекта тоже не обязательна. В пирмере я просто бак с насосами и задвижками собрал за 15 минут. Но можно еще упростить - поставить источник - уровень и два коэффициента для его снижения при одном включенном насосе или двух насосах. Будет примерно как нагреватель в статье https://habr.com/ru/articles/307090/
Модель нагревателя
Можно вообще без модели прямо в SimInTech задавать воздействия входы и смотерть что там алогритм на выход выдает.
Для подключения плат ввода-вывода, дестивительно уже нужен программист, который понимает как с ними работать. И тут дествительно нужна воля производителей что бы они эту поддрежку включили. С другой стороны если код Си для доступа к палтам есть, то упаковать его в блоки SimInTech это не сложная задача.
В итоге на объекте нужен только ноутбук с SimInTech, что бы проверять работу алгоритмов и их модифицировать.
То что меня в коментариях постоянноу учат правильно весть бизнес я к этому привык. А вот, то что SimInTech не имеет ничего обещего с реалным объектам это что-то новое.
Моя дипломная работа 4-го курса, это нештатная система регистрации параметров для атомной подводной лодки (сегодя как раз юбилей подводно флота), и она 20 лет назад уже на лодке работала.
А конце статьи видео с испытаний реальной АСУ ТП турбины АЭС. Это АСУ ТП создано ровно по тем технологиями, которые описаны в статье. И технологии эти атомным реакторами управляет где то с 2007 года.
Что до фамилии, так это просто тест на IQ, я это еще в 2 классе школы понял.
«Виртуальный энергоблок содержит уникальный набор кодов, разработанных сотрудниками «Атомэнергопроекта» на отечественном ПО. Все эти данные аттестованы и используются при реализации реальных проектов, - подчеркнул на церемонии открытия первый заместитель генерального директора АО «Атомэнергопроект»
SimInTech один из кодов этого набора. SimInTech там интегрирующая платформа в которой модель собирается для разных кодов, а потом запускается для расчета реальных проектов.
Нет, это поэтическое высокохудожественное образное описание текущец ситуации с западным ПО от ведущих зарубежных партнеров. Не путайте персонажа с автором. К тому же это в комментариях уважемого портало с жесткой модерацией, не могу сказать все что думаю.
Поделка, на которой проектируют и работают АЭС? Разуй глаза, дядя, там видео с реальных испытания АСУ ТП для турбины новейшего проекта АЭС. Ты думаешь эту поделку в три организации бесплатно поставили? А когда модель ледокола для испытаний делали тоже бесплатно? Ты цены в атомной отрасли представляешь хоть немного? Что то ржу.
И статья о том, что за эту поделку, платили даже в лихие 90-е, когда вобще не зачто не платили.
ну и замечание, о том что "бизнес делают не инженеры" вполне в духе тупых дефективных менегеров. Купим "лучшее мировое решение от сименс", получим откат, а на инженегров болт. И может быть раньше это работало. Но раньше.
А сейчас когда сименс камшот на лицо менегероа сделал, это дефективные менегеры стоят обтекают и мечтаю о сименс бо тупорылые ДБЛ БЛД.
Конечно есть. заходите в справку и читает полное описание языка всех его возможностей и встроенных функций, куча примеров в демо.
Конечно и на ядра и запустить с разным на одном ядре тоже способно. Вообще струкруное моделирование в графическом виде учень удобно в плане разделения большого проекта на малые куски и сборки болшого проекта из малых кусков.
Мы же в статье вытащили кусок большой модели и запустили его на контроллере с заданным тактом
Прямо в виде задвали цикл и количество исполнений для системы реального времени
Тут вы уже путаете железную реализацию передачи данных (оптику драйвера работы с оптическими преобразователями) и проектирования алгоритма его локиги работы. На стадии проектирования я создаю графически алгоритм где беру одни блоки и соединию их с другим, на этой стадии я указываю что и где я хочу взять какие математические операции совершить и куда отправить результат - это чистая математика схема обработки данных. И я считаю что все происходит мгновенно в пределах одного временного такта.
Потом она переносится на контроллер, где появляются требования к скорости и вычислений и передачи данных. И может оказатся так что моя процедура вычислений вообще не укладывается в заданный временной промежуток. Это задачи проектирования аппаратной части, взять более производительный контроллер, или вернутся в SimInTech и распареллить вычисления или упростить. Обычный процесс разработки систем управления.
По передачи данных и ее скорости это тоже процесс привязки к аппаратному окружению. В SDK для контроллероной части NordWind есть две процедуры readsignal и writesignал (получить значение из памяти контроллера и записать). Если контроллер поддерживает оптическую сеть просто добавляете код передачи по этой сети. Можно в контроллер написать как подпрограмму. А можно код записать прямо в блок на схеме, и пре генерации прошивки он будет добавлен и в исходное Си для сборки прошивки через средства компиляции контроллера. Пользователь ставит блок на схему и получает при генерации все что нужно для передачи данных по любой поддерживаемой сети.
Ну и разумеется стандратные протоколы обмена данным распостраненные уже есть готовые прямо в виде блоков.
Все я прекрасно понял, если бездумно рисвавт все линиями то дейстивиетльно 256 состояний будут выглядеть как паутина и тексто действительно часто быстрее. Но как только вы хотите отладить текст, особенно если там сложная и запутаная логика. То даже паутина с подсветкой заначени и состояния становится более удобной.
Хотя для этого нужно иметь набитую руку и некий опыт. Вот например я как то заморочился и в графическом виде сделел алгоритм поиска оптимального пути. Да пришлось комбинировать скрипт,графический язык, и струкры базы данных. Но оказалось возомжно, хотя мой опыт програмиирования уровня тупого джуна. Просто захотелось нарисовть струкрутным методом логистическую задачу https://habr.com/ru/articles/698694/
А вот тут полотенце текста правил нечеткой логике собрал в читаемую графическую схему и прямо в процессе расчета на схеме можно
И снова у вас смешивается аппаратура и ПО. С точнки зрения управляюющего ПО резервирование, это задача безударного ввода. Что бы при подключении резервного контроллера, все состояния счетчиков и регуляторов соотвевовали наработанным в данный момент у работающего контроллера. Система безударного ввода резерва у на реализована и уже 10 лет работает на станции. Новый введенный в систему контроллер получает состояний у работающих по подхаватывает управление без проблем.
Но уже аппаратное обеспечение (отключение питание, шины данны и т.п.) за производителем оборудования.
Здесь попрос чисто аппаратный, на АЭС используется система реального рвемени QNX (версия КПДА сертефицирования).
SimInTech это среда разработки алгоритмов управления, которая выдает СИ готовый к загрузке в любой контроллер, что его поддерживает. Нет зависимости от поставщика аппаратуры.
NordWind это рантайм для котроллеров под QNX и Linux исполниетельная среда для прокрутки алгоритмов созданны в SimInTech (поэтому если ОСРВ на контроллере позволяет укладыватся в 1 мs то все заработает, если нет то и нет)
Все прото отлично, не знаю кто ходит на формы в 2026 году:
В телеграме пользователей более семи тысяч сообщений
Так что все хорошо у нас с развитием.
Нет встроенный язык это скриптовый язык сместь языка матлаба, который сделали сначала с паскалем, поскольку на страте все хотели begin end. В Си происходит генерация кода, для того что бы залить алгоритмы разработанные в SimInTech в виде диаграммы FBD, в лбой современный контроллер или микро контроллер
ООП, это парадигма которую мы в SimInTech реализовали в графическом языке программирования. Чего нет не у одного моделирующего пакета вклюяая прямых конкурентов Simulink и Amesim. Весь цимес в том сто работая с объектам в графической среде, при генерации кода вы получаете читый СИ, соответвующий всем требования безопасности для систем управления выжных для безопасности АЭС.
Любую машину сосотоянию тысячи сигналов. Проект системы автоматического регулирования реакторного отделения как раз содержал порядка 7000 контролируемых параметров с 2016 года Балоковска АЭС работает под управления ПО созданного в SimInTech.
Так что ваш прокатный стан это как стакан семек на сдачу вот вам видео с куском модели АЭС прокатный стан отдыхает
Забавно, что первым пунктом стандарта автоматизации идет список поставщиков. И уже ниже по тексту аккуратно многие.
Надо уже честно признать что проактически все стандарты привязаны к платформе и вендору.
Уже на этом этапе менеджеры любой компании ловят клин. И заявляют уже не стесняясь:
"У нас корпротоивный стандарт Емерсон и Якогава". А далее поскольку с тандарте уже прописана поставщик начинают использовать, то что есть у поставщика в плане типовых решений, а поскольку большой и крупный производитель имеет эти решения, то корпоративный стандарт првращяетс в копию предложений вендра.
Менеджеру удбоно, не надо слушать инженеров в поле, он берет лучшее мировае решение и внедряеет "best practic". Инженерам удобно куча готовых элементов и полно знакомых у которых можно спроситить. Собственник переплачивает за бренд вендора, но кого волнуют чужие деньги когда есть отакты поставщика оборудования.
Помню историю в Казахстане, где подрядчик автоматизировал местные линии китайскими контроллерами, и когда пришли русские строить завод кока-колы, он предлагал провереной и занкомое решение, но москвичи потребовали Сименс в два раза дороже.
Ну и сами вендры шарашат по мозгам, как хорошо иметь станраты от вендора:
Все изменяется если вдруг нужно сменить поставщика. Например он умер, или внезапно настипило импоротозамещение, или как у немцев было сусидии фраму Меркель выдала с условием, что бы французкую каталическую Dassault заменили на
православныйпротестанстки Siemens, да мало ли случаев когда нужно сменит вендра. И тут выясняется чтоПри этом сами вендры, делают все что бы ПО, типовые решения, и средства разработки не могли быть использованы для оборудования другого поставщика.
Но за 2 - 4 года, может многое изменится. И на кону мочало - начинай сначала! Вон очередной дед, запретит применять контроллеры Siemens на американских заводах, и куда можно будет засунуть копрпоративный стандарт?
Поэтому отличная статья и внедрени стандартов отличная и правильная тема. только вот если это внедрении требует 2–4 года и десятки миллионов евро только на то, чтобы привести хотя бы 50–60%, не делайте этого.
Любое внедрение стандратов должно сокращать затраты сразу, а не через 4 года.
Как только я слышу "best practics" моя рука тянется к пистолету. В 99% вам пытаются впарить устаревшее дерьмо динозавра от ведущих вендоров, ни имеющее никаких реальных преимуществ для любого современного предприятия.
LAD это не основа современной автоматизации это рудимент зашоренных мозгов автоматичков со време релейных схем, которым лень включить мозг. И решает только самые примитивыне задачи включения - выключения. Любой современный алгоритм содержит более сложную математику на которой LAD просто не работает.
Если у вас автоматизации уровня вкл - выкл, то LAD если делает хоть что то с регулированием (а сейчас даже унитзы делают с регулирование слива) то FBD
Кстати а ведь реально, мы для технолога по сути заменили рисование в визио и описание алгоритмов текста, на модель которая ужен на стадии разработки может запускатся на исполнение. И следовательно он уже на стадии разработки вынужден заниматся отгадкой! Таким образом его стадия разработки технического задания на автоматизацию превращается местами в стадию эксплуатции и диагностики. Если он запускает свой алгоритм на исполнение. Что бы заставить алгоритм работать ему волей не волей приходится влезать в шкуру отладчика исоотвесвенно. Поэтому наш инструменит взлетает у наладчиков как только они ни его попробуют, возращатся назад не хотят.
Здесь вы путаете интсрументарий для создания программы АСУ ТП SimInTech и конкретнкю архитектуру кокретной системы управления. У нас в SimInTech ничто не мешает вам упаковать ПИД регулятор в субмодель а на верх вывести нужные для быстрой отладки значения, причем определить, что нужно показывать можно и сточки зрения удобства выпуска документации, и с точки зрения удобства отображения в режиме наладки на контролере. И здесь вопрос уже не к технологии VМодельно ориентированного проектирования в SimInTech, а к разработчику. Вот например реальная упаковка сложных алгоритмов в блок, который в режиме отладке, когда SimInTech подключкен у контроллеру выдвет и вунтренние значения в виде числе и цветовую индикацию состояния. Это сделано именно разработчиком, который с десчток лет отлаживает эти алгоритмы и в модели и в контроллере.
В принципе если стоит задача сделать отображение в виде LAD диаграммы, то прямо сверху алгоритма ее можно изобразить ровно так как привыкли отладчик, а значения для отображения состояния барть из FBД диаграммы.
Первое внедрение SimInTech это отдел создания АСУ ТП для реакторов типа РБМК полсе Чернобыльской аварии. Все кто ставил задачу разрабочику ПО, непосредственно сидели на обёкте во время ППР и работали с АСУ ТП. Поэтому все идеи наработки и решения непосредсвенно с поля, где счет идет на часы ППР (день простоя - миллиарды), а ошибка это Чернобыль.
Ничто не мешает реализовать в SimInTech LAD диаграмму элементы даже приведены в статье.
Задача SimInTech, здесь не сократить сроки разработки а сократить время пусконаладки (и ремнто пригодности). Одним из реальных примеров внедрения, был отказ брать на пусконаладку на объект программиста. Всю настройку делал технолог с SimInTech.
Сама разработка скорее замедляеется поскольку проектант вынужден видеть ошибки до того как их положили в контроллер через 2 года полсе начала проекта.
Технология SimInTech разработана для АЭС, там где один день простоя раектора на 1000 МВТ электрических стоит дороже любых систем возможных протстоев любого конвейера на любом заводе.
Дороже возможно только остановка станка по печати денег.
Даввйте все таки разделим задачу на две части 1
1) Где разорвалсь логика и какой interlock заблокировал запуск - это логика работы технологическая (то что определяет разработчик объекта будь это реактор атомный, реактор химический или мехенизьм открытия дверей в электричке) эта логика определяется объектом и должна быть реализована "как есть"
2 ) какой сигнал не прошел - здесь уже присутсвует аппаратура, может провод отошел, может датчик оказал, может на плате ввода вывода скис кондесатор и сгорела микросхема.
Разберем по частям
Для первой части, хотите вы или нет вам нужно понимать логику работы особенное если алгоритмы сложные, здесь возможность посмотреть что происходит очень важна.
Из живых примеров, на АЭС перегрев подпятника насоса зваеден как сигнал предупредеительной сигнализации. Выключение насоса шататно приводит к останову и посадке подпятника - температура повышается, вся система в истерике предупреждает оператора о проблемах. Не пройдя всю цепочку выснить какой датчик нужно отключить из логики обрабоки ошибок при остановки не возможно. Неделю искали причину с привлечение технологов протестантов, завода изготовителя насоса и наладчиков. Будь у них SimInTech пройдя по схемам FBD увидили бы это как раз за минуту. За вторую минут добавили переключатель, который снимает эту сигнализацию при штатном отключении насоса.
2. Диагностирование отказа в железе так же возможно прямо в SimInTech для этого мы просто делаем интерфесные блоки в которых прямо на схеме связываем контакты плат ввода вывода и переменные в базе данных сигналов проекта. Более того у нас по умолчанию каждыйсигнал на входе имеет статус (достоверность) и време измерения. И тогда мы опять таки лекго прямо в SimInTech видим на какой ножке платы или с какого устройства по протоколу мы получили проблемы.
Теперь если у меня ошибка логическая я вижу в диагремме где она произошла и что таам сломалось, я работаю с переменными в программе. Если у меня ошибка аппаратная, и диагностируется аппаратурой я тоеже вижу на такой же диаграмее которая описывает плату ввода вывода
И для упрощения отладки я в блок в SimInTech любую индикацию для отладки. Например зелейную или красную лампочку, что бы точно определить на каком контакте у меня косяк
Что касается LAD, ничто не мешает вам реализаовать логику работы в виде релейных контактов используюя SimInTech в статье как раз пример использования элементов LAD и приведен.
Генерация кода Си это просто внутренний механизьм обеспечивающих кросс платформенность. Си обеспечивает загруску диаграммы из SimInTech куда угодно от микроконтроллеров АРМ до супер ЭВМ без всякого изменения и градацией математической однозначности. Нарисовал один раз и используй везеде и всегда. Для разной аппаратуры используй просто разные компиляторы, которые понимают СИ. А Си понимают примерно все.
Никакая прозрачность не теряется если вы используете SimInTech. То что у вас между Схемой и контроллреом есть байтовая прошивка или бинарный исполняемый файл в системах с ОСРВ, вас не смущает? Тоже теряется прозрачность, на котроллере крутится не совсем то что рисуете в LAD диаграммах средства разработки от Сименса Шнайдреа или Ален бренди.
Если речь идет о скорости на риснке из коментанитя то это пример быстрого создания модели для тестирования алгоритма, и она берется из характеристик оборудования, когда нужно быстро превратить последовательность срабатывания каких либо защит при нагреве и охлаждении. Для в проекте, есть куча способов быстро определилить источник сигнала, начиная с системы кодирования, закзаничвания поиском источника по всем проектам. Ну например я как раз тупо менеджер и забыл как у меня сто работает подключаю ноутбук к контроллеру и открываю алгаоримт защиты вижу датчики. LBA20CP001A -технолог уже на это месте может расказать какая система какой датчик и какая труба, но я тупой менегер.
Кликаю на поиск и попдаю в базу данных где руским языком для дебила написано написано что это давления в ГПК (Главный паровой коллектор)
После этого открываю схему гидравлики поиск и вижу где у меня стоят эти датики
тоже самое могу сделать с любым сиганлом в работающем в контроллер алгоритме. Наприме у меня в алгоритме учитывается положение задвижки. Два кличка мышки и я про это задвижку занаю все что нужно.
Там же я могу посомтрть не только заначения показания датчика или задвижки но еще и под сотню параметров описывающих датчик или задвижку как в проекте (см. пример на рисунке). Хотите посомтреть списком сигналв выбирайте и смотрите
В отдельно всплывающем окне я могу посмотреть значения на линии связи во время выполенения алгорима, это не сигнал это промежуточные вычисления, которые происходят в алгоритмме, если он достаточно сложный или нужно посмотреть за накоплением в интеграторах или счетчиках во время отладки жто бывает полезно
Тут сама диаграмма это один сплошной окментарий. Здесь сам принцип формирования алгоритма обязывает разработчика декомпозировать на листы алгоритмов и системы, просто потому что это диаграмма алгоритмов.
Это решение уже 20 лет реакторами АЭС и АПЛ управляет. Это решение разработано как раз под созлание сложного АСУ ТП для атомных реакторов.
Вайншток это Транснефть эксплуатация после постройки. Мы тут участовавли на этапе проетирования. Курировать проект назначили ВНИИСТ, за нми стоял Вексельберг через Кипрскую контору. Его люди же и набрал кучу атомщиков тогда для присмотра за проектом на стадии проектирования и создания моделей.
Могли - это ключевое слово. А как управляли и как проектировали управление это другое. Возможно но зачем? :))))
Может быть у меня профдеформация, но мне кажется что никакого переобучения большого тут не нужно. По сути дела на объекте нужен только ноутбук с SimInTech подключили к окнтроллеру и смотрим на схеме что там внутри его происходит. На экране FBD диаграмма по линиям бегут цифры, все наглядно прозрачно.
По моим оценкам любой програмист ПЛК или разработчик алгоритмов управления осилит SimInTech недели за две.
Модель всего объекта тоже не обязательна. В пирмере я просто бак с насосами и задвижками собрал за 15 минут. Но можно еще упростить - поставить источник - уровень и два коэффициента для его снижения при одном включенном насосе или двух насосах. Будет примерно как нагреватель в статье https://habr.com/ru/articles/307090/
Можно вообще без модели прямо в SimInTech задавать воздействия входы и смотерть что там алогритм на выход выдает.
Для подключения плат ввода-вывода, дестивительно уже нужен программист, который понимает как с ними работать. И тут дествительно нужна воля производителей что бы они эту поддрежку включили. С другой стороны если код Си для доступа к палтам есть, то упаковать его в блоки SimInTech это не сложная задача.
В итоге на объекте нужен только ноутбук с SimInTech, что бы проверять работу алгоритмов и их модифицировать.
То что меня в коментариях постоянноу учат правильно весть бизнес я к этому привык. А вот, то что SimInTech не имеет ничего обещего с реалным объектам это что-то новое.
Моя дипломная работа 4-го курса, это нештатная система регистрации параметров для атомной подводной лодки (сегодя как раз юбилей подводно флота), и она 20 лет назад уже на лодке работала.
А конце статьи видео с испытаний реальной АСУ ТП турбины АЭС. Это АСУ ТП создано ровно по тем технологиями, которые описаны в статье. И технологии эти атомным реакторами управляет где то с 2007 года.
Что до фамилии, так это просто тест на IQ, я это еще в 2 классе школы понял.
У меня дислексия, поэтому и так сойдет
ха а вот ESP32 8 лет не пршло https://habr.com/ru/articles/850638/
Извини. Вот тебе ссылка где описывается как можно быстро вкатится в SimInTech без регистрации и смс:
https://youtu.be/hwEAqu5N7dM?si=hZKijugz8e4xz2QQ
Потому что это первый признак старости, "а вот в наше время, и трава была зеленее и девки сисястей".
Вспомнил будучи подроском учился в Брянском Машиностроительно Техникуме, в трамвае возник разговор, и какой то дедушка начал меня лечить:
"Вот мы войну пережили, не то что вы.."
В ответ на это мудрая женьщина срезала:
"Не кипишуй дед, а они еще перестройку переживать будут!"
я тогда сильно задумался.
На ядерную кафедру ставили "Виртуальный энергоблок АЭС" от питерского Атомэнергопроекта.
https://www.nntu.ru/news/detail/nauka-i-innovacii/vse-novosti/virtualnaya-aes-poyavilas-v-ngtu-im-re-alekseeva
SimInTech один из кодов этого набора. SimInTech там интегрирующая платформа в которой модель собирается для разных кодов, а потом запускается для расчета реальных проектов.
Нет, это поэтическое высокохудожественное образное описание текущец ситуации с западным ПО от ведущих зарубежных партнеров. Не путайте персонажа с автором. К тому же это в комментариях уважемого портало с жесткой модерацией, не могу сказать все что думаю.
В личном общении я еще и матом ругаюсь! прикинь.
Поделка, на которой проектируют и работают АЭС? Разуй глаза, дядя, там видео с реальных испытания АСУ ТП для турбины новейшего проекта АЭС. Ты думаешь эту поделку в три организации бесплатно поставили? А когда модель ледокола для испытаний делали тоже бесплатно? Ты цены в атомной отрасли представляешь хоть немного? Что то ржу.
И статья о том, что за эту поделку, платили даже в лихие 90-е, когда вобще не зачто не платили.
ну и замечание, о том что "бизнес делают не инженеры" вполне в духе тупых дефективных менегеров. Купим "лучшее мировое решение от сименс", получим откат, а на инженегров болт. И может быть раньше это работало. Но раньше.
А сейчас когда сименс камшот на лицо менегероа сделал, это дефективные менегеры стоят обтекают и мечтаю о сименс бо тупорылые ДБЛ БЛД.