Сложение переменных типов: byte, word, dword, sint, usint, int, uint, dint, udint, real и lreal. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сложение переменных типов: byte, word, dword, sint, usint, int, uint, dint, udint, real и lreal.



СОЗДАНИЕ ПРОЕКТА

Запустите CoDeSys и выберите в окне «Настройки целевой платформы» в строке конфигурация – PLC154A-L. Таким образом, вы подключите виртуальный ПЛК 154A-L (рисунок 1). Нажмите ОК.

Рисунок 1. Выбор ПЛК 154.

В новом открывшемся окне необходимо выбрать язык реализации для решения установленной задачи (рисунок 2). Нажмите ОК.

Рисунок 2. Ввод имени проекта и выбор языка реализации.

 

После создания проекта на языке реализации FBD, рабочая область выглядит следующим образом (рисунок 3):

 

Рисунок 3. Рабочая область проекта на языке FBD

 

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

 

 

Рисунок 4. Конфигурация ПЛК.

Нажмите на «+» и появится конфигурация ПЛК 154 (рисунок 5). Посмотрите его структуру.

Рисунок 5. Конфигурация ПЛК.

На вкладке «POU» можете приступить к созданию проекта на языке FBD. Сразу после завершения программирования вы компилируете проект. Для этого зайдите в верхнем меню ‘Проект’ – ‘Компилировать все’. Если будут ошибки в проекте, то они будут отображены внизу основного окна. Исправьте эти ошибки. Когда все ошибки устранены, можно приступить к запуску проекта.

Запуск проекта c использованием виртуального ПЛК осуществляется командой в верхнем меню ‘Онлайн’- ‘Режим эмуляции’. ‘Онлайн’-‘Подключение’. ‘Онлайн-Старт’.

Остановка программы осуществляется командой в верхнем меню ‘Онлайн’-’Отключение’.

Рисунок 6. Вкладки для подключения и отключения проекта.

 

Типы данных

Тип данных определяет род информации и методы ее обработки и хранения, количество выделяемой памяти. Можно непосредственно использовать элементарные (базовые) типы данных или создавать собственные (пользовательские) типы на их основе.

 

Логический (BOOL)

BOOL логический тип данных. Переменная может принимать 2 значения ИСТИНА (TRUE) или ЛОЖЬ (FALSE). Занимает 8 бит памяти, если не задан прямой битовый адрес.

Рациональные

REAL и LREAL данные в формате с плавающей запятой, используются для сохранения рациональных чисел. Для типа REAL необходимо 32 бита памяти и 64 для LREAL.

Диапазон значений REAL от: 1.175494351e-38 до 3.402823466e+38

Диапазон значений LREAL от: 2.2250738585072014e-308 до 1.7976931348623158e+308

 

Язык функциональных блоковых диаграмм (FBD)

Редактор FBD - графический редактор. Он работает со списком цепей, каждая из которых состоит из логических или арифметических выражений, вызовов функций, программ или функциональных блоков, инструкций возврата и перехода. Аналогичен языку LD.

С основными инструментами языка LD вы познакомились в предыдущих лабораторных работах. В этой работе вы узнаете об операторах и функциях CoDeSys, которые используются в графическом редакторе FBD.

Операторы и функции CoDeSys

В более полном объеме познакомиться с операторами и функциями CodeSys можно в справке программы (верхнее меню ‘Справка’-’Содержание’-‘Операторы и функции’).

Битовые операторы

AND

Побитное И. Операция применима к типам BOOL, INT, BYTE, WORD или DWORD. Для вставки блока AND на языке FBD необходимо на панели инструментов выбрать «Элемент»:

 

Рисунок 7. Вставка «элемента»

Щелкните левой кнопкой мыши во вторую половину рабочего окна редактора FBD и вставьте, как показано выше элемент. После вставки указанного элемента на экране появиться следующий блок функции AND:

Рисунок 8. Функция AND на языке FBD.

Вместо знаков вопроса необходимо ввести переменные, которые участвуют в выражении. А с правой стороны блока можно вставлять другие элементы, а также «переходы» на другую строку, «присваивание» переменных. Для нашей задачи необходимо научиться пользоваться переходом на новую строку. Для этого щелкните правой кнопкой мыши в выделенном квадрате, справой стороны блока, и выберете в меню «Переход». Появиться стрелка и знаки вопроса???. Вместо этих знаков вопроса необходимо ввести имя метки на английском языке. По имени этой метки будут продолжаться дальнейшие вычисления. После всех действий блок AND выглядит следующим образом.

Рисунок 9. Функция AND на языке FBD и ввод переменных.

Этот пример аналогичен выражению: x AND y = z.

Операторы сравнения

LT - Меньше

