Евгений Сайты › Peppers Сбер ID
Сайты, SEO и GEO, реклама, чат-боты, ИИ и дизайн | Москва
Рейтинг
9 371
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
11 лет
На сайте с
2016 года
Юридический статус
Самозанятый
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Программа для стенда испытаний бетона: сбор данных в LabVIEW, Windows Desktop приложение в Microsoft Visual Studio на Windows API вместо утилиты на REALBasic

Используемые навыки LabVIEW Microsoft Visual Studio REALBasic Windows API Windows Desktop

Описание

Испытательная лаборатория строительных материалов в Ташкенте проверяет бетон, кирпич и арматуру для застройщиков. Программу для её стендов, на которой сейчас работают лаборанты, сделал Евгений Росляков. Разрабатываю программы с 2016 года, работаю как самозанятый: договор, оплата по этапам, закрывающие документы. Живу в Москве и с лабораторией работал удалённо: мне дали доступ к стендовому компьютеру и прислали записи испытаний.

Главный стенд — гидравлический пресс, который давит на бетонные кубы до разрушения. Датчик силы и датчик перемещения подключены к плате сбора данных. Испытание длится несколько минут, а его результат идёт в протокол, по которому застройщик принимает партию бетона.

Сбор данных был написан в LabVIEW много лет назад, и эта часть работала надёжно. Проблемы были вокруг неё. Интерфейс оператора вырос из инженерной отладки: десятки индикаторов, кнопки без подписей, настройки калибровки на том же экране, что и кнопка «Старт». Однажды лаборант случайно сдвинул коэффициент датчика, и неделю испытаний пришлось перепроверять.

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

Решение

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

Ядро на LabVIEW превратил в тихую службу без интерфейса. Она отвечает только за сбор: старт, стоп, поток значений силы и перемещения, сохранение сырого файла. С внешним миром общается через локальный канал по простому текстовому протоколу.

Интерфейс оператора — новое Windows Desktop приложение на C#, написанное в Microsoft Visual Studio. Экран испытания простой: номер образца, кнопка «Начать», большой график силы во время нагружения и результат после разрушения. Калибровка и настройки вынесены в отдельный раздел с паролем инженера лаборатории. Коэффициенты датчиков больше нельзя сдвинуть случайно.

Несколько вещей сделал через Windows API. Стендовый компьютер работает в режиме киоска: при включении сразу открывается программа, рабочего стола и лишних окон лаборант не видит. Во время испытания система не уходит в сон и не перезагружается ради обновлений. Если программу закрыли посреди испытания, служба сбора данных продолжает писать файл, и результат не теряется.

Утилиту на REALBasic разобрал по исходникам. Из неё взял формулы пересчёта силы в прочность с учётом размера куба и шаблон протокола, согласованный с застройщиками. Формулы проверил на архиве прошлых испытаний: новые протоколы совпали со старыми цифра в цифру. Протокол теперь собирается в той же программе одной кнопкой и сохраняется в PDF.

Журнал испытаний ведётся автоматически: кто, когда, какой образец, какой результат. Перепечатать протокол можно в любой момент, исправить результат задним числом нельзя.

Результат

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

Протоколы выходят сразу после испытания, без переноса файлов во внешнюю утилиту. Цифры совпадают с прежними, а журнал защищает лабораторию при спорах с застройщиками: видно, когда и кем сделано каждое испытание.

Ядро сбора данных осталось тем же, что и было, поэтому повторная проверка стенда метрологами не понадобилась. Это была одна из причин не переписывать LabVIEW.

Ограничение честное: лаборатория по-прежнему зависит от LabVIEW и его лицензии. Если когда-нибудь придётся уходить с этой среды, переписывать надо будет только службу сбора данных, а интерфейс и протоколы останутся.

Сейчас подключаем к той же программе второй стенд, для испытаний арматуры на разрыв.

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

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Создание сайта для частной медицинской лаборатории: исследование UX, usability testing и новый путь до оплаты анализов
Создание сайта для частной медицинской лаборатории: исследование UX, usability testing и новый путь до оплаты анализов
14
Веб-разработка и IT Резервное копирование сайтов и баз 1С для веб-студии: скрипты на Bash и PowerShell, хранилище по протоколу Amazon S3, проверка восстановления
Резервное копирование сайтов и баз 1С для веб-студии: скрипты на Bash и PowerShell, хранилище по протоколу Amazon S3, проверка восстановления
13
Маркетинг и Продвижение Продвижение в интернете для детского центра: продвижение в VK и Одноклассниках, маркетинг в VK и запись из сообщества
Продвижение в интернете для детского центра: продвижение в VK и Одноклассниках, маркетинг в VK и запись из сообщества
28
Веб-разработка и IT Разработка API для службы доставки воды: REST на FastAPI, вход через OAuth для приложения и партнёров, Веб-API для курьеров
Разработка API для службы доставки воды: REST на FastAPI, вход через OAuth для приложения и партнёров, Веб-API для курьеров
19