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

гую процессорную архитектуру, тем са- мым обеспечив поддержку исполнения программ управления без детального знакомства с ней. Впрочем, есть и дру- гие, менее очевидные основания выбо- ра ВМ для выполнения ПУ. Одно из них заключается в необходимости поддерж- ки однозначного восстановления ис- ходного кода программы из конечного представления, в которое она была скомпилирована. С этой целью набор виртуальных инструкций может быть спроектирован таким образом, чтобы он отображал особенности используе- мого промышленного языка програм- мирования. При этом программист АСУ ТП видит только надводную вер- хушку айсберга – элемент менюUpload (загрузка ПУ из ПЛК) среды разработ- ки, позволяющий ему получить проект с устройства в том (или почти в том) ви- де, в котором он туда устанавливался. Отдельного упоминания заслуживает тот факт, что виртуальная машина конт- роллера иногда реализуется в аппарат- ном обеспечении, а не в коде встроенно- го программного обеспечения устрой- ства. В первую очередь это делается для повышения скорости работыПУ и пред- сказуемости времени выполнения от- дельной инструкции, что особенно важ- но в связи со спецификой программно- го кода, управляющего ТП, – он должен работать строго в пределах определён- ного временноˆго цикла. Фактически производитель размещает на основной микросхеме контроллера отдельный чип, содержащий в себе всю логику ВМ. Несмотря на все плюсы использова- ния описанной технологии, некоторые производители предпочитают компи- лировать промышленный проект в ма- шинный код архитектуры, на базе кото- рой работает вычислительный модуль. В большинстве случаев основная при- чина такого подхода – его дешевизна. Существует весьма популярная плат- форма CODESYS, предлагающая пол- ный набор инструментария для компа- ний-производителей новых ПЛК. Чаще всего именно она берётся за основу в проектах, не имеющих основательных инвестиций на первоначальном этапе. Сделать программную начинку конт- роллера на ней существенно проще и быстрее, чем создавать все компоненты самостоятельно. Именно компилятор, входящий в её состав, и выдаёт на выхо- де двоичный код, напрямую выполняе- мый микропроцессором ПЛК. Главный недостаток такого решения – слож- ность реализации упомянутой ранее функции Upload, потому что однознач- ное восстановление исходного кода ста- новится затруднительным в силу поте- ри большого количества информации. Поэтому среда разработки, как прави- ло, содержит специальную опцию, за- ставляющую компилятор добавлять тексты программы в бинарные файлы, устанавливаемые на устройство. Если её не активировать, то будет невозможно получить проект с ПЛК при его отсут- ствии на машине оператора. Таким образом, о переносимости ПУ между различными контроллерами не может идти и речи. Особенно это каса- ется тех пар ПЛК, программирование которых ведётся с помощью разных сред разработки, не имеющих общей кодовой базы. Всплывающая при этом проблема различия структур ИПП яв- ляется не менее важной, чем проблема несовместимости сред исполнения ПУ. Выражается она, например, в невозмож- ности открыть проект, разработанный в STEP 7 (для контроллеров SIEMENS SIMATIC S7-300 и S7-400), в среде Unity Pro (для контроллеров Schneider Electric Modicon). Это вынуждает раз- работчика АСУ ТП тратить дополни- тельные ресурсы на приобретение и из- учение нужной среды разработки, даже если у него нет потребности в работе с контроллерами, ею поддерживаемыми. При этом стоит отметить, что некото- рые производители добавляют возмож- ность импорта ИПП других сред, чьи- ми авторами они не являются. Так об- стоит ситуация со средой CODESYS 2-й версии, позволяющей загружать в неё файлы проектов STEP 5 для ПЛК SIEMENS S5. Тем не менее эта функция пока несовершенна: помимо большого количества выдаваемых при конверта- ции ошибок, среда аварийно заверша- ется на ряде реальных проектов (рис. 1). Кроме того, в 3-й версии CODESYS она отсутствует. Поэтому в целом нельзя сказать, что имеется устойчивая или хо- тя бы заметная тенденция к упрощению переноса ТП между объектами. У СТРОЙСТВО КОМПИЛЯТОРОВ ПРОМЫШЛЕННЫХ ЯЗЫКОВ КОМПАНИИ SIEMENS Достаточно популярные контроллеры компании SIEMENS линеек S5 и S7 ба- зируются на собственном программном обеспечении, включая операционные ОБ ЗОР / П РОГ РАММНОЕ ОБ Е СП Е Ч Е НИЕ 57 СТА 4/2016 www.cta.ru Рис. 1. Аварийное завершение среды CODESYS при попытке импорта проекта STEP 5 Рис. 2. Вызов AG_RECV (FC6) в исходном и скомпилированном (MC7) виде

RkJQdWJsaXNoZXIy MTQ4NjUy