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

Математическое моделирование и проектирование систем автоматики

..pdf
Скачиваний:
19
Добавлен:
15.11.2022
Размер:
2.39 Mб
Скачать

воды должен опуститься ниже отметки 2000, при этом работа

насоса прекращается, а верхняя лапа гаснет (Rabota = 0, Ze-

leniy = 0). На промежуточном уровне от 12 000 до 2000 насос

работает только тогда когда, он запущен в работу на верхней

отметке.

 

 

 

Начало

 

 

Uroven = uroven + pritok

 

да

Uroven > 3000

нет

 

 

Krasniy = 1

 

Krasniy = 0

да

Uroven > 12000

нет

 

 

Rabota = 1

да

Uroven < 2000

Zeleniy = 1

 

 

 

 

Rabota = 0

нет

 

Zeleniy = 0

 

 

нет

Rabota = 1

 

 

 

 

да

 

 

Uroven = uroven rasxod

 

Рис.53. Структура алгоритма работы

 

модели шахтного водоотлива

При достижении нижней отметки уровня воды насос выключается и остается выключенным при наполнении водосборника до верхней отметки.

121

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

ных блоков «Uroven = uroven + pritok» и «Uroven = uroven –

rasxod», при этом если величина параметра «rasxod» будет превышать величину параметра «pritok», то уровень воды будет снижаться. При равенстве этих параметров он будет постоянным, а если pritok будет превышать rasxod, то уровень будет повышаться.

3.2. Языки программирования анимационных моделей

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

Instruction List (IL) – список инструкций; Ladder Diagram (LD) – язык релейных диаграмм.

Sequential Function Chart (SFC) – язык последовательных функциональных схем;

Function Block Diagram (FBD) – язык функциональных блоковых диаграмм;

Continuous Function Chart (CFC) – язык непрерывных функциональных схем.

Программы, составленные на языках Ladder Diagram (LD), Sequential Function Chart (SFC), Function Block Diagram (FBD) и Continuous Function Chart (CFC), работают в непрерывном цик-

ле, поэтому требуют полного логического соответствия.

3.2.1. Язык Instruction List (IL)

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

Примером программы (структурного блока), записанной на языке IL, может быть фрагмент посылки временного параметра 5 ms в переменную timer или числа 10 в переменную schetchik.

122

LD T#5ms (загрузка параметра времени T#5ms в аккумулятор)

ST timer (присвоение содержимого аккумулятора переменной timer)

или

LD 10 (загрузка числа 10 в аккумулятор)

ST schetchik (присвоение содержимого аккумулятора пе-

ременной schetchik).

3.2.2. Язык релейных диаграмм (LD)

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

Рис. 54. Фрагмент программы, записанной на языке LD

123

В этой программе контакты К1 и К2, подключенные по логической схеме ИЛИ к нормально замкнутому контакту К3 запускают в работу таймер (taimer), к выходу которого подключен элемент триггер (trig). Сигнал с этого триггера включает катушку реле К2. Соответственно контакты этого реле (катушки) блокируют пусковой контакт К1 и запускают в работу счетчик (schet), выходной сигал которого в свою очередь включает катушку реле L2, прерывая при этом действие на счетчике контакта К2. Совместно сигналы с контактов К2 и L2 включают катушку SCHET.CD, которая является входом CD счетчика. Сигнал этого входа счетчика реверсирует режим его работы.

3.2.3. Язык функциональных блоковых диаграмм (FBD)

Язык FBD – это графический язык, который позволяет описать структуру программы в виде последовательных функциональных блоков, которые могут быть логическими, а также и выполнять математические действия. Примером этой программы может послужить фрагмент, представленный на рис. 55.

Рис. 55. Фрагмент программы, записанной на языке FBD

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

124

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

3.2.4. Язык последовательных функциональных схем (SFC)

Язык SFC – это графический язык, который позволяет описать хронологическую последовательность действий в программе. Это осуществляется с помощью пошаговых действий (этапов), последовательность выполнения которых определяется некоторыми условиями. Шаг в программе SFC представляет собой отдельную подпрограмму, написанную на языке IL или ST. В более сложном варианте шаги могут быть оформлены и на графических языках (FBD или LD).

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

Рис. 56. Фрагмент программы, записанной на языке SFC

В этом примере представлено три последовательных шага, из которых шаг Init является начальным, а шаг Step2 выполняется только тогда, когда параметр IN будет истинным. Аналогично переход от этого шага к шагу Step3 будет возможен только тогда, когда параметр L1 будет истинным. При повторной истинности этого параметра происходит возврат к исполнению шага

Step2.

125

