XFS-сервис класса SIU. Модель DORS USB

Файлы

  • shqPS.SIU.DORS-USB.exe;

  • shqSPSIU.dll;

  • siu_dors_usb_config_schema.xsd;

  • siu_dors_usb_configuration.xml.

Настройки XFS-провайдера

Раздел реестра: [HKLM\Software\XFS\PHYSICAL_SERVICES\SIU-DORS-USB]

Параметры драйвера:

  • ATM_MODEL – наименование модели УС, в соответствии с которой настраивается подмножество обслуживаемых портов контроллера. Указывается в виде идентификатора модели. Например, PTM 1122 M3 для устройства DORS PTM-1122 M3. Актуальный перечень доступных моделей предлагается на выбор в выпадающем списке при установке XFS-сервиса SIU DORS USB и с развитием продуктовой линейки будет пополняться.

  • ups_charge_low – порог достижения состояния «низкий заряд батареи», в процентах. Возможные значения: [099]. По умолчанию и в случае некорректного значения принимается значение 25.

  • ups_name – наименование модели ИБП, используемого в УС.

    Возможные значения:

    • no – если УС не оборудовано ИБП;

    • INNER – в версии прошивки 1.4 и выше поддерживается встроенная батарея;

    • HID AUTO – автоматическое определение имени подключенного ИБП при запуске XFS. Автоопределение доступно:

      • только для ИБП, которые определяются как HID-батарея, и не доступно для других ИБП, даже подключенных по USB (например, IPPON);

      • только после перезагрузки XFS.SIU (если поменять ИБП при работающих XFS-сервисах, то он автоматически не подхватится).

    Поддерживаются только HID-устройства класса «Батарея». Перечень доступных моделей составляется динамически и предлагается на выбор в выпадающем списке при установке XFS-сервиса SIU DORS USB. Для ИБП CyberPower рекомендуется значение Value1500E. Значение по умолчанию – пустое.

  • power_task_delay – время задержки выключения питания при низком заряде батареи в секундах. По умолчанию 60.

  • wdt_enable – активировать функцию сторожевого таймера. Возможные значения: yes, no. По умолчанию no.

  • wdt_managed_reboot – выключение сторожевого таймера при выключении XFS-драйвера DORS USB. Возможные значения:

    • 0 (по умолчанию) – если XFS–драйвер DORS USB выключается штатно, то он выключает сторожевой таймер;

    • 1 – если XFS–драйвер DORS USB выключается штатно, то он не выключает сторожевой таймер и изменяет значение wdt_managed_reboot на 0.

  • wdt_reboot_count – количество попыток включения/выключения УС спец. электроникой в случае его нештатного выключения и зависания. По умолчанию 10. Если установлено четное значение, то процесс начинается с включения УС. Если – нечетное, то – с выключения! Например, значение параметра равно 10, в этом случае спец. электроника сначала включает УС коротким нажатием, а потом пытается его выключить длинным нажатием на кнопку питания. По умолчанию рекомендуется устанавливать значение 11 – это позволит сначала выключать предположительно зависший УС, а затем его включать.

  • wdt_timeout – таймаут на ожидание сигнала жизни от ПО при работе функции сторожевого таймера, в миллисекундах. Диапазон допустимых значений – [40 000300 000]. Значение по умолчанию 180000.

    Если для параметра wdt_enable установлено значение yes, то необходимо устанавливать значение wdt_timeout не меньше, чем время, требуемое на загрузку ОС и XFS-сервисов. В противном случае ПК будет перезагружаться, не успев ни разу корректно загрузиться!

    В случае некорректного значения настройки, если это отдельно не обговаривается, XFS-сервис переходит в состояние WFS_SIU_DEVNODEVICE и в соответствующем extra-поле статусных структур приводит описание ошибки.

Состав датчиков и индикаторов

