УДК 681.322.1-181.4

П.В. Полянский, Н.А. Ширковский

«ЭЛЕКТРОНИКА БК-0010» В СИСТЕМАХ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ОБЪЕКТАМИ

Отечественная промышленность выпускает для разработки производственных систем автоматизации управляющие вычислительные комплексы (УВК) и программируемые контроллеры (ПК).

Применение для автоматизации отдельных технологических установок традиционных УВК, построенных, в основном, на базе мини-ЭВМ, неэффективно из-за избыточности, сложности интерфейсных устройств и высокой стоимости.

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

Одноплатные персональные ЭВМ (ПЭВМ) «Электроника БК-0010», соединяющие свойства универсальных ЭВМ и минимальных контроллеров, позволяют заполнить экологическую нишу между УВК и ПК. Эти простейшие ПЭВМ выгодно отличаются от контроллеров наличием встроенной универсальной клавиатуры, видеоконтроллера, средств связи с накопителем на магнитной ленте, повышенным объёмом ОЗУ (32К байт). «Электроника БК-0010» программируется на языке высокого уровня с графическими функциями. Ввод данных - интерактивный, без каких-либо дополнительных инструментальных средств. Компактность, повышенная надёжность и низкая стоимость компьютеров этого типа определяют перспективность их применения в системах управления.

С нештатными устройствами ПЭВМ связана через два её разъёма. На первый выведена внутренняя магистраль машины (типа Q-bus), на второй - программируемый параллельный порт ввода-вывода и линия прерывания ПРТ для организации таймера-счётчика событий.

При стандартном подключении устройства связи с объектом (УСО) к ПЭВМ (через магистраль) возникают существенные трудности по её надёжной буферизации и дешифрации адреса внешнего устройства. Эффективный обмен с УСО возможен через программируемый параллельный порт ввода-вывода, состоящий из двух 16-разрядных регистров. Обращение к ним происходит по одному адресу, но один регистр доступен только для чтения (будем называть его портом ввода), а другой только для записи (порт вывода). Оба порта реализованы на многорежимных буферных регистрах (МБР) К589ИР12 [1].

Для организации обмена порт вывода ПЭВМ разбивается на две зоны; младшие разряды - для выдачи данных, старшие разряды - для формирования адреса внешнего устройства и управляющих сигналов. Максимальная длина зоны данных обычно определяется разрядностью ЦАП в УСО.

Пример минимальной аппаратной реализации - УСО для управления медленнодействующей технологической установкой. Оно обеспечивает ввод восьми, вывод одного аналогового сигнала и подсчёт текущего времени. Схема устройства (рис. 1) классическая [2]: входные аналоговые сигналы через диодную защиту поступают на входы интегрального аналогового мультиплексора (К561КП2), далее - на буферный повторитель (К140УД7), с выхода которого на вход интегрального АЦП (К1113ПВ1). Цифровой код с выхода АЦП подаётся непосредственно на порт ввода ПЭВМ (разряды 0...9). Выходные ТТЛ-уровни порта вывода ПЭВМ с КМОП-уровнями адресных входов аналогового мультиплексора согласует микросхема с открытым коллектором К155ЛА8.

Рис. 1. Принципиальная схема АЦП минимального УСО

К разрядам 0...9 порта вывода (рис. 2) подключены цифровые входы ЦАП (К572ПА1А и работающая с ней в паре К140УД7). Разряд 10 порта используется для подачи сигнала «Гашение АЦП», разряды 11... 13 - для адресации канала мультиплексора.

Рис. 2. Принципиальная схема ЦАП и таймера минимального УСО

Таймер (см. рис. 2), аппаратно поддерживающий функцию FCLK() в языке Фокал, выполнен на ИМС К1006ВИ1. Сигнал с её выхода подан на линию ПРТ.

Благодаря малому количеству микросхем энергопотребление низкое. Поэтому УСО и компьютер могут получать питание от одного источника. Для двуполярного питания аналоговых микросхем применён высокочастотный стабилизированный преобразователь [3], дополненный «мягким запуском» и параметрическим стабилизатором выходного напряжения (рис. 3). Общий ток, потребляемый УСО, не превышает 300 мА. Устройство (рис. 4) с преобразователем питания размещается в корпусе 55×55×145 мм.

Рис. 3. Принципиальная схема преобразователя питания минимального УСО

Программирование ПЭВМ на языке высокого уровня позволяет легко оценивать качество управляемого процесса (сложной функции состояния), использовать нетривиальные алгоритмы управления.

Рис. 4. Внешний вид минимального УСО для «Электроники БК-0010»

«Электроника БК-0010» в комплексе с простейшим УСО была использована в системе управления процессом высокотемпературной пайки крупногабаритных изделий в индукционных печах.

Алгоритм работы системы управления обеспечивает сбор, первичную обработку, индикацию и сохранение на магнитной ленте данных от трёх термопар и текущего времени; индикацию нештатных режимов; автоматическое управление режимом нагрева.

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

В ходе процесса на экране монитора показываются временные графики и числовые значения измеряемых температур.

Рис. 5. Система сбора данных о распределении энергии в электронном луче (вид со стороны передней панели)

Особенность автоматического, управления режимом нагрева - применение адаптивного алгоритма, меняющего закон управления в зависимости от состояния процесса. Это позволяет учесть инерционность объекта и нагреть его за минимальное время с учётом ограничения на градиент температур.

Прикладное ПО системы (~4,5К байт) написано на языке Фокал. В режиме управления процессом от съёма данных до выдачи управляющего воздействия проходит около 3 с.

