PTTC.PNG
Skip to main content.

программный компонент проекта

Автор статьи: Шалыт Израиль Соломонович
Дата последнего изменения:2016.06.29
Сообщить об ошибке
  программный компонент проекта
программный компонент
-
[Интент]
EN  
FR  

6114

Окно нового программного компонента (POU) в CoDeSys
[Гайнутдинов Кирилл. Простое и понятное программирование в CoDeSys]


К программным компонентам (POU) относятся функциональные блоки, функции и программы. Отдельные POU могут включать действия (подпрограммы).
Каждый программный компонент состоит из раздела объявлений и кода. Для написания всего кода POU используется только один из МЭК языков программирования (IL, ST, FBD, SFC, LD или CFC).
CoDeSys поддерживает все описанные стандартом МЭК 61131 компоненты.
Для их использования достаточно включить в свой проект библиотеку дополнительных программных компонентов «standard.lib».
При написании проекта следует иметь в виду, что POU проекта могут вызывать другие POU, но рекурсии (то есть обращения POU к себе самим) недопустимы.
Выполнение программы начинается с программного компонента POU «PLC_PRG» и выполняется циклически.

[Программирование программируемых логических контроллеров ОВЕН ПЛК 63 и ПЛК 73. Руководство пользователя]


Каждый компонент программы имеет собственное наименование, определенный интерфейс и описание на одном из МЭК-языков. Один компонент может вызвать другие компоненты. Вызов самого себя (рекурсия) в стандарте МЭК не разрешена. Комбинировать различные языки в одном проекте можно при описании различных компонентов, но отдельный компонент целиком реализуется на одном языке МЭК. При вызове компонента язык его реализации значения не имеет.
К компонентам программ в МЭК-стандарте относятся функции, функциональные блоки и программы. Все они во многом похожи, но имеют определенные особенности и различное назначение.
Компонент обладает свойством инкапсуляции — работает как «черный ящик», скрывая детали реализации. Для работы с компонентом достаточно знать его интерфейс, включающий описание входов и выходов. Внутреннее его устройство знать необязательно.
В графической форме представления компонент выглядит какпрямоугольник с входами слева и выходами справа.
Локальные (внутренние) переменные компонента недоступны извне и в графическом представлении не отображаются. Благодаря инкапсуляции компоненты успешно решают задачу структурной декомпозиции проекта. На верхнем уровне представления мы работаем с крупными компонентами. Каждый из них выполняет значительную для данного проекта задачу. Лишние подробности на этом уровне только мешают пониманию проблемы. Раскрывая вложенные компоненты один за другим, мы можем добраться до самого детального представления.
Готовый компонент всегда можно вскрыть, изучить и поправить. Это, конечно, относится только к пользовательским компонентам и открытым библиотекам. Некоторые стандартные компоненты включены в транслятор и не доступны для просмотра и изменения. Это относится и к внешним библиотекам. Внешние библиотеки реализуются в виде объектного кода при помощи внешних средств, например компилятора С или ассемблера. Возможно даже, что компонент реализован не только программно, а использует вспомогательные аппаратные средства, например часы реального времени или математический сопроцессор.
Еще одной задачей, решаемой компонентами, является локализация имен переменных. Это означает, что в различных компонентах можно использовать повторяющиеся имена. Так, например, любимую переменную с оригинальным идентификатором «X» можно использовать в каждом компоненте, и всякий раз это будет новая переменная. Область видимости локальных переменных определяется рамками одного компонента. Конечно, можно все переменные проекта объявить глобальными. Модификация и отладка подобных проектов вызывает такие же ощущения, как распутывание «бороды» из лески на удочке во время клева. Ограничение области видимости является обязательным во всех современных системах программирования. Экземпляры функциональных блоков, объявленные внутри других компонентов, также обладают локальной областью видимости. Программы и функции всегда определены глобально
.

[Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования]

Тематики

  • ПЛК (программируемые логические контроллеры)

Синонимы

  • программный компонент

EN

  • POU
  • Program Organization Unit

 

Внимание!

Закрыть