Контроллер DORS-USB оснащен:

  1. Двумя портами (№1 и №2, в версии прошивки 1.4 и выше – третий порт №5) для подключения внешних световых индикаторов, в случае работы с DORS PMU-820 порт №1 используется для управления реле перезагрузки устройства по питанию.

  2. Двумя внутренними световыми индикаторами, встроенными в плату (номера портов №3 и №4, технически могут быть выведены на внешнюю подсветку). Светодиод на порте №3 показывает состояние XFS-драйвера спец. электроники DORS USB. Cветодиод на порте №4 привязан к сторожевому таймеру, конфигурация данного светодиода пишется во флеш-память устройства.

    Начиная с версии прошивки 1.5 реализована следующая индикация светодиодов на портах №3 и 4:

    • на порте №3 (нижний светодиод):

      • светодиод горит постоянно – XFS-драйвер запущен (фактически светодиод загорается на полсекунды при каждом обращении к сторожевому таймеру, что при частом обращении незаметно);

      • светодиод не горит – XFS-драйвер не запущен.

    • на порте №4 (верхний светодиод):

      • светодиод горит постоянно – сторожевой таймер запущен;

      • светодиод мигает часто – сторожевой таймер подал сигнал включения/выключения УС и попытки закончились (их количество определено параметром wdt_reboot_count);

      • светодиод мигает редко – сторожевой таймер отключен (по умолчанию).

  3. Пятью портами (№№1–5, в версии прошивки 1.4 и выше – семью портами №№1–7) для подключения датчиков бинарной логики (цепь замкнута/разомкнута).

../../_images/dors_usb1.JPG

Рисунок 19. DORS USB (вид сбоку). Светодиоды и порты для подключения внешних световых индикаторов

1 – порт №1 для подключения внешних световых индикаторов;

3 – светодиод на порте №3;

2 – порт №2 для подключения внешних световых индикаторов;

4 – светодиод на порте №4.

../../_images/dors_usb2.JPG

Рисунок 20. DORS USB (вид сверху). Порты для подключения датчиков бинарной логики

В случае нарушения цепи подключения датчика, его состояние будет отображаться в соответствии с определением разомкнутого состояния. При нарушении цепи подключения светового индикатора, теряется возможность его зажигать. Контроллер не предусматривает обнаружение нарушений в цепях подключения датчиков и индикаторов.

Состав и назначение датчиков и световых индикаторов зависят от модели обслуживаемого УС и приводятся в конфигурационном файле .\XFS\siu_dors_usb_configuration.xml. Данный файл имеет формат XML, определение схемы находится в файле .\XFS\siu_dors_usb_config_schema.xsd. В случае необходимости, данный файл можно редактировать, изменяя или дополняя конфигурации контроллера. Во избежание ошибок синтаксиса, настоятельно рекомендуется использовать XML-редакторы, поддерживающие валидацию, автозаполнение и подсказки при редактировании на основании представленной XSD-схемы.

Ниже на примерах демонстрируется структура файла:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<dors-usb xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocation=".\siu_dors_usb_config_schema.xsd">

   <Configuration id="PTM 1122 M1">
   ...
   </Configuration>

   <Configuration id="PTM 1122 M2">
   ...
   </Configuration>

   <Configuration id="ADM 1142">
   ...
   </Configuration>
   ...
</dors-usb>

Корневой элемент <dors-usb> содержит такое количество элементов <Configuration>, сколько конфигураций контроллера известно в данной сборке XFS-сервисов. Элемент <Configuration> содержит обязательный атрибут id, в котором записывается строковый идентификатор. Атрибуты id служат для перечисления доступных конфигураций в инсталляторе, а также XFS-сервисом для поиска и прочтения соответствующей установленной конфигурации контроллера.

Внутри элемента <Configuration> перечисляются задействованные датчики и индикаторы. Для этого служат сложенные группы <GuidLights> для определения световых индикаторов и <SWs> для определения датчиков:

<Configuration id="..">
    <GuidLights>
         ...
    </GuidLights>
    <SWs>
         ...
    </SWs>
</Configuration>

Допускается отсутствие любой из выше обозначенных групп.

Определение световых индикаторов выглядит следующим образом:

<GuidLights>
    <LED hw_id="1" xfs_id="GuidLightCardunit"/>
    ...
