
- •Зао “зЭиМ-Инжиниринг”
- •Общие свойства алгоритмов и алгоблоков.
- •Входы-выходы алгоритма
- •Реквизиты алгоритма
- •Количественные характеристики языка
- •Размещение алгоритмов по алгоблокам
- •Возможности конфигурирования
- •Задачи конфигурирования
- •Правила конфигурирования
- •Сигналы и параметры настройки, и типы данных языка
- •Виды сигналов и параметров настройки алгоритмов
- •Типы данных языка функциональных блоков
- •Типы данных языка функциональных блоков
- •Соответствие типов данных и типов сигналов и параметров настройки алгоритмов
- •Диапазон изменения параметров настройки.
- •Порядок обслуживания алгоблоков
- •Цикличность работы
- •Задержка обслуживания
- •Обратный счет и безударность
- •Процедура обратного счета
- •Условия безударности
- •Условные обозначения
- •Табличный редактор языка Фабл
Порядок обслуживания алгоблоков
Цикличность работы
Обслуживание алгоблоков ведется циклически с постоянным временем цикла. Вначале обслуживается первый алгоблок, затем второй и т.д. пока не будет обслужен последний алгоблок. Когда время в пределах установленного времени цикла истечет, программа вновь перейдет к обслуживанию первого алгоблока.
Время одного цикла является параметром, который выбирается при программировании контроллера. Это время изменяется в диапазоне 0.01-0.4 сек. и устанавливается с шагом 0.01 сек. Время обслуживания всех запрограммированных алгоблоков должно быть не больше установленного времени цикла.
В оставшуюся от обслуживания алгоблоков часть времени выполняется самодиагностика контроллера. Если в течение одного цикла эта процедура не успевает закончиться, она "растягивается" на несколько циклов, после чего начинается вновь. Таким образом, при увеличении резерва времени задержка обнаружения неисправности уменьшается.
Помимо времени, которое требуется на обслуживание алгоблоков и на самодиагностику, требуется также определенное время на прием, передачу и обработку сообщений через интерфейсный канал.
Это время зависит от объема передаваемой и принимаемой информации. Общее время, затрачиваемое на обслуживание алгоблоков Т и интерфейсного канала Тин, должно быть меньше времени цикла То:
Т + Тин <То. (1)
При выборе времени цикла То желательно оставлять резерв, не меньший 0.01-0.02 сек. Если соотношение (1) не выполняется, необходимо увеличить время цикла То либо уменьшить объем решаемой задачи.
При работе интерфейсного канала поток сообщений может быть неравномерным и при отдельных "пиковых" нагрузках на интерфейс время Тин может возрасти. Когда это происходит, контроллер автоматически "растягивает" время цикла, с тем чтобы обязательно были обслужены все алгоблоки. Однако при этом нарушается правильный отсчет реального времени (т.е. возникает временная погрешность), поэтому средства самодиагностики сигнализируют о возникновении неисправностей типа "ошибка". Если по происшествии времени соотношение (2) вновь начнет выполняться, ошибка пропадает.
Задержка обслуживания
Цикличность обслуживания алгоблоков приводит к тому, что задержка в обработка сигналов зависит от порядка "расстановки" соединенных между собой алгоритмов. В каждом цикле алгоблок получает на свои вход сигналы, вычисленные в предыдущем цикле алгоблоками, с которыми данный алгоблок связан по конфигурации. Для минимизации задержки желательно, чтобы алгоблок- источник имел меньший номер, чем алгоблок -приемник (величина этой разницы значения не имеет).
Обратный счет и безударность
Процедура обратного счета
Процедура обратного счета и связанного с ней проблема безударности относится в основном к задачам автоматического регулирования. При решении этих задач возникает необходимость включать, выключать или переключать контур регулирования. Эти операции, как правило, должны выполняться безударно.
Для безударного переключения в составе контура должны находиться алгоритмы, способные отслеживать требуемые сигналы. Такое отслеживание, обеспечивающее безударность, называется балансировкой.
В контроллере можно реализовать два вида балансировки - статическую и динамическую. При статической балансировке отслеживаемый сигнал запоминается, при динамической балансировке, после того, как контур включается, отслеживаемый сигнал плавно уменьшается (по модулю) до нуля.
Вид балансировки зависит от используемых алгоритмов. Так, интегратор выполняет статическую балансировку, алгоритм динамической балансировки - динамическую балансировку, алгоритм задания - любую из этих балансировок по выбору. Описания этих процедур приведены в описаниях соответствующих алгоритмов.
Сигнал, который необходимо отслеживать для обеспечения безударности, рассчитывается автоматически, при этом привлекать дополнительные алгоритмы не требуется. Для такого расчета используется процедура обратного счета, которая заключается в следующем.
Если цепочка алгоритмов, содержащая следящие алгоритмы, отключена и сигнал на выходе Yо формируется каким-либо другим алгоритмом, все отключенные алгоритмы определяют, какой сигнал обратного счета Xос им нужно подать на свой вход, чтобы на выходе последнего алгоритма в отключенной цепочке после ее включения сигнал был равен Yо. Следующий алгоритм отслеживает сигнал X ос, рассчитанный алгоритмом, включенном после следящего алгоритма. В результате включение отключенной цепочки произойдет безударно.
На рис. 1 представлено несколько примеров, иллюстрирующих процедуру обратного счета. Если цепочка алгоритмов, показанная на рис. 1а отключается, каждый алгоритм переходит в режим обратного счета, в результате которого интегратор "заряжается" до величины Yи=Yвых/Х2-Х1. Очевидно, что когда отключенная цепь включается, начальное значение сигнала на выходе будет равно сигналу, предшествовавшему включению. В схеме рис. 1б отключенный интегратор отслеживает сигнал на выходе включенного интегратора, поэтому переключение интеграторов выполняется безударно. Когда регулятор в схеме рис. 1в переходит на ручное управление, узел интегрирования в алгоритме аналогового регулирования РАН "заряжается" до величины Yи = Y вых - Кп* , где Кп - коэффициент пропорциональности, - рассогласование. Если в задатчике ЗДН балансировка отсутствует (СБ=ДБ=0), то переход на режим автоматического управления произойдет безударно, при этом П- и Д- составляющая начального сигнала рассогласования будет отсутствовать (т.е. в первый момент после включения алгоритм РАН работает как И - регулятор). Если же в алгоритме ЗДН включена статическая или балансировка , то в ручном режиме не только " заряжается" интегральная ячейка алгоритма регулирования, но и узел задания "заряжается" до значения Y здн=Х3-(Х1+Х2). В этом случае после перехода автоматический режим в первый момент установится нулевое значение рассогласования.
Хос1 Yи
Хос3 Хос2
Х
Yвых
Х3
Х2 Х11
Рис. 1а
Х1
Y1=Х1
Yвых
Х
Y2=Yвых2
Рис. 1б
ЗДН СУМ РАН РУЧ
С
Хос1 Yздн
ДБ
Хос2
Yи
Yи Yи Х11 РУЧ
Yвых
Х21
Хос3 Х3 АВТ
Рис.1в
При статической балансировке(СБ=1) запомненное значение Yздн сохранится, при динамической балансировке (ДБ=1) сигнал Y здн начнет изменяться с постоянной настраиваемой скоростью, пока не вернется к исходному (ранее установленному)значению.
а) Отключение цепи с интегратором:
Хос3=Yвых; Хос2=Хос3/Х2; Хос1=Хос2-Х1; Yи=Yвых/Х2-Х1.
б) Переключение двух интеграторов:
в) Ручной режим регулятора:
Хос3=Yвых; Yи=Хос3=Кп*; Хос2=-Х3; Хос1=Хос2-(Х1+Х2); Yздн=Хос1 при наличии статической (СБ) или динамической (ДБ) балансировки.
При необходимости процедуру обратного счета можно прервать - для этого достаточно в отключаемую цепочку включить специальный алгоритм блокировки обратного счета БОС.