Общие элементы ПО МПС. Переменные и компоненты программ (на примере пакета CoDeSys) презентация

Содержание

Вопросы лекции Переменные проектов «Венгерская» запись данных в проекте Компоненты проектов блоки Операторы и функции МЭК

Слайд 1Програмне забезпечення мікропроцесорних систем
Лекция 5
Общие элементы ПО МПС. Переменные и компоненты программ
(на

примере пакета CoDeSys)

Лысаченко И.Г.
2012

Національний технічний університет
«Харківський Політехнічній Інститут»

Факультет Інтегрованих технологій і хімічної техніки


Слайд 2Вопросы лекции
Переменные проектов
«Венгерская» запись данных в проекте
Компоненты проектов
блоки
Операторы и функции

МЭК

Слайд 3Переменные в проекте
Работа с данными в стандарте МЭК61131 осуществляется через переменные,

которые используют элементы проекта
конфигурация оборудования
ресурсы
блоки
библиотеки

Слайд 4 разделяют по зоне видимости
Глобальные переменные определяются на уровне ресурсов проекта

(VAR_GLOBAL) и доступны для всех компонентов проекта
Локальные переменные (VAR) описываются при объявлении компонента и доступны только внутри него

Переменные…


Слайд 5Переменная в пользовательской программе…
Переменная (variable) – это величина определенного формата
Константы (Constants)

используются для присваивания переменным фиксированных значений
константа имеет особый префикс в зависимости от типа данных

Слайд 6идея заключается в добавлении к идентификаторам коротких префиксов, которые определяют тип

и некоторые другие важные характеристики переменной
префиксы записывают строчными буквами
имя переменной заглавными буквами

“Венгерский” язык …


Слайд 7“Венгерский” язык …
Для базовых типов МЭК можно предложить следующие префиксы типов


Слайд 8“Венгерский” язык …
Уточнить назначение переменной можно добавлением еще одного символа перед

префиксом типа

Символ подчеркивания «_» удобно использовать для индикации способа обращения к переменной
подчеркивание в начале имени указывает - только чтение
идентификаторы переменных, которые отвечают входам ПЛК, начинаются символом подчеркивания
подчеркивание в конце имени указывает – только запись
идентификаторы выходов заканчиваются символом подчеркивания


Слайд 9Пример
Если
bStop: BOOL
bySet:

BYTE
wSize UINT
тогда
bStop := wSize * 2; ошибочное выражение
bStop := wSize > 2; допустимое выражение

Слайд 10Понятие «БЛОК»
БЛОК – это раздел программы, который определяется собственной функциональностью, структурой

или решаемой задачей
базовый элемент проекта
обладает принципом инкапсуляции – т.е. скрывает процесс реализации
нужно лишь знать интерфейс - вход и выход
внутреннее содержание знать необязательно
Компоненты программ (в КоДеСис)
функция
функциональный блок
программа

Слайд 11VAR_INPUT
формальный вх. параметр, присваивается другой переменной, любые изменения внутри компонента

не отображаются на входе
VAR_OUTPUT
формальный вых. параметр, отражает результат компонента и копируется на выход, вне компонента доступен только для чтения
VAR_IN_OUT
формальный вх/вых, передается по ссылке только адрес в памяти данных
VAR
доступны только внутри компонента, вне компонента доступа нет

Параметры и переменные компонентов


Слайд 12Интерфейс компонентов


Слайд 13Интерфейс компонента образуется вх. и вых. переменными
интерфейсные вх. переменные

называют формальными параметрами
при использовании компонента его формальные параметры связываются с актуальными параметрами
при вызове параметры компонентов приобретают актуальные или текущие значения

Компоненты программ


Слайд 14ПРИМЕР


Слайд 15ctuTimeMeter.RESET := FALSE;
ctuTimeMeter.PV := 100;
x := ctuTimeMeter.CV;
ctuTimeMeter (RESET := FALSE, CU

:= Inpl, CV => x);

Пример …


Слайд 16Операторы и функции МЭК
CoDeSys поддерживает все МЭК операторы
данные операторы и

функции не требуют подключения библиотек
Операторы присваивания
Арифметические операторы
Битовые операторы (логические)
Операторы сдвига
Операторы выборки
Операторы сравнения
Адресные операторы
Оператор вызова
Преобразования типов
Математические функции

Слайд 17Операторы присваивания


Слайд 18Арифметические операторы




Выполняют алгебраические операции над целыми числами (INT, WORD) и числами

с плавающей запятой (REAL)

Слайд 19Логические операторы


Слайд 20Операторы сдвига
SHL, res:=SHL(in,n)
побитный сдвиг операнда in влево на n бит с

дополнением нулями справа
SHR, res:= SHR(in,n)  
побитный сдвиг операнда in вправо на n бит с дополнением нулями слева
ROL, res:=ROL(in,n)  
циклический сдвиг операнда in влево на n бит, младшие биты последовательно заполняются старшими
ROR, res:=ROR(in,n)
циклический сдвиг операнда in вправо на n бит, младшие биты последовательно заменяют старшие
вх. переменные и результат должны быть типа
BYTE, WORD или DWORD

Слайд 21SHL (сдвиг влево)

SHR (сдвиг вправо)

ROL (цикл. сдвиг влево)

ROR (цикл. сдвиг вправо)
Операторы

сдвига

Слайд 22Предназначены для ограничения и выбора значений
Используются с любыми типами данных
Операторы выбора








Слайд 23Операторы сравнения






Используются для работы со всеми типами данных


Слайд 24Move присваивает значение слева переменной справа.
Используются с любыми типами данных.

При появлении

значения TRUE на входе En операция
выполняется, иначе операция игнорируется.
Используется с любыми операторами и POU.

Оператор move и разрешающий вход EN


Слайд 25Оператор вызова
CAL
вызывает функциональный блок или программу
применяется в IL для вызова экземпляра

функционального блока, входные переменные помещаются в скобках вслед за его именем
Пример
Вызов экземпляра ФБ Inst, где входные переменные Par1 и Par2 равны 0 и TRUE соответственно

CAL INST(PAR1 := 0, PAR2 := TRUE)

Слайд 26Операторы для работы с числами с плавающей запятой (тип REAL)
Математические функции


Слайд 27Логарифмические операторы
Вычисление логарифмов и экспоненты
Математические функции


Слайд 28Тригонометрические операторы
Математические функции


Слайд 29Преобразование данных
Неявное преобразование данных из 'большего' типа в 'меньший' запрещено стандартом


если подобное преобразование действительно необходимо, оно должно быть выражено явно
явные преобразования работают практически для всех базовых типов данных
Синтаксис _TO_
преобразования в строку …_TO_STRING используют выравнивание влево

Слайд 30Выводы по лекции
Рассмотренные основные компоненты проектов и их функциональное назначение свидетельствуют

о строгой иерархии внутри проектов
Стандарт строго регламентирует порядок работы управляющей программы, которая зависит от аппаратной конфигурации управляющей системы

Слайд 31Литература
Стр. 64 – 102
Стр. 70 – 84
Стр. 124 –

141



Слайд 32Вопросы для обсуждения
Перечислите структурные элементы проектов
В чем заключается «венгерская запись» по

отношению к данным проекта
Что такое экземпляр блока и где хранятся параметры для экземпляра
Как реализуется многократное использование ФБ
Чем отличается функция от ФБ
Когда формальный параметр становится актуальным

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика