Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИВТ329Б_ПЭАСУТП_Саляхов_ЛР4.docx
Скачиваний:
0
Добавлен:
25.06.2025
Размер:
2.01 Mб
Скачать

Министерство науки и образования Российской Федерации

Федеральное государственное бюджетное общеобразовательное учреждение высшего образования

«Уфимский университет науки и технологий»

Кафедра АСУ

Лабораторная работа №4

По дисциплине «Проектирование и эксплуатация АСУТП»

«Программирование алгоритмов управления в АСУ ТП с использованием TRACE MODE 6»

Выполнил:

Ст. гр. ИВТ-329Б Саляхов А.Ф.

Номер з.к.: 17130458

Проверил:

Доцент каф. АСУ Старцев Ю.В.

Уфа 2024

Цель работы: Изучение принципов программирования алгоритмов управления в АСУ ТП с использованием языков FBD и ST. Использование SCADA-системы TRACE MODE 6 для программирования алгоритмов управления.

Задачи: Изучение языка программирования Техно ST, представленного в SCADA-системе TRACE MODE 6. Изучение средств TRACE MODE 6 для составления и запуска программ. Моделирование системы программного управления с ПИД-регулятором с использованием TRACE MODE 6.

Теоретическая часть:

Стандарт IEC 61131–3 описывает синтаксис и семантику пяти языков программирования ПЛК:

  1. Язык последовательных функциональных схем SFC (Sequential Function Chart) – графический язык, позволяет описать логику программы на основе чередующихся процедурных шагов и условных переходов, а также представить последовательно-параллельные задачи в понятной и наглядной форме. Основными элементами языка являются шаг и переход. Шаг представляет собой набор операций над переменными. Переход – набор логических условий, определяющий передачу управления к другому шагу. По внешнему виду описание на языке SFC напоминает хорошо известные логические блок-схемы алгоритмов, при этом SFC предоставляет возможности построения сложных распараллеленных алгоритмов. Язык SFC является наиболее важным из семейства языков стандарта IEC 61131-3. Однако SFC не имеет средств для описания шагов и переходов, и их содержание должно быть выражено средствами других языков стандарта.

  2. Язык функциональных блоковых диаграмм FBD (Function Block Diagrams) – графический язык, позволяет создать программу практически любой сложности с использованием библиотечных функций (арифметических, тригонометрических, строковых) и функциональных блоков (логических, ПИД-регулирования, мультиплексоров и др.). Программа на языке FBD выглядит как набор блоков, между входами/ выходами которых графически установлены связи. Программирование сводится к выбору необходимых библиотечных функций и блоков и соединению их соответствующих входов/выходов. В результате получается максимально наглядная и хорошо контролируемая программа.

  3. Графический язык релейных диаграмм или релейной логики LD (Ladder Diagrams) является стандартизованным вариантом класса языков релейно-контактных схем и применяется для описания логических выражений различного уровня сложности. Логические выражения на этом языке описываются в виде контактов и катушек реле, которые широко применялись в области автоматизации в 60 – 70-х гг. ХХ в. Ввиду своих ограниченных возможностей язык дополнен такими средствами, как таймеры, счётчики и др.

  4. Язык структурированного текста ST (Structured Text) относится к классу текстовых языков высокого уровня и предоставляет булевые и арифметические операторы, оператор ветвления if-then-else, операторы цикла. По мнемонике язык ST похож на Паскаль. На его основе можно создавать гибкие процедуры обработки данных. Язык структурированного текста является основным для программирования последовательных шагов и переходов языка SFC.

  5. Язык инструкций IL (Instruction List) – текстовый язык низкого уровня. Выглядит как типичный язык Ассемблера. Язык IL позволяет создавать эффективные, оптимальные по быстродействию программы.

Для программирования алгоритмов функционирования разрабатываемого проекта АСУ в TRACE MODE 6 включены языки Техно ST, Техно SFC, Техно FBD, Техно LD и Техно IL. Данные языки являются модификациями языков ST, SFC, FBD, LD и IL стандарта IEC61131-3.

Лексическая структура языка Техно ST.

В алфавит языка входят:

  • прописные и строчные буквы латинского алфавита;

  • цифры 0, 1, …, 9;

  • специальные знаки: + - * / < = > ! : & | ^ ∼ % ( ) [ ] , ; #

Из символов алфавита формируются лексемы языка:

  • идентификаторы;

  • ключевые слова;

  • числовые и строковые константы;

  • символьные операторы (знаки операций);

  • разделители;

  • комментарии.

Ключевые слова Техно ST.