</GuidLights>

Внутри группы <GuidLights> перечисляются элементы LED, отвечающие за определение световых индикаторов, подключенных к указанным порт.

В атрибуте hw_id указывается номер физического порта светового индикатора от 1 до 5. Порты №1 и №2 (в версии прошивки 1.4 и выше – №5) обслуживают внешнюю световую индикацию. К портам №3 и №4 подключаются внутренние индикаторы, расположенные на плате контроллера (однако в дальнейшем могут задействоваться для обслуживания внешней индикации).

В атрибуте xfs_id записывается строковый идентификатор индикатора, определяющий его тип в системе XFS. Возможные значения:

  • GuidLightCardunit;

  • GuidLightPinpad;

  • GuidLightNotesDispenser;

  • GuidLightCoinDispenser;

  • GuidLightReceiptPrinter;

  • GuidLightPassbookPrinter;

  • GuidLightEnvDepository;

  • GuidLightChequeUnit;

  • GuidLightBillAcceptor;

  • GuidLightEnvDispenser;

  • GuidLightDocumentPrinter;

  • GuidLightCoinAcceptor;

  • GuidLightScanner.

Определение датчиков бинарной логики выглядит следующим образом:

<SWs>
    <SW hw_id="1" xfs_id="DoorCabinet">
        <State_0>Closed</State_0>
        <State_1>Open</State_1>
    </SW>
    <SW hw_id="2" xfs_id="DoorSafe">
        <State_0>Closed</State_0>
        <State_1>Open</State_1>
    </SW>
    <SW hw_id="3" xfs_id="SensorSeismic">
        <State_0>Off</State_0>
        <State_1>On</State_1>
    </SW>
    <SW hw_id="4" xfs_id="SensorOperatorSwitch">
        <State_0>Supervisor</State_0>
        <State_1>Run</State_1>
    </SW>
</SWs>

Внутри группы <SWs> перечисляются элементы SW, отвечающие за определение датчиков, подключенных к указанным портам.

В атрибуте hw_id указывается номер физического порта датчика от 1 до 5 (в версии прошивки 1.4 и выше – до 7).

В атрибуте xfs_id записывается строковый идентификатор датчика, определяющий его тип в системе XFS. Возможные значения:

  • SensorOperatorSwitch;

  • SensorTamper;

  • SensorIntTamper;

  • SensorSeismic;

  • SensorHeat;

  • SensorProximity;

  • SensorAmblight;

  • SensorEnhancedAudio;

  • SensorBootSwitch;

  • SensorConsumerDisplay;

  • SensorOperatorCallButton;

  • SensorHandsetSensor;

  • SensorGeneralInputPort;

  • DoorCabinet;

  • DoorSafe;

  • DoorVandalShield;

  • DoorCabinetFront;

  • DoorCabinetRear;

  • DoorCabinetLeft;

  • DoorCabinetRight;

  • IndicatorOpenClose;

  • IndicatorFasciaLight;

  • IndicatorHeating;

  • IndicatorConsumerDisplayBacklight;

  • IndicatorSignageDisplay;

  • IndicatorTransIndicator;

  • IndicatorGeneralOutputPort;

  • AuxRemoteStatusMonitor;

  • AuxAudibleAlarm.

