Задача. Испытательная лаборатория в Ташкенте давит на прессе бетонные кубы до разрушения, по протоколу застройщик принимает партию. Сбор данных в LabVIEW работал надёжно, но интерфейс оператора вырос из отладки: десятки индикаторов и калибровка рядом с кнопкой «Старт», однажды случайно сдвинутый коэффициент стоил недели перепроверок. Протоколы делала утилита на REALBasic, которая на новом компьютере запускалась через раз, а её среда разработки уже не ставилась.
Решение. Ядро на LabVIEW сознательно не трогал: оно точное, привязано к плате и лицензии. Превратил его в службу без интерфейса с локальным каналом и простым текстовым протоколом. Интерфейс сделал новым Windows Desktop приложением на C# в Microsoft Visual Studio: номер образца, кнопка, график силы и результат, калибровка в разделе с паролем инженера. Через Windows API настроил режим киоска, запрет сна и перезагрузок во время испытания, служба пишет файл даже при закрытой программе. Из исходников REALBasic взял формулы прочности и шаблон протокола, проверил на архиве цифра в цифру. Протокол в PDF одной кнопкой, журнал без правок задним числом.
Результат. Новый лаборант освоил стенд за смену, повторная поверка не понадобилась. Лаборатория по-прежнему зависит от лицензии LabVIEW.
Евгений Росляков, сайты с 2016 года. Работаю как самозанятый по договору, закрывающие документы для юрлиц.