Инструкция к программе #BAMS (текст TBMS) (Одренок MSV3).
Программа предназначена для управления элементами магнитной системы ВЭПП-3. Управление осуществляется с помощью посылки кодов в устройства (ЦАП, ПКС и др.). Необходимую информацию (таблицы кодов) посылают в #BAMS программы ‘v3_proc’, ‘v3_roll’, работающие в PC, или программы #COCB, #VMSR, работающие в Одренке.
1. При запуске программы происходит чтение информации из базы данных Одренка (файл BAS3.MAGN), в которой описаны типы устройств (ЦАП, ПКС, …), их адреса в системе связи, коэффициенты код/ток и т.д. В программе формируются два массива кодов максимальной длиной 130 позиций (не все они используются). Первоначально они заполняются одинаково, кодами, прочитанными из устройств; в дальнейшем один из них должен соответствовать текущему режиму (кодам в устройствах), а во второй другие программы должны записывать измененные коды, которые должны быть в дальнейшем посланы в устройства. В начале своей работы #BAMS запускает генератор тактовых импульсов (ГТИ), который обеспечивает синхронизацию работы всей системы управления ВЭПП-3. Частота ГТИ равна 3.125 Гц (точнее, 1/16 сетевой частоты).
2. Работа в цикле. После
первоначальной загрузки программы она начинает работать в цикле, ожидая прихода
заданий от других программ и исполняя их.
2.1. Программа зависает на ожидании посылки от ‘v3_proc’ или ‘v3_roll’.
2.2. По приходу посылки через кольцевой буфер программа проверяет его длину L и в зависимости от этого выполняет разные задания.
2.2.1. L = 1 – получен запрос на посылку массива текущих кодов программам в PC. В ответ формируется посылка таблицы текущих кодов той программе, которая прислала запрос.
2.2.2. L= 2 – запуск формирователя пинтов (ФП) для синхронизации взаимодействия с системой управления генератора “H”.
2.2.3. L= 3 – пришла информация с требованием записи слова в STAP (адрес и слово). (Пока это делается не через EPICS).
2.2.4. L= 4 – сброс счетчика посылок (контроль обмена информацией с ‘v3_proc’).
2.2.5. L= 5 – конец счета посылок от PC; передача программе ‘v3_proc’ состояния счетчика запусков.
2.2.6. L>10 – получена посылка от PC, требующая изменения режима магнитной системы (содержимое посылки: имя таблицы, полярность, статус, таблица новых кодов). Порядок исполнения задания:
2.2.6.1. Полученные коды переписываются в массив для новых кодов программы #BAMS.
2.2.6.2. Выполняется рассылка новых кодов в устройства; новые коды переписываются в массив текущих кодов.
2.2.6.3. Пересылается в файл “../kadrs/ bank-v3-cod“ массив кодов для запоминания в общей базе данных.
2.2.6.4. Посылаются пинты 17 и 16 всем программам в Одренке MSV3, означающие, что рассылка кодов выполнена.
2.2.6.5. Зануляется кольцевой буфер; программа переходит к началу цикла (ожиданию новой посылки; п. 2.1).
2.3. Некоторые программы (#COCB, #VMSR) посылают новую информацию в #BAMS по системе ‘daj/na’, т.е. записывают коды сразу в массив для новых кодов. Для отработки этого задания #BAMS перезапускается с 22-го входа (из программы #COCB или #VMSR поступает команда “GO BAMS 22”). После этого программа #BAMS выполняет последовательность действий, описанную в предыдущем параграфе, начиная с пункта 2.2.6.2.