Автоматизация промышленного производства

Автоматизация промышленного производства

Разработка ERP-системы и личного кабинета для оптимизации бизнес-процессов промышленного предприятия и организации электронного документооборота

Технологический стек

Front-end
Back-end

Проблема

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

Производство гнутых отводов и сопутствующей продукции происходит в несколько этапов, каждый из этапов сопровождается обязательной проверкой в соответствии с техническими условиями (ТУ/ГОСТ) изготовления продукции предъявляемыми заказчиками: проводятся испытания механических и химических свойств металла, качество сварных соединений, и прочие параметры входящих заготовок и готовой продукции. Совокупно, проверка проходит более чем по 100 параметрам. На каждом из этапов происходит подготовка соответствующего документа о соответствии изделия заявленным характеристикам.

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

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

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

Первые шаги

Самым очевидным решением данной задачи является попытка доработки программного продукта «1С: Управление предприятием» с помощью собственных уникальных модулей. Именно к данному подходу прибег производитель, используя для этого штатных специалистов. Но в ходе выполнения проекта начали появляться некоторые проблемы. Во-первых, внутренние особенности и ограничения платформы «1С» не позволяли реализовать управление и контроль за производственными процессами в том виде, как того хочет производитель. Во-вторых, окружение 1С не имело подходящих интерфейсов для организации работы ключевых сотрудников: инженеров, лаборантов, мастеров цехов.

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

Изучение

В первую очередь мы взялись за изучение примеров всех документов, которые формируются в процессе производства продукции. После этого мы посетили само производство для того, чтобы структурировать всю полученную информацию и составить «карту технологических и документарных процессов». Мы визуализировали все этапы производственного процесса, ключевых сотрудников, входящие документы, а также документы, формируемые в процессе производства. Выделили взаимосвязи и определили процессы, которые могут выполняться параллельно, а также определили возможные вариации тех или иных этапов производства, возможности и причины для возврата на предыдущие этапы (отбраковка, замена заготовок и т.д.).

После изучения стало очевидным, что информация, находящаяся в 1С, по факту никак не участвует в самом производственном процессе, либо требует дополнительных уточнений. От чего использование программного продукта «1С: Управление предприятием» в качестве платформы будущего проекта является не целесообразным.

Мы подготовили прототип будущей системы в виде набора блок-схем и начали совместную корректировку производственных процессов совместно с производителем.

Разработка системы

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

Первый этап

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

Второй этап

Вторым этапом мы принялись за создание функционального прототипа интерфейса системы и проектирования серверной части. Ранняя разработка интерфейса была необходима по нескольким причинам:

  • Молниеносная обратная связь о разрабтываемом интерфейсе
  • Гибкость в внесения изменений, скорость разработки
  • Возможность оценки того или иного интерфейсного решения с точки зрения «простоты и понятности», что являлось одним из критериев разработки интерфейса

Для ускорения разработки интерфейса была также использована библиотека готовых компонентов antd, а независимость интерфейса системы от серверной часть была обеспечена набором инструментов react.

Параллельно с разработкой интерфейса системы было начато проектирование серверной части. О выборе языка программирования не шло и речи — был выбран Typescript, сохранивший в себе гибкость JavaScript без его изъянов, а система типов позволяет писать по-настоящему надёжные системы. В качестве «клея» между модулями системы, а также как экосистема инструментов, был использован NestJS. Один из модулей данной библиотеки  позволил нам не тратить время на ручное написание схем OpenAPI, а просто сгенерировать их из кода, написанного в процессе проектирование API-интерфейса. Это позволило нам сократить время интеграции серверной части с интерфейсом системы почти до нуля благодаря «эмуляции» работы серверной части с помощью Prism.

Третий этап

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

Оставалось самое сложное — вдохнуть жизнь в интерфейс системы, реализовав бизнес-логику на сервере.

На третьем этапе мы сконцентрировались на реализации функционала разрабатываемой системы, заполнении «пустых реализаций», оттачивании API и подборе правильных инструментов для решения задач документооборта.

Первый этап

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

Второй этап

Вторым этапом мы принялись за создание функционального прототипа интерфейса системы и проектирования серверной части. Ранняя разработка интерфейса была необходима по нескольким причинам:

  • Молниеносная обратная связь о разрабтываемом интерфейсе
  • Гибкость в внесения изменений, скорость разработки
  • Возможность оценки того или иного интерфейсного решения с точки зрения «простоты и понятности», что являлось одним из критериев разработки интерфейса

Для ускорения разработки интерфейса была также использована библиотека готовых компонентов antd, а независимость интерфейса системы от серверной часть была обеспечена набором инструментов react.

Параллельно с разработкой интерфейса системы было начато проектирование серверной части. О выборе языка программирования не шло и речи — был выбран Typescript, сохранивший в себе гибкость JavaScript без его изъянов, а система типов позволяет писать по-настоящему надёжные системы. В качестве «клея» между модулями системы, а также как экосистема инструментов, был использован NestJS. Один из модулей данной библиотеки  позволил нам не тратить время на ручное написание схем OpenAPI, а просто сгенерировать их из кода, написанного в процессе проектирование API-интерфейса. Это позволило нам сократить время интеграции серверной части с интерфейсом системы почти до нуля благодаря «эмуляции» работы серверной части с помощью Prism.

