1 Структура базы данных

advertisement
HITS_db_description20080916
-1-
12.09.2008 Карнаев
Описание базы данных для
системы управления HITS
(без элементов-каналов и режимов)
1
Структура базы данных
База данных системы управления HITS построена на postgreSQL и включает в себя
несколько групп таблиц, содержащих:
 описание систем и устройств комплекса,
 описание контрольно-измерительной аппаратуры (электроники), относящейся к
системе управления, и конфигурации этой аппаратуры,
 описание каналов управления и измерения и их взаимосвязей,
 таблицы режимов работы устройств и систем.
Всего база данных содержит …таблиц.
База данных включает различную численную и текстовую информацию. Текстовые
значения хранятся в полях типа varchar, максимальная длина текстового поля – 80
символов – выбрана из соображений удобства вывода на экране.
Практически все таблицы базы данных находятся в третьей нормальной форме (3NF),
т.е. уникальность каждой записи в таблице определяется только совокупностью ключевых
полей, а все другие (не ключевые) поля зависят только от этой совокупности, и
независимы от ключевых полей по отдельности, а также независимы одно от другого.
2
2.1
Таблицы с данными о системах и устройствах комплекса
Назначение таблиц систем и устройств комплекса и используемые понятия
Сложные ускорительные комплексы (к их числу можно отнести и рассматриваемый
комплекс HITS) состоят из большого числа устройств и систем различного
функционального назначения. Система управления связана практически со всеми
устройствами комплекса, и для систематизации элементов системы управления по
принадлежности к тому или иному устройству или системе комплекса необходимо иметь
данные о структуре всего комплекса. Таблицы описания систем комплекса содержат
данные о всех системах и устройствах, относящихся к ускорительному комплексу, и
отражают иерархическую структуру комплекса. В других группах таблиц базы данных,
описывающих элементы системы управления (электронные модули, каналы управления и
измерения), делаются ссылки на элементы комплекса, к которым, соответственно,
относятся данные элементы управления.
Для описания всех устройств и систем комплекса вводятся следующие понятия:
 "объект" (object) - любая часть, система или устройство комплекса, или
совокупность частей или устройств. Например: источник питаня, бустерный
синхротрон, управляющий компьютер, магнит. Любые составляющие части
комплекса и их группы могут быть описаны как объекты в таблице Object. Типы
объектов перечислены в таблице ObjectsType. Для оптимизации обращения к базе
данных со стороны программ описание контрольно-измерительной аппаратуры
(электроники), элементов самой системы управления (элементов, каналов
управления и измерения), а также распределенных шин передачи данных вынесено
в отдельные таблицы Module, Element, и Bus.
 "старший объект" (senior object) - объект, в состав которого входит
рассматриваемый объект. Например: магнит входит в состав канала
транспортировки пучка, компьютер входит в состав системы управления
инжектора. Описания всех объектов, включая старшие объекты, размещаются в
HITS_db_description20080916

2.2
-2-
12.09.2008 Карнаев
единой таблице Object. Если объект не имеет своего старшего объекта, то он
является корневым объектом.
"параметр объекта" (object parameter) - параметр, характеризующий объект.
Например: индуктивность магнита, число витков катушки магнита, максимальный
ток источника тока и т.п. Любой объект может иметь неограниченное число
параметров. Все параметры объектов перечислены в единой таблице
ObjectParameter. Параметры служат для контроля состояния устройств и могут
быть только численного вида.
Структура таблиц систем и устройств комплекса
2.2.1 Таблица ObjectType
предназначена для унификации типов объектов, содержит следующие поля:
 ObjectTypeName - тип varchar(80) - имя типа объекта.
 Description - тип varchar(80) - краткая характеристика типа объекта.
2.2.2 Таблица Object
описывает объекты и содержит следующие поля:
 ObjectName - тип varchar(80), имя объекта.
 SeniorObject – выбирается из таблицы Object, указывает на объект, составной
частью которого является данный объект. Поле позволяет отображать иерархию
системы. Если поле не имеет ссылки, то объект не имеет старшего объекта и
является корневым.
 ObjectType – выбирается из таблицы ObjectType; характеризует тип объекта.
 Responsible – выбирается из таблицы Staff; указывает на лицо, ответственное за
