Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Автоматизация измерений, контроля и испытаний. Лабораторный практикум. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
686 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ

ФГБОУ ВО

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ»

С.В. ЕРШОВ, Н.Л. КЛЕЙМЕНОВА, Л.Н. НАЗИНА

АВТОМАТИЗАЦИЯ ИЗМЕРЕНИЙ, КОНТРОЛЯ И ИСПЫТАНИЙ

Утверждено редакционно-издательским советом университета

в качестве учебного пособия

ВОРОНЕЖ

2024

УДК 389(076) 531.7.002.5(075)

ББК Ж10я7

Е80

Научный редактор профессор Н. С. РОДИОНОВА

Р е ц е н з е н т ы :

зав. кафедрой метрологического обеспечения производства Воронежского филиала АСМС доцент С. А. СОЛЯНИК,

директор А. В. ЧИЧВАРИН (ООО НПО «БИНАМ»)

Печатается по решению редакционно-издательского совета

Воронежского государственного университета инженерных технологий

Ершов, С.В.

Е80 Автоматизация измерений, контроля и испытаний. Лабораторный практикум : учеб. пособие / С.В. Ершов, Н.Л. Клейменова, Л.И. Назина; Воронежский государственный университет инженерных технологий– Воронеж : ВГУИТ, 2024. -51 с. – Текст: непосредственный.

ISBN 978 -5-00032-690-9

Учебное пособие разработано в соответствии с требованиями ФГОС ВО подготовки выпускников по направлениям27.03.01 – «Стандартизация и метрология», 27.03.02 – «Управление качеством». Оно предназначено для закрепления теоретических знаний дисциплин цикла Б2. В пособии рассмотрены следующие темы: основы создания проектов, типы данных, конструирование входов и выходов

Е

2402000000-09

Без объявл.

УДК 389(076) 531.7.002.5(075)

ББК Ж10я7

 

 

ОК2(03)-2024

 

ã

Ершов С.В., Клейменова Н.Л.,

ISBN 978-5-00032-690-9

Назина Л.И., 2024

ã

ФГБОУ ВО «Воронеж. гос. ун-т

 

 

 

инж. технол.», 2024

Оригинал-макет данного издания является собственностью Воронежского государственного университета инженерных технологий, его репродуцирование (воспроизведение) любым способом без согласия университета запрещается.

2

Лабораторная работа № 1.

ОСНОВЫ СОЗДАНИЯ ПРОЕКТОВ В СРЕДЕ ПРОГРАММИРОВАНИЯ CoDeSys

Цель работы: овладение приемами и навыками создания проектов в среде программирования CoDeSys, а именно: создание проекта, разработка программы управления, методика отладки управляющей программы.

 

 

Теоретические сведения

 

 

 

CoDeSys

-

это

современный

инструмент

для

программирования

контроллеров (CoDeSys образуется

от слов

 

Controllers Development System). CoDeSys

предоставляет

 

программисту

 

удобную

среду

для

программировани

контроллеров на языках стандарта МЭК 61131-3.

 

 

 

С чего начинается программный проект?

Прежде всего, нужно дать проекту новое имя, оно же послужит и названием файла проекта. Первый программный компонент (POU – Program Organization Unit) помещается в новый проект автоматически и получает названиеPLC_PRG. Именно с него и начинается выполнение процесса (по аналогии с функцией main в языке С), из него будут вызываться другие программные блоки (программы, функции и функциональные

блоки). Нет необходимости писать вручную текст дляPLC_PRG,

 

поскольку конфигурация задачи определяется на вкладке проекта

 

Task Configuration – (он

будет рассмотрен далее). Проект

 

содержит ряд разнородных объектов POU, данных разных типов,

 

элементов

визуализации

и ресурсов. Организатор объектов

 

(Object Organizer) управляет писком всех объектов проекта.

 

Как создать собственный проект?

 

 

Для

начала

определяется

конфигурация

ПЛК

соответствии

с аппаратными средствами

своего контроллера.