Более совершенный вариант УСО дополнен схемой обмена цифровыми сигналами. Входной порт ПЭВМ делится на несколько направлений с помощью МБР (К589ИР12), запараллеленных по выходу и стробируемых сигналами ВК. Младшие десять разрядов порта вывода подаются на входные цепи нескольких ЦАП (К572ПА2А), а восемь младших разрядов делятся с помощью адресуемых по записи МБР. Для адресации регистров и задания режимов работы используются 10...14 разряды порта вывода. Дешифраторы адресов и сигналов управления выполнены на ИМС К155ИД3. 15-й разряд служит для задания направления обмена (приём-передача) и стробирует дешифраторы.

Этот вариант УСО позволяет создавать на основе «Электроники БК-0010» автоматизированные системы научных исследований в комплексе с серийными цифровыми приборами. Обладая графическими возможностями, она служит интеллектуальным цифровым осциллографом, измерителем частотных и вольт-амперных характеристик. В этих применениях для быстродействия в состав УСО включены буферное ОЗУ и быстродействующий АЦП.

На «Электронике БК-0010» создана система сбора данных о распределении энергии луча в электронно-лучевой установке (рис. 5). Кроме быстрых АЦП (КН07ПВ1) и ОЗУ (К541РУ2), аппаратно выполнен блок тестового сигнала. За время теста (1 мс) производится 1024 измерения отклика объекта. Параметры тест-сигнала и входные цепи устройства настраиваются программно. Данные после каждого цикла измерения переписываются в память машины, где проходят фильтрацию и вторичную обработку, заключающуюся в восстановлении трёхмерной картины распределения энергии электронного луча по нескольким сечениям. Полученный результат выводится на экран дисплея в виде графика.

Для «Электроники БК-0010» разработан ряд систем подготовки программ. Для медленных объектов прикладное ПО целесообразно создавать на языке Фокал или Бейсик (включая драйверы УСО, диалог с оператором и графическую интерпретацию результатов).

Если задача легко разделяется на быструю и медленную составляющие или необходим экономный формат хранения данных, то можно использовать программные системы ФОКОД или интерфейс внешних функций (см. сообщение А. Казанцева в этом же номере). Обе системы занимают небольшую часть ОЗУ и позволяют встраивать в программу на Фокале кодовые фрагменты.

Для быстродействующих объектов программирование стоит вести на языках Форт и Ассемблер, версии которых в адаптации для «Электроники БК-0010» будут приведены в следующих номерах журнала.

Адрес для справок: 107005, Москва, 2-я Бауманская ул., 5, МВТУ им. Н. Э. Баумана, Полянскому П. В.

ЛИТЕРАТУРА

  1. Микропроцессоры. В 3-х кн. Кн. 1. / Н.В. Воробьев, В.Л. Горбунов, А.В. Горячев и др.; Под ред. Л.Н. Преснухина. - М.: Высшая школа, 1986. C. 258-261.
  2. Балашов Е.П., Григорьев В.Л., Петров Г.А. Микро- и мини-ЭВМ. - Л.: Энергоатомиздат, 1984, с. 227.
  3. Вотинцев Н. Преобразователь напряжения с ШИ-стабилизацией // Радио. - 1985. - № 10. - С. 27.

 

УДК 681.322.042

А.Г. Водянкин, В.И. Моисеенко

УЧЕБНАЯ ЛОКАЛЬНАЯ СЕТЬ МИКРО-ЭВМ

В Ждановском металлургическом институте создана локальная сеть микро-ЭВМ, предназначенная для обучения языку Паскаль и разработки на этом языке эффективных программ для микро-ЭВМ «Электроника БК-0010» (далее «БК-0010»). Сеть состоит из четырёх «БК-0010» и центрального комплекса «Электроника 60М». Возможно подключение до 10...15 «БК-0010». Решены вопросы полноценного переноса программ, построенных с помощью компилятора Паскаля, на «БК-0010», а также доступа пользователей сети к файлам на устройствах центрального комплекса. Работа сети поддерживается операционной системой ОС ДВК и сетевым монитором, дающим возможность пользователям редактировать исходные тексты программ, компилировать их средствами ОС ДВК, загружать программы в «БК-0010» для выполнения или записи на магнитную ленту бытовым магнитофоном.

;--------- ЗАГОЛОВОК -----------
;   11:09.86
;   АССЕМБЛЕР MACRO-11 / ОСДВК
;********************************************************************
;*       МОДУЛЬ ST10 ОБЕСПЕЧИВАЕТ РАБОТОСПОСОБНОСТЬ ПРОГРАММЫ,      *
;*  ПОСТРОЕННОЙ КОМПИЛЯТОРОМ ПАСКАЛЯ, НА БК-0010. МЕТКА $ST10 -     *
;*  ТОЧКА ВХОДА В ЗАГРУЗОЧНЫЙ МОДУЛЬ, ОБРАЗУЮЩИЙСЯ ПРИ КОМПОНОВКЕ   *
;*  ОБЪЕКТНОГО МОДУЛЯ ST10.OBJ И МОДУЛЕЙ ПРОГРАММЫ. ФРАГМЕНТЫ       *
;*  ST10 ОСУЩЕСТВЛЯЮТ НАЧАЛЬНУЮ НАСТРОЙКУ ИСПОЛНЯЮЩЕЙ СИСТЕМЫ       *
;*  ПАСКАЛЯ И ПРЕОБРАЗУЮТ ЗАПРОСЫ К МОНИТОРУ ОСДВК В ЭКВИВАЛЕНТНЫЕ  *
;*  ЗАПРОСЫ К МОНИТОРУ БК-0010, РАСПОЛОЖЕННОМУ В ПЗУ.               *
;********************************************************************
;--------- ОПРЕДЕЛЕНИЯ ---------
        .GLOBL $RESR5, $RESR6, $KORE, $FREE ; ЯЧЕЙКИ ДЛЯ СВЯЗИ С
                                            ; ИСПОЛНЯЮЩЕЙ СИСТЕМОЙ
                                            ; ПАСКАЛЯ.
        .GLOBL $BEGIN                       ; ТОЧКА ВХОДА ПРОГРАММЫ,
                                            ; ПОСТРОЕННОЙ КОМПИЛЯТОРОМ.
        BUFSIZ = 100                        ; РАЗМЕР БУФЕРА ДЛЯ ПРИЕМА
                                            ; СТРОКИ С КЛАВИАТУРЫ.
        NETLOW = 34000                      ; ВЕРХНИЙ АДРЕС ДОСТУПНОЙ
                                            ; ПРОГРАММЕ ПАМЯТИ.
;-------- ТЕЛО -----------------
$ST10::
        EMT     4           ; ИНИЦИАЛИЗИРОВАТЬ ДРАЙВЕР КЛАВИАТУРЫ
        MOV     #NETLOW,SP  ; БК-0010. УСТАНОВИТЬ УКАЗАТЕЛЬ СТЕКА.
        MOV     SP, $RESR6  ; НАСТРОИТЬ ЯЧЕЙКИ ИСПОЛНЯЮЩЕЙ СИСТЕМЫ.
        CLR     $FREE
        MOV     $RESR5, R5  ; РЕГИСТР R5 УКАЗЫВАЕТ НА НАЧАЛО ОБЛАСТИ
        MOV     R5, $KORE   ; ГЛОБАЛЬНЫХ ДАННЫХ.
        MOV     @#30, SV30  ; СОХРАНИТЬ ВЕКТОР ПРЕРЫВАНИЙ ПО КОМАНДЕ
        MOV     @#32, SV32  ; EMT, ПЕРЕКЛЮЧИТЬСЯ НА ОБСЛУЖИВАНИЕ
        JSR     PC, $$T60   ; ЗАПРОСОВ К МОНИТОРУ ОСДВК.
        JMP     $BEGIN      ; ПРИСТУПИТЬ К ИСПОЛНЕНИЮ ПРОГРАММЫ.

SV30  : .WORD               ; ЯЧЕЙКИ ДЛЯ ХРАНЕНИЯ ВЕКТОРА ПРЕРЫВАНИЙ
SV32  : .WORD               ; ПО EMT.
BUFFER: .BLKB   BUFSIZ      ; БУФЕР ДЛЯ ПРИЕМА СТРОКИ С КЛАВИАТУРЫ.
ENDBUF: .WORD
DELIM : .BYTE   BUFSIZ      ; ПРЕДЕЛЬНОЕ ЧИСЛО СИМВОЛОВ В СТРОКЕ.
        .BYTE   12          ; ОГРАНИЧИТЕЛЬ СТРОКИ.
COUNT : .WORD               ; УКАЗАТЕЛЬ НА СИМВОЛ, ПРОЧИТАННЫЙ ИЗ
FLG   : .WORD 0             ; БУФЕРА. ЯЧЕЙКА FLG ОЧИЩАЕТСЯ, КОГДА
                            ; ПРОЧИТАНЫ ВСЕ СИМВОЛЫ.
RUS   : .WORD 0             ; ПРИЗНАК ТЕКУЩЕГО РЕГИСТРА (РУС ИЛИ ЛАТ)

$$T10:: MOV     SV30, @#30  ; ПОДПРОГРАММА ПЕРЕКЛЮЧЕНИЯ НА ОБСЛУЖИВАНИЕ
        MOV     SV32, @#32  ; ЗАПРОСОВ К МОНИТОРУ 5К-0010.
        RTS     PC

$$T60:: MOV     #EMT60,@#30 ; ПОДПРОГРАММА ПЕРЕКЛЮЧЕНИЯ НА ОБСЛУЖИВАНИЕ
        CLR     @#32        ; ЗАПРОСОВ К МОНИТОРУ ОСДВК.
        RTS     PC

OUTPUT: CMPB    R0, #16     ; ПОДПРОГРАММА ВЫВОДА СИМВОЛА С УЧЕТОМ
        BNE     1$          ; ПРИЗНАКА РЕГИСТРА ( ЯЧЕЙКИ RUS ).
        MOV     #1, RUS
        RTS     PC
   1$ : CMPB    R0, #17
        BNE     2$
        CLR     RUS
        RTS     PC
   2$ : TST     RUS
        BEQ     3$
        CMPB    R0,#77
        BLOS    3$
        BIS     #200, R0
   3$ : EMT     16
        RTS     PC

EMT60:  MOV     R0,-(SP)    ; ОБРАБОТАТЬ ПРЕРЫВАНИЕ - СОХРАНИТЬ
        MOV     R1,-(SP)    ; РЕГИСТРЫ, ИЗВЛЕЧЬ КОД КОМАНДЫ EMT,
        MOV     4(SP),R0    ; ВЫЗВАВШЕЙ ПРЕРЫВАНИЕ, ПРИСТУПИТЬ К
        MOV     -(R0),-(SP) ; АНАЛИЗУ КОДА.
        MOVB    (SP)+,R0
        JSR     PC,$$T10
        CMPB    R0,#340     ; ОБСЛУЖИВАНИЕ ЗАПРОСОВ НА ВВОД С
        BNE     E341        ; КЛАВИАТУРЫ ( .TTYIN, .TTINR ).
        TST     FLG
        BNE     10$
        MOV     R2,-(SP)
        MOV     #BUFFER, R1
        MOV     DELIM, R2
        EMT     10
        MOV     (SP)+,R2
        MOV     #BUFFER, COUNT
        MOV     #1, FLG
  10$ : MOV     COUNT, R0
        MOVB    (R0),2(SP)
        CMPB    (R0),#12
        BEQ     20$
        INC     COUNT
        CMP     COUNT, #ENDBUF
        BEQ     20$
        BR      EXEMT
  20$ : CLR     FLG
        BR      EXEMT

E341  : CMPB    R0,#341     ; ОБСЛУЖИВАНИЕ ЗАПРОСОВ НА ВЫВОД СИМВОЛА
        BNE     E351        ; ( .TTYQUT, .TTOUTR ).
        MOV     2(SP),R0
        JSR     PC, OUTPUT
        BR      EXEMT

; .PRINT
E351  : CMPB    R0, #351    ; ОБСЛУЖИВАНИЕ ЗАППОСА .PRINT#
        BNE     EXIT
        MOV     2(SP),R1
PRINT : CMPB    (R1),#0
        BEQ     EXEMT
        CMPB    (R1), #200
        BEQ     EXEMT
        MOVB    (R1)+,R0
        JSR     PC, OUTPUT
        BR      PRINT

EXIT  : CMPB    R0, #350    ; ОБСЛУЖИВАНИЕ ЗАПРОСА .EXIT.
        BNE     FAIL
        HALT

FAIL  : MOV     #MESSAG, R1 ; СЮДА ПЕРЕДАЕТСЯ УПРАВЛЕНИЕ, ЕСЛИ
        BR      PRINT       ; ОБРАБОТКА ТЕКУЩЕГО EMT НЕ РЕАЛИЗОВАНА.

MESSAG: .ASCIZ  /ERROR IN EMT /<12>
        .EVEN

EXEMT : JSR     PC,$$T60    ; ЗАВЕРШИТЬ ОБРАБОТКУ ПРЕРЫВАНИЯ -
        BIC     #1,6(SP)    ; УСТАНОВИТЬ  ПРИЗНАК УСПЕШНОГО
        MOV     (SP)+,R1    ; ИСПОЛНЕНИЯ  ЗАПРОСА В БУДУЩЕМ СЛОВЕ
        MOV     (SP)+,R0    ; СОСТОЯНИЯ, ВОССТАНОВИТЬ СОДЕРЖИМОЕ
        RTI                 ; РЕГИСТРОВ.
        .END

Скачать файл ST10.MAC

С целью уменьшения аппаратных затрат на создание сети разработана схема соединений, «Электроника 60М» подключена к сети через параллельный интерфейс И2, а «БК-0010» - через порты ввода-вывода. Скорость передачи информации 250 16-разрядных слов/с.

Сетевой монитор состоит из программы MIC, исполняемой в центральном комплексе под управлением ОС ДВК, и экземпляров программы NET, исполняемых в «БК-0010». NET проверяет синтаксис принимаемых с клавиатуры команд сетевого монитора и включает в себя экранный редактор текстовых файлов, MIC выполняет файловые операции, последовательно опрашивая готовые к взаимодействию экземпляры NET»

Команда сетевого монитора задаётся в виде строки символов, завершаемой символом ВВОД. Общий формат команд

[КОМ] [ИМЯ ФАЙЛА[.ТИП ФАЙЛА]]

где КОМ - односимвольное имя команды; квадратные скобки указывают на необязательное присутствие элемента, заключённого в них.

Допустимо опускать тип файла, при этом он назначается автоматически исходя из имени команды и номера пользователя, введённого в начале работы. Например, пользователь 15 модифицирует программу с именем FILE. По команде FILE в память «БК-0010» загружается файл FILE.P15 с исходным текстом программы и устанавливается режим экранного редактирования. Новая версия файла записывается после возврата к режиму приёма команд командой ; FILE. Команда @СОМР запускает командный файл СОМР.С15, в котором запрограммирована компиляция FILE.P15. Созданный при компиляции листинг LIST.P15 можно посмотреть, подав команду LIST. При выполнении командного файла МАС.С15 (команда @МАС) получаем файл FILE.S15, содержащий готовую программу в формате отображения памяти. По команде >FILE программа загружается в память БК-0010 и запускается.

Каждый пользователь имеет набор необходимых ему командных файлов. Возможностей, предоставляемых файлами СOМР.С15 и МАС.С15, достаточно для начального обучения Паскалю:

Файл СОМРС15:  R PASCAL
               FILE.M15,LIST.Р15=FILE.P15/F
Файл MAC.С15:  R MACRO
               FILE.J15=FILE.M15
               ^C
               R LINK
               FILE.S15=SY:ST10,DK:FILE.J15/T
               $ST10
               ^C

Чтобы программа, написанная на Паскале и предназначенная для работы под управлением ОС ДВК, могла выполняться на БК-0010, был создан модуль ST10 - ловушка прерываний по команде ЕМТ. Этот модуль присоединяется к модулям программы на этапе компоновки и преобразует запросы на ввод-вывод, адресованные к монитору ОС ДВК, в эквивалентные запросы к монитору «БК-0010», расположенному в ПЗУ. Так, запрос на вывод символа EMT341, код которого расположен в регистре R0, принимается ST10 и преобразуется в запрос ЕМТ 16 аналогичного назначения.

Сеть применяется в учебном процессе в курсах программирования и АСУ ТП. Сетевой монитор может быть использован в условиях класса промышленного исполнения.

Адрес для справок: 341004, Донецкая область, г. Жданов, ул. Заозерная, 98-6, Водяник А.Г.

ЛИТЕРАТУРА

  1. Математическое обеспечение микро-ЭВМ «Электроника БК-0010». Руководство системного программиста. Т. 1, кн. 2. - 1985.
  2. Ги К. Введение в локальные вычислительные сети. - М.: Радио и связь, 1986.
  3. Комплектный класс технических средств на базе микро-ЭВМ «Электроника БК-0010Ш» и ДКВ-2МШ / Г.И. Фролов, С.М. Косенков, В.А. Шахнов и др. // Микропроцессорные средства и системы - 1986. - № 4.

Статья поступила 15 ноября 1986 г.

 


 

УДК 681.3.06

В.Т. Монахов

ПРОГРАММЫ ЛЮБИТЕЛЕЙ ДЛЯ БЫТОВОЙ ПЕРСОНАЛЬНОЙ ЭВМ «ЭЛЕКТРОНИКА БК-0010»

Бытовой компьютер «Электроника БК-0010» благодаря организации продажи через торговую сеть магазинов-салонов «Электроника» стал одним из наиболее распространённых в стране.

В Москве многие обладатели этих компьютеров объединились в секцию при клубе компьютерного всеобуча «Интерфейс». Секция имеет в своём распоряжении более 200 программ, созданных любителями-энтузиастами и являющихся собственностью автора или авторского коллектива (в комплект поставки БК-0010 входит всего пять программ).

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

По нашему мнению, после соответствующей проверки и отбора наиболее ценных программ по согласованию с авторами можно было бы пополнить комплект поставки БК-0010, поступающий в торговлю. Все программы хранятся на магнитной ленте и вводятся в ЭВМ с кассетного магнитофона.

Системные программы. Среди них интерпретатор языка Бейсик микро-ЭВМ «Электроника 60», адаптированный для БК-0010. Программа занимает около 7 К байт в ОЗУ. Под программы пользователя остаётся 9...17 К байт. Ещё один интерпретатор Бейсика (называемый «Вильнюсским») отличается более высокой скоростью работы, значительным расширением по сравнению с Бейсиком «Электроники 60», но занимает объём более 9 К байт, что несколько снижает возможности пользователей.

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

Для разработки программ в машинных командах предназначен микроотладчик и его усовершенствованные модификации: АСМ и Отладчик-3. Эти программы не только позволяют использовать при составлении программы мнемонику языка ассемблера PDP-11, но и выполнять ряд полезных операций по отладке программ, включая визуализацию содержания регистров общего назначения, пересылку текста программы с одного адреса на другой, пошаговое выполнение программы, сброс отлаженной части программы на ленту и др.

Важным инструментом разработчика программ в машинных командах являются реассемблеры, облегчающие расшифровку цифрового кода команд. В распоряжении секции имеется 6 программ реассемблирования (АНТИАС, КОДЫ, КОД24, REASS, ASC11, MESSA).

Небольшая, но весьма мощная система FOCOD, разработанная В.Н. Андреевым, позволяет объединить программы, написанные на Фокале, с программами в машинных командах. По сравнению с Бейсиком «Электроники 60» разработка программ в машинных командах и обращение к ним в Фокоде предельно упрощены. Объединение Фокода с модифицированной программой записи содержимого экранной памяти на магнитную ленту и считывания с ленты в ОЗУ позволило разработать простой графический экранный редактор, существующий в двух модификациях (FOCODMAG3 и GRAFRED).

Для работы над текстовыми материалами с помощью БК-0010 предназначены несколько текстовых экранных редакторов. К ним относятся программа БЛОКНОТ, входящая в систему РИГА, а также программы SOM и EKRED. Последняя программа, разработанная с использованием Фокода, даёт возможность одновременно обрабатывать тексты объёмом до 8 страниц по 1534 символа на странице. Программа позволяет вводить, стирать или переносить отдельные символы, слова, строки, абзацы, группы абзацев и целые страницы, а также смещать текст на странице вправо и влево целиком. Любой заданный объём можно вывести на магнитную ленту или на принтер. Программа EKRED4 снабжена подпрограммой специального алфавита, позволяющей легко создавать тексты на любом национальном языке.

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

Для составления словарей, каталогов и других текстовых массивов, записи в которых вызываются ключевым словом или группой ключевых слов, разработана программа БАЗА. На её основе создан англо-русский словарь ANRUS на 700 слов, а также переводчик англо-американских мер в метрические.

В распоряжении пользователей - любителей БК-0010 имеются три программы музыкальных редакторов (БЛОКНОТ, МЕЛОМАН, MUSIC), с помощью которых можно создавать разнообразные музыкальные программы, записывать и воспроизводить на компьютере мелодии, снабжать прикладные и игровые программы звуковым сопровождением, обучать музыкальной грамоте.

Среди других усовершенствований системного обеспечения БК-0010 можно упомянуть программу UPAK упаковки массива чисел, систему интерфейса внешних функций (ИВФ) и программу ИВФ МАССИВЫ, дополняющую систему ИВФ. Программа UPAK позволяет упаковывать число с плавающей запятой в 4 байта вместо восьми и тем самым размещать в ОЗУ до 6500 чисел с произвольным доступом к каждому, Система ИВФ вводит дополнительные внешние функции, подпрограммы для которых могут быть написаны в машинных командах, а сами функции - использоваться Фокалом. Программа ИВФ МАССИВЫ вводит несколько таких внешних функций, которые удобно использовать при организации за пределами области ОЗУ, отведённой Фокалу, трёх отдельных массивов с произвольным доступом - для байтов, целых чисел и чисел с плавающей запятой. Первый из этих массивов нетрудно преобразовать в массив символьных величин, которые отсутствуют в Фокале.