состояние данного объекта.
HITS_db_description20080916
-3-
12.09.2008 Карнаев
2.2.3 Таблица ObjectParameterType
предназначена для унификации типов параметров объектов, содержит следующие
поля:
 ObjectParameterTypeName - тип varchar(80) - имя типа параметра.
 Description - тип varchar(80) - краткая характеристика типа параметра.
Примеры типов параметров: индуктивность магнита, сопротивление нагрузки.
Параметры объектов используются для контроля состояния устройств (например,
измерение величины сопротивления магнита и сравнение результата со значением
параметра) и могут быть только численного вида.
2.2.4 Таблица ObjectParameter
описывает параметры объектов и содержит следующие поля:
 Object – выбирается из таблицы Object; указывает, к какому объекту относится
данный параметр.
 ObjectParameterType – выбирается из таблицы ObjectParameterType.
 Value - тип float; значение параметра.
 Description - тип varchar(80); краткое описание данного параметра.
В состав ключа данной таблицы входят два поля: Object и ObjectParameterType.
2.2.5 Таблица Staff
описывает персонал, ответственный за объекты комплекса, содержит следующие поля:
 Name – ФИО ответственного.
 e-mail.
 Work phone.
 Home phone.
 Mobile phone.
HITS_db_description20080916
3
3.1
-4-
12.09.2008 Карнаев
Таблицы с данными о подсоединениях аппаратуры
Назначение таблиц подсоединений аппаратуры и используемые понятия
На ускорительном комплексе используется большое количество разнообразной
электронной аппаратуры, которая подсоединяется к компьютерам различными способами.
Данная группа таблиц описывает все используемые виды подсоединений, а также их
количественные и адресные характеристики.
Для описания подключений аппаратуры вводятся следующие понятия:
 "шина" (bus) - электрическое или беспроводное соединение устройств
(модулей, приборов и т.п.) для передачи данных, задающее адресацию этих
устройств в данном подсоединении.
Например: шина CAN, крейт VME, ветка RS-485, локальная ветвь Ethernet
Шины описаны в таблице Bus, а типы шин перечислены в таблице BusType.
 "подсоединение шины" (bus connection) - способ подсоединения шины к
управляющему компьютеру. Например: CAN подключен через PCI7841, RS485
подключен через PCI CP346 контроллер и т.п.
 "компонент подсоединения" (connection component) - каждое подсоединние шины
состоит из "компонентов подсоединения". Это элементы соединения, которые в
совокупности полностью определяют каждое конкретное подсоединение.
Например: у подсоединения "шина CAN подключена через PCI7841" может быть
два компонента: номер CAN-адаптера, номер выхода адаптера.
Типы компонентов подсоединения описаны в таблице ConnectComponType. Численные
значения всех компонентов всех подсоединений (номера выходов коммутаторов, номера
прерываний, длина кабеля и т.п.) содержатся в таблице ConnectComponValue. В таблице
ConnectComponValue содержится порядковый номер каждого компонента в данном
подсоединении.
3.2
Структура таблиц подсоединений
3.2.1 Таблицы BusType и ConnectType
включают в себя по два строковых поля переменной длины (varchar), в которых
содержатся названия типов шин и подсоединений и краткие описания. Примеры типов
HITS_db_description20080916
-5-
12.09.2008 Карнаев
шин - "CAN", "CAMAC", "MILStd", типов подсоединений - "CAN via Ethernet", “RS485 via
CP346” и т.п.
3.2.2 Таблица ConnectComponType
содержит перечень всех типов компонентов подсоединений. Таблица включает
следующие поля:
 Name - тип varchar (80) - имя типа компоненты. Компонентой может быть любое
физическое или логическое устройство или их часть, логический сигнал в
системе, соединительный кабель, которые имеют отношение к данному
подсоединению. Например: Port, IRQ, Module output channel.
 MaxValue - тип varchar (80) - строка, содержащая максимальное значение,
которое характеризует данный тип компонента. Например: 15 для IRQ. Если
максимальное значение не определено, то оно не требуется. Строка,
соответственно, может содержать текстовое значение, например, имя типа
модуля, …
 MinValue - тип varchar (20) - строка, содержащая минимальное значение, которое
