Лекция: Компоненты организации программ (POU)

Компоненты организации программ образуют код прикладного программного обеспечения ПЛК. Именно на уровне компонентов доступно совмещение различных языков МЭК. В англоязычных документах компоненты организа­ции программ сокращенно обозначаются POU — Program Organization Unit. Чтобы не вызывать неоднозначность, мы далее также будем использовать эту аббревиатуру.

Определение компонента

Компоненты организации программ являются базовыми эле­ментами, из которых строится код проекта. Каждый компонент программы имеет собственное наиме­нование, определенный интерфейс и описание на одном из МЭК-языков. Один компонент может вызвать другие компонен­ты. Вызов самого себя (рекурсия) в стандарте МЭК не разрешена. Комбинировать различные языки в одном проекте можно при описании различных компонентов, но отдельный компонент це­ликом реализуется на одном языке МЭК. При вызове компонента язык его реализации значения не имеет.

К компонентам организации программ в МЭК-стандарте относятся функции, функциональные блоки и программы. Все они во многом похожи, но имеют определенные особенности и различное назначение.

Компонент обладает свойством инкапсуляции — работает как «черный ящик», скрывая детали реализации. Для работы с компонентом достаточно знать его интерфейс, включающий описание входов и выходов. Внутреннее его устройство знать необязательно. В графической форме представления компонент выглядит как Прямоугольник с входами слева и выходами справа. Локальные (внутренние) переменные компонента недоступны извне и в графическом представлении не отображаются.

Готовый компонент всегда можно вскрыть, изучить и поправить. Это, конечно, относится только к пользовательским компо­нентам и открытым библиотекам. Некоторые стандартные компо­ненты включены в транслятор и недоступны для просмотра и изменения. Это относится и к внешним библиотекам. Внешние биб­лиотеки реализуются в виде объектного кода при помощи внешних средств, например компилятора С или ассемблера. Возможно даже, что компонент реализован не только программно, а исполь­зует вспомогательные аппаратные средства, например часы реального времени или математический сопроцессор.

Еще одной задачей, решаемой компонентами, является локализация имен переменных. Это означает, что в различных компонентах можно использовать повторяющиеся имена. Так, напри­мер, любимую переменную с оригинальным идентификатором «X» можно использовать в каждом компоненте, и всякий раз это будет новая переменная. Область видимости локальных переменных определяется рамками одного компонента. Конечно, можно все переменные проекта объявить глобальными. Модификация и отладка подобных проектов вызывает такие же ощущения, как распутывание «бороды» из лески на удочке во время клева. Ограничение области видимости является обязательным во всех современных системах программирования.

Экземпляры функциональных блоков, объявленные внутри других компонентов, также обладают локальной областью видимости. Программы и функции всегда определены глобально.

еще рефераты
Еще работы по информатике