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

Учебное пособие КТС

.pdf
Скачиваний:
48
Добавлен:
11.02.2015
Размер:
2.09 Mб
Скачать

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

разных моделей блока контроллера несколько отличаются друг от друга. Однако большинство алгоритмов входит в библиотеки всех моделей.

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

2. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОНТРОЛЛЕРА РЕМИКОНТ Р-130

Грамматической основой языка Функциональных Алгорит- мических БЛоков (Фабл) является структура (структурная схема), состоящая из элементов, называемых алгоблоками, и связей меж- ду ними. Каждый алгоблок является формальным структурным элементом, которому при программировании присваивается функ-

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

§размещение в алгоблоках необходимых алгоритмов;

§конфигурация алгоблоков путем установки связей между вхо-

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

нается следующий и т.д.

При обработке каждого алгоблока выполняются следующие действия:

13

§загрузка входных значений алгоритма;

§вычисление и запоминание выходных и внутренних значе- ний.

2.1.Общие свойства алгоритмов и алгоблоков

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

ИНТ с обозначением составных частей алгоритма.

Основной

(сигнальный

)

 

 

 

 

 

 

Выход

вход

алгоритма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

алгоритма

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

1

ò Xd τ

 

 

 

 

 

 

 

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

 

TИ

 

 

 

 

 

Настроечный

 

 

 

 

 

 

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

 

 

 

 

 

 

 

вход

 

 

 

 

 

 

 

 

ядро

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.3. Составные части алгоритма

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

На выходе алгоритма формируются сигналы, являющиеся результатом обработки алгоритмом входных сигналов.

Число входов и выходов алгоритма не фиксировано и опре- деляется видом алгоритма. В частном случае алгоритм может не иметь входов или выходов.

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

14

фигурировать. Некоторые алгоритмы имеют неявные входы и вы- ходы , имеющие специальное назначение и недоступные для кон- фигурирования. К таким алгоритмам относится вся группа связных алгоритмов: алгоритмы ввода-вывода, приема и передачи данных по сети, оперативного управления. Как только один из таких алго- ритмов помещается в какой-либо алгоблок, его неявные входы и (или) выходы автоматически соединяются с аппаратурой, обслу- живать которую, призван данный алгоритм. Например, как только в какой-либо алгоблок будет помещен алгоритм аналогового ввода группы А, неявные входы этого алгоритма автоматически соеди- нятся с АЦП, обрабатывающим сигналы группы А, а на выходах этого алгоритма будут сформированы "общедоступные" сигналы, эквивалентные сигналам, поступающим на аналоговые входы кон- троллера группы А. Поэтому, если на вход какого-либо функцио- нального алгоритма нужно подать аналоговый сигнал, этот вход при программировании следует соединить с соответствующим вы- ходом алгоритма аналогового ввода.

Все входы алгоритма, как сигнальные, так и настроечные, имеют сквозную нумерацию от 01 до 99. Выходы алгоритма также нумеруются десятичным числом от 01 до 25. В каждом конкретном алгоритме число входов и (или) выходов может быть меньше ука- занного максимального значения и устанавливается модификато- ром размера.

2.2.Реквизиты алгоритма

Вобщем случае библиотечный алгоритм имеет три реквизи- та (параметра):

1.библиотечный номер;

2.модификатор алгоритма;

3.масштаб времени.

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

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

Алгоритм с номером 00 называется "пустым" и ему условно можно поставить в соответствие понятие "пустой" функции. Алгоб- лок с "пустым" алгоритмом не имеет входов-выходов, не выполня- ет никаких функций, занимает в программе небольшой объем па-

15

мяти и требует некоторого (небольшого) времени на обслужива- ние.

Модификатор алгоритма указывает число однотипных опе- раций выполняемых алгоритмом. Например, модификатор алго- ритма ввода аналоговых сигналов ВАА с номером 07 указывает число аналоговых сигналов вводимых алгоритмом. В алгоритме оперативного контроля контуром регулирования модификатор за- дает параметры контура: локальный контур или каскадный, с ана- логовым или импульсным регулятором и т.д. Многие алгоритмы (интегрирования, умножения и т.д.) модификатора не имеют.

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