характеризует данный тип компонента. Например: 3 для IRQ. Если минимальное
значение не определено, то оно не требуется.
3.2.3 Таблица Bus
содержит описания всех шин. Таблица включает следующие поля:
 Name - тип varchar (80), имя шины.
 ConnectType – выбирается из таблицы ConnectType.
 System - выбирается из таблицы Object - имя системы, к которой относится
данная шина. Например: "injector", "booster", ...
 BusIndication - тип varchar (80); определитель шины в системе, например, просто
порядковый номер, или указатель на принадлежность к какой-либо группе шин и
т.п.; служит для дополнительно индентификации или группировки шин в
системе.
 Computer – выбирается из таблицы Object – серверный компьютер, к которому
подсоединяется данная шина. Предполагается, что все шины подключены
непосредственно к серверным компьютерам. В случае не прямого соединения,
когда шина подключена, например, через промежуточный контроллер, который,
в свою очередь, подключается к серверному компьютеру, считается, что шина,
тем не менее, подключена к серверному компьютеру, а промежуточный
контроллер и соответствующие параметры, требующиеся для идентификации
шины, входят в подсоединение в качестве компонентов. Данное поле позволяет
серверному приложению идентифицировать все шины, подключенные к данному
компьютеру с целью инициализировать модули доступа (Hardware access) к
шинам. Кроме того, поле позволяет структурировать подключение аппаратуры в
системе управления.
 Description - тип varchar (80); содержится поясняющая информация до 80
символов.
3.2.4 Таблица ConnectComponValue
содержит значения всех компонентов всех подсоединений. Таблица включает
следующие поля:
 Bus – выбирается из таблицы Bus (поле Name).
 ConnectComponNumber - тип int; определяет номер данного компонента в данном
подсоединении. Используется для определения структуры соединения.
HITS_db_description20080916

-6-
12.09.2008 Карнаев
ConnectComponType - тип varchar (80); выбирается из таблицы
ConnectComponType (поле Name).
 Value - тип varchar (80) - значение компоненты. Например: 3 для IRQ, имя
устройства для связи через Ethernet (при этом IP адрес серверная программа
получит из конфигурационного файла по имени устройства).
В состав ключа данной таблицы входят два поля: Bus и ConnectComponNumber.
HITS_db_description20080916
4
4.1
-7-
12.09.2008 Карнаев
Таблицы описания аппаратуры
Назначение таблиц описания аппаратуры и используемые понятия
Группа таблиц описания аппаратуры включает перечень всех типов электронных модулей
и самих модулей системы управления: ЦАПов, АЦП, регистров ввода/вывода и пр.
Таблицы содержат данные о количестве контрольно-измерительных выходов и входов
модулей, а также о цифровых шинах, к которым модули подключены. Эти данные
необходимы программам для организации взаимодействия с аппаратурой. Например,
серверная программа при загрузке, получив информацию о подключенных к данному
компьютеру модулях, сформирует каркас массива для дальнейшего хранения и обработки
значений всех каналов всех соответствующих модулей.
Для описания размещения аппаратуры вводится понятие:
 "электронный модуль" (module) - электронный блок или плата, подсоединяемые к
компьютеру посредством какой-либо связи, которые со стороны компьютера
выглядят как отдельные устройства, выполняющие определенные функции и
имеющие адрес для доступа. Модули могут быть многофункциональными и
многоканальными. Это могут быть устройства синхронизации, цифро-аналоговые
блоки и платы, устройства коммутации (switch, hub, …), контроллеры шин и т.п.
Типы модулей описаны в таблице ModuleType, а модули перечислены в таблице
Module.
Алгоритм работы с электронными модулями реализуется соответствующими модулями
программного обеспечения – драйверами модулей. Драйверы, работающие с аппаратурой,
загружают в электронные модули все настроечные параметры, отводят в памяти
компьютера необходимое количество ячеек для хранения прочитанных из модуля данных
или для записи в модуль таблиц. Серверная программа, управляющая работой драйверов,
также выделяет в своей памяти место для хранения значений каналов (см. п. 5),
соответственно привязывая значения к каналам аппаратуры. Необходимая для работы
драйвера информация содержится в настроечном файле для данного модуля. Если с
прочитанными из модуля данными требуется выполнить какие-либо действия, то они
выполняются драйвером, а алгоритм также описывается в настроечном файле.
4.2
Структура таблиц аппаратуры
4.2.1 Таблица ModuleType
описывает типы модулей и содержит следующие поля:
HITS_db_description20080916









