- •ЛАБОРАТОРНАЯ РАБОТА №1
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №2
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №3
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №4
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №5
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №6
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №7
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №8
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №9
- •ЦЕЛЬ РАБОТЫ
- •КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
- •ВЫВОДЫ
- •ЛАБОРАТОРНАЯ РАБОТА №10
- •ЦЕЛЬ РАБОТЫ
- •ВЫВОДЫ
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики» (МТУСИ)
Кафедра «Интеллектуальные системы в управлении и автоматизации» (ИСУиА)
ЛАБОРАТОРНАЯ РАБОТА №8
По дисциплине
Интегрированные системы проектирования и управления
по теме
«Создание АСУТП с использованием языков Texno IL, SFC, FBD»
Выполнил: Студент 4-го курса Группы БАП2201 Мягков А.К.
Проверил: к.т.н., доцент Петухов В.М.
Москва 2026
113
ЦЕЛЬ РАБОТЫ
Изучить языки программирования ST и FBD, создать АСУ ТП, с использованием указанных языков.
КРАТКАЯ ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Для программирования алгоритмов функционирования разрабатываемого проекта АСУ в TRACE MODE 7 включены языки ST (Structured Text) и FBD (Function Block Diagram), полностью соответствующие стандарту IEC 61131-3. (Примечание: языки IL, LD и графический SFC в 7-й версии не поддерживаются).
Программы могут быть разработаны на языке ST (текстовое программирование) или FBD (графическое программирование). Для создания и редактирования свойств аргументов, переменных в интегрированную среду разработки встроены специальные табличные редакторы. TRACE MODE 7 имеет также средства для отладки программ.
Основным языком программирования в TRACE MODE 7 является Техно ST. Для описания структуры программы и операторов приняты следующие терминологические соглашения:
–выражение – последовательность операндов, разделителей и символьных операторов, задающая вычисление без присвоения результата;
–предложение – последовательность лексем, определяющая выполнение логически законченного промежуточного действия (например, присвоение переменной результата вычислений).
На основании этих соглашений программа на языке Техно ST определяется как последовательность предложений. Длина строки программы не ограничивается, лексемы разделяются пробелами или знаками табуляции.
Основная точка входа в программу определяется следующей конструк-
цией:
program
{определение аргументов}
{список предложений} end_program
114
Выражение {определение аргументов} задается в таблице свойств программы. Функции, глобальные переменные и структурные типы не могут быть определены внутри конструкции program...end_program (они соз-
даются в специальных разделах программы).
ВЫПОЛНЕНИЕ Задание 1. Создание проекта. Сохраните проект, созданный в ходе вы-
полнения работы 3 под новым именем. Удалите обе программы.
Задание 2. Создание выключателя. Создайте еще один канал (тип
ANALOG или DISCRETE). Установите период пересчета равным 1 секунде. Назовем новый канал «выключатель». Для создания графического элемента (ГЭ) выберите на панели инструментов иконку переключателя и разместите её на экране.
Откройте окно свойств объекта «выключатель». В поле Режим привязки выберите «Управление и индикация». В поле Привязка выберите созданный канал «выключатель» (или аргумент экрана, привязанный к этому каналу), как на рисунке 1.
Рисунок 1 – Размещение переключателя и настройки переключателя
115
Задание 3. Реализация алгоритма на языке ST.
Поскольку в TRACE MODE 7 графический язык SFC (Sequential Function Chart) и язык IL (Instruction List) отсутствуют, логика работы шагов и переходов адаптирована под стандартные конструкции языка ST (условные опе-
раторы IF...THEN...ELSE).
Создайте объект «Программа». Создайте необходимые аргументы программы (входные, выходные, входные/выходные). Также создайте глобальную переменную Предыдущий_суммарный_расход (тип REAL) для хранения результата между тактами программы.
В качестве языка программы выберите ST.
Логика SFC-диаграммы из предыдущих версий заменяется следующей последовательностью предложений:
3.1. Проверка исходных данных (Аналог первого SFC-шага).
Вместо инструкций IL (GE, JMPC, LD) используются стандартные операторы сравнения и присваивания ST:
if Расход < 1.0 then
Расход := 1.0; // Расход по умолчанию end_if;
if Стоимость < 1.0 then
Стоимость := 1.0; // Стоимость по умолчанию end_if;
Рисунок 2 – Аргументы программы
3.2. Базовый расчет расхода.
Вычисление расхода за период пересчета должно происходить всегда (независимо от положения выключателя), чтобы не потерять накопленные
116
данные. Инструкции IL (MUL, ADD, ST) заменяются стандартной математикой ST:
// Вычисление суммарного расхода Суммарный_расход := Предыдущий_суммарный_расход + (Расход * Пе-
риод);
Предыдущий_суммарный_расход := Суммарный_расход;
3.3. Ветвление алгоритма (Аналог SFC-переходов и альтернатив-
ных шагов).
В исходной методичке проверка состояния выключателя служила для перехода к шагу «полный расчет» или шагу «расчет без вывода». В языке ST эта логика реализуется через условный оператор.
Если выключатель включен, мы вычисляем стоимость и выводим результаты (присваиваем значения выходным переменным var_output).
Если выключатель выключен, мы просто не выполняем эти действия, в результате чего на экране остаются старые (предыдущие) значения:
if Выключатель <> 0 then
//--- АНАЛОГ ШАГА "ПОЛНЫЙ РАСЧЕТ" ---
//Вычисление суммарной стоимости
Суммарная_стоимость := Суммарный_расход * Стоимость;
//Значения Суммарный_расход и Суммарная_стоимость автомати-
чески
//отправляются на экран, так как они являются выходными
(VAR_OUTPUT) else
//--- АНАЛОГ ШАГА "РАСЧЕТ БЕЗ ВЫВОДА" ---
//При отключенном выключателе блок расчета стоимости просто
пропускается.
//Переменные Суммарный_расход и Суммарная_стоимость не пе-
резаписываются,
//поэтому на экране оператора индикация замораживается,
//хотя фоновый расчет (п. 3.2) продолжает идти корректно.
end_if;
117
Рисунок 3 – Листинг программы на языке ST
Задание 4. Запуск проекта.
Запустите проект. При обоих положениях переключателя должно происходить заполнение емкости. При включенном положении переключателя должен производиться вывод новых полученных значений суммарного расхода и стоимости. При выключенном положении переключателя новые значения суммарного расхода и стоимости на экран не выводятся (индикация замораживается).
118