Ещё более плотная упаковка информации достигнута в программах научно-технических справочников SPRA, SPPF, SPRI и FOSPR. В этих программах реализован принцип побитного кодирования стандартных текстовых характеристик, который позволил, в частности, всего в четырёх байтах упаковать информацию, занимающую после распаковки объём более 0,5К байта. Применение подобных программ даёт возможность в компьютере со сравнительно небольшой памятью создавать информационные массивы значительного размера, удобные в обращении.

Имеется несколько программ графо-аналитической обработки данных: GIST, GRAPHM, UNIGRAF, GRANOD. Наиболее универсальна программа GRANOD, которая позволяет строить график функции по точкам, проводить выравнивание по девяти наиболее распространённым типам аналитических зависимостей с автоматическим вычислением параметров выбранной эмпирической формулы методом наименьших квадратов. С помощью программы UNIGRAF можно на одном графике вычерчивать несколько графиков функций, заданных аналитически.

Значительное число разработанных и адаптированных программ предназначено для выполнения расчётов. В дополнение к программе SIST. поставляемой вместе с компьютером, созданы программы POLYNOM, DIF, MNK, DIFUR, COMPLEX, DETER, NEWTON, SIMPSON, STATISB, SOM, TRIGINT, DIRIHLE, MINIM, BETARAB, GAPMAN, KORELB, MNOGULB, PRESNB, PROGON, PROSTB, SKOLZB. Это - программы вычисления коэффициентов интерполирующего полинома, решения системы условных линейных уравнений методом наименьших квадратов, интегрирования и дифференцирования аналитически и таблично заданных функций, статистических расчётов, решения системы дифференциальных уравнений, обращения матриц и др.

Есть программы, обеспечивающие специальные расчёты, в частности, надёжности аппаратуры, механических, радиотехнических и электронных приборов и схем, физико-химических и термодинамических констант веществ. Таковы программы ATTENUB, DCCONVERT, БРЮКИ, GLASS, LOGIKA, MAFIA, NADEGNB, NJGFILB, OB2LENS, POLFILB, REDPLAN, RELIAB, TRANUSB, VERFILB, TERM, MOLMASSA, ENTOBR, EGLOF, ТКАМОВОСПЛ.

Среди программ управления внешними устройствами выделим программы: БЕГСТР для управления установкой лазерной графики, КОНСУЛ для сопряжения БК-0010 с печатающей машинкой, ДМП для управления электронными приборами.

Значительную долю программного обеспечения составляют учебные программы: по арифметике (АРИФМЕТИКА), истории (ДАТЫ), географии (ЛАТВИЯ), иностранному языку (ЗУБР), русскому языку (комплекс программ РУС), музыкальной грамоте (НОТЫ), правилам дорожного движения (ПДД), гражданской обороне (ХИМОРУЖИЕ). Ряд обучающих программ предназначен для изучения курса программирования на БК 0010 (ГРАФБЛР, ПУЛЬТ, БК-0010, KLAV), физики (BROWN, OPTIKA, EKKAD, ELSLK), информатики и вычислительной техники в школе (ЭВМ, РОБОТ, SHPAGA MURAWEJ), биологии (ЖИЗНЬ, AKVATOR), геометрии (CUBE, DEKART), для развития композиционных способностей детей (ВК или КОМПЬЮТЕРНЫЙ МИР, ПЕЙЗАЖ, GENERATOR, KRUG). Некоторые обучающие программы, рассчитанные на детей, включают игровые элементы.

Собственно игровые программы представлены наиболее широко и составляют почти половину всех программ.

Среди них программы логических игр: шахматы (CHESS, CHESS3 и CHESSM). шашки (REVERSY, SKREPKI, HAHKI), домино (ДОМИНО), кубик Рубика (RUBIK) и менее распространённые игры: ЦЗЯН, KALAH, LOTO, NIM, N1MB, TRIGEKS, CHISLO, GUESSB, TWENTYONE.

Заслуживают внимания программы деловых игр. Один тип игр (MANAGER, MANAGEMENT, MNG23) имитирует управление промышленным предприятием. Второй тип (PRZ, KING, DICTAT, VAVILON) - хозяйственно-политическое управление, что приучает играющего к рациональному распределению ресурсов, мышлению экономическими и политическими категориями.

Приключенческие игры (ПУТЕШЕСТВИЕ, OREGON) имитируют насыщенное разными приключениями путешествие по диким прериям Америки, полёты в космос (KOSMOS, LUNARM, KLINGI, KLINGON), приключения в замках, подземельях и лабиринтах (ЗАМОК, КОЛОБОК, ПАКМАН, FARAON, WAMPUS). Обычно эти программы включают элементы динамической графики. Вообще динамические игры - это одна из наиболее привлекательных задач программирования для начинающих самодеятельных программистов. Среди них игры с мячом (теннис, бадминтон, футбол, SKLOSH); игры типа посадки на Луну (FMOON, MOON, LUNA, CHELNOK), игры типа удава, поедающего зайцев (PITON, УДАВ, UDAV, КОСА, SNAKEB, ОХОТА), защиты от чудовища или преодоления полосы препятствий (ЗАМОК, WUMPUS, КОЛОБОК, ПАКМАН, ASTEROIDB, УАМАНА); «стрельбы по цели» (ARTILER, PERES, RANGE, ROBIN, STREL, TIRM, МАРС); гонок или скачек (ГОНКИ, COWBOY, GONKI, SLALOM); сражений с космическими пришельцами, вражескими самолётами, подводными лодками и т.п. (ОКЕАН, DOGFIGHT, FLIGHTS, KLINGI, KLINGON, SPACEWAR, SPACEW, SPW, MORBOY).