ни задает одну из двух размерностей для временных сигналов или параметров (т.е. задает размерность единицы времени). Если кон- троллер в целом настроен на младший диапазон времени, то масштаб времени индивидуально в каждом алгоблоке задает раз- мерность единицы времени - "секунды" или "минуты". Для старше- го диапазона времени масштаб времени задает размерность - "минуты" или "часы".

Алгоритмы с одним и тем же номером, помещенные в раз- ные алгоблоки, могут иметь индивидуальные в каждом алгоблоке модификаторы и масштаб времени.

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

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

2.3.Условные обозначения

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

Сигналы и параметры настройки обозначаются следующим образом:

Х, Y - аналоговые сигналы и параметры соответственно на входе и выходе алгоритма;

16

С, D - дискретные сигналы соответственно на входе и вы- ходе алгоритма;

T - интервалы времени и постоянные времени;

N - числовые сигналы и параметры;

K - масштабные коэффициенты и коэффициенты пропор- циональности;

V - скорость изменения сигналов и параметры, задающие скорость изменения;

W - технические единицы;

Z - сигналы, формат которых задается при программиро-

вании.

Для обозначения нескольких одноименных сигналов и пара- метров используется индексация (например, Х1, Yэ, Kп и т.д.).

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

X2(K), Y(K) и т.д.).

Начальное значение сигнала, которое передается на каскад- ный выход алгоритма, обозначается Y0.

На функциональных схемах используются сокращения: m- модификатор алгоритма;

МВ - масштаб времени.

2.4.Размещение алгоритмов по алгоблокам

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

§любой алгоритм можно помещать в любой (по номеру) ал-

гоблок;

§один и тот же алгоритм можно помещать в разные алгобло- ки, т.е. использовать многократно.

Исключением из этих правил является ограничение для не-

которых алгоритмов на кратность их использования в пределах одного контроллера. Так, алгоритм аналогового ввода с каждой группы можно использовать лишь один раз - этот алгоритм охва- тывает все аналоговые входы этой группы и его повторное исполь- зование лишено смысла. Аналогичные ограничения (и по анало- гичным причинам) имеют другие алгоритмы ввода-вывода инфор- мации.

Алгоритмы обслуживания лицевой панели контроллера (ал- горитмы ОКО, ОКД и ОКЛ) можно поместить только в первые че-

17

тыре алгоблока и при этом номер алгоблока в который помещен алгоритм совпадает с номером контура, который он обслуживает.

2.5.Конфигурирование (связывание) алгоблоков

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

Каждый вход алгоблока, независимо от того, какой алгоритм

внего помещен, может находиться в одном из двух состояний:

§связном;

§свободном.

Вход считается связанным, если он соединен с выходом ка- кого-либо алгоблока, в противном случае вход считается свобод- ным.

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

Сигналы на свободных входах могут быть представлены в двух вариантах:

§в виде констант;

§в виде коэффициентов.

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

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

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

18

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

Расширению функциональных возможностей служит еще одна возможность - сигнал на любом входе при необходимости можно инвертировать. Для непрерывных сигналов инверсия озна- чает смену знака, а для дискретных - изменение состояние (замену 1 на 0 и 0 на 1). Возможность инвертирования позволяет, напри- мер, вычитать сигналы с помощью сумматора, запускать или сбра- сывать таймер не передним, а задним фронтом сигнала и т.д.

Возможность конфигурирования не зависят от алгоритма, помещенного в алгоблок, и определяются следующими тремя пра- вилами:

§любой вход любого алгоблока можно связать с любым выхо- дом алгоблока или оставить свободными;

§на любом свободном входе любого алгоблока можно вручную задавать тип сигнала в виде константы или коэффициента;

§на любом входе любого алгоблока сигнал можно инвертиро- вать.

Висходном состоянии все входы алгоблоков являются сво- бодными; на них заданы константы, значения которых зависят от алгоритма; инверсия отсутствует.

2.6.Настройка алгоритмов