Ключевые (служебные) слова – это идентификаторы, зарезервированные в языке для специального использования.

Список ключевых слов языка Техно ST:

and, array, bool, break, by, byte, case, constant, continue, date, date_and_time, dint, do, dt, dword, else, elsif, end_case, end_for, end_function, end_function_block, end_if, end_program, end_repeat, end_struct, end_type, end_var, end_while, exit, false, for, function, function_block, goto, handle, if, int, lreal, mod, not, of, or, program, real, repeat, return, rol, ror, shl, shr, sint, string, struct, time, time_of_day, to, tod, true, type, udint, uint, until, usint, var, var_arg, var_global, var_inout, var_input, var_output, while, word, xor.

Кроме того, к ключевым словам относятся имена функций языка C, которые могут быть использованы в ST-программе.

Пользовательские функции Техно ST.

В Техно ST определены две разновидности пользовательских функций: собственно функция и функция-блок. Функция-блок играет роль подпрограммы, т.е. не возвращает значений.

Функции и функции-блоки создаются с помощью табличного редактора. Если при создании указан тип данного компонента, создается функция, в противном случае – функция-блок.

Определение функции и функции-блока.

Синтаксис:

function {имя} : {тип возвращаемого значения}

{определение аргументов}

{список предложений}

end_function

  

function_block {имя}

{определение аргументов}

{список предложений}

end_function_block

Эти конструкции создаются автоматически при создании функции и функции-блока в табличном редакторе.

Задание:

6.1. Проект, созданный в ходе выполнения лабораторной работы № 3, подготовить для выполнения лабораторной работы № 4 и сохранить в виде нового проекта.

6.2. В программу на языке FBD, реализующую динамическую модель системы управления, добавить пользовательский блок формирования уставки. Он должен:

  • установить программным способом значения коэффициентов и ограничений ПИД-регулятора,

  • реализовать функцию формирования уставки, значение которой меняется во времени по заданному закону.

6.3. Уставка во времени должна непрерывно циклически изменяться, последовательно проходя четыре цикла, и затем повторяя их без ограничения по времени. Длительность каждого цикла задается количеством тактов пересчета. Каждый цикл представляет собой типовое управляющее воздействие – либо ступенчатое воздействие, либо типовую функцию времени. Варианты заданий на параметры изменения уставки во времени приведены в табл. 4.1. Номер индивидуального варианта N для студента вычисляется по двум последним цифрам XY номера зачетной книжки по формуле:

N = (XY mod 6) + 1

N = (58 mod 6) + 1 = 5.

Последняя цифра Y также используется для индивидуализации варианта задания.

Номер варианта

Цикл 1

Цикл 2

Цикл 3

Цикл 4

5

Ступенчатое воздействие: величина 20%; длительность 60 тактов

Экспоненциальное воздействие от 80% до 50%; длительность (60 + 2*Y) тактов

Логарифмически изменяющееся воздействие от 20% до 50%; длительность 70 тактов

Ступенчатое воздействие: величина 80%; длительность (60 – Y) тактов

Ход работы и результаты моделирования:

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

Для аргументов программы FBD изменены тип параметров ПИД-регулятора и уставки на IN/OUT. В программе FBD созданы глобальные переменные:

• для номера цикла – целого типа с начальным значением 0;

• для номера такта – целого типа с начальным значением 0;

• для значения уставки – действительного типа с начальным значением 0.

  1. Изменена FBD-диаграмма путем добавления пользовательского блока новой функции, изменены типы аргументов на вход/выход, переделаны привязки.

Рисунок 1 – FBD-диаграмма

  1. Код программы, реализующий изменение уставки согласно варианту.

Рисунок 2 – код программы на языке Техно ST

  1. Переходная характеристика:

Рисунок 3 – действие первого цикла (ступенчатое воздействие до 20) и переход на второй (экспоненциальное воздействие с 80 до 50)

Рисунок 4 – действие второго цикла (экспоненцциальное воздействие с 80 до 50) и переход на третий (логарифмическое воздействие с 20 до 50)

Рисунок 5 - действие третьего цикла (логарифмическое воздействие с 20 до 50) и переход на четвертый (ступенчатое воздействие до 20)

Рисунок 6 - действие четвертого цикла (ступенчатое воздействие до 80) и переход на первый (ступенчатое воздействие до 20)

Вывод: в ходе данной лабораторной работы были изучены принципы программирования алгоритмов управления в АСУ ТП с использованием языков FBD и ST, а также использована SCADA-система TRACE MODE 6 для программирования алгоритмов управления.