Главная страница
Навигация по странице:

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

  • Информационных технологий КАФЕДРА Промышленной информатики

  • Хлебников Андрей Александрович

  • ПОСТРОЕНИЕ МОДЕЛИ УПРАВЛЕНИЯ ЗАЛИВКОЙ ЦИСТЕРН

  • Разработка модели заполнения и осушения цистерны

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

  • Задание на самостоятельную работу

  • Автоматное программирование. ПР_Автоматное_программирование_систем_управления-5. Лекция материал к практическим занятиям контрольноизмерительные материалы к практическим занятиям руководство к крКП, практикам


    Скачать 1.18 Mb.
    НазваниеЛекция материал к практическим занятиям контрольноизмерительные материалы к практическим занятиям руководство к крКП, практикам
    АнкорАвтоматное программирование
    Дата25.02.2022
    Размер1.18 Mb.
    Формат файлаdocx
    Имя файлаПР_Автоматное_программирование_систем_управления-5.docx
    ТипЛекция
    #372927

    Титульный лист материалов по дисциплине

    ДИСЦИПЛИНА

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




    полное название дисциплины без аббревиатуры

    ИНСТИТУТ

    Информационных технологий

    КАФЕДРА

    Промышленной информатики




    полное название кафедры

    ГРУППА/Ы







    номер групп/ы, для которых предназначены материалы

    ВИД УЧЕБНОГО

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

    МАТЕРИАЛА

    лекция; материал к практическим занятиям; контрольно-измерительные материалы к практическим занятиям; руководство к КР/КП, практикам

    ПРЕПОДАВАТЕЛЬ

    Хлебников Андрей Александрович




    фамилия, имя, отчество

    СЕМЕСТР







    указать номер семестра обучения


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

    1. Целью данной работы- является:

    2. Разработать модель заполнения и осушения цистерны произвольной формы.

    3. Предусмотреть совместную работу модели цистерны и запорной арматуры.

    4. Использовать язык программирования SimlnTech при описании моделей.

    5. Разработать алгоритм заполнения цистерны до заданного уровня.

    6. Исследовать работу модели системы.

    Для решения поставленной задачи надо построить ряд моделей, которые должны взаимодействовать между собой. В проекте должны быть модели клапанов для залива и слива, для которых можно воспользоваться уже разработанными ранее моделями.

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

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

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




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

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

    На первом этапе особое внимание уделяется собственно модели цистерны в динамике происходящих в ней процессов. Поэтому исходная схема имеет простейший вид, который сохранен в файле tank_1.prt и представлен на рисунке




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




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




    Именно этой возможностью мы и воспользуемся для реализации математической модели динамики перемещения жидкости в цистерне. Сначала щелчком правой клавиши мыши надо вызвать контекстное меню, выбрать «Свойства объекта» и на вкладке «Общие» в строке «Имя объекта» в поле «Значение» набрать «Tank», нажать «Применить» и «Ок». Затем выполним двойной клик на блоке, откроется окно редактора алгоритмов, куда введем следующий код:




    Для проверки работы модем выполним ряд операций по заполнению и осушению цистерны. Подключим к ней входной поток интенсивностью, например, 0,25 м3/с. Наблюдаем динамику изменение объема и уровня жидкости в цистерне. Затем отключаем входной поток и открываем сливной клапан.

    Увеличение объема жидкости




    Уменьшения объема жидкости




    Обратим внимание на то, что осушение выполнено, но не до нуля. Этот уровень задан параметром h_out — высотой слива, а скорость истекания определяет s_out — сечение слива.

    Разработка алгоритма управления заполнением и осушением цистерны

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




    В этой модели использованы несколько новых блоков: «Операция БОЛЬШЕ» и «Операция МЕНЬШЕ» из вкладки «Логические», «Импульс» и «Импульс по фронту» из вкладки «Задержки и импульсы», «RS-триггер с приоритетом по сбросу» из вкладки «Триггеры», «Сравнивающее устройство» из вкладки «Операторы», «Релейное с зоной нечувствительности» из вкладки «Нелинейные», «Ключ ручной управляемый» из вкладки «Ключи».

    В этой системе объект — цистерна (модель бака), исполнительными устройствами являются клапаны залива и слива, а задающее устройство — это задатчик требуемого уровня и кнопка без фиксации на залив/слив до этого уровня. Внутренняя структура субмодели «Модель бака» представлена ниже, ее можно скопировать из предыдущего проекта tank_1.prt и модифицировать, скрипт блока Язык программирования остается без изменений.




    Клапан залива управляет подключением внешнего потока, а клапан слива открывает поток в сливной трубе цистерны. Оба управляющих клапана — это возвратные клапаны, схема их внутренних субмоделей представлена в предыдущий работах, на которые сигнал подается только для открытия клапана. Его закрытие происходит самопроизвольно при снятии сигнала управления.

    В схеме реализован простейший алгоритм формирования управляющего сигнала на клапан на основе отклонения текущего уровня от заданного. Предусмотрена блокировка одновременной работы двух клапанов.

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

    Верхнее реле




    Нижнее реле




    В рассматриваемом ниже примере скорость перемещения клапана как на открытие, так и на закрытие составляет 5 сек, а входной поток — 0,25 м3/сек. Начальный уровень в цистерне определяет параметр модели h_init = 2 м, что соответствует объему в 4м3.

    В процессе исследования модели выполнялось как повышение, так и понижение уровня жидкости в цистерне. С этой целью изменялись параметры блока задания объема (блок «Константа» слева от «Сравнивающее устройство»), и кратковременно нажимался ключ (ручной управляемый) подали управления. В приложении на рисунке 3.1 О приведены результаты по подливу жидкости в цистерну до трех метров (свойство «Значение» блока «Константа» равно 3), а затем полному сливу жидкости из цистерны (свойство «Значение» блока «Константа» равно 0).




    Отметим также, что на нижнем графике приводятся соотношения объема (красный) и уровня (синий) в цистерне в процессе этого эксперимента.

    Проведем еще один эксперимент по влиянию зоны нечувствительности на точность отработки задания. С этой целью сделаем зону нечувствительности равной 0 при заливе до верхней границы, т.е. до 5 метров (надо поменять в окне свойств реле значения 0,2 на 0, а значение блока «Константа» установить «5»).

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




    Путем подбора выяснилось, что неплохой результат дает зона в 0,4 м в окне свойств реле значения верхней границ меняем с на 0,4.




    Но с этой зоной нечувствительности не очень хороший результат будет при подливе до 3 метров.




    Значительно лучше будет результат, если зона нечувствительности составит 0.2 метра. Но если снова повторить эксперимент для 5 метров, то перелив составит почти 0,5 метра. Эти эксперименты показывают зависимость точности отработки не только от характеристик работы клапана, но и от геометрии цистерны.

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

    Для дальнейшей работы сохраним файл исходной модели под именем tank_2_level.prt, скопируем его в новый файл tank_2_volume.prt, в котором сделаем минимальные изменения в схеме модели.




    Задав зону нечувствительности на сигнал управления заливом цистерны в 0,625 м3, проведем моделирование процесса залива для разных значений объемов. Эти значения надо выбрать так, чтобы они соответствовали секциям цистерны с разной геометрией профиля.




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




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

    входной поток на клапан постоянен;

    эффективное сечение клапана за время его открытия изменяется линейно во времени;

    В рассматриваемой модели входной поток Р = 0,25 м3/сек, а время полного открытия клапана Tk = 5 сек. Подстановка этих значений в приведенное выше выражения и дает 0,625. Аналогичный, но более сложный подход, позволил установить достаточно приемлемую для всех режимов работы зону нечувствительности на слив порядка 0,5-0,55 м3.

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

    Задание на самостоятельную работу

    После знакомства с описательной частью и выполнения примеров, которые приведены в ней, необходимо выполнить следующие задания:

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

    2. Познакомиться с возможностью использования на схемах графических примитивов, их состава и методов работы с ними.

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

    4. Отдельный раздел должен быть посвящен проведенным исследованиям модели и полученным результатам.


    написать администратору сайта