-8-
12.09.2008 Карнаев
ModuleTypeName - тип varchat(80), имя типа модуля.
DAChannelsNumber - тип int, число каналов типа digital-analog в модуле.
ADChannelsNumber - тип int, число каналов типа analog-digital в модуле.
DOChannelsNumber - тип int, число каналов цифрового вывода в модуле.
DIChannelsNumber - тип int, число каналов цифрового ввода в модуле.
LOChannelNumber - тип int, число выходных каналов цифровой связи в модуле.
Например, в модулях – коммутаторах шин есть один входной и несколько
выходных каналов.
LIChannelNumber - тип int, число входных каналов цифровой связи в модуле.
Size - тип int; параметр характеризует "размер" модуля, например, число позиций,
занимаемых модулем в каракасе. Параметр может быть, например, использован для
определения заполненности крейта.
Description – varchar(80) – краткое описание типа модуля.
4.2.2 Таблица Module
описывает модули и содержит следующие поля:
 ModuleName - тип varchat(80), имя модуля.
 ModuleType - тип модуля, выбирается из таблицы ModuleType.
 Bus - имя шины, выбирается из таблицы Bus; шина, к которой подключен данный
модуль или модуль является компонентом подсоединения данной шины.
 BusAddress - тип varchar(80); адрес модуля на шине, например: идентификатор
CAN, MAC адрес для локальной ветви Ethernet, ... В случае, когда модуль является
компонентом подсоединения, адрес не имеет значения.
 ModuleStatus - тип int; состояние модуля: = 0 – модуль отсутствует (например, снят
в ремонт), = 1 - OK, = 2 - неисправен (Fault).
 SetupFile - тип varchar (80); путь и имя настроечного файла, содержащего
настроечные параметры и алгоритм для работы драйвера с данным модулем.
HITS_db_description20080916
5
5.1
-9-
12.09.2008 Карнаев
Таблицы с данными об элементах и каналах
Назначение таблиц элементов и каналов и используемые понятия
Программы, обеспечивающие интерфейс между человеком и системой управления
ускорительной установкой (программы ввода/вывода данных, программы архивирования
и загрузки режимов работы и т.д.), оперируют в среде физических объектов установки
(магнитов, элементов инжекции и др.) в терминах физических величин (токах,
напряжениях и т.п.). Серверные управляющие программы, взаимодействующие с
контрольно-измерительной аппаратурой, выполняют пересчет физических значений в
коды и наоборот и адресацию записи и чтения соответствующих модулей. Такая
организации программного обеспечения использует следующие понятия:
 "канал" (channel) - это структура, связывающая аналоговый или цифровой
выход(вход) управляющего (измерительного) модуля, с одной стороны, и
управляемый (измеряемый) физический параметр - с другой. Каналы, имеющие
непосредственное соответствие каналам аппаратуры, называются "физическими"
каналами (direct channels).
Значение канала также может быть вычисляемым по значениям каких-либо других
каналов (например, значение энергии в пучке вычисляется по измерениям тока
пучка и энергии частиц). Такие каналы называются "вычисляемыми" каналами
(calculated channels).
Функция получения кода, соответствующего значению измерительного
физического канала возлагается на соответствующий драйвер электронного
модуля. Значения каналов группируются в памяти программы-сервера по
электронным модулям. Функция получения значения вычисляемого канала
возлагается
на
программный
модуль-вычислитель,
загружаемый
при
инициализации соответствующей программы-сервера.
Описатель физического канала содержит информацию об электронном модуле или
устройстве и о соответствующем физическом параметре, значением которого
управляют (или которое измеряют) при помощи данного модуля (устройства).
Описатель вычисляемого канала содержит ссылку на файл, содержащий алгоритм и
перечень каналов для вычисления.
Все каналы описаны в таблице Channel.
 "элемент" (element) - совокупность каналов, объединенных по какому-либо
