Структурная организация УПС, приведенная выше и пригодная для классов 1,2,3, в классе 4 неприменима. В последнем классе требуется многоканальная организация АЦП и ЦАП без мультиплексирования с дополнительным включением на входе м выходе БСК файла параллельных буферных регистров, обменивающихся с ОП ЦВМ в режиме прямого доступа. Содержимые каждого из регистров либо преобразуются отдельными параллельно включенными ЦАП при передаче данных в АВМ, либо формируются отдельными параллельно включенными АЦП при передаче данных из АВМ в ЦВМ.
2.3.3 Особенности программного обеспечения АЦВК.
Для автоматизации программирования АВМ с помощью ЦВМ и полной автоматизации аналого–цифрового вычислительного процесса традиционное ПО ЦВМ общего назначения (см. рис. 13.2 с.398 в учебнике [3]) дополняется следующими программными модулями:
1. В состав обрабатывающих программ входят дополнительные трансляторы со специальных языков аналого–цифрового моделирования, например Фортран-IV, дополненного подпрограммами на расширенном Ассемблере, содержащем специальные аналого–цифровые команды, например, для управления аналоговой частью по программе ЦВМ, организации передачи данных между ЦЧ и АЧ, обработки прерываний программ ЦЧ, инициализируемых аналоговой частью; создается аналого–цифровая компилирующая система;
2. В состав рабочих, отладочных и обслуживающих программ вводят драйвер межмашинного обмена для управления аналоговой частью как периферийным процессором, программы графического дисплея, регистрации и анализа результатов;
3. В состав библиотеки прикладных программ вводят программы вычисления функций и стандартные математические аналого–цифровые программы;
4. В состав диагностических программ технического обслуживания вводят тесты УПС, тесты операционных блоков АВМ;
5. В состав управляющих программ ОС вводят целый комплекс дополнительных управляющих модулей:
· Система автоматизации аналогового программирования (СААП), состоящая из лексического анализатора; синтаксического анализатора (проверка соответствия введенной на алгоритмическом языке аналоговой программы правилам синтаксиса записи); генераторы структурных схем (составление и кодирование схем аналоговых моделей методом понижения порядка и неявных функций также, как и в п.2.1); блока расчетных программ (масштабирование аналоговой модели как в п.2.1, цифровое программное моделирование аналоговой части на ЦВМ с однократным просчетом для расчета ожидаемых максимальных значений переменных и уточнения масштабирования аналоговой модели, а также создание файла статического и динамического контроля аналоговой части после её программирования); программы представления выходной информации (вывод на дисплей и графопостроитель синтезированной структуры аналоговой модели, контрольная распечатка кодов аналоговой программы, масштабных коэффициентов, файла статического и динамического контроля);
· Служба синхронизации и взаимодействия АВМ и ЦВМ (реализация чередования режимов работы);
· Служба обработки прерываний, инициализируемых аналоговой частью;
· Программа управления обменом данными между АВМ и ЦВМ;
· Программа управления загрузкой кодов схемы аналоговой модели в САК (в РН);
· Программа управления режимом статического и динамического контроля (отладка загруженной в АВМ аналоговой программы).
По результатм автоматизации аналого–цифрового программирования на магнитном диске ведущей ЦВМ, кроме традиционных цифровых файлов, создаются следующие дополнительные файлы данных, используемые названными выше дополнительными модулями ПО АЦВК: файл аналоговых блоков, файл коммутации (для САК), файл статического контроля, файл динамического контроля, файл подготовки аналоговых функциональных преобразователей, библиотека подключаемых стандартных аналого–цифровых программ.
2.3.4. Языки аналого–цифрового моделирования.
Рассмотренная архитектура АЦВК позволяет описывать и вводить аналого–цифровые программы только в ведущую ЦВМ на алгоритмических языках высокого уровня. Для этого традиционные языки цифрового программирования дополняются специальными операторами описания объекта аналогового моделирования, организации передачи данных между АЧ и ЦЧ, управления аналоговой частью по программе ЦВМ, обработки прерываний со стороны аналоговой части, задание параметров аналоговой модели, контроля аналоговой части, задания служебной информации и т. п.
Применяются универсальные языки, транслируемые путем компиляции (Фортран IV) или интерпретации (Бейсик, Гибас, Фокал, HOI), дополняемые специальными подпрограммами на Ассемблере, обычно выызваемыми оператором Call… с указанием идентификатора нужной подпрограммы.
С целью повышения скорости работы СААП она обычно описывается и использует на входе специализированные языки аналого–цифрового моделирования: CSSL, HLS, SL – 1, APSE, а для внутренней интерпретации язык Полиз (обратная польская запись).
В универсальные языки компилируемого типа могут вводиться следующие аналого–цифровые макрокоманды:
1. SPOT AA x – установить потенциометр (ЦУС) в аналоговой части с адресом АА в положение (величину сопротивления), соответствующее значению цифрового кода, хранящемуся в ОП ЦВМ по адресу х;
2. MLWJ AA x – считать аналоговую величину на выходе операционного блока в АЧ с адресом АА, подвергнуть её аналого–цифровому преобразованию, а результирующий цифровой код записать в ОП ЦВМ по адресу х. Взаимодействие аналоговой частии цифровой части можно описать как вызов процедуры:
Call JSDA AA x, где JSDA – это идентификатор соответствующий, подключаемой подпрограммы на Ассемблере, например, процедуры установки – установить значение х с выхода ЦАП по адресу АА в аналоговой части.
В диалоговом режиме, например, при отладке аналоговой модели, обычно применяются языки интерпретирующего типа, чаще всего расширенный Бейсик. Идентификаторы переменных и массивов дополняются идентификаторами аналоговых операционных блоков и аналоговых операций. Они составляются из мнемонического обозначения операционного блока или операции и их индексов в квадратных скобках. Чтобы отличать их от традиционных идентификаторов Бейсика, запись их начинается с восклицательоного знака:
!JN[2] – интегратор 1,
!SU[5] – сумматор 5,
!FN[1] – функциональный блок (формирователь функции) 1,
!DP[0] – потенциометр (ЦУС) 0,
!CD[3] – коэффициент передачи потенциометра 3 (умножение на постоянный регулируемый коэффициент),
!DE[1] – значение производной 1 (первобразной на входе JN[1]).
Рассмотрим фрагмент программы на расширенном Бейсике, предназначенный для его ввода в ЦВМ, последующей интерпретации в ЦВМ, составления в ЦВМ программы аналоговой части, ввода её в АЧ и финального контроля цифровой частью правильностью ввода аналоговой программы в АВМ путем соответствующего опроса контрольных точек схемы аналоговой модели. Рассмотрим названные программные коды процедур на примере простого нелинейного дифференциального уравнения:

g – внешняя переменная;
Исходные данные:
1. Начальные условия : Y(0)=0.382;
2. Значения констант: a=4.5 b=5;
3. Значение входной переменной: g:=0.5.
NORMAL
ONL
COSUB 100
MODE, PG
COSUB 200
MODE, IC
VERIFY, .05
COSUB 200
Подпрограммы :
100 Установка параметров
101 LET ALFA = 4.5
102 LET BETA = 5
103 LET GAMA = .5
104 Начальные условия
105 Y=.382
106 RETURN
200 Установка коэффициентов и присваивания
201 LET !CD[0]=(ALFA/BETA)2
202 LET !CD[1]=SQR(3)/10
203 LET !CD[2]=.382
204 LET !IN[1]=CD[2] (начальное условие)
205 LET !FN[1]=IN[1]*IN[1]
206 LET !DE[1]= – (CD[0]*GAMA) – (CD[1]*FN[1]*10)
207 RETURN
300 Выходы потенциометров
301 LET !DP[0]=CD[0]*GAMA
302 LET !DP[1]=CD[1]*FN[1]
303 LET !DP[2]=CD[2]*1
В программе имеется особый оператор VERIFY,0.05 , который задает режим проверки аналоговой части. Проверка выполняется в подпрограммах, следующих за ним. В последних при этом изменяется смысл оператора присваивания : LET A=B. Он интерпретируется как сравнение А с В с точностью 0.05. если
, то интерпретирующий транслятор печатает сообщение об ошибке.
NORMAL – оператор, анулирующий действие оператора VERIFY; следовательно вначале до оператора VERIFY оператор LET в подпрограммах 100 и 200 имеет смысл присваивания.
ONL – оператор, задающий режим работы ЦВМ во взаимодействии с АВМ.
MODE <параметр> – оператор задания рабочего режима аналоговой части.
параметр : PG – составление аналоговой программы (кодирование схемы аналоговой модели и её параметров).
IC – ввод начальных условий в интеграторы;
ОР – пуск аналоговой модели и получение однократного решения.
Таким образом, в соответствии с приведенным фрагментом аналого–цифровой программы вначале по основной подпрограмме COSUB 200 ЦВМ вводит в аналоговую часть структуру связей аналоговой модели и коэффициенты передачи аналоговых операционных блоков и по MODE, IC вводит в интегратор IN1 значение начального условия, определяемого присваиваниями 203, 204 (как предварительный заряд его конденсатора в обратной связи операционного усилителя). Затем по оператору VERIFY осуществляется статический контроль правильности ввода аналоговой програмы в АВМ, вызывая соответствующие точки аналоговой схемы в АВМ мультиплексором АМ, подвергая напряжения в этих точках аналого–цифровому преобразованию с помощью УПС, а затем сравнивая эти цифровые коды в ЦВМ с результатами цифрового вычисления правых частей всех LET : 201 – 206 и 301 – 303.
В специализированных входных языках системы СААП ведущей ЦВМ для аналого–цифрового моделирования решаемае в АВМ дифференциальные уравнения вводятся в ЦВМ ещё проще в форме описания, очень близкой к естественной математической записи. Например, в языке APSE применяются следующие операторы языка описания объекта моделирования :
Исходное уравнение :

|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


