Система единого времени для H-2000.
Передача собранных данных от интерфейсных плат станции компьютеру
Интерфейсные платы накапливают данные от модулей ввода/вывода в FIFO-буферах. Передача осуществляется в пакетном режиме (макрокадрами). Каждый макрокадр несет данные, собранные всеми модулями, за заданный промежуток времени. Модули ввода/вывода проводят измерения через постоянные промежутки времени. Так как синхронизация работы интерфейсной платы и модулей осуществляется от кварцевого генератора интерфейсной платы (или другой интерфейсной платы того же крейта по кабелю синхронизации) возникает вопрос о едином времени двух и более крейтов.
Структура системы единого времени (СЕВ)
СЕВ основана на стробировании всех интерфейсных плат от единого генератора СЕВ. Он сдержит высокоточный кварцевый генератор и контроллер, передающий с периодом 1 Гц, по интерфейсу RS-485 текущее время в секундах. После заполнения разрядной сетки (2 байта) отсчет вновь начинается с ноля. Генератор СЕВ имеет вход ⌠Старт■ для принудительного обнуления счетчика. Интерфейсные платы имеют гальваноразвязанные входы RS-485 для приема единого времени от генератора СЕВ.
Привязка данных к единому времени интерфейсными платами
Интерфейсная плата получает стробирующие посылки от генератора СЕВ. В ней проводится измерение времени от начала формирования макрокадра до прихода стробирующей посылки от генератора СЕВ. Измерение проводится в промежутках равных 50 мксек. Этой величиной определяется точность временной привязки. Реальное время снятия отсчета вычисляется по формуле:
T = Tн √ TL * 5 * 10 -5 + Tij * Nij
Где: T √ реальное время отсчета, Tн √ время от генератора СЕВ, TL √ время от начала формирования макрокадра до прихода стробирующей посылки от генератора СЕВ (отсчет начинается с 1), TiJ - период снятия отсчетов по каналу i модуля j, NiJ √ номер отсчета того же канала в этом макрокадре. (Все временные величины кроме TL √ в секундах.)
Если в период формирования макрокадра не приходит стробирующей посылки, TL присваивается значение 0. В этом случае используется формула:
T = Tн + Tм * (Z + 1) √ TLO * 5 * 10 -5 + Tij * Nij
Где: Tм √ период выдачи макрокадров, TLO √ последняя ненулевая величина TL, Z - число предыдущих макрокадров с TL равной 0.
СЕВ позволяет определить реальное время снятия любого отсчета.
Переменные, формируемые СЕВ и интерфейсной платой размещаются в заголовке макрокадра, остальные задаются пользователем.
Формат макрокадра
Заголовок макрокадра |
K |
Идентификатор интерфейсной платы. Задается пользователем при инициализации платы. |
N |
Порядковый номер макрокадра |
|
Tн |
Время от генератора СЕВ |
|
TL |
Время от начала формирования макрокадра до прихода стробирующей посылки |
|
n1 √ n8 |
Размеры сегментов данных N1 √ N8 |
|
Область данных |
N1 |
Данные от 1-го модуля ввода/вывода |
┘ |
┘ |
|
N8 |
Данные от 8-го модуля ввода/вывода |