Мы, разработчики фирмы «Аналитика» активно развиваем возможности встроенных приложений для контроллеров ICP CON серии 7188 в рамках проектов автоматизации. Развитие предполагает добавление новых функциональных возможностей, исправление ошибок – неотъемлемых спутников сложных проектов, оптимизацию использования ресурсов контроллеров, увеличение производительности и т. п. Часто разработчики сталкиваются с необходимостью обновления встроенного программного обеспечения контроллеров, уже использующихся в составе промышленных систем на объектах заказчиков. Штатная процедура замены встроенного ПО контроллеров ICP CON серии 7188 производится посредством ПО «MiniOS7 Utility», поставляемой в комплекте с контроллером на диске от ICP DAS. Для записи встроенного ПО предварительно требуется замкнуть определённые контакты на клеммнике контроллера и произвести перезагрузку по питанию. Операция перезагрузки с замкнутыми контактами требуется для запуска контроллера в режиме «Boot Loader». ПО «MiniOS7 Utility» способно загружать встроенное программное обеспечение в контроллер только через COM порт или Ethernet соединение. Предложенная производителем методика смены встроенного ПО контроллеров ICP CON серии 7188 позволяет производить обновление только в «ручном» режиме, находясь в непосредственной близости от контроллера. ПО «MiniOS7 не позволяет работать с дистанционными каналами, имеющими временные задержки при передаче данных, больше чем в прямых каналах связи. К тому же, «MiniOS7 Utility» работает нестабильно и на ноутбуках, оборудованных интерфейсом RS-232 с помощью платы расширения. Подобные обстоятельства заставляли разработчиков встроенного ПО чувствовать себя сапёрами, которые могут ошибиться только один раз. Любая ошибка во встроенном ПО могла привести к незапланированным работам по демонтажу целой партии контроллеров, которые могли быть расставлены на территориально разнесённых объектах автоматизации, например, находящихся в разных частях города. Поскольку такая ситуация является недопустимой при реализации крупных промышленных проектов, разработчики фирмы «Аналитика» предложили использовать технологию I-REFIRE (Integrity REmote FIrmware REplacement), позволяющую надёжно и быстро обновлять встроенное программное обеспечение контроллеров ICP CON серии 7188 через любые каналы связи (GSM, GPRS, Wi-Fi и др.). Концепция технологии I-REFIRE базируется на следующих принципах:
- Обновление встроенного ПО производится с использованием кэширования новой программы во внешней Flash-памяти с применением технологии I-FLASH. Это позволяет провести проверку целостности принятой новой программы перед непосредственной замены старой;
- Передача фала прошивки в кэш контроллера производится посредством специального пакетного протокола с подтверждениями и контролем CRC32, позволяющего передавать пакеты максимального размера для контроллеров ICP CON серии 7188;
- Контроллер производит действия по записи встроенного ПО из кэша во внутреннюю Flash-память автоматически, без использования дополнительного оборудования (без замыкания контактов на клеммнике);
Этот пакетный протокол реализован в программном обеспечении «ICM» (Integrity Controller Manager), позволяющем выполнять различные конфигурационные операции с контроллерами «Integrity» на базе ICP CON серии 7188
Рис. 1 - Процесс обновления встроенного программного обеспечения контроллеров
Фирма «Аналитика» предлагает реализацию технологии I-REFIRE в качестве самостоятельного коммерческого продукта, для интеграции в приложения других инжиниринговых компаний. Реализация пакетного протокола предоставляется в виде DLL библиотеки, с возможностью использования в различных Windows приложениях. Реализация I-REFIRE на стороне контроллеров ICP CON серии 7188 предоставляется в виде LIB библиотеки, разработанной на C++.
Типовым примером использования технологии I-REFIRE является обновление встроенного программного обеспечения контроллеров, установленных в районе города Салехард из Нижнего Новгорода через Интернет на базе GPRS-каналов связи, организованных GSM-коммуникаторами «Integrity». Время обновления прошивки размером 250 килобайт занимает порядка 1-й минуты.