10. СПОСОБЫ РЕАЛИЗАЦИИ АЛГОРИТМОВ В УПРАВЛЯЮЩИХ ЦВМ И ОПРЕДЕЛЕНИЕ ИХ ОСНОВНЫХ ПАРАМЕТРОВ
Использование управляющих цифровых вычислительных машин в качестве элементов импульсных систем автоматического регулирования позволяет реализовать необходимые законы регулирования непосредственно в виде рабочих программ. Выбор метода программирования зависит от объема запоминающего устройства машины, времени проведения вычислений и от значений ошибок, накапливаемых при вычислениях вследствие конечности разрядной сетки управляющей ЦВМ. В связи с этим существует прямое, последовательное, параллельное, последовательно-параллельное программирование.
Прямое программирование.
Передаточная функция, которую необходимо реализовать этим методом, должна быть приведена к виду
где
За питаем разностное уравнение, соответствующее данной передаточной функции:
Программу, требуемую для решения уравнения (XV.262), разделяют на две части. Во-первых, необходимо выполнить арифмические операции типа перемножений и сложений, указанных в выражении (XV.262) (при этом необходимо выполнить умножений и сложений). Во-вторых, в программе следует организовать ежетактное обновление исходных данных. Квантованное значение текущего цикла вычислений становится значением на последующем цикле вычислений. Поэтому перед следующим циклом вычислений текущее значение должно быть переадресовано, в ячейку памяти, отведенную для значения . Подобные переадресации обновляют входные и выходные данные и выполняются посредством операций пересылок в элементах памяти. Всего потребуется таких пересылок. Под размещение коэффициентов необходимо отвести ячейку памяти и для текущих данных ячеек. Таким образом, если все коэффициенты уравнения (XV.262) постоянны, различны и не равны нулю, то при прямом программировании требуемый объем памяти равен ячейки, а число операций составляет . На рис. XV.37, а изображена блок-схема прямого программирования.
Последовательное программирование.
Для этого метода программирования передаточную функцию (XV.261) необходимо преобразовать к виду
где величины представляют собой нули и полюсы передаточной функции причем некоторые из могут быть равными нулю. Если обозначить
то соотношение (XV.263) можно переписать в виде
и
Рис. XV.37. Блок-схемы программирования: а — прямого; б — последовательного; в — параллельного
Блок-схема последовательного программирования изображена на рис. XV.37, б, откуда следует, что выходная функция (2) каждого элемента схемы представляет собой входную функцию следующего элемента. Из уравнений (XV.263) и (XV.266) с помощью обратного преобразования получим систему разностных уравнений
Подсчитав число членов в системе (XV.267), нетрудно установить, что для размещения коэффициентов потребуется ячейка памяти, для расположения данных ячеек, под операции перемножения ячейка, операции сложения ячеек и операции пересылок ячеек. Поэтому общий объем памяти при последовательном программировании составит ячейки. Следовательно, рабочие программы, составленные по методу последовательного программирования, требуют для своего размещения меньший объем памяти управляющей ЦВМ. Кроме того, при этом методе синтез дискретных корректирующих устройств может быть выполнен экспериментально, путем подбора полюсов и нулей передаточной функции. При необходимости контроля легко получить промежуточные результаты вычислений
Параллельное программирование.
Метод основан на разложении передаточной функции на простые дроби, записываемые в виде
где — вычеты передаточной функции в соответствующих полюсах.
Как показано на рис. XV.37, в, соотношение между изображениями входной и выходной величины в этом случае может быть записано в виде
и
где
Из уравнения (XV.269) получим соответствующую систему разностных уравнений
в этом случае для размещения рабочей программы потребуется под коэффициенты ячеек памяти, для размещения данных ячеек, под операции
умножения ячеек, операции сложения ячеек и операции пересылок ячеек. Тогда общий объем памяти при параллельном программировании составит ячейка.
Таким образом, параллельное программирование занимает промежуточное положение между двумя изложенными выше методами. Этот метод имеет существенные преимущества при отладке или улучшении рабочих программ.
Каждый параметр при параллельном программировании связан либо с полюсом, либо с вычетом реализуемой передаточной функции Поэтому для получения желаемого изменения закона регулирования необходимо изменить либо параметр либо параметр .
Прямое программирование целесообразно использовать, когда некоторые коэффициенты передаточной функции в выражении (XV.261) равны нулю, так как разложение на множители, выполняемое при использовании методов последовательного и параллельного программирования, приведет к восстановлению всех коэффициентов. В этом случае время вычислений, выполняемых по рабочей программе, можно свести к минимуму.
Последовательно-параллельное программирование.
Метод сочетает преимущества последовательного и параллельного методов. В этом случае программу для управляющей цифровой вычислительной машины составляют при использовании соотношений вида (XV.269) и (XV.270). В некоторых случаях можно применить сочетание всех рассмотренных методов реализации программ.
Основные характеристики программ, такие как число команд, время выполнения, объем занимаемой памяти, в значительной мере зависят от системы команд применяемой управляющей ЦВМ. Рассмотрим характеристики программ, составленных для одноадресной управляющей ЦВМ, имеющей команды умножения, сложения (вычитания), пересылки из сумматора в ячейку памяти, пересылки из ячейки памяти в сумматор и передачи управления (см. гл. VI). Обозначим время выполнения каждой из команд соответственно тумн, и ту. Тогда по выражениям (XV.268)-(XV.270) можно составить рабочие программы для вычисления текущего управляющего воздействия и с применением различных методов программирования. Получаемые в этом случае оценки для времени выполнения программ сведены в табл. XV.4.
Производительность управляющей цифровой вычислительной машины определяется временем счета
Таблица XV.4 (см. скан) Сравнительная характеристика методов программирования
Предположив, что для принятой системы команд выполняются соотношения
выберем среднее время выполнения одной команды
Из условия (XV.271) с учетом соотношений (XV.272) и (XV.273) получим оценку быстродействия управляющей цифровой вычислительной машины
Объем памяти определяется ячейками, в которых размещаются текущие данные, константы, и рабочими ячейками.
Быстродействие и объем памяти вычислительной машины также указаны в табл. XV.4.
При выполнении арифметических операций в ЦВМ возникают ошибки округления, которые накапливаются и могут существенно повлиять на точность результатов. Поэтому разрядную сетку управляющей ЦВМ необходимо выбирать так, чтобы сделать ошибку вычисления и меньше заданной. Характер накопления ошибок округления может в большой степени зависеть от вида реализуемых алгоритмов регулирования.
Расчет разрядной сетки управляющей ЦВМ обычно заключается в определении разрядности арифметического устройства (сумматора), при которой средняя квадратическая ошибка результата не превышает заданную.
Пусть некоторая функция имеет максимальное значение модуля и должна быть представлена со средней квадратической ошибкой Тогда разрядность запоминающих устройств, предназначенных для хранения чисел данной последовательности,
При выполнении арифметических операций будут возникать ошибки округления. В первом приближении можно считать, что при выполнении элементарных операций с округлением при реализации функции и среднее квадратическое значение ошибки в единицах младшего разряда арифметического устройства определяется соотношением
Поэтому накопившаяся в результате последовательных округлений ошибка потребует для компенсации разрядов:
Тогда разрядность арифметического устройства
и в этом случае средняя квадратическая ошибка результата не увеличится.
Следует отметить, что указанный способ определения разрядности является весьма приближенным. Он основан на допущении независимости ошибок в цепи последовательных округлений всего вычислительного процесса и не учитывает структуру реализуемого алгоритма.
Пример XV.23. Рассчитаем разрядную сетку управляющей ЦВМ, если входная величина не превышает по модулю единицы, а ее средняя квадратическая ошибка Число последовательных операций с округлениями при вычислении выходной величины и составляет
Используя соотношения (XV.275)-(XV.277), получим
Таким образом, арифметическое устройство машины должно иметь 21 разряд (с учетом знакового разряда).