В данной программе каждый шаг представлен подпрограммой, написанной на языке IL. Так, шаг Init представлен следующей подпрограммой описанной ранее:

LD

T#1S

ST

Y

LD

4

ST

X

3.2.5. Язык непрерывных функциональных схем (CFC)

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

Рис. 57. Фрагмент программы, записанной на языке CFC

Фрагмент этой программы показывает взаимосвязь между функциональными блоками В0, В1 и В2. В этой программе функциональный блок В0 (LIFT) программирует структуру взаимодействия элементов системы управления лифтом. Бло-

126

ком В1 (KBLOK) задается последовательность управления элементами (кнопками) лифта. Блок В2 (BDS) формирует путь перемещения кабины лифта. В эту структуру дополнительно введен логический элемент OR, который обеспечивает заданную логическую связь блоков В1 и В2 с блоком В0.

Этот язык позволяет каждому из структурных блоков иметь связь с внешним элементами управления (пусковая кнопка IN, кнопки выбора этажа ET1, ET2, ET3, кабина KAB и противовес PRV лифта).

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

3.3. Объектно-модульное моделирование

Объектно-модульное моделирование – это способ модели-

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

отдельных подпрограмм.

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

В вышерассмотренной модели для ввода информации о величине производительности насоса был использован элемент Slider, а для вывода информации об уровне воды – элемент Meter. Внешний вид и характеристика этих элементов представлены в табл. 4.

127

Свойства таких объектных модулей или заранее определены в конкретном программном приложении, или задаются вызовом специального меню в форме всплывающего окна. Так, в программном пакете «InTouch» для задания свойств объектному модулю Slider вызывается окно, внешний вид которого показан на рис. 58.

 

 

 

Таблица 4

Внешний вид и характеристика элементов

 

 

 

 

 

Графический объект

Имя

Тип

Имя элемента

 

элемента

элемента

в модели

 

 

 

 

 

 

 

Slider

Real

Rasxod

 

 

 

 

 

 

 

Meter

Real

Uroven

 

 

 

 

 

 

Рис. 58. Внешний вид окна для установки параметров элемента Slider

128

Встроке Tagname этого окна записываем Rasxod как имя изменяемой переменной. Очерченное окно Slider Face этого меню определяет цвет указателя, который устанавливается из набора гаммы цветов окошка Fill Color. Аналогично цвет текстовых надписей и надписей шкалы устанавливается в окне

Text Color.

Вочерченном окне Slider Ranqe устанавливаются пределы изменения параметров переменной Rasxod, которые выставляются соответственно в окошках Maximum и Minimum, при этом

впозиции Maximum сохраняем 0, а в позиции Minimum записываем 150. В другом очерченном окне Tick Marks в позиции Major Divisins записывается число 5, это означает, что вся шкала элемента Slider делится на пять частей, а каждая его часть делится еще на пять. Поэтому в позиции Minor Divisins записывается также число 5. Таким образом устанавливаются основные параметры этого объектного модуля, которому в основной программе модели присваивается имя Rasxod, и этой переменной присваивается тип Real.

Основные параметры для других объектных модулей формируются аналогичным образом. Например, в табл. 5 показано окно установки параметров для объектного модуля дискретного типа с именем Lights, который используется в моделях как элемент Лампа.

Впроцессе установки параметров этого элемента в строке Expression этого окна записываем Krasniy как имя изменяемой переменной. В очерченном окне Fill Color против позиции 0,FALSE,Off устанавливаем зеленый цвет как цвет индикатора

врежиме Off, а в позиции 1,TRUE,On устанавливаем красный цвет как цвет индикатора в режиме On.

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

129

 

Некоторые

объектные

модули программного пакета

«Workbench» представлены в табл. 6.

 

 

 

 

 

Таблица 5

 

 

 

Окно установки параметров

 

 

 

 

 

 

 

 

Графиче-

 

Имя

 

Вид окна для установки

 

ский объект

 

элемента

 

параметров элемента

 

 

 

 

 

 

 

 

 

Лампа

 

Lights

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 6

Объектные модули программного пакета «Workbench»

 

 

 

 

 

Вид графиче-

Имя элемента

Вид графиче-

Имя элемента

ского объекта

в программе

ского объекта

в программе

 

«Workbench»

«Workbench»

 

 

Цифровой

 

Генератор

 

 

мультиметр

 

цифровых

 

 

(вольтметр,

 

сигналов

 

 

амперметр)

 

 

 

 

 

 

 

 

 

Функциональ-

 

Анализатор

 

ный генератор

 

цифровых

 

 

 

 

сигналов

 

 

 

 

 

 

Среди них цифровой мультиметр, функциональный генератор, генератор и анализатор цифровых сигналов.

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

130

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