Отдельную группу составляют демонстрационные программы, в которых пользователь выступает в основном в роли зрителя. Обычно это графические программы, иногда сопровождающиеся музыкальными эффектами. Например, в программе ДОМИК маленький робот строит домик, называя каждую его деталь, а закончив строительство, заразительно пляшет под музыку и хвалит построенный домик. Эта весёлая программа демонстрирует возможности БК-0010 по графике, синтезу речи и музыки. К программам этой группы относятся также ЖИЗНЬ, ПЕСНИ, AKVATOR, BANDIT, BIORITMY, CELL, CUBE, LUN, LUNP, GENERATOR, PIXEL, VAPNA, DEMO, REKLAMA, AELITA, WINNI.

К группе психологических тестов относятся программы НЕРВЫ, CHARACTER, ARTIST, SAMOTEST, TREWS, с помощью которых пользователь может определить тип своего темперамента, оценить художественные способности или состояние нервной системы.

По вопросам приобретения программ следует обращаться непосредственно к членам секции пользователей БК-0010, принимающим участие в заседаниях клуба «Интерфейс», которые проводятся, как правило, каждый четвёртый четверг месяца с 10 ч в Доме научно-технической пропаганды им. Ф.Э. Дзержинского по адресу: Москва, ул. Кирова, 7.

 

Статья поступила 10 января 1987 г.


 

УДК 681.3.327 : 681.3.06

А.В. Лапиров, Е.А. Рудометов, В.Г. Харазов

АЦП НА БИС К1113ПВ1 ДЛЯ ПЕРСОНАЛЬНОЙ ЭВМ «ЭЛЕКТРОНИКА БК-0010»

Широкое использование ПЭВМ «Электроника БК-0010» сдерживается среди прочих причин отсутствием в комплекте поставки устройств связи с объектом, в качестве которых обычно используют АЦП, организованные в многоканальные системы. Серийные АЦП, например «Электроника 15КА-60/8-010» и «Электроника 15ПрА-13-001», сложны, недостаточно надёжны и по стоимости превышают ПЭВМ. В настоящее время АЦП выпускаются в виде БИС и представляют собой функционально законченные устройства. Это избавляет потребителя от необходимости разрабатывать АЦП, но требует решения вопросов по объединению их в систему.

Рис. 1. Принципиальная схема 16-канального 10-разрядного АЦП

Примером функционально законченного АЦП может служить микросхема К1113ПВ1, предназначенная для использования в составе устройств аналогового ввода [1]. Микросхема выполняет функцию 10-разрядного АЦП однополярного или биполярного входного сигнала с представлением результата в параллельном двоичном коде и содержит источник опорного напряжения, компаратор и тактовый генератор. Наличие выхода с тремя состояниями позволяет подключать к одной шине несколько БИС для получения многоканальной системы. Для экономии числа БИС К1113ПВ1 многоканальный режим можно организовать с помощью коммутаторов, подключённых ко входам АЦП. Разработанный на основе БИС К1113ПВ1 преобразователь включает минимальный набор микросхем. В качестве входного коммутатора используется КМОП БИС К564КП2, что позволяет поднять верхнюю границу Uвх макс до 10 В и обеспечить время преобразования, равное 30 мкс [2].

Ввиду того, что большинство интерфейсных шин современных ЭВМ, в частности ПЭВМ «Электроника БК-0010», имеют уровни «Лог. 0» и «Лог. 1», соответствующие уровням ТТЛ ИС, требуется установка элементов согласования ТТЛ - КМОП К133ЛН5.

Сигналы от измерительных преобразователей поступают на входы X1...Х8 коммутаторов D1, D2 (рис. 1), Номер канала задаётся по шине ПЭВМ в виде 4-разрядного слова и поступает на элемент согласования D3, на выходе которого появляются управляющие сигналы, соответствующие номеру подключаемого к АЦП канала.

Используя совместимость системы команд ПЭВМ «Электроника БК-0010» с микро-ЭВМ «Электроника 60», программу обращения к АЦП можно заимствовать из программного обеспечения указанных ЭВМ после соответствующей доработки. В тех случаях, когда не требуется высокого быстродействия, можно использовать возможности резидентного программного обеспечения микро-ЭВМ «Электроника БК-0010».

Пример программы обращения к четырём каналам АЦП на языке Фокал приведён на рис. 2. С учётом высокой инерционности интерпретатора в данной программе не анализируется готовность АЦП. Необходимая задержка формируется введением дополнительного пробела в текст программы между командой запуска и считывания данных.

10.10 C
10.11 C п/п ввода данных, с АЦП(4 канала)
10.12 C порт вывода: 11-запуск; 12,13 -адрес канала АЦП
10.13 C порт ввода: (0 -9) - данные в обратном коде
10.14 C 
10.15 C
10.21 X FP(1,30000);X FP(1,4000);X FP(2,4000);S А1=FP(0,1777)
10.22 X FP(2,10000);X FP(1,4000);X FP(2,4000);S А2=FP(0,1777)
10.23 X FP(1,30000);X FP(2,20000);X FP(1,4000);X FP(2,4000);S А3=FP(0,1777)
10.24 X FP(2,30000);X FP(1,4000);X FP(2,4000);SА4=FP(0,1777)
 
 
10.10 C 
10.11 C п/п ввода данных с /канала с усреднением
10.12 C при N=100 время обработки 4 с
10.13 C парт вывода; 11-запуск; 12,13-адрес канала АЦП
10.14 C порт ввода: (0-9)-данные в обратном коде
10.15 C А0 - результат
10.16 С А1,А2-масштабирующие коэффициенты
10.17 C
10.18 C
10.20 S АС=0; X FP(1,30000);X FP(1,4000)
10.21 F I=1,N; X FP(2,4000); S АС=AC+FP(0,1777);X FP(1,4000)
10.22 S АС=АС/N
10.23 S AC=(А1-АС)/А2