признаку.
Например:
- управляющие и измерительные каналы, относящиеся к источнику питания
постоянного магнита и самому магниту, составляют элемент для управления
током магнита;
- каналы, измеряющие параметры пучка на установке (ток, положение орбиты
пучка) могут быть сформированы в элемент для оперативной диагностики
пучка;
- контрольно-измерительные каналы магнитной системы канала транспортировки
пучка могут быть объединены в экранный элемент для оперативного
управления сразу все магнитной системой канала; и т.п.
Элементы описаны в таблице Element.
Для реализации более сложного алгоритма управления, например, для управления
физическими параметрами установки, когда для изменения этих параметров необходимо
одновременно изменять значения нескольких каналов управления одновременно и,
HITS_db_description20080916
- 10 -
12.09.2008 Карнаев
наоборот, когда изменение значений одного из каналов приводит к изменению значений
нескольких параметров, используется структура "элемент-матрица" (matrix element).
Примером использования элементов-матриц является управление такими параметрами
ускорителя, как частоты бетатронных колебаний, хроматичность, локальный сдвиг орбиты
и т.п.
Матрицы описаны в таблице Matrix, пересчетные коэффициенты матриц хранятся в
таблице MatrixCoefficients.
5.2
Вычисление элементов-матриц.
В простейшем виде зависимость параметров и каналов выражается формулой:
P=M x I, где
P – вектор «входных» физических параметров,
I - вектор «выходных» значений каналов (токи, напряжения),
M – «прямая» матрица, связывающая эти два вектора.
Размерность вектора P – один или два (ограничена по практическим соображениям),
размерность вектора I – не ограничена. Соответственно, матрица M может быть
неквадратной и не иметь вычисляемой обратной матрицы. Для вычисления изменений в
значениях каналов при изменении параметров используется "обратная" матрица T. Вектор
значений каналов I связан с параметрами следующим выражением:
I = T x P.
Размерности "обратной" матрицы T и "прямой" матрицы M могут не совпадать. Прямая
матрица M не может иметь более 2-х строк, а обратная матрица T – не может иметь более
2-х колонок.
Пример использования несимметричного элемента-матрицы на установке ВЭПП-4: для
управления бетатронными частотами в кольце ВЭПП-4 используется матрица QXZ;
частоты могут быть вычислены по значениям токовых каналов H, D7 и F7; но при
изменении частот при помощи магнитов полуколец нужно занести поправки не только в
указанные каналы, но и в каналы управления корректирующим током всех магнитов
вставок полуколец, т.к. изменение тока в H приводит к сдвигу орбиты во вставках
полуколец из-за последовательного с H включения магнитов вставок.
Обычно требуется, чтобы выражаемая матрицей зависимость при изменении энергии не
менялась. Для этого вводится понятие "привязки к энергии", что означает
пропорциональное изменение всех коэффициентов матриц при изменении энергии
относительно базовой (Eb), для которой были определены матрицы (например, энергия
инжекции). Табличные значения пересчетных коэффициентов всех элементов-матриц
должны быть вычислены для одной базовой энергии.
Параметры могут отображаться в абсолютном исчислении или относительно какого-либо
базового режима, имеющего энергию Er. Относительное выражение параметров удобно,
когда требуется оперировать с очень малыми изменениями, а вычисленные значения
параметров велики (например, случай управления бетатронными частотами). Базовый
режим может быть выбран произвольно.
Иногда для удобства используется отображение вычисленного параметра с постоянным
сдвигом (например, канал управления частотой обращения в ВЭПП-4 имеет небольшое
значение, в то время как сама частота обращения, которая отображается в системе
управления, составляет примерно 818920 Гц).
Таким образом, в общем виде зависимость значений каналов от параметров выражается в
виде: (P - S) = M x (Q x I - R x Ir), где S - вектор сдвигов параметров, Ir - значения каналов
для режима относительной привязки, а множители Q и R определяются из Таблицы 1.
HITS_db_description20080916
12.09.2008 Карнаев
- 11 -
Таблица 1. Коэффициенты для вычисления “элементов-матриц”.
“привязка”
к энергии
0
1
0
1
5.3
относительность
0
0
1
1
Q
R
0
Eb/E
0
Eb/E
0
0
1
Er/E
Структура таблиц элементов и каналов
5.3.1 Таблица Element
содержит описание всех элементов. В состав ключа данной таблицы входят три поля:
ElementName, System, Subsystem. Таблица включает следующие поля:
 ElementName - тип varchar (80); имя элемента.
 System - имя системы, к которой относится данный элемент, выбирается из
