ISIS Logo
lvDCOM
An EPICS support module to export LabVIEW values as process variables
lvDCOMinput.xsd

XML schema file for lvinput.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
########### SVN repository information ###################
# $LastChangedDate$
# $LastChangedBy$
# $LastChangedRevision$
# $HeadURL$
########### SVN repository information ###################
@file lvDCOMinput.xsd XML schema for lvDCOM configuration files
@author Freddie Akeroyd, STFC ISIS Facility, UK
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://epics.isis.rl.ac.uk/lvDCOMinput/1.0"
xmlns="http://epics.isis.rl.ac.uk/lvDCOMinput/1.0"
elementFormDefault="qualified">
<xs:element name="lvinput">
<xs:complexType>
<xs:sequence>
<xs:element ref="extint"/>
<xs:element ref="section"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!--
the exint Vi is an ISIS Vi that is used as a proxy Vi for "set" operations when extint="true" is specified below.
If your labview front panels are not "labview event driven" then you do not need to worry about this.
If, however, they are (i.e. you would require the "signalling" version of the setControlValue() method) then contact
ISIS computing group via "freddie.akeroyd at stfc.ac.uk"
path is parsed using EPICS macEnvExpand() and so can contain EPICS environment variables
-->
<xs:element name="extint">
<xs:complexType>
<xs:attribute name="path" use="required"/>
</xs:complexType>
</xs:element>
<!-- the section name will be mapped (via lvDCOMConfigure()) to an asyn driver port name that can then be specified in an EPICS record -->
<xs:element name="section">
<xs:complexType>
<xs:sequence>
<xs:element ref="vi"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="vi">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="param"/>
</xs:sequence>
<!-- path to LabVIEW vi file we are using, which is parsed using EPICS macEnvExpand() and so can contain EPICS environment variables -->
<xs:attribute name="path" use="required"/>
</xs:complexType>
</xs:element>
<!--
<param> defines as asyn driver parameter that can be specified in an epics record to access data on the labview Vi. The <set>
and <read> items specify the name of the appropriate control/indicator on the LabVIEW Vi to access for these
operations. The "method" attribute controls the underlying method by which the new value is communicated,
currently only "GCV" for reads (use DCOM exposed getControlValue()) and "SCV" for sets (use DCOM exposed setControlValue())
are supported. The meaning and use of the extint attribute has been covered earlier above.
-->
<xs:element name="param">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="items"/>
<xs:element ref="read"/>
<xs:element minOccurs="0" ref="set"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<!-- optionally push a button control either after a set or before a read
{pre,post}_button
{pre,post}_button_wait controls whether you should wait for the button to "pop back" before continuing (i.e. false -> true -> false sequence)
{pre,post}_button_delay is a delay (ms) to wait after pushing button before doing a read
-->
<xs:element name="read">
<xs:complexType>
<xs:attribute name="method" use="required" type="xs:NCName"/>
<xs:attribute name="pre_button"/>
<xs:attribute name="pre_button_delay" type="xs:integer"/>
<xs:attribute name="pre_button_wait" type="xs:boolean"/>
<xs:attribute name="target" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="set">
<xs:complexType>
<xs:attribute name="extint" use="required" type="xs:boolean"/>
<xs:attribute name="method" use="required" type="xs:NCName"/>
<xs:attribute name="post_button"/>
<xs:attribute name="post_button_wait" type="xs:boolean"/>
<xs:attribute name="target" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="items">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="item" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:attribute name="name" use="required"/>
<xs:attribute name="value" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Copyright © 2013 Science and Technology Facilities Council | Generated by   doxygen 1.8.5