Рис. 2. Программа обращения к четырём каналам АЦП

При непосредственном соединении выходов нескольких микросхем К1113ПВ1 полностью исключается взаимное влияние аналоговых каналов друг на друга, а их выборка обеспечивается путём дешифрации входов «запуск» АЦП. Такое подключение удобно при работе в условиях сильных индустриальных помех. Питание схемы осуществляется от источников напряжений 5, 12 и -15 В с допустимыми отклонениями от номинала ±10%. Для снижения уровня помех по цепям питания рекомендуется в местах их подвода к АЦП установить конденсаторы ёмкостью не менее 100 мкФ на соответствующие напряжения.

Микросхема типа К133ЛН5 может быть заменена на К155ЛН5, а К564КП2 после незначительных схемных изменений на К564КП1 или К561КП1. При использовании ограниченного числа каналов АЦП следует незадействованные входы D1 и D2 заземлить.

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

Адрес для справок: 198013, Ленинград, Московский проспект, 26, ЛТИ им. Ленсовета, каф. автоматизации.

ЛИТЕРАТУРА

  1. Бытовая персональная ЭВМ «Электроника БК-0010» // С.М. Косенков. А.Н. Полосин, 3.А. Счепицкий и др. // Микропроцессорные средства и системы. - 1985. - №1. - С. 22-25.
  2. Федорков Б.Г., Телец В.А., Дегтярко В.П. Микроэлектронные цифро-аналоговые и аналого-цифровые преобразователи. - М.: Радио и связь, 1984.

 

Статья поступила 26 января 1987 г.


 

УДК 681.32.7

А.П. Казанцев

ИНТЕРФЕЙС ВНЕШНИХ ФУНКЦИЙ ИНТЕРПРЕТАТОРА ФОКАЛ-БК-0010

Система FOCAL-11 имела развитый программный интерфейс внешних функций, обеспечивавший профессиональные применения наиболее простых и дешёвых конфигураций систем PDP-11 и отечественных систем, совместимых с ними. В настоящее время продано более 4 тыс. микро-ЭВМ «Электроника БК-0010», оснащённых подобным интерпретатором (Фокал-БК-0010), однако, лишённым указанного интерфейса.

В Институте биологической физики АН СССР разработан интерфейс внешних функций (ИВФ) интерпретатора Фокал микро-ЭВМ «Электроника БК-0010» для применения этой популярной машины в автоматизации научных исследований. ИВФ (0,5 К байт ОЗУ) позволяет встраивать коды новых функций в Фокал-БК-0010. Эти функции готовятся на ассемблере или в кодах самой «Электроники БК-0010» (ДВК, «Электроника 60», СМ-4) с использованием развитых инструментальных средств. Внешние функции могут входить в выражения на языке Фокал, разрешено их рекурсивное использование. Для передачи параметров и результатов, для внутренних вычислений и дополнительной интерпретации можно использовать внутренние подпрограммы и функции Фокала. Способ работы с внутренними подпрограммами и функциями описывается в различных системных руководствах по Фокалу других машин (например, в руководстве по диалоговой системе ДС СМ ИНЭУМ для СМ-3, СМ-4).

ИВФ обеспечивает также подключение драйверов устройств вывода символьной информации (вместо драйвера экрана), вызываемых при работе операторов Фокала ТУРЕ и WRITE.

Интерфейс внешних функций - удобное средство решения системотехнических задач, доступное даже для начинающих специалистов. Его можно использовать на «Электронике БК-0010», применяемой для автоматизации аналитических приборов, технологических установок и учебных стендов.

Адрес для справок: 142292, Московская обл, г. Пущино, Институт биологической физики АН СССР, Тел - 923-96-68 (доб. 2-93),

ЛИТЕРАТУРА

  1. Вернер В.Д., Воробьев Н.В., Горячев А.В. и др. Микропроцессоры. Средства сопряжения. Контролирующие и информационно-управляющие системы. - М.: Высшая школа, 1986. - 383 с.
  2. Писаревский А.Н., Осетинский Л.Г., Осетинский М.Г. Фокал-диалоговый язык для мини-ЭВМ. - Л.: Машиностроение, 1986. - 195 с.
  3. Фролов Г.И., Гембицкий Р.А. Микропроцессоры. Автоматизированные системы контроля объектов. - М.: Высшая школа, 1984. - 87 с.
  4. Казанцев А.П., Пронин Л.А. Типовые микро-ИВК и автоматизированные рабочие места исследователей для биологических лабораторий // УСиМ. - 1983. - № 2. - С. 102-106.
  5. Казанцев А.П. Автоматизированное рабочее место исследователя // Автометрия. -1982. - № 1. - С. 104-107.
  6. Программное обеспечение СМ ЭВМ. Операционная система с разделением функций РАФОС. Диалоговая система программирования ДИАСП. Описание языка, т. 5, кн. 5, ч. 3, 1980. - 79 л.
  7. FOCAL-11 User’s Manual. Digital Equipment Corp, Manyard. Massachusetts, USA, 1975, p. 228.

Статья поступила 11 января 1987 г,

 

Performed by © gid, 2012-2022.