Затем создаются программные компоненты необходимые для

решения

проблемы. Далее

пишется программный

код для

созданных

компонентов на

выбранных языках. Сразу

после

3

завершения

программирования

компилируется

проект

и

исправляются ошибки, если они есть.

 

 

 

 

 

 

Как проверить проект?

 

 

 

 

 

 

 

Когда все ошибки устранены, можно приступить к отладке.

 

Включается флажок эмуляция(simulation) и «подключитесь»

к

 

контроллеру. Теперь вы в режиме Online. Откроется окно с

 

конфигурацией

 

ПЛК (PLC

Configuration)

и

проверяется

 

правильность выполнения проекта. Для этого

необходимо

 

изменить вручную входные данные и убедится, что выходы

 

контроллера отреагировали нужным образом. Если необходимо,

 

можно

наблюдать

значения

переменных

в

программных

компонентах. Используя менеджер просмотра и заказа значений

 

переменных (короче, менеджер

рецептов) Watch and

Receipt

 

Manager,

задается

список

переменных, значения

 

которых

 

необходимо наблюдать. В случае ошибок в работе кода задаются

 

точки останова. Когда процесс остановлен в определенной точке,

 

можно просмотреть значения переменных проекта

в

данный

 

момент времени. Выполняя проект в пошаговом режиме(single

 

step), проверяется логическая корректность своих программ.

 

 

Проект включает следующие объекты: POU, типы данных,

 

визуализации, ресурсы, библиотеки. Каждый проект сохраняется

 

в отдельном файле.

 

 

 

 

 

 

 

 

 

POU (Program Organization Unit)

 

 

 

 

 

 

К

программным

компонентам(POU)

относятся

 

функциональные блоки, функции и программы. Отдельные POU

 

могут включать действия (подпрограммы). Каждый программный

 

компонент состоит из раздела объявлений и кода. Для написания

 

всего кода POU используется только один из МЭК языков

 

программирования (IL, ST, FBD, SFC, LD или CFC). CoDeSys

 

поддерживает все описанные стандартом МЭК компоненты. Для

 

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

 

standard.lib. POU могут

вызывать

другиеPOU, но

рекурсии

 

недопустимы.

 

 

 

 

 

 

 

 

 

 

Функция

 

 

 

 

 

 

 

 

 

 

Функция

это

POU,

который

возвращает

только

 

единственное значение (которое может состоять из нескольких

 

элементов,

если это битовое поле или структура). В текстовых

 

4

языках функция вызывается как оператор и может входить в выражения. При объявлении функции необходимо указать тип возвращаемого значения. Для этого после имени функции нужно написать двоеточие и тип. Правильно объявленная функция выглядит следующим образом:

FUNCTION Fct: INT

Имя функции используется как выходная переменная, которой

присваивается результат

вычислений. Объявление функции

должно начинаться с

ключевого слова FUNCTION и

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

Например:

На FBD:

Функциональный блок

Функциональный блок - это POU, который принимает и возвращает произвольное число значений. В отличие от функции функциональный блок не формирует возвращаемое значение.

Объявление

функционального

блока начинается

с

ключевого

слова FUNCTION_BLOCK и

заканчивается

ключевым

словом

END_FUNCTION_BLOCK.

Ниже

приведен

 

пример

функционального блока, написанного на IL, который

имеет

две

входных и две выходных переменных. Значение выходной

переменной

MULERG

равно

произведению значений

двух

входных

переменных,

а значение VERGL

определяется

в

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

5

Экземпляры функционального блока

 

 

 

 

 

 

 

Определение

 

функционального

 

 

блока

 

подоб

определению

типа

данных. Для работы с функциональным

 

блоком необходимо объявить(создать)

его

экземпляр.

Один

 

 

функциональный

блок

может

иметь

 

произвольное

число

экземпляров,

каждый

из

которых

 

имеет

собственные

независимые

 

данные (память).

 

Каждый

 

 

экземпляр

 

функционального

блока

