Краткое описание системы
h2. Назначение системы
Система «Caps-Clock» предназначена для отображения текущего времени и различных временных интервалов, а также информации о состоянии подключенного внешнего звукового и другого оборудования в сетевой среде в режиме реального времени.
Система позволяет задать и контролировать текущее время системы, а также любые временные интервалы, необходимые в работе радио- или ТВ- студии. Она позволяет также легко настраивать и использовать предупреждающую сигнализацию и оповещения.
Любое звуковое, специализированное и технологическое оборудование, использующее «сухие контакты», может быть подключено по шине USB к одной из рабочих станций, выполняющих роль сервера, для отображения состояния этого оборудования на одной или нескольких подключенных Часовых Машинах.
Система позволяет организовать совместную работу студии по циклам, легко конфигурировать и перенастраивать отображение информации на Часовых Машинах, что в конечном счёте приводит к улучшению взаимодействия персонала студии и более высокой организации работы.
Как устроена система¶
Система часофикации представляет собой комплекс, состоящий из различного количества Серверов — машин, собирающих информацию, - и Часовых Машин — машин, отображающих информацию. Все эти машины объединены между собой локальной сетью, в которой и происходит обмен сигналами точного времени и различной служебной информацией, включая и сообщения о событиях на подключенном по USB оборудовании.
В общем случае модель системы можно представить в следующем виде:
Как видно из рисунка, можно собрать по желанию любую систему, состоящую из набора серверов и подключенных к ним Часовых Машин.
После сборки системы можно сконфигурировать каждую Часовую Машину в отдельности. То есть разместить на каждой из них нужный набор органов отображения и задать, сигнал с какой рабочей станции будет отображаться на какой Часовой Машине.
Часовая Машина¶
Часовая Машина состоит из специализированного компьютера на базе платы VIA EPIA PE-Series Mini-ITX Board фирмы VIA Technologies, имеющего весьма небольшие размеры — 230х200х55 мм, что позволяет закрепить его на обратной стороне LCD-монитора, и собственно LCD-монитора.
Набор крепежа позволяет легко установить Часовую Машину на стеновые панели или на горизонтальные поверхности — по необходимости. В качестве настенного устройства Часовая Машина удобна в студиях и местах, где нужно максимальное рабочее пространство.
Для оборудования рабочих мест (например, место главного инженера) можно использовать установку Часовой Машины на горизонтальной поверхности.
Часовая машина принимает команды на отображение от подключенного сервера, осуществляет синхронизацию точного времени со временем NTP сервера.
На Часовой машине можно разместить произвольное число встроенных в Машину органов отображения, задать их параметры, режимы работы и необходимые временные интервалы. После размещения их можно привязать к конкретным сигналам от оборудования или сетевым сообщениям.
Вместе с Часовой машиной поставляется набор тем, которые включают в себя различные изображения, цветовые палитры, стили текста etc. Если этих тем окажется недостаточно, то всегда можно создать свою тему и использовать её как на отдельно взятой, так и на любых других Часовых машинах.
Пример Часовой Машины с мнемоническими часами, на которых задан 15-минутный цикл, таймером цикла и тремя транспарантами, управляются сигналами от фэйдера студийного микрофона, микрофона конференции и сигналом телефонной линии:
На этой Машине также осуществляется индикация текущей даты и индикатор отказа в правом верхнем углу. Если этот индикатор загорится, то это будет означать, что Машина работает в автономном режиме.
Встроенные органы отображения¶
В Часовую Машину встроены 8 типов органов отображения информации:
- часы
- транспарант
- бегущая строка
- таймер/прогресс-индикатор прямоугольный
- таймер/прогресс-индикатор круглый
- текстовое окно с прокруткой
Часы представляют собой круглый циферблат со стрелками либо минутными метками (в случае использования мнемонического вида). Можно также выводить поверх часов текущее время в цифровом виде. Для часов можно установить цикл, который будет отображаться в виде сектора, и 2 порога, которые будут использоваться как средство оповещения о завершении цикла: порог завершения и критический порог. Для часов можно задать смещение относительно текущего времени, что позволяет, например, отобразить несколько часов со временем в различных поясах, скажем, Москва – Нью-Йорк – Токио.
Например, при 10-минутном цикле можно поставить порог завершения за 3 минуты до конца цикла, а критический порог — за 10 секунд до конца. При переходе через порог будет меняться цветовая гамма. Можно настроить часы так, чтобы при достижении этих порогов срабатывали какие-либо другие органы отображения и/или пересылался сигнал на сервер.
Пример часов со стрелками и 10-минутным циклом:
*Транспарант представляет собой овальную, прямоугольную или треугольную область экрана с текстом или пиктограммой внутри. Он может загораться каким-то цветом, мигать и гаснуть. Наиболее удобен для отображения состояния «сухих контактов» подключенного оборудования.
Бегущая строка представляет собой прямоугольное окно с текстом внутри, расположенным в одну строчку. В состоянии STOP используется как статический текст (например, дата). *
Текст может вращаться справа налево и останавливаться по какому-то событию. Скорость вращения также регулируется. В состоянии вращения может использоваться для подсказки диктору и передачи других информационных сообщений.
Таймер/прогресс-индикатор круглый. Этот орган отображения может работать как таймер, по часам. В этом варианте можно использовать его как дополнительный таймер цикла или, например, времени, отведённого для какой-то передачи. Можно использовать его как прогресс-индикатор — в этом случае его продвижение определяется командами с сервера.
Как и для часов, для таймера можно задать 2 порога, по которым будут происходить события и включаться предупреждающая сигнализация. Можно также включить отображение оставшегося времени в цифровом виде или процент выполнения.
Пример круглого индикатора, работающего в режиме таймера с 10-минутным интервалом. В данный момент таймер перешёл за критический порог:
Таймер можно синхронизировать с циклом, установленном на каких-либо часах. В этом случае он будет дублировать цикл со всеми уставлёнными на нём порогами. С помощью специальной программы, установленной на сервере, можно оперативно настраивать таймер, а именно:
- установить его в режим автоматического старта в конкретный момент времени
- запускать и останавливать его вручную
- работать с таймером в режиме секундомера
Таймер/прогресс-индикатор прямоугольный является прямоугольным аналогом круглого таймера/прогресс-индикатора. Он имеет точно такую же функциональность, просто имеет другой вид:
*Текстовое окно *с прокруткой представляет собой прямоугольное окно с текстом внутри, расположенным в несколько строк. Оно также может использоваться для передачи сообщений и текстов для прочтения. В состоянии STOP может использоваться в качестве информационного табло для выведения различных расписаний etc.
Виды событий в системе¶
В системе используется несколько видов событий:
- события при срабатывании USB устройств
- события от таймеров
- получение сетевого сообщения
Любое из вышеперечисленных событий регистрируется сервером, который производит действия, которые были определены при конфигурации сервера. Он может послать команду отображения на соответствующий орган отображения Часовой Машины, сгенерировать сетевое сообщение и переслать его на другой сервер, выполнить некоторый предопределённый набор действий, называемый в системе «макросом».
Например, при получении сигнала от фэйдера студийного микрофона, сервер может послать команду «включить транспарант MIC» на все подключенные Часовые Машины.
Макрос представляет собой набор команд операционной системы и команд управления отображением. Например, при получении сетевого сообщения от БД сервер может выполнить макрос, который получит текстовый файл из данных БД и отправит его на текстовое окно соответствующей Часовой машины._ _
Конфигурация системы¶
Первоначальная конфигурация системы осуществляется с помощью поставляемых с системой и настроенных согласно пожеланиям заказчика конфигурационных файлов.
На каждой часовой машине есть 2 файла конфигурации:
- CdsConfig.xml – в нём содержится описание, расположение и настройки органов управления на экране часовой машины.
- NetConfig.xml – в нём описывается текущая конфигурация сети. В общем случае он имеет следующий вид:
NN - период проверки соединения в секундах.
CDS_N - идентификатор данной часовой машины.
CCS
NNN.NNN.NNN.NNN
- IP адрес данной часовой машины.
NNNN - номер порта данной часовой машины.
XXXXXXXXXXXXX - любое текстовое описание данной машины.
SRV_N - идентификатор сервера, к которому подключена данная часовая машина.
SCS
NNN.NNN.NNN.NNN
- IP адрес этого сервера.
NNNN - номер порта сервера.
XXXXXXXXXX - любое текстовое описание сервера.
Пример:
netConfig>
pingPeriod>33
thisNode class="node">
_ CDS_1_
_ CCS_
_
192.168.0.106
_
_ 3335_
_ Clock Display 1_
_ _
_ _
_ _
_ SRV_1_
_ SCS_
_
192.168.0.237
_
_ 3333_
_ !CapsClock server_
_ _
_ _
_ _
На каждом сервере обычно хранится 4 файла конфигурации:
- NetConfig.xml– в нём описывается текущая конфигурация сети. В общем случае он имеет следующий вид:
SRV_N - идентификатор сервера.
SCS
NNN.NNN.NNN.NNN
- IP адрес этого сервера.
NNNN - номер порта сервера.
XXXXXXXXXXXXX - любое текстовое описание сервера.
CDS_N - идентификатор подключенной часовой машины.
CCS
NNN.NNN.NNN.NNN
- IP адрес подключенной часовой машины.
NNNN - номер порта данной часовой машины.
XXXXXXXXXXXXX - любое текстовое описание машины.
Пример:
netConfig>
_ _
_ SRV_1_
_ SCS_
_
192.168.0.237
_
_ 3333_
_ !CapsClock server_
_ _
_ _
_ _
_ CDS_1_
_ CCS_
_
192.168.0.106
_
_ 3335_
_ !CapsClock Display 1_
_ _
_ _
_ CDS_2_
_ CCS_
_
192.168.0.116
_
_ 3335_
_ !CapsClock Display 2_
_ _
_ _
/netConfig>
- EnmConfig.xml – содержит настройки системы сетевых сообщений. В общем виде он выглядит так:
NNNN - номер порта, по которому передаются сетевые сообщения.
- SignalMapConfig.xml – содержит описание команд, выполняемых сервером при получении сигналов с GPI. В общем виде он выглядит следующим образом:
COM*N* - номер COM-порта, на которой установлен драйвер USB.
HW_DEF
KEY_N - номер сигнала в порту (от 1 до 8).
NNNN - данные сигнала (для ТР-312: –127=ON, –126=OFF)
_имя макроса_ - имя макроса из macroregistry.xml - параметры этого макроса
*имя параметра* _значение параметра_
Пример:
signalMappingConfig>
_COM3
HW_DEF
KEY_1
–127_ action>
_Sample Macro 3
_
/action> _
HW_DEF
KEY_1
–126_ action>
call>Sample Macro 4
/action> _
HW_DEF
KEY_2
–127_ action>
_Turn Indicator On
_
param>
_Where
CDS_1_
_
_
_Control
TEL_
/param> param>
_!SetColor
0,255,0,255_
/param> param>
_!SetBlinking
true_
/param>
/params>
/action> /item>
signalMappingConfig>
- MacroRegistry.xml– содержит код всех макросов, выполняемых в системе. Описание правил написания макросов содержится в отдельном руководстве.
Чтобы такой макрос сработал, любое приложение может послать в порт NNNN по IP адресу сервера, сконфигурированный в enmconfig.xml, сообщение типа:
имя макроса - имя макроса из macroregistry.xml - параметры этого макроса
имя параметра значение параметра
Пример:
_
Sample Macro 1
!SetColor
0,0,255,255
!ShowMessageFrom
c:\content.txt
Where
CDS_2
Invoke
delete.bat
_
К каждой управляющей программе прилагается всего один файл конфигурации – CuConfig.xml. В этом файле указывается адрес сервера, с которым общается данная управляющая программа:
SRV_N - идентификатор сервера.
SCS
NNN.NNN.NNN.NNN
- IP адрес сервера.
NNNN - номер порта сервера.
XXXXXXXXXXXXX - любое текстовое описание сервера.
Пример:
cuConfig>
_ _
_ SRV_1_
_ SCS_
_
192.168.0.237
_
_ 3333_
_ server_
_ _
/cuConfig>
При установке настроенной системы в конкретную сеть необходимо настроить соответствующие IP адреса и номера портов, а также номера подключенных сигналов GPI и названия сетевых сообщений.
Управляющая программа¶
Для управления отображением в дальнейшем используется специальная управляющая программа, устанавливаемая на сервере. Она позволяет осуществлять:
В часах можно настроить:
- тип часов (мнемонические/стрелочные)
- смещение отображаемого времени относительно часов машины
- длительность цикла (длина сектора)
- порог завершения и критический порог
В таймере можно настроить:
- привязку к часам
- порог завершения и критический порог
- тип отображения отсчёта (прямой или обратный)
- длительность таймера
- время запуска таймера
- тип запуска (запускается в указанное время или вручную)
Если нажать на маленькую кнопку в правом верхнем углу панели «Оперативный таймер», то эта панель открывается отдельно в инструментальном всплывающем окошке с названием таймера и_ _часовой машины в строке заголовка. Она всегда отображается поверх других окон. Кнопками «Старт/Пауза» и «Сброс» можно управлять таймером вручную.
Для бегущей строки можно менять:
- размер шрифта
- скорость вращения
- отображаемый текст
- включать/отключать вращение
Текст, который нужно ввести, можно прочитать из файла TXT в «Текст для вывода» при помощи кнопки «Загрузить», либо ввести вручную, либо скопировать из клипборда. При вводе текста в окно с начала текста выделяется число символов, которое помещается в строку на часовой машине (N). При нажатии на кнопку «Отправить» выделенный текст отправляется на часовую машину, а в окне помечаются следующие N символов.
Панель «Оперативный ввод» можно открыть в отдельном окне аналогично панели «Оперативный таймер».
Управление текстовым окном работает аналогично управлению бегущей строкой.