Двоичный оператор возвращает TRUE, если значение первого параметра меньше второго.

Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «LT» и ввести переменные. С правой стороны блока можно также задать «Переход» по метке или присвоить результат вычисления переменной. Для этого щелкните правой кнопкой мыши в выделенном квадрате, справой стороны блока, и выберете в меню «Присваивание». Появиться выход и знаки вопроса???. Вместо этих знаков вопроса необходимо ввести имя переменной. После всех действий блок LT выглядит следующим образом.

 

Рисунок 10. Функция LT на языке FBD.

Этот пример аналогичен выражению: Если x < y, то выполняется условие z.

 

GT - Больше

Двоичный оператор возвращает TRUE, если значение первого параметра больше второго.

Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «GT», затем ввести переменные и задать «выход» блока, как описано выше.

Рисунок 11. Функция GT на языке FBD.

Этот пример аналогичен выражению: Если x > y, то выполняется условие z.

 

EQ - Равно

Двоичный оператор возвращает TRUE, если значение первого параметра равно второму.

Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «EQ», затем ввести переменные и задать «выход» блока, как описано выше.

Рисунок 12. Функция EQ на языке FBD.

Этот пример аналогичен выражению: Если x = y, то выполняется условие z.

 

Арифметические операторы

SUB - Вычитание

Вычитание значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «SUB», затем ввести переменные и задать «выход» блока, как описано выше.

 

Рисунок 13. Функция SUB на языке FBD.

 

Этот пример аналогичен выражению: z = x - y.

 

ADD – Сложение

MUL – Умножение

DIV – Деление

Математические функции

EXP - Экспонента.

Аргумент может быть типов BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT, результат должен быть типа REAL.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «EXP», затем ввести переменные и задать «выход» блока, как описано выше.

Рисунок 17. Функция EXP на языке FBD.

 

Этот пример аналогичен выражению: z = ex.

 

EXPT - Число X в степени Y.

X и Y могут быть типов BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT, OUT должна быть REAL.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «EXPT», затем ввести переменные и задать «выход» блока, как описано выше.

Рисунок 18. Функция EXPT на языке FBD.

 

Этот пример аналогичен выражению: z = xy.

 

COS - косинус

Аргумент может быть типов BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT, результат должен быть типа REAL. Аргумент измеряется в радианах.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «EXPT», затем ввести переменные и задать «выход» блока, как описано выше.

Рисунок 19. Функция COS на языке FBD.

 

Этот пример аналогичен выражению: z = cos(x).

 

Задание

1. Задать уравнение

в ПЛК, согласно которому производится расчет температуры в каждой точке внутри теплицы.

2. Создать визуализацию задачи согласно рисунку 20. Область, в которой указано t = 21,7оС, должна подсвечиваться каким-либо цветом, если температура внутри теплицы t находится в промежутке от 20 до 22оС. Все остальные области задать аналогичным образом.

Рисунок 20. Температурное поле теплицы, полученное методом электротепловой аналогии

 

 


Программа

После того, как введете в микроконтроллер на языке FBD уравнение для расчета температуры t, задайте цвета для областей внутри теплицы, которые будут появляться в зависимости от температуры t. (См. пример программы ниже. Аналогичная ситуация была разобрана в лабораторной работе №3).



Визуализация задачи

Рисунок 23. Общий вид визуализации задачи о расчете температуры внутри теплицы

 

 

Рисунок 24. Вид визуализации после запуска программы

 

Цветовые области

Первая цветовая области (нижний прямоугольник).

Рисунок 35. Выбор цветов заливки во включенном и выключенном режиме

Рисунок 36. Назначение переменной изменения цвета

СОЗДАНИЕ ПРОЕКТА

Запустите CoDeSys и выберите в окне «Настройки целевой платформы» в строке конфигурация – PLC154A-L. Таким образом, вы подключите виртуальный ПЛК 154A-L (рисунок 1). Нажмите ОК.

Рисунок 1. Выбор ПЛК 154.

В новом открывшемся окне необходимо выбрать язык реализации для решения установленной задачи (рисунок 2). Нажмите ОК.

Рисунок 2. Ввод имени проекта и выбор языка реализации.

 

После создания проекта на языке реализации FBD, рабочая область выглядит следующим образом (рисунок 3):

 

Рисунок 3. Рабочая область проекта на языке FBD

 

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

 

 

Рисунок 4. Конфигурация ПЛК.

Нажмите на «+» и появится конфигурация ПЛК 154 (рисунок 5). Посмотрите его структуру.

Рисунок 5. Конфигурация ПЛК.

На вкладке «POU» можете приступить к созданию проекта на языке FBD. Сразу после завершения программирования вы компилируете проект. Для этого зайдите в верхнем меню ‘Проект’ – ‘Компилировать все’. Если будут ошибки в проекте, то они будут отображены внизу основного окна. Исправьте эти ошибки. Когда все ошибки устранены, можно приступить к запуску проекта.

Запуск проекта c использованием виртуального ПЛК осуществляется командой в верхнем меню ‘Онлайн’- ‘Режим эмуляции’. ‘Онлайн’-‘Подключение’. ‘Онлайн-Старт’.