получает

 

 

свой

 

собственн

идентификатор

(имя

экземпляра)

и

свои данные, содержащие

 

 

входные, выходные

и внутренние переменные. Экземпляры

 

 

функционального блока объявляются глобально или локально как

 

 

переменные, имеющие тип соответствующего функционального

 

блока.

Экземпляры

функционального

блока

могут

быть

объявлены в другом функциональном блоке или в программе.

 

Объявлять экземпляр функционального блока в теле функции

 

нельзя.

Экземпляры

функционального

блока

доступны в

том

 

POU, в

котором

они объявлены, если они не объявлены

 

глобально. Экземпляры функциональных блоков могут быть

 

использованы

в

качестве

 

входных

 

переменных

 

других

функциональных блоков или функций.

 

 

 

 

 

 

 

 

Вызов функционального блока

 

 

 

 

 

 

 

 

Для обращения к входным и выходным переменным

функционального

блока

извне

 

необходимо

указать

имя

6

экземпляра функционального блока, следующей за ней точкой и именем переменной: <Имя экземпляра>.<Имя переменной >

Переменные вход-выход

 

Переменные вход-выход (VAR_IN_OUT)

передаются в

экземпляр функционального блока через

указатели. Поэтому

таким переменным нельзя присваивать константы при вызове. Результат умножения сохраняется в переменной ERG, а результат сравнения в переменнойQUAD. Экземпляр функционального блока FUB называется INSTANZ.

Пример в FBD:

Программа – это POU, способный формировать

 

произвольное значение во время вычислений. Значения всех

 

переменных программы сохраняются между вызовами. В отличие

 

от

функционального

блока

экземпляров

программы

не

существует. Программа является глобальной во всем проекте.

 

Нельзя

вызывать

программу

из

функции. Если

вызвать

 

программу, которая изменит значения своих переменных, то при

 

следующем вызове ее переменные будут иметь те же значения,

 

даже если она вызвана из другого POU. В этом заключается

 

главное различие между программой и функциональным блоком,

 

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

 

экземпляра функционального блока. Объявление программы

 

начинается

ключевым

словомPROGRAM и заканчивается

 

ключевым словом END_PROGRAM. Так же, как и для

 

экземпляров

функциональных

блоков, в

текстовых

языках

 

7

(IL, ST) задать

актуальные параметры и считать значения

выходов можно непосредственно при вызове программы.

FBD:

 

PLC_PRG

 

Программа

PLC_PRG – это специальный POU, который

должен быть в каждом проекте. Эта программа вызывается один

 

раз

за

цикл

управления. При

создании

нового

проекта

автоматически

открывается

диалог"Project"

"Object

Add",

 

предлагающий

создать

новыйPOU

программу

с

именем

 

PLC_PRG. Не следует менять предложенные установки. Если

 

определить

 

последовательность

выполнения

задач Taskв

 

Configuration,

то

проект

может

 

не

содержатьPLC_PRG.

 

PLC_PRG является главной программой в однозадачном проекте.

 

 

Внимание: нельзя

удалять

или

переименовыватьPOU

 

PLC_PRG(если Task Configuration не используется).

 

 

 

 

Отладка

 

 

 

 

 

 

 

 

 

 

 

 

Специальная

опция

 

отладкиCoDeSys

заставляет

 

компилятор формировать дополнительный код, упрощающий

 

поиск ошибок. Опция включается через меню "Project" "Options"

 

в диалоговом окне "Debugging".

 

 

 

 

 

 

 

 

 

Точки останова

 

 

 

 

 

 

 

 

 

 

 

Точки

 

останова –

это

места,

в

которых

выполнение

программы

 

будет

приостанавливаться, что

 

позволяет

просмотреть

 

значения

переменных

на

определенном

этапе

работы программы. Точки останова можно задавать во всех

редакторах.

 

В

текстовом

 

редакторе

точка

останов

устанавливается на номер строки, в FBD и LD – на графический

 

