Заказчик
АО «КМЗ»
Завод предлагает своим клиентам широкий спектр продуктов в области промышленной чистки газов, энергоэффективных дымососов и нагнетателей.
Задача
Завершены работы по разработке и внедрению программного комплекса расчета тягодутьевых машин для АО «КМЗ». Проект, фактически, представлял собой большую научную работу, т.к. одним из модулей программного комплекса была расчетная библиотека, которая должна производить различные расчеты тягодутьевых машин. Каждый запрос от клиентов отличается. Поэтому невозможно выбрать один оптимальный вентилятор (ТДМ - тягодутьевые машины) для каждого случая. Всегда необходимо взвесить различные факторы, такие как размер, эффективность, генерируемый шум, мощность двигателя, вес, скорость вращения, цена, эксплуатационные расходы и срок службы вентилятора. Данная расчетная библиотека помогает подобрать вентилятор, который наилучшим образом подходит для заказчика.
Рис. 1 Подготовка ТКП (технико-коммерческое предложение.
Фактически, мы строим полную модель ТДМ с ее характеристиками, подбором электродвигателей, материалов и еще более чем 50-ю параметрами. А, например, у каждого из параметров еще свой набор — у электродвигателей: изготовитель, мощность, число оборотов, напряжение сети, совместимость с ЧРП, пусковые характеристики, момент инерции ротора, допустимый момент, инерции приводимого механизма, допустимые нагрузки на вал, масса, габаритные размеры, шумовая характеристика, тепловыделение.
Рис. 2 Макет ввода данных для расчета характеристик ТДМ.
Поле «Высота над уровнем моря» — выпадающий список. Представлены значения установки оборудования над уровнем моря с шагом 100 м.
Поле «Барометрия» — поле ввода значения атмосферного (барометрического) давления в месте установки. По умолчанию имеет значение 101325 Па. Корректируется автоматически при выборе высоты над уровнем моря.
Поле «Расход» — поле ввода значения объемного расхода перемещаемой среды.
Поле «Давление» — поле ввода значения полного давления, развиваемого ТДМ.
Поле «Температура» — поле ввода значения начальной температуры перемещаемой среды на входе в ТДМ.
Поле «Плотность» — поле ввода значения плотности перемещаемой среды на входе в ТДМ. Поле «Обороты РК» - поле ввода значения частоты вращения рабочего колеса ТДМ.
Поле «Разряжение» — поле ввода значения разряжения или избыточного давления на входе в ТДМ.
Поле «Типоразмер» — поле ввода значения типоразмера ТДМ (диаметра рабочего колеса). В фоновом режиме в правой части этого поля отображается автоматически рассчитанный программой типоразмер.
Поле «Быстроходность» — в среднем окне отображает расчетную величину быстроходности, на основе введенных параметров. Рядом расположенные поля позволяют задать диапазон, в пределах которого будет выдаваться список доступных предложений (кнопка «Подобрать ТДМ») и подсвечиваться/выделяться цветом в списке аэродинамических схем те из них, которые имеют значение быстроходности в заданном диапазоне.
Все графики можно (например, график мощности) можно построить с методом сглаживания полиномами Безье. Но он может проводить кривую не совсем через те точки, которые заданы. Но можно поменять тип сглаживания на сплайны и тогда график пройдёт ровно через точки серии. Но если в данных какие, то выбросы, то сплайны их тоже покажут, а Безье сгладит.
Рис. 3 Примеры графиков.
Используемый стек технологий
Основные программные продукту, которые были использованы:
- Язык программирования C#
- Нерелеционная база данных MongoDB
Для разработки системы мы выбрали язык программирования C# по нескольким причинам:
- Разработка под операционную систему Windows с возможностью миграции на Linux или Mac OS по требования пользователя
- Десктопное приложение
- Быстрая разработка и прототипирование
- Простота разработки и поддержки
- Хорошая производительность конечного приложения
- Вся команда разработки имеет навыки по работе с языком
Среди рассматриваемых языков были:
- C#
- C++
- Java
- Python
Язык программирования Python был исключен из рассмотрения, т. к. не удовлетворял пунктам 2 и 5. От языка программирования C++ также отказались в силу неудовлетворения пунктам 3 и 4. Java был отклонён по пункту 6.
Среди вспомогательных компонентов были использованы следующие библиотеки:
- alglib.net
- Bezier
- DataGridExtensions
- Microsoft Visual Studio Installer Projects
- MongoDB Driver
- Newtonsoft Json
- ScottPlot
- WPF
В качестве базы данных была выбрана нереляционная база данных MongoDB, т. к. она позволяет очень гибко менять структуру данных под изменяющиеся нужды конечного пользователя.
Архитектура системы
Рис. 4 Архитектура приложения.
Архитектура системы имеет модульную структуру для лёгкой замены любой из частей системы на новую. При таком подходе упрощается работа, т. к. разработку можно вести в группах отвечающие за отдельные части приложения. В частности, большим изменениям в ходе разработки подвергалось расчётное ядро, которое минимально повлияло на интеграцию с пользовательским интерфейсов, но все остальные компоненты не нуждались в обновлении.
Компоненты системы
Кроме стандартного функционала по расчёту ТДМ в разработанное приложение было добавлена отдельная функциональность доступная только администраторам системы – редактирование схем. Весь цикл работы с данными схемы аналогичен CRUD. Присутствует возможность манипулировать отображением (что выводить, а что нет), а также удобное редактирование данных графиков с использованием мыши, вместо ручного ввода значений как было в прошлой системе.
Для отображения данных в более эстетичном виде были использованы несколько методов интерполяции:
- на основе кривых Безье;
- на основе сплайнов.
Администратор системы сам может решить какой модели какой тип сглаживания подойдёт лучше.
Среди подходов к решению задачи мы придерживались следующих:
- Быстрые спринты разработки (быстрое прототипирование и получение обратной связи).
- Простой, но адаптивный интерфейс с возможностью последующей кастомизации.
- Ориентация на качество конечного продукта
- Сначала реализация функциональной части, а потом дизайн интерфейса.
- Модульная система проекта.
Также для КМЗ были разработаны дополнительные инструменты, которые облегчили работу с системой, а именно:
- Инструмент преобразования расчётных схем в формат JSON, который помогает унифицировать формат хранения данных о расчётных схемах в отличии от ранее используемого формата.
- Инструмент, разработанный для администратора системы, который позволяет легко добавить новых пользователей в систему.
Итог работ
В результате разработки данного программного комплекса АО «КМЗ» получили программный комплекс, который, обладая большим набором справочников (аэродинамических характеристик, шумовых характеристик, инерционных характеристик, номенклатуры продукции, электродвигатели, габаритные чертежи, шаблоны документов, расчеты веса узлов), строит точные характеристик ТДМ, её стоимость, необходимые материалы и т.д. Это значительно упростило подготовку коммерческого предложения для заказчика, а также позволило вести базу уже готовых решений.
В планах значительное расширение функциональности и, фактически, переход в уникальную производственную ERP-платформу. Уже планируется функциональность, которая после расчета ТДМ, будет резервировать время на станках с ЧПУ для производства.
Проект для нас был несомненно очень интересным!
АО «КМЗ» предлагает своим клиентам широкий спектр продуктов в области промышленной чистки газов, энергоэффективных дымососов и нагнетателей. Накопленный опыт, высококвалифицированные технические специалисты позволяют максимально точно решить поставленные задачи, с применением современных технологий в области перемещения газовоздушных смесей, модернизации устаревшего оборудования, увеличения срока службы и снижения расходов на обслуживание.
Отзыв заказчика
Для выполнения проекта АО «КМЗ» выбрана компания «МСТ Компани», поскольку штат включает в себя специалистов, способных решать поставленные задачи. Выражаю огромную благодарность «МСТ Компани» за их профессионализм и гибкий подход к решению не стандартных задач!
Отзыв клиента
В июле 2019 года компания ООО «Аэро-Трейд» искала подрядчика для выполнения работ по внедрению системы безналичной оплаты товаров самолетах авиакомпании «AZUR air». После тщательного изучения рынка, мы решили обратиться для реализации данного проекта в компанию ООО «МСТ Компани». Основной задачей было обеспечить каждый борт авиакомпании «AZUR air» терминалом, который сможет принимать платежи не только на земле, но и во время полёта.
В течении всего времени нашего сотрудничества, специалисты ООО «МСТ Компани» продемонстрировали отличные профессиональные навыки при подготовке проекта, и разработке документации. В результате мы получили гибкое и надёжное решение, которое удовлетворяет нашим требованиям.
По итогам работы с компанией ООО «МСТ Компани» хочется отметить соблюдение принципов делового партнерства, а также четкое соблюдение сроков работ и выполнение взятых на себя обязательств. ООО «Аэро-Трейд» выражает благодарность специалистам компании за проделанную работу в рамках внедрения системы безналичной оплаты на самолетах авиакомпании «AZUR air». И рекомендует компанию ООО «МСТ Компани» как надёжного партнёра в области платёжных решений.