Остановка программы осуществляется командой в верхнем меню ‘Онлайн’-’Отключение’.

Рисунок 6. Вкладки для подключения и отключения проекта.

 

Типы данных

Тип данных определяет род информации и методы ее обработки и хранения, количество выделяемой памяти. Можно непосредственно использовать элементарные (базовые) типы данных или создавать собственные (пользовательские) типы на их основе.

 

Логический (BOOL)

BOOL логический тип данных. Переменная может принимать 2 значения ИСТИНА (TRUE) или ЛОЖЬ (FALSE). Занимает 8 бит памяти, если не задан прямой битовый адрес.

Рациональные

REAL и LREAL данные в формате с плавающей запятой, используются для сохранения рациональных чисел. Для типа REAL необходимо 32 бита памяти и 64 для LREAL.

Диапазон значений REAL от: 1.175494351e-38 до 3.402823466e+38

Диапазон значений LREAL от: 2.2250738585072014e-308 до 1.7976931348623158e+308

 

Язык функциональных блоковых диаграмм (FBD)

Редактор FBD - графический редактор. Он работает со списком цепей, каждая из которых состоит из логических или арифметических выражений, вызовов функций, программ или функциональных блоков, инструкций возврата и перехода. Аналогичен языку LD.

С основными инструментами языка LD вы познакомились в предыдущих лабораторных работах. В этой работе вы узнаете об операторах и функциях CoDeSys, которые используются в графическом редакторе FBD.

Операторы и функции CoDeSys

В более полном объеме познакомиться с операторами и функциями CodeSys можно в справке программы (верхнее меню ‘Справка’-’Содержание’-‘Операторы и функции’).

Битовые операторы

AND

Побитное И. Операция применима к типам BOOL, INT, BYTE, WORD или DWORD. Для вставки блока AND на языке FBD необходимо на панели инструментов выбрать «Элемент»:

 

Рисунок 7. Вставка «элемента»

Щелкните левой кнопкой мыши во вторую половину рабочего окна редактора FBD и вставьте, как показано выше элемент. После вставки указанного элемента на экране появиться следующий блок функции AND:

Рисунок 8. Функция AND на языке FBD.

Вместо знаков вопроса необходимо ввести переменные, которые участвуют в выражении. А с правой стороны блока можно вставлять другие элементы, а также «переходы» на другую строку, «присваивание» переменных. Для нашей задачи необходимо научиться пользоваться переходом на новую строку. Для этого щелкните правой кнопкой мыши в выделенном квадрате, справой стороны блока, и выберете в меню «Переход». Появиться стрелка и знаки вопроса???. Вместо этих знаков вопроса необходимо ввести имя метки на английском языке. По имени этой метки будут продолжаться дальнейшие вычисления. После всех действий блок AND выглядит следующим образом.

Рисунок 9. Функция AND на языке FBD и ввод переменных.

Этот пример аналогичен выражению: x AND y = z.

Операторы сравнения

LT - Меньше

Двоичный оператор возвращает TRUE, если значение первого параметра меньше второго.

Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «LT» и ввести переменные. С правой стороны блока можно также задать «Переход» по метке или присвоить результат вычисления переменной. Для этого щелкните правой кнопкой мыши в выделенном квадрате, справой стороны блока, и выберете в меню «Присваивание». Появиться выход и знаки вопроса???. Вместо этих знаков вопроса необходимо ввести имя переменной. После всех действий блок LT выглядит следующим образом.

 

Рисунок 10. Функция LT на языке FBD.

Этот пример аналогичен выражению: Если x < y, то выполняется условие z.

 

GT - Больше

Двоичный оператор возвращает TRUE, если значение первого параметра больше второго.

Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «GT», затем ввести переменные и задать «выход» блока, как описано выше.

Рисунок 11. Функция GT на языке FBD.

Этот пример аналогичен выражению: Если x > y, то выполняется условие z.

 

EQ - Равно

Двоичный оператор возвращает TRUE, если значение первого параметра равно второму.

Операнды могут быть типов BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «EQ», затем ввести переменные и задать «выход» блока, как описано выше.

Рисунок 12. Функция EQ на языке FBD.

Этот пример аналогичен выражению: Если x = y, то выполняется условие z.

 

Арифметические операторы

SUB - Вычитание

Вычитание значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «SUB», затем ввести переменные и задать «выход» блока, как описано выше.

 

Рисунок 13. Функция SUB на языке FBD.

 

Этот пример аналогичен выражению: z = x - y.

 

ADD – Сложение

Сложение переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

Вставка оператора в программу осуществляется также, как и оператор AND.

После того как вставлен нужный блок, необходимо вместо «AND» написать «ADD», затем ввести переменные и задать «выход» блока, как описано выше.

 

Рисунок 14. Функция ADD на языке FBD.

 

Этот пример аналогичен выражению: z = x + y.

 

MUL – Умножение



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 2289; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.198.21 (0.105 с.)