элемент и в SFC – на шаг.

 

 

 

 

 

 

 

 

 

 

Пошаговое выполнение

 

 

 

 

 

 

 

 

 

Под

«шагом»

подразумевается

в FBD:

Выполнить

 

следующую цепь. Пошаговое выполнение позволяет проверить логическую правильность программы.

Выполнение по циклам

Команда одинарный цикл(Single Cycle) выполняет один рабочий цикл и останавливает контроллер после выполнения.

8

Изменения значений переменных в режиме Online

Изменив значение переменной в режимеonline, вы можете однократно записать его в контроллер(запись значений) либо включить режим записи заданных значений в каждом рабочем цикле (фиксация значений). Для изменения текущего значения переменной щелкните по нему дважды мышкой. Если это

логическая

переменная,

то

она

изменит свое

значение на

противоположное, если же эта переменная любого другого типа,

то новое значение переменной нужно будет ввести в диалоговом

окне (Write Variable).

 

 

 

 

 

Мониторинг

 

 

 

 

 

В режиме online

значения

всех

видимых

на экране

переменных

отображаются CoDeSys

в реальном времени. Вы

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

объявлений и кода редакторов, в менеджере «рецептов» (watch

and receipt

manager) и

на

экранах

визуализации. Значения

переменных экземпляров функциональных блоков отображаются в виде иерархического дерева. Для указателей, в разделе кода, отображаются только их собственные значения. В разделе объявлений вы можете «раскрыть» указатель и увидеть значение адресуемой им переменной.

Эмуляция

Во время эмуляции созданная программа выполняется не в ПЛК, а в компьютере, на котором запущенCoDeSys. В этом режиме допустимы все функции online, что позволяет проверить логическую правильность программ, не используя контроллер.

Внимание: функции внешних библиотек не выполняются в режиме эмуляции.

Задания

Реализовать в пользовательском программном компоненте с именем ________ следующую математическую функцию.

Порядок выполнения работы

1. Создаем проект нажатием кнопки«Создать» на панели основного меню главного окна.

9

2.В диалоговом окне«Настройки целевой платформы» выбираем тип промышленного контроллера, для которого будет написана управляющая программа. Затем подтвердить настройки целевой платформы.

3.В диалоговом окне«Новый программный компонент (POU)» выбираем язык реализацииFBD и подтверждаем настройки основного программного компонента.

4.В появившемся рабочем поле во вкладке организатора объектов добавляем новый объект. Далее в диалоговом окне «Новый программный компонент(POU)» выбираем язык реализации FBD, в поле «Имя нового POU» вводим уникальное имя, отличное от PLC_PRG, в качестве «Типа POU» выбираем тип – Программа. Подтвердив настройки нового программного компонента, создаем пользовательский POU типа программа.

5.В области переменных пользовательскогоPOU

сочетанием клавиш Shift+F2 вызываем диалоговое окно «Объявление переменной». В данном диалоговом окне указываем уникальное имя переменной, выбираем тип переменной REAL и указываем её начальное значение. Таким образом, подтвердив

настройки

переменной,

создаем

новую

 

пользовательскую

переменную.

 

 

 

 

 

 

 

 

6. В

рабочей

области

основного

,окнагде

находится

редактор

программы,

нажатием

сочетания

клавишCtrl+B

создаем первый элемент программы. Меняем название элемента

на название любой арифметической функции. В качестве первой

входной переменной ставим пользовательскую переменную, в

качестве

второй –

любое

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

 

число.

(Названия

арифметических

функций

выбираем

следующие: ADD

сложение, SUB – вычитание, MUL – умножение, DIV – деление.)

Нажатием

сочетания

клавишCtrl+А

вызываем

операцию

«Присвоения»

и

присваиваем

результат

выполнения

пользовательской переменной.

 

 

7. В рабочей области основного окнаPOU PLC_PRG, где находится редактор программы, нажатием сочетания клавиш Ctrl+B создаем элемент программы. Меняем название элемента на название пользовательской POU.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]