Третий этап

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

Оставалось самое сложное — вдохнуть жизнь в интерфейс системы, реализовав бизнес-логику на сервере.

На третьем этапе мы сконцентрировались на реализации функционала разрабатываемой системы, заполнении «пустых реализаций», оттачивании API и подборе правильных инструментов для решения задач документооборта.

Контакты

info@linkodium.com
+7 (342) 225-02-94
ПН-ПТ: 08:00-16:00 (МСК)
Главный офис:
г. Пермь, ул. Вильвенская, 2 (этаж 1)

Политика конфиденциальности

Политика конфиденциальности персональной информации (далее — Политика) действует в отношении всей информации, которую Администрация сайта может получить о Пользователе во время использования им любого из сайтов, сервисов, служб, программ, продуктов или услуг компании (далее — Сервисы). Использование настоящего Сайта и Сервисов означает безоговорочное согласие Пользователя с настоящей Политикой и указанными в ней условиями обработки его персональной информации; в случае несогласия с этими условиями Пользователь должен воздержаться от использования настоящего Сайта и Сервисов.

1. Термины и определения
1.1. Администрация сайта – руководство компании Линкодиум, владеющей и имеющей внутренний доступ к настоящему Сайту.

1.2. Пользователь – лицо, получающее доступ к приложениям, сервисам, услугам и информации, размещенной на Сайте.

1.3. Сайт – веб-сайт компании, размещенный в сети Интернет по адресу linkodium.dev, в том числе поддомены *.linkodium.dev, а также любые другие веб-сайты компании, содержащие ссылку на данную Политику.

1.4. Сервисы – сайты, сервисы, службы, программы, продукты или услуги компании;

1.5. Политика – политика конфиденциальности персональной информации, устанавливающее правила обработки персональной информации пользователя.

1.6. Персональная информация Пользователя – персональная информация, которую Пользователь предоставляет о себе самостоятельно при отправке своих контактных данных с помощью формы обратной связи, регистрации (создании учётной записи) или в процессе использования Сервисов, включая персональные данные Пользователя. Обязательная для предоставления информация помечена специальным образом. Иная информация предоставляется Пользователем на его усмотрение.

2. Согласие на обработку персональной информации
Принимая условия настоящей Политики Пользователь выражает свое согласие на:

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

2.2. Получение посредством электронной почты, адрес которой Пользователь указывает при регистрации на Сайте, рекламно-информационных сообщений, касающихся продукции и услуг компании и ее партнеров.

3. Цели обработки персональной информации Пользователей
3.1. Предоставление Пользователю услуг Сайта и Сервисов;

3.2. Направление уведомлений, касающихся услуг Сайта;

3.3. Подготовка и направление ответов на запросы Пользователя;

3.4. Направление информации о мероприятиях, проводимых Администрацией сайта;

3.5. Направление информации о продуктах и услугах компании.

4. Условия обработки персональной информации Пользователей
4.1. Перечень действий с персональными данными, на которые Пользователь выражает свое согласие: сбор, систематизация, накопление, хранение, уточнение (обновление, изменение), использование, обезличивание, передача третьим лицам для указанных выше целей, а так же осуществление любых иных действий, предусмотренных действующим законодательством РФ как неавтоматизированными, так и автоматизированными способами.

5. Изменение и удаление персональной информации
5.1. Пользователь может в любой момент изменить или удалить предоставленную им персональную информацию или её часть путем направления соответствующего уведомления на электронный адрес info@linkodium.com.

5.2. Информация будет изменена или удалена в течение 3-х рабочих дней.

6. Меры, применяемые для защиты персональной информации Пользователя
6.1. Администрация сайта обязуется принимать все необходимые достаточные организационные и технические меры для защиты персональных данных Пользователя от неправомерного доступа или раскрытия.

7. Изменение Политики конфиденциальности
7.1. Администрация сайта имеет право вносить изменения в настоящую Политику конфиденциальности. При внесении изменений в актуальной редакции указывается дата последнего обновления. Новая редакция Политики вступает в силу с момента ее размещения, если иное не предусмотрено новой редакцией Политики. Действующая редакция постоянно доступна на странице по адресу https://linkodium.dev/.

8. Прочие положения
8.1. К настоящей Политике и отношениям между Пользователем и Администрацией сайта, возникающим в связи с применением Политики конфиденциальности, подлежит применению право Российской Федерации.

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

По всем вопросам, связанным с нарушением авторских прав компании, незаконного использования материалов Сайта или размещением ложной, вводящей в заблуждение информации о компании, просим обращаться по e-mail: info@linkodium.com

Дата последнего обновления политики конфиденциальности: 01.05.2021 г.