Внутри элемента <SW> определяются идентификаторы состояний при замыкании и размыкании цепи. Вложенный элемент <State_0> определяет состояние датчика при замыкании цепи, а элемент <State_1> – при ее размыкании. Возможные состояния с привязкой к определенным типам датчиков:

  • SensorOperatorSwitch – Run, Maintenance, Supervisor;

  • SensorTamper – Off, On;

  • SensorIntTamper – Off, On;

  • SensorSeismic – Off, On;

  • SensorHeat – Off, On;

  • SensorProximity – Present, NotPresent;

  • SensorAmblight – VeryDark, Dark, MediumLight, Light, VeryLight;

  • SensorEnhancedAudio – Present, NotPresent;

  • SensorBootSwitch – Off, On;

  • SensorConsumerDisplay – Off, On, DisplayError;

  • SensorOperatorCallButton – Off, On;

  • SensorHandsetSensor – OffTheHook, OnTheHook;

  • SensorGeneralInputPort – Off, Gpp1, Gpp2, Gpp3, Gpp4, Gpp5, Gpp6, Gpp7, Gpp8, Gpp9, Gpp10, Gpp11, Gpp12, Gpp13, Gpp14, Gpp15, Gpp16;

  • DoorCabinet – Closed, Open, Locked, Bolted;

  • DoorSafe – Closed, Open, Locked, Bolted;

  • DoorVandalShield – Closed, Open, Locked, Service, Keyboard, Ajar, Jammed;

  • DoorCabinetFront – Closed, Open, Locked, Bolted;

  • DoorCabinetRear – Closed, Open, Locked, Bolted;

  • DoorCabinetLeft – Closed, Open, Locked, Bolted;

  • DoorCabinetRight – Closed, Open, Locked, Bolted;

  • IndicatorOpenClose – Closed, Open;

  • IndicatorFasciaLight – Off, On;

  • IndicatorHeating – Off, On;

  • IndicatorConsumerDisplayBacklight – Off, On;

  • IndicatorSignageDisplay – Off, On;

  • IndicatorTransIndicator – Off, Lamp1, Lamp2, Lamp3, Lamp4, Lamp5, Lamp6, Lamp7, Lamp8, Lamp9, Lamp10, Lamp11, Lamp12, Lamp13, Lamp14, Lamp15, Lamp16.

XSD схема не позволяет проверить корректность записанного состояния по отношению к типу датчика, указанному в атрибуте xfs_id. Однако такая валидация будет производиться XFS-сервисом при прочтении конфигурации контроллера.

Любые ошибки, которые будут встречены в файле конфигурации, приведут к переводу сервиса в состояние WFS_SIU_DEVNODEVICE.

Индикатор WFS_SIU_AUDIO связан с встроенной в ПК аудио картой, звук выводится на динамики, смонтированные в лицевую панель ИПТ. Источником звуков, проигрываемых при воздействии на данный индикатор, служат звуковые файлы, расположенные в каталоге C:\FS365\XFS\Snd. Формат файлов – Microsoft Wave Sound Format. В случае необходимости данные файлы подлежат кастомизированию.

Поддержка ИБП сводится к информированию о переходе к питанию от батареи, а также о низком заряде батареи.

Информационные запросы

WFS_INF_SIU_STATUS

Индикатор WFS_SIU_AUDIO при опросе статуса возвращает значение WFS_SIU_OFF, если звук не проигрывается, либо происходит проигрывание одиночного сигнала. Если подана команда повторяющегося проигрывания сигнала (добавочный флаг WFS_SIU_CONTINUOUS), статус индикатора WFS_SIU_AUDIO принимает значение, соответствующее типу проигрываемого звука.

Поле lpszExtra формируется согласно стандарту CEN/XFS и содержит ниже перечисленные поля:

  • VENDOR – значение DORS [SYSTEMA];

  • PRODUCT – значение ProAtm/XFS;

  • VERSION – версия сборки ПроАТМ/XFS, например, 5.7.4.25610;

  • DEVICE – значение DORS USB;

  • SERIAL – серийный номер, состоящий из 12 символов, например, 67214147565089710672FF52;

  • FW – информация о номере прошивки;

  • UPS_MODEL – идентификатор модели обслуживаемого ИБП (может отсутствовать);

  • DETECTED_PROBLEM – выявленные ошибки конфигурации, по причине которых сервис находится в состоянии WFS_SIU_DEVNODEVICE (может отсутствовать).

Если устройство отключено, то состояние всех датчиков будет WFS_SIU_NOT_AVAILABLE.

WFS_INF_SIU_CAPABILITIES

Поле lpszExtra содержит данные аналогично передаваемым в ответе на команду WFS_INF_SIU_STATUS. Если устройство отключено, то состояние всех датчиков будет WFS_SIU_NOT_AVAILABLE.