таблицы Object.
 Subsystem - выбирается из таблицы Object: подсистема, к которой относится
данный элемент. Понятие подсистемы используется для группировки элементов
внутри системы, например, система Injector включает в себя четыре подсистемы:
HITS_db_description20080916


- 12 -
12.09.2008 Карнаев
CIS – ионный источник углерода, HIS – ионный источник водорода, tandem и канал
транспортировки пучка (отрезки до и после тандема). Чтобы не усложнять жизнь
излишним дроблением, в описываемой системе предусматривается только один
уровень разбиения систем на подсистемы. Для еще более детальной группировки
(например, по функциональному назначению или по территориальному признаку)
предусматривается понятие “группа элементов” (см. ниже).
ElementGroup - ссылка на группу элементов в таблице ElementGroup, используется
для группировки элементов по функциональному назначению (например, элементы
коррекции по горизонтали, элементы коррекции квадратичной нелинейности).
Description - тип varchar (80); краткое описание элемента.
5.3.2 Таблица ElementGroup
содержит описание групп элементов. Группы элементов используются для
упорядочивания элементов по функциональному назначению или территориальному
признаку (например, группа корректоров по горизонтали, группа линз секступольной
коррекции и т.п.). Таблица ElementGroup включает следующие поля:
 ElementGroupName - тип varchar (40); имя группы элементов.
 Description - тип varchar (80); краткое описание функциональной группы.
5.3.3 Таблица Channel
содержит описание каналов в составе элементов. В состав ключа данной таблицы входят
три поля: ElementName, System, ChannelName. Такой состав ключа дает возможность
свободного использования имен элементов и каналов, например, в разных системах могут
содержаться элементы с одинаковыми именами, или имена элементов могут не отражать
имени системы, в составе разных элементов могут находиться каналы с одинаковыми
именами и т.д. Ограничением только является обязательность уникальности имени
элемента внутри одной системы, т.е. уникальность связки двух полей ElementName и
System.
В таблице Channel описаны контрольно-измерительные и вычисляемые каналы, входящие
в состав элементов управления или отображения, и указана последовательность каналов в
составе элементов. Один и тот же канал может находиться в составе различных элементов
и иметь различные значения некоторых полей. Такой подход дает возможность свободно
группировать каналы в элементы для решения различных задач управления и
отображения. Таблица ElementStructure включает следующие поля:
 ElementName - тип varchar (80); имя элемента.
 System – имя системы, к которой относится данный элемент, выбирается из
таблицы Object.
 ChannelName - тип varchar (80); имя канала.
 ChannelNumber – тип int, номер канала в данном элементе, поле используется для
построения фиксированной последовательности каналов внутри элементов.
 ChannelStatus - тип int; статус канала: =1 - OK, канал используется, =0 - Faulted,
канал не может быть использован.
 Type - тип int; тип канала: = 1 - Control - канал управления, = 2 - Measuring измерительный канал, = 3 – канал цифрового вывода, = 4 - канал цифрового ввода,
= 5 – вычисляемый канал.
 ProgramName – выбирается из таблицы Program
 DivisionFactor - тип float; пересчетный коэффициент равный коду, поделенному на
значение физической величины.
 MaxValue - тип float; максимальное значение физической величины, допустимое
для данного канала.
HITS_db_description20080916












