ЖУРНАЛ «СТА» 4/2016

ний других производителей потребует- ся разработать средство декомпиляции исполняемого кода в один из МЭК-язы- ков. Для компиляторных средств CODESYS объём такой работы пропор- ционален количеству поддерживаемых целевых микропроцессорных архитек- тур, в машинный код которых может осуществляться трансляция программ. После разложения исходных двоич- ных данных на составляющие можно на- чать выполнять серию преобразований над кодом ПУ. Для этого нужен доступ к промежуточному представлению (IR, Intermediate Representation) программы, формирующемуся во время её восста- новления. Оно, хоть и зависит от ис- пользовавшегося при разработке языка, будучи основанным на древовидных структурах, достаточно легко обрабаты- вается и преобразуется в другой вид, бо- лее соответствующий языку ЦК. На этих преобразованиях и построена автомати- зация проблем 2, 4, 5 и 6. Может пока- заться, что столь сложный подход изли- шен и было бы достаточно использова- ния регулярных выражений для моди- фикации текста. Но если простые шаб- лоны кода и могут ими обнаруживаться, то нетривиальные конструкции требуют обработки на более высоком уровне – их поиск невозможно выполнить посред- ством детерминированного конечного автомата, состояния которого переклю- чаются входными символами (им фак- тически и является предварительно скомпилированное регулярное выраже- ние). К тому же код, написанный на гра- фических языках, в любом случае будет представлен в некотором IR. Логично обобщить его обработку на все МЭК- языки, в том числе и текстовые. В качестве примера рассмотрим более подробно некоторые проблемы, решае- мые модификациями IR исходной про- граммы, и сами способы решения. ● Проблема 2: восстановлена исходная программа на языке IL, а его диалект, использующийся в ЦК, отличается незначительными деталями. Решение достаточно тривиально и требует до- бавления/удаления/модификации уз- лов древовидной структуры, пред- ставляющей IR. В некоторых случаях необходимо добавление новых пере- менных, например для регистров-ак- кумуляторов в языке SIEMENS STL. ● Проблема 6: под абстракциями в пер- вую очередь понимаются видные раз- работчику ПУ особенности архитекту- ры контроллера, которые отражаются на структуре проекта. Лучший при- мер – data-блоки SIEMENS, прямых аналогий которым у других производи- телей, в том числе и у компании «ПРО- СОФТ-Системы», не существует. Один из вариантов переносаDB-блока – соз- дание составного типа данных и объ- явление глобальной переменной этого типа. К сожалению, универсального способа решения нет и в каждом случае нужно находить оптимальное отобра- жение конкретной абстракции. После извлечения всех необходимых объектов из файлов проекта и выполне- ния модификаций дерева программы возникает задача объединить все имею- щиеся данные, записав их в ИПП среды разработки целевого ПЛК. Она решает- ся в контексте проблемы 1 заявленного списка проблем. Обычно этап упаковки не составляет особых трудностей – здесь нет никакой дополнительной потери информации, поэтому детально он рас- сматриваться не будет. З АКЛЮЧЕНИЕ В целом задача автоматизации мигра- ции технологического процесса между программно-аппаратными комплексами различных производителей является до- статочно сложной. Разнообразие уст- ройств и программного обеспечения в области АСУ ТП существенно повышает требования к функциональности про- граммного средства, оптимизирующего перенос имеющейся инфраструктуры на новое оборудование. Конечно, ряд эта- пов миграционного процесса требует не- посредственного участия человека, так как представление общей архитектуры системы, которое будет учитываться при выборе альтернативы компоненту, под- вергающемуся миграции, сложно фор- мализовать и описать понятным для ЭВМ языком. Но есть и достаточно сложные подзадачи, неплохо (иногда практически полностью) поддающиеся автоматизации. В основном они связаны с преобразованиями исходного кода программы управления. Подводя итоги, можно с уверен- ностью утверждать, что, обладая пони- манием внутреннего устройства про- мышленных контроллеров и инстру- ментального ПО, можно создать про- граммный комплекс, существенно уско- ряющий миграцию ПУ. ● E-mail: surgeon@ntcsiz.ru ОБ ЗОР / П РОГ РАММНОЕ ОБ Е СП Е Ч Е НИЕ 63 СТА 4/2016 www.cta.ru ОФИЦИАЛЬНЫЙ ДИСТРИБЬЮТОР ПРОДУКЦИИ SPECTRUM

RkJQdWJsaXNoZXIy MTQ4NjUy