Project

General

Profile

Техническое задание. Этап 2

ТЗ "Caps-Clock"
Техническое задание
Этап 2
2/10/2009
Техническое задание на создание системы «Caps-Clock». Содержит неформализованные требования и пожелания по работе системы Часофикации.

Добавление функциональности

1. Установка времени запуска на таймерах по внутренним часам машины. Если время запуска прошло, но период таймера не закончился, то текущее значение таймера устанавливается на время, прошедшее с начала момента запуска.

2. Связывание часов и таймера. В этом случае таймер становится циклическим, значения порогов соответствуют порогам часов, период таймера соответствует длине сектора, время запуска таймера выравнивается на начало часа (как секторы в часах).

3. Макросы для работы с сетевыми сообщениями. Пока можно без редактора макросов, а просто прописывать их в XML. Например, какая-то прикладная программа посылает какой-то текст по сети на какой-то порт SCS (типа NETSEND), SCS принимает сообщение. Если в ХML есть команда, соответствующая такому сообщению, то она отправляется на часовую машину. Если нет, то сообщение игнорируется. Для чего нужно: чтобы из различных вещательных программ, работающих с оборудованием, можно было посылать сигнал по тому или иному событию (не всегда можно вынести это железо на сухие контакты).

Интерфейс с пользователем

Для управления контролами сначала выбирается часовая машина из списка доступных часовых машин. Затем выбирается одна из закладок с соответствующим типом контролов.

Управление часами

Сначала выбираются часы из списка доступных на данной часовой машине. При этом из текущих настроек автоматически заполняются поля:

- тип часов (мнемонические/стрелочные)

- смещение отображаемого времени относительно часов машины

- длительность цикла (длина сектора)

- порог завершения и критический порог

Пользователь может поменять эти значения и нажать кнопку «Установить» для установки этих параметров или «Сбросить» для установки параметров из локального XML часовой машины. Если нажать на кнопку «Сохранить», то текущие установки часов сохраняются в локальном XML файле на часовой машине. (Т.е. после этой операции нажатие на кнопку сброс будет вызывать возврат именно к этой конфигурации).

Управление таймерами

Управление круглыми и прямоугольными таймерами слегка отличается. Для установки таймера его сначала нужно выбрать из списка таймеров такого типа на данной часовой машине. При этом автоматически заполняются поля из текущих настроек:

- привязка к часам (если не привязан, то «нет»)

- в случае привязки к часам дополнительно отображается время цикла (дублирует «Длительность» и не редактируется)

- порог завершения и критический порог

- тип отображения отсчёта (прямой или обратный)

- длительность таймера

- время запуска таймера

- тип запуска (запускается в указанное время или вручную)

- для прямоугольного таймера дополнительно выводится его ориентация

Для привязки таймера к часам начала нужно выбрать часы из списка доступных часов на данной часовой машине. После выбора осуществляется заполнение соответствующих полей из настроек выбранных часов. При этом включается обратный отсчёт, а остальные органы управления блокируются, за исключением кнопок «Установить», «Сбросить» и «Сохранить», которые работают так же, как и в часах.

Чтобы перевести таймер в автономный режим, нужно из списка часов выбрать опцию «нет». В этом случае органы управления разблокируются, а поля заполняются из локального XML.

Если нажать на маленькую кнопку в правом верхнем углу панели «Оперативный таймер», то эта панель открывается отдельно в инструментальном всплывающем окошке с названием таймера и часовой машины в строке заголовка. Она всегда отображается поверх других окон.

При нажатии на кнопку «Старт» таймер запускается, даже если он должен запускаться по времени, отрабатывает один цикл и останавливается. При нажатии на кнопку «Пауза» таймер приостанавливается. При нажатии на кнопку «сброс» таймер сбрасывается в начальное значение.

Для прямоугольного таймера дополнительно можно задать его ориентацию с помощью выбора одной из круглых кнопок.

Управление бегущей строкой

Сначала выбирается бегущая строка из списка доступных на данной часовой машине. При этом из текущих настроек автоматически заполняются поля:

- размер шрифта

- рассчитывается число символов в строке

- скорость вращения

- отображаемый текст

- включено ли вращение в данный момент

Текст, который нужно ввести, можно прочитать из файла TXT в «Текст для вывода» при помощи кнопки «Читать из файла», либо ввести вручную, либо скопировать из клипборда. При вводе текста в окно с начала текста выделяется число символов, которое помещается в строку на часовой машине (N). При нажатии на кнопку «Отправить» выделенный текст отправляется на часовую машину, а в окне помечаются следующие N символов. Выделение можно изменить при помощи мыши, но если вращение текста не включено, то по окончании выделения выделяется только первые

N символов.

Панель «Оперативный ввод» можно открыть в отдельном окне аналогично панели «Оперативный таймер».

Кнопки «Установить», «Сбросить» и «Сохранить» работают так же, как и в часах.

Управление текстовым окном

Управление текстовым окном работает аналогично управлению бегущей строкой, за исключением того, что расчёт должен производиться с учётом того, что текст помещается в несколько строк. Слова в строке должны помещаться целиком (т.е. слова на части не разбиваем для простоты).

Add picture from clipboard (Maximum size: 742 MB)