- 13 -
12.09.2008 Карнаев
ValueShift - тип float; смещение физической величины, которое нужно вычесть из
значения самой физической величины, чтобы, используя DivisionFactor, получить
значение кода: Value = Code / DivisionFactor + ValueShift.
Units – физическая размерность значения канала; выбирается из таблицы Units.
Check - тип int; = 0 - 'Yes', =1 - 'No'; поле, указывающее на то, нужно или нет
контролировать состояние данного канала, например, сравнивая его значение или с
максимальным значением, или с заданным (режимным) значением. Использование
этого поля полезно, например, в случае, когда измеряемые параметры имеют
большую нестабильность, или когда значения параметров допустимы в широком
диапазоне. В этом случае, например, программы, сравнивающие режимы,
проигнорируют эти параметры.
CheckType - тип int; способ проверки: = 0 - Absolute - отличие в абсолютном
значении, = 1 - Relative - относительное отклонение.
CheckValue - значение допустимого отклонения.
Module – выбирается из таблицы Module; модуль, одному из выходов/входов
которого соответствует данный канал.
ModuleChannel - тип int; канал модуля.
GenericParameter1 – тип int; первый параметр для настройки режима работы модуля
при обслуживании запроса к данному каналу, например, установка точности
(разрядности или времени интегрирования).
GenericParameter2 –тип int; второй параметр для настройки режима работы модуля
при обслуживании запроса к данному каналу, например, диапазон входного
сигнала.
TimeInterval – тип int; указатель на номер интервала времени в цикле работы
установки, в который опрашивается/записывается данный канал.
FormulaFile - тип varchar (80); путь и имя файла, где описан алгоритм вычисления
канала с типом канала =5.
Description - тип varchar (80); краткое описание канала.
5.3.4 Таблица Matrix
содержит описание элементов типа «матрица». В состав ключа данной таблицы входят
два поля: MatrixName, System. Таблица Matrix включает следующие поля:
 MatrixName - тип varchar (80); имя элемента-матрицы.
 System - имя системы, к которой относится данный элемент-матрица, выбирается
из таблицы Object.
 EnergyTied – тип int; = 0 – вычисление матрицы не привязано к энергии, = 1 –
вычисление матрицы привязано к энергии.
 BaseModeTied - тип int; = 0 – вычисление матрицы не привязано к базовому
режиму, = 1 – вычисление матрицы привязано к базовому режиму.
 FirstParamShift - тип float; смещение первого «входного» параметра P1, которое
нужно вычесть перед вычислением матрицы.
 SecondParamShift - тип float; смещение второго «входного» параметра P2, которое
нужно вычесть перед вычислением матрицы.
 Description - тип varchar (80); краткое описание элемента-матрицы.
5.3.5 Таблица MatrixComponent
содержит компоненты всех элементов типа “матрица”. В состав ключа данной таблицы
входят три поля: MatrixName, System, ChannelName. Компонентами матрицы являются
строки, содержащие соответствующие коэффициенты «прямой» или «обратной» матриц
для пересчета значений «входных» параметров в «выходные» значения или обратно для
каждого отдельного канала. Таблица MatrixComponent включает следующие поля:
HITS_db_description20080916








- 14 -
12.09.2008 Карнаев
MatrixName – тип varchar (80); имя элемента-матрицы, выбирается из таблицы
Matrix.
System – имя системы, к которой относится данная матрица, и все каналы,
входящие в нее; выбирается из таблицы Object.
ChannelName - тип varchar (80); имя канала.
Module – выбирается из таблицы Module; модуль, одному из выходов/входов
которого соответствует данный канал.
ModuleChannel - тип int; канал модуля.
Column_Row – тип int; тип компоненты: =1 - Column - запись содержит описание
колонки «прямой» матрицы M, =2 - Row – запись содержит описание строки
«обратной» матрицы T
Coef1 - тип float; первый коэффициент строки/колонки матрицы.
Coef2 - тип float; второй коэффициент строки/колонки матрицы.
5.3.6 Таблица Unit
содержит перечень наименований физических величин; таблица предназначена для
обеспечения корректности наименований.
5.3.7 Таблица ServerProgram
содержит перечень серверных программ, взаимодействующих с аппаратурой. Каждая
серверная
программа
содержит
внутри
себя
массив
со
значениями,
прочитанными/занесенными из/в аппаратуру. Этот массив периодически записывается в
виде текстовой колонки в файл, откуда серверная программа в случае невозможности
чтения аппаратуры берет данные в случае аварийной перезагрузки, и откуда данные могут
быть также прочитаны для использования другими программами. Таблица ServerProgram
включает следующие поля:
 ProgramName - тип varchar (80); имя серверной программы.
 Computer - тип varchar (80); имя компьютера, в котором программа работает,
