ISIS Logo
lvDCOM
An EPICS support module to export LabVIEW values as process variables
lvinput.xml

An lvDOM configuration file, loaded via lvDCOMConfigure() from st.cmd. This file specifies the mapping from Asyn port name and associated driver parameters (used in example.db) -> LabVIEW front panel control/indicator. An initial version of this file can be generated from controls.xml via the XSLT stylesheet lvstrings2input.xsl. This configuration file can also be used to generate an initial set of EPICS DB records example.db via the XSLT stylesheet lvinput2db.xsl

<?xml version="1.0" encoding="UTF-8"?>
<!-- <?xml-stylesheet type="text/xsl" href="lvinput_format.xsl" ?> -->
<!--
@file lvinput.xml Example lvDCOM driver configuration file. Loaded at IOC boot time in @link st.cmd @endlink via e.g.
lvDCOMConfigure("ex1", "frontpanel", "$(TOP)/exampleApp/src/lvinput.xml", "", 6)
@author Freddie Akeroyd, STFC ISIS facility, UK (freddie.akeroyd at stfc.ac.uk)
$LastChangedRevision$:
$LastChangedBy$:
$LastChangedDate$:
$HeadURL$:
Note: you can generate an initial version of one of these configuartion files, and associated EPICS DB records,
using the supplied xslt files - see README.txt for details
-->
<lvinput
xmlns="http://epics.isis.rl.ac.uk/lvDCOMinput/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://epics.isis.rl.ac.uk/lvDCOMinput/1.0 ../../lvDCOMApp/src/lvDCOMinput.xsd">
<!--
the exint Vi is an ISIS Vi that is used as a proxy 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 you
need to set the extint attribute to "true" on the relevant <set /> tags
The path is parsed using EPICS macEnvExpand() and so can contain EPICS environment variables
-->
<extint path="$(TOP)/lvDCOMApp/src/extint/Main/Library/External Interface - Set Value.vi" />
<!-- this name will be mapped (via lvDCOMConfigure()) to an asyn driver port name that can then be specified in an EPICS record -->
<section name="frontpanel">
<!-- path to LabVIEW vi file we are using, which is parsed using EPICS macEnvExpand() and so can contain EPICS environment variables -->
<vi path="$(TOP)/exampleApp/src/example.vi">
<!--
<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.
If you need a LabVIEW event triggered when the control is written to, use extint="true" with <set />,
otherwise use extint="false"
-->
<param name="cont1" type="float64">
<read method="GCV" target="Some Control" />
<set method="SCV" extint="true" target="Some Control" />
</param>
<param name="ind1" type="int32">
<read method="GCV" target="Some Indicator" />
<!--set method="SCV" extint="false" target="Some Indicator" /-->
</param>
<param name="strcont1" type="string">
<read method="GCV" target="Some String" />
<set method="SCV" extint="false" target="Some String" />
</param>
<param name="arrayind1" type="float64array">
<read method="GCV" target="Some Array" />
<!--set method="SCV" extint="false" target="Some Array" /-->
</param>
<!-- 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
-->
<param name="cont2" type="float64">
<read method="GCV" target="Some Control" />
<set method="SCV" extint="true" target="Some Control" post_button="Some Button" post_button_wait="true" />
</param>
<param name="ind2" type="int32">
<read method="GCV" target="Some Indicator" pre_button="Some Button" pre_button_wait="true" pre_button_delay="10" />
<!--set method="SCV" extint="false" target="Some Indicator" /-->
</param>
</vi>
</section>
</lvinput>
Copyright © 2013 Science and Technology Facilities Council | Generated by   doxygen 1.8.5