<?xml version="1.0" encoding="utf-8"?>
<WSDL:definitions xmlns:ns="http://pickeringswitch.com/lxi/ws/picards" xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://pickeringswitch.com/lxi/ws/picards" name="PiCards" targetNamespace="http://pickeringswitch.com/lxi/ws/picards" xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/">
  <WSDL:types>
    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://pickeringswitch.com/lxi/ws/picards" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://pickeringswitch.com/lxi/ws/picards">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:simpleType name="StatusEnum">
        <xsd:annotation>
          <xsd:documentation>represents status of cards.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="StatNoCard" />
          <xsd:enumeration value="StatWrongDriver" />
          <xsd:enumeration value="StatEepromErr" />
          <xsd:enumeration value="StatDisabled" />
          <xsd:enumeration value="SubStatNoSub" />
          <xsd:enumeration value="StatBusy" />
          <xsd:enumeration value="StatHwFault" />
          <xsd:enumeration value="StatParityError" />
          <xsd:enumeration value="StatPsuInhibited" />
          <xsd:enumeration value="StatPsuShutdown" />
          <xsd:enumeration value="StatPsuCurrentLimit" />
          <xsd:enumeration value="StatCorrupted" />
          <xsd:enumeration value="StatCardInaccessible" />
          <xsd:enumeration value="StatUncalibrated" />
          <xsd:enumeration value="StatCalibrationDue" />
          <xsd:enumeration value="StatBirstEnabled" />
          <xsd:enumeration value="StatOk" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="TypeNumberEnum">
        <xsd:annotation>
          <xsd:documentation>represents type of standard Pickering cards.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TypeSw" />
          <xsd:enumeration value="TypeMux" />
          <xsd:enumeration value="TypeMuxm" />
          <xsd:enumeration value="TypeMat" />
          <xsd:enumeration value="TypeMatr" />
          <xsd:enumeration value="TypeDig" />
          <xsd:enumeration value="TypeRes" />
          <xsd:enumeration value="TypeAtten" />
          <xsd:enumeration value="TypePsudc" />
          <xsd:enumeration value="TypeBatt" />
          <xsd:enumeration value="TypeVsource" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="AttrCodeEnum">
        <xsd:annotation>
          <xsd:documentation>represents attributes which help in getting information from the card.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="AttrChannelSubSwitches" />
          <xsd:enumeration value="AttrXIsoSubSwitches" />
          <xsd:enumeration value="AttrYIsoSubSwitches" />
          <xsd:enumeration value="AttrXLoopthruSubSwitches" />
          <xsd:enumeration value="AttrYLoopthruSubSwitches" />
          <xsd:enumeration value="AttrNumXSegments" />
          <xsd:enumeration value="AttrXSegment01Size" />
          <xsd:enumeration value="AttrXSegment02Size" />
          <xsd:enumeration value="AttrXSegment03Size" />
          <xsd:enumeration value="AttrXSegment04Size" />
          <xsd:enumeration value="AttrXSegment05Size" />
          <xsd:enumeration value="AttrXSegment06Size" />
          <xsd:enumeration value="AttrXSegment07Size" />
          <xsd:enumeration value="AttrXSegment08Size" />
          <xsd:enumeration value="AttrXSegment09Size" />
          <xsd:enumeration value="AttrXSegment10Size" />
          <xsd:enumeration value="AttrXSegment11Size" />
          <xsd:enumeration value="AttrXSegment12Size" />
          <xsd:enumeration value="AttrNumYSegments" />
          <xsd:enumeration value="AttrYSegment01Size" />
          <xsd:enumeration value="AttrYSegment02Size" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="SwFuncEnum">
        <xsd:annotation>
          <xsd:documentation>represents important attributes for a OpSwitch function</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SwFuncChannel" />
          <xsd:enumeration value="SwFuncXIso" />
          <xsd:enumeration value="SwFuncYIso" />
          <xsd:enumeration value="SwFuncXLoopthru" />
          <xsd:enumeration value="SwFuncYLoopthru" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="SwActEnum">
        <xsd:annotation>
          <xsd:documentation>represents action for OpSwitch function.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SwActNone" />
          <xsd:enumeration value="SwActActOpen" />
          <xsd:enumeration value="SwActClose" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="PsuCapabilitiesEnum">
        <xsd:annotation>
          <xsd:documentation>all PSU capability flags.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CurrentModeSense" />
          <xsd:enumeration value="ProgCurrent" />
          <xsd:enumeration value="ProgVoltage" />
          <xsd:enumeration value="OutputSense" />
          <xsd:enumeration value="OutputControl" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="StoreTypeEnum">
        <xsd:annotation>
          <xsd:documentation>indicating which store to access.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CalStoreUser" />
          <xsd:enumeration value="CalStoreFactory" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="ModeTypeEnum">
        <xsd:annotation>
          <xsd:documentation>indicating how the given resistance value is to be applied. Only one mode is currently supported.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ResModeSet" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="ResCapabilitiesEnum">
        <xsd:annotation>
          <xsd:documentation>contains set of capability flags.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ResCapNone" />
          <xsd:enumeration value="ResCapPrec" />
          <xsd:enumeration value="ResCapZero" />
          <xsd:enumeration value="ResCapInf" />
          <xsd:enumeration value="ResCapRef" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="BattSubUnitEnum">
        <xsd:annotation>
          <xsd:documentation>represents all of the battery simulator sub-units on the card.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BattAllSubUnits" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="VsourceSubUnitEnum">
        <xsd:annotation>
          <xsd:documentation>represents all of the voltage sources sub-units on the card.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VsourceAllSubUnits" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="IntArray">
        <xsd:annotation>
          <xsd:documentation>represents array data type</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="item" type="xsd:int" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DoubleArray">
        <xsd:annotation>
          <xsd:documentation>represents array data type</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="item" type="xsd:double" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="LocationHeader">
        <xsd:annotation>
          <xsd:documentation>data type which represents SOAP header for sending data about a bus and a slot of a card.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="Bus" type="xsd:long" />
          <xsd:element minOccurs="1" maxOccurs="1" name="Slot" type="xsd:long" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="CardLocation" type="tns:LocationHeader" />
      <xsd:element name="CardId">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CardIdResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="1" name="str" nillable="true" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClosureLimit">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClosureLimitResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="limit" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CardOpsCount">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CardOpsCountResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="count" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CountFreeCards">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CountFreeCardsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="numCards" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="Diagnostic">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="DiagnosticResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="1" name="str" nillable="true" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="EnumerateSubs">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="EnumerateSubsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="inSubs" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="outSubs" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="FindFreeCards">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="FindFreeCardsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="busList" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="slotList" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SettleTime">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SettleTimeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="time" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="Status">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="status" type="tns:StatusEnum" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubAttribute">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="output" type="xsd:boolean" />
            <xsd:element minOccurs="1" maxOccurs="1" name="attrCode" type="tns:AttrCodeEnum" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubAttributeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="attrValue" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubInfo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="output" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubInfoResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="typeNum" type="tns:TypeNumberEnum" />
            <xsd:element minOccurs="1" maxOccurs="1" name="rows" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="cols" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubStatus">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="status" type="tns:StatusEnum" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubType">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="output" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubTypeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="1" name="str" nillable="true" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="Version">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VersionResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="version" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearAll">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearAllResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearCard">
        <xsd:complexType>
          <xsd:sequence />
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearCardResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearSub">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearSubResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="OpBit">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="bitNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="action" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="OpBitResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewBit">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="bitNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewBitResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewSub">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewSubResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="data" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteSub">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="data" type="tns:IntArray" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteSubResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadBit">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="inSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="bitNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadBitResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadSub">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="inSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadSubResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="data" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearMask">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearMaskResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="MaskBit">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="bitNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="action" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="MaskBitResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="MaskCrosspoint">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="row" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="col" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="action" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="MaskCrosspointResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="OpCrosspoint">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="row" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="col" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="action" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="OpCrosspointResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="OpSwitch">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="switchFunc" type="tns:SwFuncEnum" />
            <xsd:element minOccurs="1" maxOccurs="1" name="segNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="switchNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="subSwitch" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="switchAction" type="tns:SwActEnum" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="OpSwitchResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewCrosspoint">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="row" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="col" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewCrosspointResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewMask">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewMaskResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="data" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewMaskBit">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="bitNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewMaskBitResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewMaskCrosspoint">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="row" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="col" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ViewMaskCrosspointResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteMask">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="data" type="tns:IntArray" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteMaskResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuEnable">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuEnableResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuGetVoltage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuGetVoltageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="voltage" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuSetVoltage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="voltage" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuSetVoltageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuInfo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuInfoResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="typeNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="voltage" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="current" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="precis" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="capabilities" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuType">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PsuTypeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="1" name="str" nillable="true" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenGetAttenuation">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenGetAttenuationResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="atten" type="xsd:float" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenInfo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenInfoResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="typeNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="numSteps" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="stepSize" type="xsd:float" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenPadValue">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="padNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenPadValueResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="atten" type="xsd:float" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenSetAttenuation">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="atten" type="xsd:float" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenSetAttenuationResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenType">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="subNum" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AttenTypeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="1" name="str" nillable="true" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadCal">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="idx" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadCalResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="data" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadCalDate">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="store" type="tns:StoreTypeEnum" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadCalDateResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="year" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="day" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="interval" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadCalFP">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="store" type="tns:StoreTypeEnum" />
            <xsd:element minOccurs="1" maxOccurs="1" name="offset" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="numValues" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadCalFPResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="data" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetCalPoint">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="index" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetCalPointResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteCal">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="idx" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="data" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteCalResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteCalDate">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="store" type="tns:StoreTypeEnum" />
            <xsd:element minOccurs="1" maxOccurs="1" name="interval" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteCalDateResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteCalFP">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="store" type="tns:StoreTypeEnum" />
            <xsd:element minOccurs="1" maxOccurs="1" name="offset" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="numValues" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="data" type="tns:DoubleArray" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteCalFPResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ResGetResistance">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ResGetResistanceResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="resistance" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ResSetResistance">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="mode" type="tns:ModeTypeEnum" />
            <xsd:element minOccurs="1" maxOccurs="1" name="resistance" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ResSetResistanceResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ResInfo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ResInfoResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="minRes" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="maxRes" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="refRes" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="precPC" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="precDelta" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="int1" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="intDelta" type="xsd:double" />
            <xsd:element minOccurs="1" maxOccurs="1" name="capabilities" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattSetVoltage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="voltage" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattSetVoltageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattGetVoltage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattGetVoltageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="voltage" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattSetCurrent">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="current" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattSetCurrentResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattGetCurrent">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattGetCurrentResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="current" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattSetEnable">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="pattern" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattSetEnableResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattGetEnable">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattGetEnableResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="pattern" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattReadInterlockState">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BattReadInterlockStateResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="interlock" type="xsd:boolean" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceSetRange">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="range" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceSetRangeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceGetRange">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceGetRangeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="range" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceSetVoltage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="voltage" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceSetVoltageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceGetVoltage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceGetVoltageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="voltage" type="xsd:double" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceSetEnable">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="pattern" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceSetEnableResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceGetEnable">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="outSub" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VsourceGetEnableResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
            <xsd:element minOccurs="1" maxOccurs="1" name="pattern" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ErrorCodeToMessage">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="errorCode" type="xsd:int" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ErrorCodeToMessageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="message" nillable="true" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </WSDL:types>
  <WSDL:message name="CardId">
    <WSDL:part name="parameters" element="tns:CardId" />
  </WSDL:message>
  <WSDL:message name="CardIdResponse">
    <WSDL:part name="parameters" element="tns:CardIdResponse" />
  </WSDL:message>
  <WSDL:message name="ClosureLimit">
    <WSDL:part name="parameters" element="tns:ClosureLimit" />
  </WSDL:message>
  <WSDL:message name="ClosureLimitResponse">
    <WSDL:part name="parameters" element="tns:ClosureLimitResponse" />
  </WSDL:message>
  <WSDL:message name="CardOpsCount">
    <WSDL:part name="parameters" element="tns:CardOpsCount" />
  </WSDL:message>
  <WSDL:message name="CardOpsCountResponse">
    <WSDL:part name="parameters" element="tns:CardOpsCountResponse" />
  </WSDL:message>
  <WSDL:message name="CountFreeCards">
    <WSDL:part name="parameters" element="tns:CountFreeCards" />
  </WSDL:message>
  <WSDL:message name="CountFreeCardsResponse">
    <WSDL:part name="parameters" element="tns:CountFreeCardsResponse" />
  </WSDL:message>
  <WSDL:message name="Diagnostic">
    <WSDL:part name="parameters" element="tns:Diagnostic" />
  </WSDL:message>
  <WSDL:message name="DiagnosticResponse">
    <WSDL:part name="parameters" element="tns:DiagnosticResponse" />
  </WSDL:message>
  <WSDL:message name="EnumerateSubs">
    <WSDL:part name="parameters" element="tns:EnumerateSubs" />
  </WSDL:message>
  <WSDL:message name="EnumerateSubsResponse">
    <WSDL:part name="parameters" element="tns:EnumerateSubsResponse" />
  </WSDL:message>
  <WSDL:message name="FindFreeCards">
    <WSDL:part name="parameters" element="tns:FindFreeCards" />
  </WSDL:message>
  <WSDL:message name="FindFreeCardsResponse">
    <WSDL:part name="parameters" element="tns:FindFreeCardsResponse" />
  </WSDL:message>
  <WSDL:message name="SettleTime">
    <WSDL:part name="parameters" element="tns:SettleTime" />
  </WSDL:message>
  <WSDL:message name="SettleTimeResponse">
    <WSDL:part name="parameters" element="tns:SettleTimeResponse" />
  </WSDL:message>
  <WSDL:message name="Status">
    <WSDL:part name="parameters" element="tns:Status" />
  </WSDL:message>
  <WSDL:message name="StatusResponse">
    <WSDL:part name="parameters" element="tns:StatusResponse" />
  </WSDL:message>
  <WSDL:message name="SubAttribute">
    <WSDL:part name="parameters" element="tns:SubAttribute" />
  </WSDL:message>
  <WSDL:message name="SubAttributeResponse">
    <WSDL:part name="parameters" element="tns:SubAttributeResponse" />
  </WSDL:message>
  <WSDL:message name="SubInfo">
    <WSDL:part name="parameters" element="tns:SubInfo" />
  </WSDL:message>
  <WSDL:message name="SubInfoResponse">
    <WSDL:part name="parameters" element="tns:SubInfoResponse" />
  </WSDL:message>
  <WSDL:message name="SubStatus">
    <WSDL:part name="parameters" element="tns:SubStatus" />
  </WSDL:message>
  <WSDL:message name="SubStatusResponse">
    <WSDL:part name="parameters" element="tns:SubStatusResponse" />
  </WSDL:message>
  <WSDL:message name="SubType">
    <WSDL:part name="parameters" element="tns:SubType" />
  </WSDL:message>
  <WSDL:message name="SubTypeResponse">
    <WSDL:part name="parameters" element="tns:SubTypeResponse" />
  </WSDL:message>
  <WSDL:message name="Version">
    <WSDL:part name="parameters" element="tns:Version" />
  </WSDL:message>
  <WSDL:message name="VersionResponse">
    <WSDL:part name="parameters" element="tns:VersionResponse" />
  </WSDL:message>
  <WSDL:message name="ClearAll">
    <WSDL:part name="parameters" element="tns:ClearAll" />
  </WSDL:message>
  <WSDL:message name="ClearAllResponse">
    <WSDL:part name="parameters" element="tns:ClearAllResponse" />
  </WSDL:message>
  <WSDL:message name="ClearCard">
    <WSDL:part name="parameters" element="tns:ClearCard" />
  </WSDL:message>
  <WSDL:message name="ClearCardResponse">
    <WSDL:part name="parameters" element="tns:ClearCardResponse" />
  </WSDL:message>
  <WSDL:message name="ClearSub">
    <WSDL:part name="parameters" element="tns:ClearSub" />
  </WSDL:message>
  <WSDL:message name="ClearSubResponse">
    <WSDL:part name="parameters" element="tns:ClearSubResponse" />
  </WSDL:message>
  <WSDL:message name="OpBit">
    <WSDL:part name="parameters" element="tns:OpBit" />
  </WSDL:message>
  <WSDL:message name="OpBitResponse">
    <WSDL:part name="parameters" element="tns:OpBitResponse" />
  </WSDL:message>
  <WSDL:message name="ViewBit">
    <WSDL:part name="parameters" element="tns:ViewBit" />
  </WSDL:message>
  <WSDL:message name="ViewBitResponse">
    <WSDL:part name="parameters" element="tns:ViewBitResponse" />
  </WSDL:message>
  <WSDL:message name="ViewSub">
    <WSDL:part name="parameters" element="tns:ViewSub" />
  </WSDL:message>
  <WSDL:message name="ViewSubResponse">
    <WSDL:part name="parameters" element="tns:ViewSubResponse" />
  </WSDL:message>
  <WSDL:message name="WriteSub">
    <WSDL:part name="parameters" element="tns:WriteSub" />
  </WSDL:message>
  <WSDL:message name="WriteSubResponse">
    <WSDL:part name="parameters" element="tns:WriteSubResponse" />
  </WSDL:message>
  <WSDL:message name="ReadBit">
    <WSDL:part name="parameters" element="tns:ReadBit" />
  </WSDL:message>
  <WSDL:message name="ReadBitResponse">
    <WSDL:part name="parameters" element="tns:ReadBitResponse" />
  </WSDL:message>
  <WSDL:message name="ReadSub">
    <WSDL:part name="parameters" element="tns:ReadSub" />
  </WSDL:message>
  <WSDL:message name="ReadSubResponse">
    <WSDL:part name="parameters" element="tns:ReadSubResponse" />
  </WSDL:message>
  <WSDL:message name="ClearMask">
    <WSDL:part name="parameters" element="tns:ClearMask" />
  </WSDL:message>
  <WSDL:message name="ClearMaskResponse">
    <WSDL:part name="parameters" element="tns:ClearMaskResponse" />
  </WSDL:message>
  <WSDL:message name="MaskBit">
    <WSDL:part name="parameters" element="tns:MaskBit" />
  </WSDL:message>
  <WSDL:message name="MaskBitResponse">
    <WSDL:part name="parameters" element="tns:MaskBitResponse" />
  </WSDL:message>
  <WSDL:message name="MaskCrosspoint">
    <WSDL:part name="parameters" element="tns:MaskCrosspoint" />
  </WSDL:message>
  <WSDL:message name="MaskCrosspointResponse">
    <WSDL:part name="parameters" element="tns:MaskCrosspointResponse" />
  </WSDL:message>
  <WSDL:message name="OpCrosspoint">
    <WSDL:part name="parameters" element="tns:OpCrosspoint" />
  </WSDL:message>
  <WSDL:message name="OpCrosspointResponse">
    <WSDL:part name="parameters" element="tns:OpCrosspointResponse" />
  </WSDL:message>
  <WSDL:message name="OpSwitch">
    <WSDL:part name="parameters" element="tns:OpSwitch" />
  </WSDL:message>
  <WSDL:message name="OpSwitchResponse">
    <WSDL:part name="parameters" element="tns:OpSwitchResponse" />
  </WSDL:message>
  <WSDL:message name="ViewCrosspoint">
    <WSDL:part name="parameters" element="tns:ViewCrosspoint" />
  </WSDL:message>
  <WSDL:message name="ViewCrosspointResponse">
    <WSDL:part name="parameters" element="tns:ViewCrosspointResponse" />
  </WSDL:message>
  <WSDL:message name="ViewMask">
    <WSDL:part name="parameters" element="tns:ViewMask" />
  </WSDL:message>
  <WSDL:message name="ViewMaskResponse">
    <WSDL:part name="parameters" element="tns:ViewMaskResponse" />
  </WSDL:message>
  <WSDL:message name="ViewMaskBit">
    <WSDL:part name="parameters" element="tns:ViewMaskBit" />
  </WSDL:message>
  <WSDL:message name="ViewMaskBitResponse">
    <WSDL:part name="parameters" element="tns:ViewMaskBitResponse" />
  </WSDL:message>
  <WSDL:message name="ViewMaskCrosspoint">
    <WSDL:part name="parameters" element="tns:ViewMaskCrosspoint" />
  </WSDL:message>
  <WSDL:message name="ViewMaskCrosspointResponse">
    <WSDL:part name="parameters" element="tns:ViewMaskCrosspointResponse" />
  </WSDL:message>
  <WSDL:message name="WriteMask">
    <WSDL:part name="parameters" element="tns:WriteMask" />
  </WSDL:message>
  <WSDL:message name="WriteMaskResponse">
    <WSDL:part name="parameters" element="tns:WriteMaskResponse" />
  </WSDL:message>
  <WSDL:message name="PsuEnable">
    <WSDL:part name="parameters" element="tns:PsuEnable" />
  </WSDL:message>
  <WSDL:message name="PsuEnableResponse">
    <WSDL:part name="parameters" element="tns:PsuEnableResponse" />
  </WSDL:message>
  <WSDL:message name="PsuGetVoltage">
    <WSDL:part name="parameters" element="tns:PsuGetVoltage" />
  </WSDL:message>
  <WSDL:message name="PsuGetVoltageResponse">
    <WSDL:part name="parameters" element="tns:PsuGetVoltageResponse" />
  </WSDL:message>
  <WSDL:message name="PsuSetVoltage">
    <WSDL:part name="parameters" element="tns:PsuSetVoltage" />
  </WSDL:message>
  <WSDL:message name="PsuSetVoltageResponse">
    <WSDL:part name="parameters" element="tns:PsuSetVoltageResponse" />
  </WSDL:message>
  <WSDL:message name="PsuInfo">
    <WSDL:part name="parameters" element="tns:PsuInfo" />
  </WSDL:message>
  <WSDL:message name="PsuInfoResponse">
    <WSDL:part name="parameters" element="tns:PsuInfoResponse" />
  </WSDL:message>
  <WSDL:message name="PsuType">
    <WSDL:part name="parameters" element="tns:PsuType" />
  </WSDL:message>
  <WSDL:message name="PsuTypeResponse">
    <WSDL:part name="parameters" element="tns:PsuTypeResponse" />
  </WSDL:message>
  <WSDL:message name="AttenGetAttenuation">
    <WSDL:part name="parameters" element="tns:AttenGetAttenuation" />
  </WSDL:message>
  <WSDL:message name="AttenGetAttenuationResponse">
    <WSDL:part name="parameters" element="tns:AttenGetAttenuationResponse" />
  </WSDL:message>
  <WSDL:message name="AttenInfo">
    <WSDL:part name="parameters" element="tns:AttenInfo" />
  </WSDL:message>
  <WSDL:message name="AttenInfoResponse">
    <WSDL:part name="parameters" element="tns:AttenInfoResponse" />
  </WSDL:message>
  <WSDL:message name="AttenPadValue">
    <WSDL:part name="parameters" element="tns:AttenPadValue" />
  </WSDL:message>
  <WSDL:message name="AttenPadValueResponse">
    <WSDL:part name="parameters" element="tns:AttenPadValueResponse" />
  </WSDL:message>
  <WSDL:message name="AttenSetAttenuation">
    <WSDL:part name="parameters" element="tns:AttenSetAttenuation" />
  </WSDL:message>
  <WSDL:message name="AttenSetAttenuationResponse">
    <WSDL:part name="parameters" element="tns:AttenSetAttenuationResponse" />
  </WSDL:message>
  <WSDL:message name="AttenType">
    <WSDL:part name="parameters" element="tns:AttenType" />
  </WSDL:message>
  <WSDL:message name="AttenTypeResponse">
    <WSDL:part name="parameters" element="tns:AttenTypeResponse" />
  </WSDL:message>
  <WSDL:message name="ReadCal">
    <WSDL:part name="parameters" element="tns:ReadCal" />
  </WSDL:message>
  <WSDL:message name="ReadCalResponse">
    <WSDL:part name="parameters" element="tns:ReadCalResponse" />
  </WSDL:message>
  <WSDL:message name="ReadCalDate">
    <WSDL:part name="parameters" element="tns:ReadCalDate" />
  </WSDL:message>
  <WSDL:message name="ReadCalDateResponse">
    <WSDL:part name="parameters" element="tns:ReadCalDateResponse" />
  </WSDL:message>
  <WSDL:message name="ReadCalFP">
    <WSDL:part name="parameters" element="tns:ReadCalFP" />
  </WSDL:message>
  <WSDL:message name="ReadCalFPResponse">
    <WSDL:part name="parameters" element="tns:ReadCalFPResponse" />
  </WSDL:message>
  <WSDL:message name="SetCalPoint">
    <WSDL:part name="parameters" element="tns:SetCalPoint" />
  </WSDL:message>
  <WSDL:message name="SetCalPointResponse">
    <WSDL:part name="parameters" element="tns:SetCalPointResponse" />
  </WSDL:message>
  <WSDL:message name="WriteCal">
    <WSDL:part name="parameters" element="tns:WriteCal" />
  </WSDL:message>
  <WSDL:message name="WriteCalResponse">
    <WSDL:part name="parameters" element="tns:WriteCalResponse" />
  </WSDL:message>
  <WSDL:message name="WriteCalDate">
    <WSDL:part name="parameters" element="tns:WriteCalDate" />
  </WSDL:message>
  <WSDL:message name="WriteCalDateResponse">
    <WSDL:part name="parameters" element="tns:WriteCalDateResponse" />
  </WSDL:message>
  <WSDL:message name="WriteCalFP">
    <WSDL:part name="parameters" element="tns:WriteCalFP" />
  </WSDL:message>
  <WSDL:message name="WriteCalFPResponse">
    <WSDL:part name="parameters" element="tns:WriteCalFPResponse" />
  </WSDL:message>
  <WSDL:message name="ResGetResistance">
    <WSDL:part name="parameters" element="tns:ResGetResistance" />
  </WSDL:message>
  <WSDL:message name="ResGetResistanceResponse">
    <WSDL:part name="parameters" element="tns:ResGetResistanceResponse" />
  </WSDL:message>
  <WSDL:message name="ResSetResistance">
    <WSDL:part name="parameters" element="tns:ResSetResistance" />
  </WSDL:message>
  <WSDL:message name="ResSetResistanceResponse">
    <WSDL:part name="parameters" element="tns:ResSetResistanceResponse" />
  </WSDL:message>
  <WSDL:message name="ResInfo">
    <WSDL:part name="parameters" element="tns:ResInfo" />
  </WSDL:message>
  <WSDL:message name="ResInfoResponse">
    <WSDL:part name="parameters" element="tns:ResInfoResponse" />
  </WSDL:message>
  <WSDL:message name="BattSetVoltage">
    <WSDL:part name="parameters" element="tns:BattSetVoltage" />
  </WSDL:message>
  <WSDL:message name="BattSetVoltageResponse">
    <WSDL:part name="parameters" element="tns:BattSetVoltageResponse" />
  </WSDL:message>
  <WSDL:message name="BattGetVoltage">
    <WSDL:part name="parameters" element="tns:BattGetVoltage" />
  </WSDL:message>
  <WSDL:message name="BattGetVoltageResponse">
    <WSDL:part name="parameters" element="tns:BattGetVoltageResponse" />
  </WSDL:message>
  <WSDL:message name="BattSetCurrent">
    <WSDL:part name="parameters" element="tns:BattSetCurrent" />
  </WSDL:message>
  <WSDL:message name="BattSetCurrentResponse">
    <WSDL:part name="parameters" element="tns:BattSetCurrentResponse" />
  </WSDL:message>
  <WSDL:message name="BattGetCurrent">
    <WSDL:part name="parameters" element="tns:BattGetCurrent" />
  </WSDL:message>
  <WSDL:message name="BattGetCurrentResponse">
    <WSDL:part name="parameters" element="tns:BattGetCurrentResponse" />
  </WSDL:message>
  <WSDL:message name="BattSetEnable">
    <WSDL:part name="parameters" element="tns:BattSetEnable" />
  </WSDL:message>
  <WSDL:message name="BattSetEnableResponse">
    <WSDL:part name="parameters" element="tns:BattSetEnableResponse" />
  </WSDL:message>
  <WSDL:message name="BattGetEnable">
    <WSDL:part name="parameters" element="tns:BattGetEnable" />
  </WSDL:message>
  <WSDL:message name="BattGetEnableResponse">
    <WSDL:part name="parameters" element="tns:BattGetEnableResponse" />
  </WSDL:message>
  <WSDL:message name="BattReadInterlockState">
    <WSDL:part name="parameters" element="tns:BattReadInterlockState" />
  </WSDL:message>
  <WSDL:message name="BattReadInterlockStateResponse">
    <WSDL:part name="parameters" element="tns:BattReadInterlockStateResponse" />
  </WSDL:message>
  <WSDL:message name="VsourceSetRange">
    <WSDL:part name="parameters" element="tns:VsourceSetRange" />
  </WSDL:message>
  <WSDL:message name="VsourceSetRangeResponse">
    <WSDL:part name="parameters" element="tns:VsourceSetRangeResponse" />
  </WSDL:message>
  <WSDL:message name="VsourceGetRange">
    <WSDL:part name="parameters" element="tns:VsourceGetRange" />
  </WSDL:message>
  <WSDL:message name="VsourceGetRangeResponse">
    <WSDL:part name="parameters" element="tns:VsourceGetRangeResponse" />
  </WSDL:message>
  <WSDL:message name="VsourceSetVoltage">
    <WSDL:part name="parameters" element="tns:VsourceSetVoltage" />
  </WSDL:message>
  <WSDL:message name="VsourceSetVoltageResponse">
    <WSDL:part name="parameters" element="tns:VsourceSetVoltageResponse" />
  </WSDL:message>
  <WSDL:message name="VsourceGetVoltage">
    <WSDL:part name="parameters" element="tns:VsourceGetVoltage" />
  </WSDL:message>
  <WSDL:message name="VsourceGetVoltageResponse">
    <WSDL:part name="parameters" element="tns:VsourceGetVoltageResponse" />
  </WSDL:message>
  <WSDL:message name="VsourceSetEnable">
    <WSDL:part name="parameters" element="tns:VsourceSetEnable" />
  </WSDL:message>
  <WSDL:message name="VsourceSetEnableResponse">
    <WSDL:part name="parameters" element="tns:VsourceSetEnableResponse" />
  </WSDL:message>
  <WSDL:message name="VsourceGetEnable">
    <WSDL:part name="parameters" element="tns:VsourceGetEnable" />
  </WSDL:message>
  <WSDL:message name="VsourceGetEnableResponse">
    <WSDL:part name="parameters" element="tns:VsourceGetEnableResponse" />
  </WSDL:message>
  <WSDL:message name="ErrorCodeToMessage">
    <WSDL:part name="parameters" element="tns:ErrorCodeToMessage" />
  </WSDL:message>
  <WSDL:message name="ErrorCodeToMessageResponse">
    <WSDL:part name="parameters" element="tns:ErrorCodeToMessageResponse" />
  </WSDL:message>
  <WSDL:message name="PiCardsHeader">
    <WSDL:part name="CardLocation" element="tns:CardLocation" />
  </WSDL:message>
  <WSDL:portType name="PiCardsPortType">
    <WSDL:operation name="CardId">
      <documentation>obtains the identification string of the specified card.</documentation>
      <WSDL:input message="tns:CardId" />
      <WSDL:output message="tns:CardIdResponse" />
    </WSDL:operation>
    <WSDL:operation name="ClosureLimit">
      <documentation>obtains the maximum number of switches that may be activated simultaneously in the specified sub-unit.</documentation>
      <WSDL:input message="tns:ClosureLimit" />
      <WSDL:output message="tns:ClosureLimitResponse" />
    </WSDL:operation>
    <WSDL:operation name="CardOpsCount">
      <documentation>returns count of switched relays from operation system start.</documentation>
      <WSDL:input message="tns:CardOpsCount" />
      <WSDL:output message="tns:CardOpsCountResponse" />
    </WSDL:operation>
    <WSDL:operation name="CountFreeCards">
      <documentation>obtains the number of installed cards that are operable by the Pilpxi driver but are not currently opened by it.</documentation>
      <WSDL:input message="tns:CountFreeCards" />
      <WSDL:output message="tns:CountFreeCardsResponse" />
    </WSDL:operation>
    <WSDL:operation name="Diagnostic">
      <documentation>obtains the diagnostic string of the specified card, giving expanded information on any fault conditons.</documentation>
      <WSDL:input message="tns:Diagnostic" />
      <WSDL:output message="tns:DiagnosticResponse" />
    </WSDL:operation>
    <WSDL:operation name="EnumerateSubs">
      <documentation>obtains the numbers of input and output sub-units implemented on the specified card.</documentation>
      <WSDL:input message="tns:EnumerateSubs" />
      <WSDL:output message="tns:EnumerateSubsResponse" />
    </WSDL:operation>
    <WSDL:operation name="FindFreeCards">
      <documentation>obtains the logical bus and slot locations of installed cards that are operable by the Pilpxi driver and are currently unopened.</documentation>
      <WSDL:input message="tns:FindFreeCards" />
      <WSDL:output message="tns:FindFreeCardsResponse" />
    </WSDL:operation>
    <WSDL:operation name="SettleTime">
      <documentation>obtains a sub-unit's settling time (the period taken for its switches to stabilise).</documentation>
      <WSDL:input message="tns:SettleTime" />
      <WSDL:output message="tns:SettleTimeResponse" />
    </WSDL:operation>
    <WSDL:operation name="Status">
      <documentation>obtains the current status flags for the specified card.</documentation>
      <WSDL:input message="tns:Status" />
      <WSDL:output message="tns:StatusResponse" />
    </WSDL:operation>
    <WSDL:operation name="SubAttribute">
      <documentation>obtains the value of a sub-unit attribute.</documentation>
      <WSDL:input message="tns:SubAttribute" />
      <WSDL:output message="tns:SubAttributeResponse" />
    </WSDL:operation>
    <WSDL:operation name="SubInfo">
      <documentation>obtains a description of a sub-unit, as numeric values.</documentation>
      <WSDL:input message="tns:SubInfo" />
      <WSDL:output message="tns:SubInfoResponse" />
    </WSDL:operation>
    <WSDL:operation name="SubStatus">
      <documentation>obtains the current status flags for the specified output sub-unit.</documentation>
      <WSDL:input message="tns:SubStatus" />
      <WSDL:output message="tns:SubStatusResponse" />
    </WSDL:operation>
    <WSDL:operation name="SubType">
      <documentation>obtains a description of a sub-unit, as a text string.</documentation>
      <WSDL:input message="tns:SubType" />
      <WSDL:output message="tns:SubTypeResponse" />
    </WSDL:operation>
    <WSDL:operation name="Version">
      <documentation>obtains the driver version code.</documentation>
      <WSDL:input message="tns:Version" />
      <WSDL:output message="tns:VersionResponse" />
    </WSDL:operation>
    <WSDL:operation name="ClearAll">
      <documentation>clears (de-energises or sets to logic '0') all outputs of all sub-units of every open Pickering card.</documentation>
      <WSDL:input message="tns:ClearAll" />
      <WSDL:output message="tns:ClearAllResponse" />
    </WSDL:operation>
    <WSDL:operation name="ClearCard">
      <documentation>clears (de-energises or sets to logic '0') all outputs of all sub-units of the specified Pickering card.</documentation>
      <WSDL:input message="tns:ClearCard" />
      <WSDL:output message="tns:ClearCardResponse" />
    </WSDL:operation>
    <WSDL:operation name="ClearSub">
      <documentation>clears (de-energises or sets to logic '0') all outputs of a sub-unit.</documentation>
      <WSDL:input message="tns:ClearSub" />
      <WSDL:output message="tns:ClearSubResponse" />
    </WSDL:operation>
    <WSDL:operation name="OpBit">
      <documentation>operate a single output channel or bit.</documentation>
      <WSDL:input message="tns:OpBit" />
      <WSDL:output message="tns:OpBitResponse" />
    </WSDL:operation>
    <WSDL:operation name="ViewBit">
      <documentation>obtains the state of an individual output.</documentation>
      <WSDL:input message="tns:ViewBit" />
      <WSDL:output message="tns:ViewBitResponse" />
    </WSDL:operation>
    <WSDL:operation name="ViewSub">
      <documentation>obtains the state of all outputs of a sub-unit. The result fills the number of least significant bits corresponding to the size of the sub-unit.</documentation>
      <WSDL:input message="tns:ViewSub" />
      <WSDL:output message="tns:ViewSubResponse" />
    </WSDL:operation>
    <WSDL:operation name="WriteSub">
      <documentation>sets all outputs of a sub-unit to the supplied bit-pattern. The number of least significant bits corresponding to the size of the sub-unit are written.</documentation>
      <WSDL:input message="tns:WriteSub" />
      <WSDL:output message="tns:WriteSubResponse" />
    </WSDL:operation>
    <WSDL:operation name="ReadBit">
      <documentation>obtains the state of an individual input.</documentation>
      <WSDL:input message="tns:ReadBit" />
      <WSDL:output message="tns:ReadBitResponse" />
    </WSDL:operation>
    <WSDL:operation name="ReadSub">
      <documentation>obtains the current state of all inputs of a sub-unit.</documentation>
      <WSDL:input message="tns:ReadSub" />
      <WSDL:output message="tns:ReadSubResponse" />
    </WSDL:operation>
    <WSDL:operation name="ClearMask">
      <documentation>clears a sub-unit's switch mask, enabling operation of all outputs by the OpBit, OpCrosspoint and WriteSub functions.</documentation>
      <WSDL:input message="tns:ClearMask" />
      <WSDL:output message="tns:ClearMaskResponse" />
    </WSDL:operation>
    <WSDL:operation name="MaskBit">
      <documentation>Service definition of function ns__MaskBit</documentation>
      <WSDL:input message="tns:MaskBit" />
      <WSDL:output message="tns:MaskBitResponse" />
    </WSDL:operation>
    <WSDL:operation name="MaskCrosspoint">
      <documentation>mask or unmask a single matrix crosspoint.</documentation>
      <WSDL:input message="tns:MaskCrosspoint" />
      <WSDL:output message="tns:MaskCrosspointResponse" />
    </WSDL:operation>
    <WSDL:operation name="OpCrosspoint">
      <documentation>operate a single matrix crosspoint.</documentation>
      <WSDL:input message="tns:OpCrosspoint" />
      <WSDL:output message="tns:OpCrosspointResponse" />
    </WSDL:operation>
    <WSDL:operation name="OpSwitch">
      <documentation>this function obtains, and optionally sets, the state of a switch.</documentation>
      <WSDL:input message="tns:OpSwitch" />
      <WSDL:output message="tns:OpSwitchResponse" />
    </WSDL:operation>
    <WSDL:operation name="ViewCrosspoint">
      <documentation>obtains the state of an individual matrix crosspoint.</documentation>
      <WSDL:input message="tns:ViewCrosspoint" />
      <WSDL:output message="tns:ViewCrosspointResponse" />
    </WSDL:operation>
    <WSDL:operation name="ViewMask">
      <documentation>obtains the switch mask of a sub-unit. The result fills the number of least significant bits corresponding to the size of the sub-unit.</documentation>
      <WSDL:input message="tns:ViewMask" />
      <WSDL:output message="tns:ViewMaskResponse" />
    </WSDL:operation>
    <WSDL:operation name="ViewMaskBit">
      <documentation>obtains the state of an individual output's mask.</documentation>
      <WSDL:input message="tns:ViewMaskBit" />
      <WSDL:output message="tns:ViewMaskBitResponse" />
    </WSDL:operation>
    <WSDL:operation name="ViewMaskCrosspoint">
      <documentation>obtains the state of an individual matrix crosspoint's mask.</documentation>
      <WSDL:input message="tns:ViewMaskCrosspoint" />
      <WSDL:output message="tns:ViewMaskCrosspointResponse" />
    </WSDL:operation>
    <WSDL:operation name="WriteMask">
      <documentation>sets a sub-unit's switch mask to the supplied bit-pattern.</documentation>
      <WSDL:input message="tns:WriteMask" />
      <WSDL:output message="tns:WriteMaskResponse" />
    </WSDL:operation>
    <WSDL:operation name="PsuEnable">
      <documentation>enables or disables a power supply's output.</documentation>
      <WSDL:input message="tns:PsuEnable" />
      <WSDL:output message="tns:PsuEnableResponse" />
    </WSDL:operation>
    <WSDL:operation name="PsuGetVoltage">
      <documentation>obtains the voltage setting of a power supply sub-unit.</documentation>
      <WSDL:input message="tns:PsuGetVoltage" />
      <WSDL:output message="tns:PsuGetVoltageResponse" />
    </WSDL:operation>
    <WSDL:operation name="PsuSetVoltage">
      <documentation>obtains the voltage setting of a power supply sub-unit.</documentation>
      <WSDL:input message="tns:PsuSetVoltage" />
      <WSDL:output message="tns:PsuSetVoltageResponse" />
    </WSDL:operation>
    <WSDL:operation name="PsuInfo">
      <documentation>obtains a description of a power supply sub-unit, as numeric values.</documentation>
      <WSDL:input message="tns:PsuInfo" />
      <WSDL:output message="tns:PsuInfoResponse" />
    </WSDL:operation>
    <WSDL:operation name="PsuType">
      <documentation>obtains a description of a power supply sub-unit, as text string.</documentation>
      <WSDL:input message="tns:PsuType" />
      <WSDL:output message="tns:PsuTypeResponse" />
    </WSDL:operation>
    <WSDL:operation name="AttenGetAttenuation">
      <documentation>obtains the current attenuation setting.</documentation>
      <WSDL:input message="tns:AttenGetAttenuation" />
      <WSDL:output message="tns:AttenGetAttenuationResponse" />
    </WSDL:operation>
    <WSDL:operation name="AttenInfo">
      <documentation>obtains a description of an RF attenuator sub-unit, as numeric values.</documentation>
      <WSDL:input message="tns:AttenInfo" />
      <WSDL:output message="tns:AttenInfoResponse" />
    </WSDL:operation>
    <WSDL:operation name="AttenPadValue">
      <documentation>obtains the attenuation value of a numbered pad.</documentation>
      <WSDL:input message="tns:AttenPadValue" />
      <WSDL:output message="tns:AttenPadValueResponse" />
    </WSDL:operation>
    <WSDL:operation name="AttenSetAttenuation">
      <documentation>sets the attenuation to the specified value.</documentation>
      <WSDL:input message="tns:AttenSetAttenuation" />
      <WSDL:output message="tns:AttenSetAttenuationResponse" />
    </WSDL:operation>
    <WSDL:operation name="AttenType">
      <documentation>obtains a description of an attenuator sub-unit, as a text string.</documentation>
      <WSDL:input message="tns:AttenType" />
      <WSDL:output message="tns:AttenTypeResponse" />
    </WSDL:operation>
    <WSDL:operation name="ReadCal">
      <documentation>reads a 16-bit calibration value from on-card EEPROM.</documentation>
      <WSDL:input message="tns:ReadCal" />
      <WSDL:output message="tns:ReadCalResponse" />
    </WSDL:operation>
    <WSDL:operation name="ReadCalDate">
      <documentation>reads a sub-unit's calibration date and interval from on-card EEPROM.</documentation>
      <WSDL:input message="tns:ReadCalDate" />
      <WSDL:output message="tns:ReadCalDateResponse" />
    </WSDL:operation>
    <WSDL:operation name="ReadCalFP">
      <documentation>reads one or more floating-point calibration values from on-card EEPROM.</documentation>
      <WSDL:input message="tns:ReadCalFP" />
      <WSDL:output message="tns:ReadCalFPResponse" />
    </WSDL:operation>
    <WSDL:operation name="SetCalPoint">
      <documentation>sets a sub-unit to a state corresponding to one of its defined calibration points.</documentation>
      <WSDL:input message="tns:SetCalPoint" />
      <WSDL:output message="tns:SetCalPointResponse" />
    </WSDL:operation>
    <WSDL:operation name="WriteCal">
      <documentation>writes a 16-bit calibration value to on-card EEPROM.</documentation>
      <WSDL:input message="tns:WriteCal" />
      <WSDL:output message="tns:WriteCalResponse" />
    </WSDL:operation>
    <WSDL:operation name="WriteCalDate">
      <documentation>writes a sub-unit's calibration date and interval into on-card EEPROM. Date information is obtained from the current system date.</documentation>
      <WSDL:input message="tns:WriteCalDate" />
      <WSDL:output message="tns:WriteCalDateResponse" />
    </WSDL:operation>
    <WSDL:operation name="WriteCalFP">
      <documentation>writes one or more floating-point calibration values into on-card EEPROM.</documentation>
      <WSDL:input message="tns:WriteCalFP" />
      <WSDL:output message="tns:WriteCalFPResponse" />
    </WSDL:operation>
    <WSDL:operation name="ResGetResistance">
      <documentation>obtains the current resistance setting of the specified programmable resistor. This function is only usable with programmable resistor models that support it, such as 40-260-001.</documentation>
      <WSDL:input message="tns:ResGetResistance" />
      <WSDL:output message="tns:ResGetResistanceResponse" />
    </WSDL:operation>
    <WSDL:operation name="ResSetResistance">
      <documentation>sets a programmable resistor to the closest available setting to the value specified. This function is only usable with programmable resistor models that support it, such as 40-260-001.</documentation>
      <WSDL:input message="tns:ResSetResistance" />
      <WSDL:output message="tns:ResSetResistanceResponse" />
    </WSDL:operation>
    <WSDL:operation name="ResInfo">
      <documentation>obtains detailed information on a programmable resistor sub-unit.</documentation>
      <WSDL:input message="tns:ResInfo" />
      <WSDL:output message="tns:ResInfoResponse" />
    </WSDL:operation>
    <WSDL:operation name="BattSetVoltage">
      <documentation>sets the output of a battery simulator sub-unit(s).</documentation>
      <WSDL:input message="tns:BattSetVoltage" />
      <WSDL:output message="tns:BattSetVoltageResponse" />
    </WSDL:operation>
    <WSDL:operation name="BattGetVoltage">
      <documentation>obtains the voltage setting of a battery simulator sub-unit.</documentation>
      <WSDL:input message="tns:BattGetVoltage" />
      <WSDL:output message="tns:BattGetVoltageResponse" />
    </WSDL:operation>
    <WSDL:operation name="BattSetCurrent">
      <documentation>sets the output sink of a battery simulator sub-unit(s).</documentation>
      <WSDL:input message="tns:BattSetCurrent" />
      <WSDL:output message="tns:BattSetCurrentResponse" />
    </WSDL:operation>
    <WSDL:operation name="BattGetCurrent">
      <documentation>obtains the current sink setting of a battery simulator sub-unit.</documentation>
      <WSDL:input message="tns:BattGetCurrent" />
      <WSDL:output message="tns:BattGetCurrentResponse" />
    </WSDL:operation>
    <WSDL:operation name="BattSetEnable">
      <documentation>sets the output enable pattern of a battery simulator sub-unit(s).</documentation>
      <WSDL:input message="tns:BattSetEnable" />
      <WSDL:output message="tns:BattSetEnableResponse" />
    </WSDL:operation>
    <WSDL:operation name="BattGetEnable">
      <documentation>optains the output enable pattern of a battery simulator sub-unit.</documentation>
      <WSDL:input message="tns:BattGetEnable" />
      <WSDL:output message="tns:BattGetEnableResponse" />
    </WSDL:operation>
    <WSDL:operation name="BattReadInterlockState">
      <documentation>obtains the present state of a hardware interlock associated with battery simulator sub-unit(s).</documentation>
      <WSDL:input message="tns:BattReadInterlockState" />
      <WSDL:output message="tns:BattReadInterlockStateResponse" />
    </WSDL:operation>
    <WSDL:operation name="VsourceSetRange">
      <documentation>sets output voltage range of voltage source sub-unit.</documentation>
      <WSDL:input message="tns:VsourceSetRange" />
      <WSDL:output message="tns:VsourceSetRangeResponse" />
    </WSDL:operation>
    <WSDL:operation name="VsourceGetRange">
      <documentation>obtains the output voltage settings of range of voltage source sub-unit.</documentation>
      <WSDL:input message="tns:VsourceGetRange" />
      <WSDL:output message="tns:VsourceGetRangeResponse" />
    </WSDL:operation>
    <WSDL:operation name="VsourceSetVoltage">
      <documentation>sets the output voltage of voltage source sub-unit.</documentation>
      <WSDL:input message="tns:VsourceSetVoltage" />
      <WSDL:output message="tns:VsourceSetVoltageResponse" />
    </WSDL:operation>
    <WSDL:operation name="VsourceGetVoltage">
      <documentation>obtains the output voltage setting of a voltage source sub-unit.</documentation>
      <WSDL:input message="tns:VsourceGetVoltage" />
      <WSDL:output message="tns:VsourceGetVoltageResponse" />
    </WSDL:operation>
    <WSDL:operation name="VsourceSetEnable">
      <documentation>sets the output enable pattern of a voltage source sub-unit(s).</documentation>
      <WSDL:input message="tns:VsourceSetEnable" />
      <WSDL:output message="tns:VsourceSetEnableResponse" />
    </WSDL:operation>
    <WSDL:operation name="VsourceGetEnable">
      <documentation>optains the output enable pattern of a voltage source sub-unit.</documentation>
      <WSDL:input message="tns:VsourceGetEnable" />
      <WSDL:output message="tns:VsourceGetEnableResponse" />
    </WSDL:operation>
    <WSDL:operation name="ErrorCodeToMessage">
      <documentation>return eeror message of the error code.</documentation>
      <WSDL:input message="tns:ErrorCodeToMessage" />
      <WSDL:output message="tns:ErrorCodeToMessageResponse" />
    </WSDL:operation>
  </WSDL:portType>
  <WSDL:binding name="PiCards" type="tns:PiCardsPortType">
    <SOAP:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <WSDL:operation name="CardId">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ClosureLimit">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="CardOpsCount">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="CountFreeCards">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="Diagnostic">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="EnumerateSubs">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="FindFreeCards">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="SettleTime">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="Status">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="SubAttribute">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="SubInfo">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="SubStatus">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="SubType">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="Version">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ClearAll">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ClearCard">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ClearSub">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="OpBit">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ViewBit">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ViewSub">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="WriteSub">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ReadBit">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ReadSub">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ClearMask">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="MaskBit">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="MaskCrosspoint">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="OpCrosspoint">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="OpSwitch">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ViewCrosspoint">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ViewMask">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ViewMaskBit">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ViewMaskCrosspoint">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="WriteMask">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="PsuEnable">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="PsuGetVoltage">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="PsuSetVoltage">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="PsuInfo">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="PsuType">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="AttenGetAttenuation">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="AttenInfo">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="AttenPadValue">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="AttenSetAttenuation">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="AttenType">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ReadCal">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ReadCalDate">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ReadCalFP">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="SetCalPoint">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="WriteCal">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="WriteCalDate">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="WriteCalFP">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ResGetResistance">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ResSetResistance">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ResInfo">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="BattSetVoltage">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="BattGetVoltage">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="BattSetCurrent">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="BattGetCurrent">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="BattSetEnable">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="BattGetEnable">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="BattReadInterlockState">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="VsourceSetRange">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="VsourceGetRange">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="VsourceSetVoltage">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="VsourceGetVoltage">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="VsourceSetEnable">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="VsourceGetEnable">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
        <SOAP:header message="tns:PiCardsHeader" part="CardLocation" use="literal" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
    <WSDL:operation name="ErrorCodeToMessage">
      <SOAP:operation soapAction="" />
      <WSDL:input>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:input>
      <WSDL:output>
        <SOAP:body use="literal" parts="parameters" />
      </WSDL:output>
    </WSDL:operation>
  </WSDL:binding>
  <WSDL:service name="PiCards">
    <documentation>Web service for basic Pickering's cards like switches, resistor cards and digital I/O.</documentation>
    <WSDL:port name="PiCards" binding="tns:PiCards">
      <SOAP:address location="http://lxidevice/bin/PiCards" />
    </WSDL:port>
  </WSDL:service>
</WSDL:definitions>