О чем Вам говорит, например, температура 42[°С]? Много это, или мало? Скорее всего это неизвестно, потому как бессмысленно судить о данной величине, без соотнесения к конкретному объекту. Так, например, для человека – это крайне высокая температура, а для чая – наоборот крайне низкая.
Аналогично обстоит дело с программным обеспечением. Какая сложность и функциональность должна иметь программа применительно к конкретной технической задаче? То ли она завышена, то ли наоборот - занижена? Я уже давно хотел разобраться с подобным вопросом и включил это в свой план с января по март.
Однако, передо мной встал еще один риторический вопрос: где кончается прерогатива SCADA систем и начинается прерогатива C++ Builder или Delphi? Т.е. по сути в какой среде разрабатывать программу?
Чтобы почувствовать разницу, для начала я решил разобраться с C++ Builder 6.0 (CB6), тем более что неоднократно писал код на C для AVR-ов и PIC-ов, тем более что С++ - это на два плюса лучше чем С. CB6 по сути может работать и с Паскалем, но это уже не принципиально.
На то, чтобы разобраться со средой и опробовать инструменты – ушел месяц. Каждый желающий может сделать то же самое, в такой срок, а тем кто вообще не писал на С/С++ потребуется не более трех месяцев. На то, чтобы написать и отладить код программы – еще два месяца. Итого: три месяца.
Объектом, применительно к которому будет разрабатываться программа, выбрал одну из технологических установок предприятия ОАО АЛТТРАНС. Установка предназначена для сушки изоляции обмоток трансформаторов токами короткого замыкания низкой частоты (СТКЗ).
Суть работы установки состоит в том, что на трансформаторы, закороченные со вторичной стороны, подают низкое напряжение, еще более низкой частоты. За счет возросшего магнитного сопротивления сердечника – короткое замыкание во вторичной обмотке становится не таким уж коротким для первичной стороны, что делает возможным контролируемый и равномерный нагрев обоих обмоток, с целью нагрева межобмоточной изоляции, и опять таки, с целью удаления из нее излишней влаги, которая пагубно влияет на ее изоляционные свойства.
Если кратко, то установка представляет собой платформу, на которой размещаются пять трансформаторов и шкаф управления. Внутри шкафа имеется частотный преобразователь ВЕСПЕР EI-9011 на 150КВт, и несколько модулей ОВЕН МВУ-8 + МВА-8, и прочая электротехника. Связь по Modbus-RTU.
Для тех кому интересно, ниже будет приведено полное описание установки, фотографии, приведены схемы электрические принципиальные, смета затрат на ее изготовление, а также перечислены все косяки приборов ОВЕН, с которыми пришлось бороться.
Задача программы сводится к следующему:
1) предоставить оператору дружественный интерфейс, минимизировать количество нажимаемых кнопочек, предотвратить бессмысленные действия оператора;
2) собственно обеспечить процесс сушки;
3) записывать в журнал сообщений – что делается в программе и что делает оператор;
4) записывать графики температур;
5) контролировать какие-либо нештатные ситуации и отключать установку, если что-либо идет не так как это задумано.

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