Состояние ЛС (OPC-сервер)

Версия от 08:14, 7 августа 2025; Alex (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Состояние лифтовой станции передается в виде строки variant(bstr) содержащей XML.

Описание XML-схемы, состояния ЛС

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <!-- описание типа "ошибка ЛС" -->
  <xs:complexType name="errorType">
    <xs:all>
      <xs:attribute name="state" type="xs:integer" default="0"/>                    <!-- текущее состояние «ошибки ЛС», с.м Дискретный сигнал (OPC-сервер) -->
      <xs:attribute name="code" type="xs:integer" default="0"/>                     <!-- номер «ошибки ЛС» -->
      <xs:attribute name="stage" type="xs:integer" default="0xffffffff"/>           <!-- номер остановки, где произошла «ошибка ЛС» -->
      <xs:attribute name="desc" type="xs:string" default=""/>                       <!-- расшифровка «ошибки ЛС» -->
    </xs:all>
  </xs:complexType>
  
  <!-- состояние ЛС -->
  <xs:element name="state">
    <xs:complexType>
      <xs:all>        
        <xs:attribute  name="type" type="xs:string" default="УЛ"/>                  <!-- название ЛС -->        
        <xs:attribute  name="floor" type="xs:string" default="1"/>                  <!-- текущий этаж -->        
        <xs:attribute  name="opened" type="xs:boolean" default="false"/>            <!-- флаг открытия дверей -->        
        <xs:attribute  name="weight" type="xs:boolean" default="false"/>            <!-- флаг наличия пассажиров/груза -->        
        <xs:attribute  name="motion" type="xs:boolean" default="false"/>            <!-- флаг движения кабины -->
        <xs:element name="error" type="errorType"/>                                 <!-- ошибка ЛС -->
      </xs:all>
    </xs:complexType>
  </xs:element>

</xs:schema>