Скачиваний:
4
Добавлен:
14.02.2024
Размер:
290.21 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

Кафедра информационно-управляющих систем

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

«Исследование автоматизированной системы управления котлоагрегатом»

по дисциплине «Технологии распределённых информационно-управляющих систем»

Студент гр. ИСТ-112_____________________________ Медведева С.Г.

(подпись)

Приняла ___________________________ Козлова О.А.

(оценка и подпись)

Цель работы: по имеющейся схеме разобраться в работе автоматизированной системы.

Введение:

Назначение системы управления и ее особенности

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

Автоматизированная система управления котлоагрегатом осуществляет

• Измерение и регистрация параметров работы котла;

• Ведение журнала событий;

• Автоматическое управление технологическим оборудованием в соответствие с регламентом;

• Реализацию противоаварийной защиты;

Структура системы управления

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

Результаты внедрения системы АСУ котлоагрегата позволяет:

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

• Упростить работу операторов.

• Улучшить качество работы регулятора питания.

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

Блок-схема работы системы приведена на рис.1:

Рис.1 – Блок-схема работы системы.

На основе данной блок-схемы был смоделирован один из подпроцессов работы котлоагрегата, а именно, управление параметром объема. Моделирование выполнялось на языке Java. Ниже приведён код, выполняющий моделирование, а также вывод информации о этапах работы.

package org.example;

import java.util.Random;

public class BoilerSystemSimulation {

public double currentVolume;

private final double maxVolume;

private final double minVolume;

private boolean pumpOn;

private boolean valveOpen;

public BoilerSystemSimulation(double maxVolume, double minVolume) {

this.maxVolume = maxVolume;

this.minVolume = minVolume;

this.currentVolume = (minVolume - 10) + (maxVolume - minVolume + 20) * new Random().nextDouble(); // начальный объе

this.pumpOn = false;

this.valveOpen = false;

}

public void checkAndAdjustWaterLevel() {

System.out.println("Сбор данных с датчика V");

currentVolume = (minVolume - 10) + (maxVolume - minVolume + 20) * new Random().nextDouble();

System.out.println("Объем воды: " + currentVolume);

if (currentVolume > maxVolume) {

System.out.print("Сбор данных о состоянии насоса для откачки воды НОВ: ");

checkAndTurnOnPump();

waitForWaterLevel(maxVolume);

checkAndTurnOffPump();

} else if (currentVolume < minVolume) {

System.out.print("Сбор данных о состоянии клапана для подачи воды КПВ: ");

checkAndOpenValve();

waitForWaterLevel(minVolume);

checkAndCloseValve();

}

}

public void SecondCheck(){

System.out.println("Сбор данных с датчика V");

System.out.println("Объем воды " + currentVolume);

if (currentVolume > maxVolume) {

System.out.print("Сбор данных о состоянии насоса для откачки воды НОВ: ");

checkAndTurnOnPump();

} else if (currentVolume < minVolume) {

System.out.print("Сбор данных о состоянии клапана для подачи воды КПВ: ");

checkAndOpenValve();

}

}

private void checkAndTurnOnPump() {

if (!pumpOn) {

System.out.println("НОВ отключен");

System.out.println("Включение НОВ");

pumpOn = true;

return;

}

System.out.println("НОВ включен");

}

private void checkAndTurnOffPump() {

if (pumpOn) {

System.out.println("Выключение НОВ");

pumpOn = false;

return;

}

System.out.println("НОВ отключен");

}

private void checkAndOpenValve() {

if (!valveOpen) {

System.out.println("КПВ закрыт");

System.out.println("Открытие КПВ");

valveOpen = true;

}

System.out.println("КПВ открыт");

}

private void checkAndCloseValve() {

if (valveOpen) {

System.out.println("Закрытие КПВ");

valveOpen = false;

}

}

private void waitForWaterLevel(double targetVolume) {

while (!((currentVolume >= (targetVolume - 1)) && (currentVolume <= targetVolume + 1))) {

if (currentVolume < targetVolume) {

System.out.println("Подача воды");

currentVolume += 1; // увеличиваем объем воды (можно настроить)

} else {

System.out.println("Откачка воды");

currentVolume -= 1; // уменьшаем объем воды (можно настроить)

}

SecondCheck();

}

}

}

double maxVolume = 100.0; // настройте максимальное количество воды

double minVolume = 90.0; // настройте минимальное количество воды

BoilerSystemSimulation simulation = new BoilerSystemSimulation(maxVolume, minVolume);

simulation.checkAndAdjustWaterLevel();

Рис. 2 – Пример работы алгоритма.

ВЫВОД

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

На основе данной модели была построена блок-схема работы системы, смоделирован один из этапов процесса.

Санкт-Петербург

2023 г.

Соседние файлы в папке Лаб 2