Система часофикации "Caps-Clock" Краткий обзоp Назначение системы Система «Caps-Clock» предназначена для отображения текущего времени интервалов, а также информации о состоянии подключенного внешнего оборудования в сетевой среде в режиме реального времени. и различных временных звукового и другого Система позволяет задать и контролировать текущее время системы, а также любые временные интервалы, необходимые в работе радио- или ТВ- студии. Она позволяет также легко настраивать и использовать предупреждающую сигнализацию и оповещения. Любое звуковое, специализированное и технологическое оборудование, использующее «сухие контакты», может быть подключено по шине USB к одной из рабочих станций, выполняющих роль сервера, для отображения состояния этого оборудования на одной или нескольких подключенных Часовых Машинах. Система позволяет организовать совместную работу студии по циклам, легко конфигурировать и перенастраивать отображение информации на Часовых Машинах, что в конечном счёте приводит к улучшению взаимодействия персонала студии и более высокой организации работы. Как устроена система Система часофикации представляет собой комплекс, состоящий из различного количества Серверов — машин, собирающих информацию, - и Часовых Машин — машин, отображающих информацию. Все эти машины объединены между собой локальной сетью, в которой и происходит обмен сигналами точного времени и различной служебной информацией, включая и сообщения о событиях на подключенном по USB оборудовании. В общем случае модель системы можно представить в следующем виде: Как видно из рисунка, можно собрать по желанию любую систему, состоящую из набора серверов и подключенных к ним Часовых Машин. После сборки системы можно сконфигурировать каждую Часовую Машину в отдельности. То есть разместить на каждой из них нужный набор органов отображения и задать, сигнал с какой рабочей станции будет отображаться на какой Часовой Машине. Часовая Машина Часовая Машина состоит из специализированного компьютера на базе платы VIA EPIA PE-Series MiniITX Board фирмы VIA Technologies, имеющего весьма небольшие размеры — 230х200х55 мм, что позволяет закрепить его на обратной стороне LCD-монитора, и собственно LCD-монитора. Набор крепежа позволяет легко установить Часовую Машину на стеновые панели или на горизонтальные поверхности — по необходимости. В качестве настенного устройства Часовая Машина удобна в студиях и местах, где нужно максимальное рабочее пространство. Для оборудования рабочих мест (например, место главного инженера) можно использовать установку Часовой Машины на горизонтальной поверхности. Часовая машина принимает команды на отображение синхронизацию точного времени со временем сервера. от подключенного сервера, осуществляет На Часовой машине можно разместить произвольное число встроенных в Машину органов отображения, задать их параметры, режимы работы и необходимые временные интервалы. После размещения их можно привязать к конкретным сигналам от оборудования или сетевым сообщениям*. Вместе с Часовой машиной поставляется набор тем, которые включают в себя различные изображения, цветовые палитры, стили текста etc. Если этих тем окажется недостаточно, то всегда можно создать свою тему и использовать её как на отдельно взятой, так и на любых других Часовых машинах. Пример Часовой Машины с мнемоническими часами, на которых задан 15-минутный цикл, таймером цикла и тремя транспарантами, которые управляются сигналами от фэйдера студийного микрофона, микрофона конференции и сигналом телефонной линии: На этой Машине также осуществляется индикация текущей даты и индикатор отказа в правом верхнем углу. Если этот индикатор загорится, то это будет означать, что Машина работает в автономном режиме. Встроенные органы отображения В Часовую Машину встроены 8 типов органов отображения информации: часы транспарант бегущая строка таймер/прогресс-индикатор прямоугольный таймер/прогресс-индикатор круглый текстовое окно с прокруткой Часы представляют собой круглый циферблат со стрелками либо минутными метками (в случае использования мнемонического вида). Можно также выводить поверх часов текущее время в цифровом виде. Для часов можно установить цикл, который будет отображаться в виде сектора, и 2 порога, которые будут использоваться как средство оповещения о завершении цикла: порог завершения и критический порог. Для часов можно задать смещение относительно текущего времени, что позволяет, например, отобразить несколько часов со временем в различных поясах, скажем, Москва – Нью-Йорк – Токио. Например, при 10-минутном цикле можно поставить порог завершения за 3 минуты до конца цикла, а критический порог — за 10 секунд до конца. При переходе через порог будет меняться цветовая гамма. Можно настроить часы так, чтобы при достижении этих порогов срабатывали какие-либо другие органы отображения и/или пересылался сигнал на сервер. Пример часов со стрелками и 10-минутным циклом: Транспарант представляет собой овальную, прямоугольную или треугольную область экрана с текстом или пиктограммой внутри. Он может загораться каким-то цветом, мигать и гаснуть. Наиболее удобен для отображения состояния «сухих контактов» подключенного оборудования. Бегущая строка представляет собой прямоугольное окно с текстом внутри, расположенным в одну строчку. В состоянии STOP используется как статический текст (например, дата). Текст может вращаться справа налево и останавливаться по какому-то событию. Скорость вращения также регулируется. В состоянии вращения может использоваться для подсказки диктору и передачи других информационных сообщений. Таймер/прогресс-индикатор круглый. Этот орган отображения может работать как таймер, по часам. В этом варианте можно использовать его как дополнительный таймер цикла или, например, времени, отведённого для какой-то передачи. Можно использовать его как прогресс-индикатор — в этом случае его продвижение определяется командами с сервера. Как и для часов, для таймера можно задать 2 порога, по которым будут происходить события и включаться предупреждающая сигнализация. Можно также включить отображение оставшегося времени в цифровом виде или процент выполнения. Пример круглого индикатора, работающего в режиме таймера с 10-минутным интервалом. В данный момент таймер перешёл за критический порог: Таймер можно синхронизировать с циклом, установленном на каких-либо часах. В этом случае он будет дублировать цикл со всеми уставлёнными на нём порогами. С помощью специальной программы, установленной на сервере, можно оперативно настраивать таймер, а именно: - установить его в режим автоматического старта в конкретный момент времени - запускать и останавливать его вручную - работать с таймером в режиме секундомера Form Title Часовая машина: Часы Круглые таймеры Таймер: Полосные таймеры Бегущие строки Порог завершения: 10 Оперативный таймер Текстовые окна Привязан к часам: RTIMER_1 мин. 15 сек. Часы в вещательной студии Цикл 15 мин. CLOCK_1 Критический порог: 00 мин. 10 сек. Длительность: 00 час. 10 мин. 10 сек. Запустить в указанное время Обратный отсчёт СТАРТ ПАУЗА СБРОС 10 час. 10 мин. 10 сек. Установить Сбросить Сохранить Таймер/прогресс-индикатор прямоугольный является прямоугольным аналогом круглого таймера/прогресс-индикатора. Он имеет точно такую же функциональность, просто имеет другой вид: Текстовое окно с прокруткой представляет собой прямоугольное окно с текстом внутри, расположенным в несколько строк. Оно также может использоваться для передачи сообщений и текстов для прочтения. В состоянии STOP может использоваться в качестве информационного табло для выведения различных расписаний etc. Виды событий в системе В системе используется несколько видов событий: события при срабатывании USB устройств события от таймеров получение сетевого сообщения Любое из вышеперечисленных событий регистрируется сервером, который производит действия, которые были определены при конфигурации сервера. Он может послать команду отображения на соответствующий орган отображения Часовой Машины, сгенерировать сетевое сообщение и переслать его на другой сервер, выполнить некоторый предопределённый набор действий, называемый в системе «макросом». Например, при получении сигнала от фэйдера студийного микрофона, сервер может послать команду «включить транспарант MIC» на все подключенные Часовые Машины. Макрос представляет собой набор команд операционной системы и команд управления отображением. Например, при получении сетевого сообщения от БД сервер может выполнить макрос, который получит текстовый файл из данных БД и отправит его на текстовое окно соответствующей Часовой машины. Конфигурация системы Первоначальная конфигурация системы осуществляется с помощью поставляемых с системой и настроенных согласно пожеланиям заказчика конфигурационных фалов. На каждой часовой машине есть 2 файла конфигурации: - CdsConfig.xml – в нём содержится описание, расположение и настройки органов управления на экране часовой машины. - NetConfig.xml – в нём описывается текущая конфигурация сети. В общем случае он имеет следующий вид: <netConfig> <pingPeriod>NN</pingPeriod> - период проверки соединения в секундах. <thisNode class="node"> <id>CDS_N</id> - идентификатор данной часовой машины. <role>CCS</role> <address>NNN.NNN.NNN.NNN</address> - IP адрес данной часовой машины. <port>NNNN</port> - номер порта данной часовой машины. <description>XXXXXXXXXXXXX</description> - любое текстовое описание данной машины. </thisNode> <nodes> <node> <id>SRV_N</id> - идентификатор сервера, к которому подключена данная часовая машина. <role>SCS</role> <address>NNN.NNN.NNN.NNN</address> - IP адрес этого сервера. <port>NNNN</port> - номер порта сервера. <description>XXXXXXXXXX</description> - любое текстовое описание сервера. </node> </nodes> </netConfig> Пример: <netConfig> <pingPeriod>33</pingPeriod> <thisNode class="node"> <id>CDS_1</id> <role>CCS</role> <address>192.168.0.106</address> <port>3335</port> <description>Clock Display 1</description> </thisNode> <nodes> <node> <id>SRV_1</id> <role>SCS</role> <address>192.168.0.237</address> <port>3333</port> <description>CapsClock server</description> </node> </nodes> </netConfig> На каждом сервере обычно хранится 4 файла конфигурации: - NetConfig.xml– в нём описывается текущая конфигурация сети. В общем случае он имеет следующий вид: <netConfig> <thisNode class="node"> <id>SRV_N</id> - идентификатор сервера. <role>SCS</role> <address>NNN.NNN.NNN.NNN</address> - IP адрес этого сервера. <port>NNNN</port> - номер порта сервера. <description>XXXXXXXXXXXXX</description> - любое текстовое описание сервера. </thisNode> <nodes> <node> <id>CDS_N</id> - идентификатор подключенной часовой машины. <role>CCS</role> <address>NNN.NNN.NNN.NNN</address> - IP адрес подключенной часовой машины. <port>NNNN</port> - номер порта данной часовой машины. <description>XXXXXXXXXXXXX</description> - любое текстовое описание машины. </node> </nodes> </netConfig> Пример: <netConfig> <thisNode class="node"> <id>SRV_1</id> <role>SCS</role> <address>192.168.0.237</address> <port>3333</port> <description>CapsClock server</description> </thisNode> <nodes> <node> <id>CDS_1</id> <role>CCS</role> <address>192.168.0.106</address> <port>3335</port> <description>CapsClock Display 1</description> </node> <node> <id>CDS_2</id> <role>CCS</role> <address>192.168.0.116</address> <port>3335</port> <description>CapsClock Display 2</description> </node> </nodes> </netConfig> - EnmConfig.xml – содержит настройки системы сетевых сообщений. В общем виде он выглядит так: <enmConfig> <port>NNNN</port> - номер порта, по которому передаются сетевые сообщения. </enmConfig> - SignalMapConfig.xml – содержит описание команд, выполняемых сервером при получении сигналов с GPI. В общем виде он выглядит следующим образом: <signalMappingConfig> <comPortName>COMN</comPortName> - номер COM-порта, на которой установлен драйвер USB. <item> <hardwareId>HW_DEF</hardwareId> <signalKind>KEY_N</signalKind> - номер сигнала в порту (от 1 до 8). <signalState>NNNN</signalState> - данные сигнала (для ТР-312: -127=ON, 126=OFF) <action> <call>имя макроса</call> - имя макроса из macroregistry.xml <params> - параметры этого макроса <param> <name>имя параметра</name> <value>значение параметра</value> </param> . . . </params> </action> </item> </signalMappingConfig> Пример: <signalMappingConfig> <comPortName>COM3</comPortName> <item> <hardwareId>HW_DEF</hardwareId> <signalKind>KEY_1</signalKind> <signalState>-127</signalState> <action> <call>Sample Macro 3</call> <params> </params> </action> </item> <item> <hardwareId>HW_DEF</hardwareId> <signalKind>KEY_1</signalKind> <signalState>-126</signalState> <action> <call>Sample Macro 4</call> </action> </item> <item> <hardwareId>HW_DEF</hardwareId> <signalKind>KEY_2</signalKind> <signalState>-127</signalState> <action> <call>Turn Indicator On</call> <params> <param> <name>Where</name> <value>CDS_1</value> </param> <param> <name>Control</name> <value>TEL</value> </param> <param> <name>SetColor</name> <value>0,255,0,255</value> </param> <param> <name>SetBlinking</name> <value>true</value> </param> </params> </action> </item> <signalMappingConfig> - MacroRegistry.xml– содержит код всех макросов, выполняемых в системе. Описание правил написания макросов содержится в отдельном руководстве. Чтобы такой макрос сработал, любое приложение может послать в порт NNNN по IP адресу сервера, сконфигурированный в enmconfig.xml, сообщение типа: <enmCommand> <call>имя макроса</call> - имя макроса из macroregistry.xml <params> - параметры этого макроса <param> <name>имя параметра</name> <value>значение параметра</value> </param> . . . </params> </enmCommand> Пример: <enmCommand> <call>Sample Macro 1</call> <params> <param> <name>SetColor</name> <value>0,0,255,255</value> </param> <param> <name>ShowMessageFrom</name> <value>c:\content.txt</value> </param> <param> <name>Where</name> <value>CDS_2</value> </param> <param> <name>Invoke</name> <value>delete.bat</value> </param> </params> </enmCommand> К каждой управляющей программе прилагается всего один файл конфигурации – CuConfig.xml. В этом файле указывается адрес сервера, с которым общается данная управляющая программа: <cuConfig> <serverNode class="node"> <id>SRV_N</id> - идентификатор сервера. <role>SCS</role> <address>NNN.NNN.NNN.NNN</address> - IP адрес сервера. <port>NNNN</port> - номер порта сервера. <description>XXXXXXXXXXXXX</description> - любое текстовое описание сервера. </serverNode> </cuConfig> Пример: <cuConfig> <serverNode class="node"> <id>SRV_1</id> <role>SCS</role> <address>192.168.0.237</address> <port>3333</port> <description>server</description> </serverNode> </cuConfig> При установке настроенной системы в конкретную сеть необходимо настроить соответствующие IP адреса и номера портов, а также номера подключенных сигналов GPI и названия сетевых сообщений. Управляющая программа Для управления отображением в дальнейшем используется специальная управляющая программа, устанавливаемая на сервере. Она позволяет осуществлять: 1. Управление часами Form Title Часовая машина: Часы Круглые таймеры Часы: Полосные таймеры Cтроки Тип: CLOCK_1 Длительность цикла: мин. 15 Часы в вещательной студии Текстовые окна Смещение: Мнемонические Порог завершения: Установить мин. 10 15 Сбросить сек. +01 час. Критический порог: 30 мин. 00 мин. 10 сек. Сохранить В часах можно настроить: - тип часов (мнемонические/стрелочные) - смещение отображаемого времени относительно часов машины - длительность цикла (длина сектора) - порог завершения и критический порог 2. Управление таймерами Form Title Часовая машина: Часы Круглые таймеры Таймер: Полосные таймеры Бегущие строки Текстовые окна Привязан к часам: RTIMER_1 Порог завершения: 10 Оперативный таймер мин. 15 сек. Часы в вещательной студии Цикл 15 мин. CLOCK_1 Критический порог: 00 мин. 10 сек. Длительность: 00 час. 10 мин. 10 сек. Запустить в указанное время Обратный отсчёт СТАРТ ПАУЗА СБРОС 10 час. 10 мин. 10 сек. Установить Сбросить Сохранить В таймере можно настроить: - привязку к часам - порог завершения и критический порог - тип отображения отсчёта (прямой или обратный) - длительность таймера - время запуска таймера - тип запуска (запускается в указанное время или вручную) Если нажать на маленькую кнопку в правом верхнем углу панели «Оперативный таймер», то эта панель открывается отдельно в инструментальном всплывающем окошке с названием таймера и часовой машины в строке заголовка. Она всегда отображается поверх других окон. Кнопками «Старт», «Пауза» и «Сброс» можно управлять таймером вручную. 3. Управление бегущей строкой Form Title Часовая машина: Часы Круглые таймеры Строка: Полосные таймеры Бегущие строки Часы в вещательной студии Текстовые окна Размер шрифта: 30 NEWS_1 В строке помещается 30 символов. Скорость вращения: 30 Оперативный ввод Текст на экране: Enter Text Текст для вывода: Enter Text Enter More Text Отправить Читать из файла Вращение текста Установить Сбросить Сохранить Для бегущей строки можно менять: - размер шрифта - скорость вращения - отображаемый текст - включать/отключать вращение Текст, который нужно ввести, можно прочитать из файла TXT в «Текст для вывода» при помощи кнопки «Читать из файла», либо ввести вручную, либо скопировать из клипборда. При вводе текста в окно с начала текста выделяется число символов, которое помещается в строку на часовой машине (N). При нажатии на кнопку «Отправить» выделенный текст отправляется на часовую машину, а в окне помечаются следующие N символов. Панель «Оперативный ввод» можно открыть в отдельном окне аналогично панели «Оперативный таймер». 4. Управление текстовым окном Form Title Часовая машина: Часы Круглые таймеры Окно: Полосные таймеры Бегущие строки Текстовые окна Размер шрифта: NEWS_2 Часы в вещательной студии 30 5 строк по 20 символов. Скорость вращения: 30 Оперативный ввод Текст на экране: Текст для вывода: Enter Text Enter More Text Enter Text Enter More Text Отправить Читать из файла Вращение текста Установить Сбросить Сохранить Управление текстовым окном работает аналогично управлению бегущей строкой. Примеры отображения информации 1. Отображение Московского и местного времени в поясах вещания. 2. Отображение времени и состояния каналов на экране главного инженера. 3. Отображение текущего времени и языка вещания.