выбирается из таблицы Object.
 DumpFile - тип varchar (80); путь и имя файла, куда периодически "сбрасываются"
в виде текстовой колонки значения, содержащиеся в аппаратуре.
 DumpInterval - тип int; периодичность записи (в мсек) в DumpFile.
 Description - тип varchar (80); краткое описание программы-сервера.
HITS_db_description20080916
6
6.1
- 15 -
12.09.2008 Карнаев
Таблицы режимов работы установок
Назначение таблиц режимов и используемые понятия
Для сохранения текущего состояния всех устройств, соответствующего какому-либо
настроенному режиму работы установки, а также для обеспечения повторяемости и
точности отработки этого состояния вводятся следующие понятия:
 "режим" (operating mode) - совокупность значений всех каналов, относящихся к
данной установке, полностью определяющая режим работы данной установки в
какой-либо момент времени.
 "таблица" (accelerating table) – таблица значений, либо загружаемая в память
ЦАПа или DDS, либо находящаяся в памяти драйвера ЦАПа, определяющая режим
изменения выходного сигнала одного канала модуля в процессе быстрого
изменения сигнала, например, при ускорении или выпуске частиц.
 "режим ускорения" (accelerating mode) - совокупность таблиц для всех каналов,
относящихся к данной установке, определяющая режим работы данной установки в
процессе ускорения или выпуска частиц.
Названия и характеристики режимов содержатся в таблице OperatingMode.
Для систематизации записанных режимов вводится понятие
 "группа режимов" (operating mode group). Режимы могут быть сгруппированы по
назначению: например, для работы по какой-то программе экспериментов, для
проверки оборудования, для цикла сеансов лечения какого-либо пациента, и т.п.
6.2
Структура таблиц режимов
6.2.1 Таблица ModeGroup
содержит перечень групп режимов и включает следующие поля:
 ModeGroupName – varchar(80), имя группы режимов.
 Description – varchar(80), краткое описание группы режимов.
HITS_db_description20080916
- 16 -
12.09.2008 Карнаев
6.2.2 Таблица Mode
содержит перечень и краткую характеристику сохраненных режимов. Перечень включает
все режимы для всех систем комплекса. Таблица OperatingMode содержит следующие
поля:
 OpModeName – тип varchar(80); название режима.
 System – имя системы, к которой относится записанный режим.
 ModeType – int; тип режима: =1 – обычный режим, =2 – режим ускорения.
 ModeGroup – ссылка на группу режимов.
 ModeFile - тип varchar(80); путь и имя файла, содержащего режим.
 CreateDate – дата создания режима.
 Creator – выбирается из таблицы Staff, имя оператора записавшего режим.
 UpdateDate – дата последнего изменения режима.
 Operator – выбирается из таблицы Staff, имя оператора, внесшего в режим
изменения.
 Description - тип varchar(80); комментарий к режиму.
6.3
Структура файлов с режимами
Все режимы (обычные и ускорительные) хранятся в текстовых файлах.
Структура файлов следующая.
Первые строки дублируют значения полей таблицы Mode:
1 строка – название режима.
2 строка – имя системы, к которой относится записанный режим.
3 строка – тип режима: =1 – обычный режим, =2 – режим ускорения.
4 строка – ссылка на группу режимов.
5 строка – путь и имя файла данного файла.
6 строка – дата создания режима.
7 строка – имя оператора записавшего режим.
8 строка – дата последнего изменения режима.
9 строка – имя оператора, внесшего в режим изменения.
10 строка – комментарий к режиму.
Далее в случае обычного режима следуют строки, содержащие имена и значения каналов
для данной системы. В случае режима ускорения, если значение канала в процессе
отрабатывается по таблице, вместо значения канала записывается имя файла,
содержащего таблицу.
6.4
Структура файлов с таблицами
Таблицы содержат количество и последовательность значений, которые должны быть
заданы в ЦАП или DDS в процессе ускорения, а также интервал времени, через который
должны задаваться значения. Число значений и интервал времени занесения значений
определяют интервал времени отработки таблицы. Кроме того, в первой ячейке (int)
таблицы содержится формат представления значений.
Структура файла следующая:
int format;
int valuenumber;20
int setinterval; // mcs
values …
Download