Несмотря на то, что входные и выходные сигналы контрол- лера могут быть лишь двух видов - аналоговые и дискретные, ал- гоблоки рассчитаны на обработку сигналов, имеющих большее разнообразие. Это связано с двумя обстоятельствами. Во-первых, в составе библиотеки есть алгоритмы, связанные с отсчетом ре- ального времени (таймеры, программные задатчики и т.п.) и со счетом числа событий (счетчики). Во-вторых, параметры настройки

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

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

1. аналоговый;

19

2.временной;

3.числовой;

4.дискретный;

5.масштабный коэффициент;

6.коэффициент пропорциональности;

7.скорость изменения;

8.длительность импульса;

9.технические единицы.

Аналоговые сигналы формируется на выходе таких алго- ритмов, как регуляторы, сумматоры, задатчики, интеграторы и т.д. К аналоговым сигналам относятся также такие параметры на- стройки, как порог срабатывания нуль-органа, уровень ограниче- ния и т.п. Несмотря на то, что на аналоговых входах и выходах контроллера сигнал меняется в диапазоне 0-100%, на входе ал-

гоблоков аналоговый сигнал может изменяться в более широком диапазоне (от –199,9 до 199,9). Это позволяет, например склады- вать два числа, каждое из которых равно 90%, и на выходе сумма- тора получать правильный результат. Если результат каких либо вычислений оказывается больше 199,9% или меньше –199,9%, то сигнал на выходе алгоблока ограничивается значениями соответ-

ственно 199,9% и –199,9%

Временные сигналы формируются на выходе таймеров, программных задатчиков, одновибраторов и т.п. алгоритмов. К временным сигналам относятся такие параметры настройки, как постоянные времени, протяженность участка, время выдержки и т.п. В контроллере предусмотрены три размерности для времен- ных сигналов: секунды, минуты и часы. Конкретная размерность задается двумя параметрами: диапазоном и масштабом. Диапазон (младший или старший) задается для всего контроллера в целом, т.е. одновременно для всех его алгоблоков. В пределах одного

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

Указанный для временных сигналов минимальный шаг изме- рения и установки в действительности реализуется, только если этот шаг больше времени цикла, с которым работает контроллер.

20

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

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

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

Коэффициент пропорциональности используется в ос-

новном в алгоритмах регулирования.

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

Длительность импульса - это параметр настройки алго- ритма импульсного вывода. Этот параметр задает минимальную длительность импульса, формируемого импульсным регулятором. Длительность импульса всегда отсчитывается в секундах и не за- висит от временного диапазона, на который настроен контроллер.

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

Диапазон изменения параметров настройки для большинст- ва алгоритмов одинаков и определяется в соответствии с табл. 1.

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

Если диапазон изменения параметров является нестандарт- ным, он оговаривается при описании алгоритма.

21

Диапазон изменения аналоговых, временных и числовых

сигналов совпадает с диапазоном изменения соответствующих параметров. Дискретные (логические) сигналы принимают значе- ния 0 или 1.

Если в процессе изменения временных параметров (коэф- фициентов) устанавливается Т<0, это воспринимается алгоритмом как Т=0.

 

 

 

Таблица 1

Диапазон изменения параметров настройки

 

 

 

 

Параметры настройки

Обозначе-

Размер-

Диапазон изменения

ние

ность

 

 

Аналоговые сигналы

Х

-

-199,9..+199,9

 

 

 

 

Временные сигналы

Т*

сек, мин,

0-819.0 и

час

 

 

 

Числовые величины

N

-

-8191..+8191

 

 

 

 

Масштабный коэффици-

Км

-

-15.99..+15.99

ент

 

 

 

Коэффициент пропор-

Кп

-

-127.9..+127.9

циональности

 

 

 

 

 

%/сек,

0..199,9 и

Скорость изменения

V*

%/мин,

 

 

%/час

 

Длительность импульса

tи

сек

0,12..3,84

Технические единицы

W

-

-1999-8191

* для всего контроллера задается 1-й (младший) или 2-й (старший) диапазон изменения параметров; для младшего диапа- зона индивидуально в каждом алгоритме задается масштаб (под- диапазон) "секунды" или "минуты", для старшего диапазона - "ми- нуты" или "часы".

2.7.Порядок обслуживания алгоблоков. Цикличность работы контроллера

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

22