Custom Device XML Tags
- Updated2025-04-08
- 8 minute(s) read
XML tags define settings for a custom device.
For
an example of how to implement tags in your XML file, refer to the pre-built custom
device XML files that install with VeriStand.
Caution Do not directly edit
the contents of the included Custom Device XML files. Edits to the file can break
the custom devices.
The following table displays the XML tags you can use in a custom device XML file.
Element | Required? | Element type | Min/Max occurrences | Description | ||
---|---|---|---|---|---|---|
<CustomDevice> | Yes | complex | 1/1 | Opening tag for a custom device definition. | ||
<XSDVersion> | No | VersionType | 0/1 | Specifies the version of the Custom Device.xsd file the XML is using. The version must match the version of VeriStand you are using. | ||
>> <AddMenu> | Yes | LocString | 1/1 | Specifies the device name to display in the shortcut menu when an operator right-clicks the Custom Devices node in System Explorer. | ||
>> <Dependency> | No | Dependency | 0/1 | Specifies the path to a dependency file, such as a DLL or VI, that the custom device requires and that you want to deploy to the target along with the custom device. | ||
>> <Version> | Yes | xs:string | 1/1 | Specifies version information for the custom device. | ||
>> <Type> | Yes | xs:string | 1/1 |
Specifies the device type or execution mode of the
custom device:
|
||
>> <MaxOccurrence> | Yes | xs:int | 1/1 | Specifies the maximum number of instances of the custom device to allow in a system definition file. | ||
>> <MainPageGUID> | Yes | xs:string | 1/1 | Specifies the GUID of the configuration page to associate with the top-level custom device item. | ||
>> <TimingSource> | No | complex | 0/1 | Configures a custom timing source for the Primary Control Loop. | ||
>>> <HasTimingSourceCapability> | Yes* | xs:boolean | 1/1 | Enables or disables the use of the timing source VI you specify as the timing source for the Primary Control Loop. | ||
>>> <Paths> | No | complex | 1/1 | These elements are obsolete. Use <SourceDistribution> instead. | ||
>>>> <Source> | Yes* | Path | 1/1 | |||
>>>> <RealTimeSystemDestination> | Yes* | xs:string | 1/1 | |||
>>> <SourceDistribution> | No | complex | 0/1 | Contains information about the source distribution for the timing source VI. | ||
>>>> <Source> | Yes* | complex | 1/unbounded | Contains information about the files in the source distribution. | ||
>>>>> <SupportedTarget> | Yes* | Target | 1/unbounded | Specifies the target operating system(s) on which the custom device runs. | ||
>>>>> <Location> | Yes* | Path | 1/1 | Specifies the location of the timing source VI on the host computer. | ||
>>>>> <RealTimeSystemDestination> | Yes* | xs:string | 1/1 | Specifies the destination path for the timing source VI on the target. | ||
>>>>> <Version> | No | xs:string | 0/1 | Specifies version information for the source distribution. | ||
>> <InitializationVI> | Yes | complex | 1/1 | Contains information about the Initialization VI that runs when you add the custom device to the system definition file. | ||
>>> <Type> | Yes | xs:string | 1/1 |
Specifies how the VI runs:
|
||
>>> <Execution> | No | xs:string | 1/1 |
Specifies additional information about the execution of the VI:
|
||
>>> <Position> | No | xs:string | 1/1 |
Specifies where to position the front panel window, if displayed,
on VI launch:
|
||
>>> <Item2Launch> | Yes | Path | 1/1 | Specifies the VI to launch as the Initialization VI. | ||
>> <CustomDeviceVI> | Yes | complex | 1/1 | Contains information about the RT Driver VI that runs on the target. | ||
>>> <Source> | No | Path | 0/1 | These elements are obsolete. Use <SourceDistribution> instead. | ||
>>> <RealTimeSystemDestination> | No | xs:string | 0/1 | |||
>>> <SourceDistribution> | No | complex | 0/1 | Contains information about the source distribution for the RT driver VI. | ||
>>>> <Source> | Yes* | complex | 1/unbounded | Contains information about the files in the source distribution. | ||
>>>>> <SupportedTarget> | Yes* | Target | 1/unbounded | Specifies the target operating system(s) on which the custom device runs. | ||
>>>>> <Source> | Yes* | Path | 1/1 | Specifies the location of the RT driver VI on the host computer. | ||
>>>>> <RealTimeSystemDestination> | Yes* | xs:string | 1/1 | Specifies the destination path for the RT driver VI on the target. | ||
>> <Dependencies> | Yes | complex | 1/1 | Contains information about dependencies of the custom device. | ||
>>> <Dependency> | No | complex | 0/unbounded | Contains information about a specific dependency. | ||
>>>> <SupportedTarget> | No | Target | 0/1 | Specifies the target operating system(s) on which the custom device runs. | ||
>>>> <Source> | Yes* | Path | 1/1 | Specifies the location of the dependency on the host computer. | ||
>>>> <RealTimeSystemDestination> | Yes* | xs:string | 1/1 | Specifies the destination path for the dependency on the target. | ||
>>>> <ForceDownload> | No | xs:boolean | 0/1 | Specifies whether to force the download of the dependency. | ||
>>>> <Version> | No | xs:string | 0/1 | Specifies version information for the dependency. | ||
>> <Pages> | Yes | complex | 1/1 | Contains information about System Explorer configuration pages associated with the custom device. | ||
>>> <Page> | Yes | complex | 1/unbounded | Contains information about a specific page. | ||
>>>> <Name> | Yes | LocString | 1/1 | Specifies the name of the page. | ||
>>>> <DisallowRenaming> | No | xs:boolean | 0/1 | Disallows renaming of the item with which the page is associated. | ||
>>>> <DeleteProtection> | No | xs:boolean | 0/1 | Disallows deleting the item with which the page is associated. | ||
>>>> <AllowMultiSelection> | No | xs:boolean | 0/1 | Allows an operator to select the item with which the page is associated during a multi-select operation. | ||
>>>> <ExcludeFromAlphabeticalOrder> | No | xs:boolean | 0/1 | Excludes a page's children from any alphabetical sorting operations. | ||
>>>> <Copy> | No | xs:string | 0/1 |
Configures copying of the item:
|
||
>>>> <Paste> | No | xs:string | 0/1 |
Configures pasting of the item:
|
||
>>>> <ParentGUIDs> | No | complex | 0/1 | Contains information about the GUIDs of possible parent items. When <Paste> is CreateIfNotExists_GUID, VeriStand checks any GUIDs listed here in addition to the page GUID. | ||
>>>>> <ParentGUID> | No | xs:string | 0/unbounded | Specifies the GUID of a parent item. | ||
>>>> <GUID> | Yes | xs:string | 1/1 | Specifies the page GUID. | ||
>>>> <Glyph> | Yes | Path | 1/1 | Specifies the default icon that appears next to the item in System Explorer. | ||
>>>> <InactiveGlyph> | No | Path | 0/1 | Specifies the icon that appears next to the item in System Explorer when the item is inactive. | ||
>>>> <BrokenGlyph> | No | Path | 0/1 | Specifies the icon that appears next to the item in System Explorer when the item is broken. | ||
>>>> <Item2Launch> | Yes | Path | 1/1 | Specifies the VI to launch as the page. | ||
>>>> <RunTimeMenu> | No | complex | 0/1 | Contains information about the shortcut menu an operator can access by right-clicking the item at run time. | ||
>>>>> <MenuItem> | Yes* | complex | 1/unbounded | Contains information about a specific shortcut menu item. | ||
>>>>>> <GUID> | Yes* | xs:string | 1/1 | Specifies the GUID for the menu item. | ||
>>>>>> <Type> | Yes* | xs:string | 1/1 |
Specifies the type of the menu item:
|
||
>>>>>> <Execution> | No | xs:string | 0/1 |
Specifies additional information about the execution of the VI
associated with the menu item.
|
||
>>>>>> <Position> | No | xs:string | 0/1 |
Specifies where to position the front panel window, if displayed,
on VI launch.
|
||
>>>>>> <Behavior> | No | xs:string | 0/1 | Specifies whether the menu item does nothing (None) or launches a VI (OpenFrontPanel). | ||
>>>>>> <MinNrOfChilds> | No | xs:int | 0/1 | Specifies a minimum number of children for the menu item. | ||
>>>>>> <Name> | Yes* | LocString | 1/1 | Specifies the name of the menu item. | ||
>>>>>> <Item2Launch> | Yes* | Path | 1/1 | Specifies the VI to launch when an operator selects the menu item. | ||
>>>>>> <Dependency> | No | Dependency | 0/1 | Specifies the path to a dependency file. | ||
>>>>>> <CustomPopulation> | No | Path | 0/1 | Specifies a file to associate with the menu item if <Type> is Custom. | ||
>>>> <ButtonList> | No | complex | 0/1 | Contains information about buttons that appear in the System Explorer when an operator displays the page. | ||
>>>>> <Button> | Yes* | complex | 1/unbounded | Contains information about a specific button. | ||
>>>>>> <ID> | Yes* | xs:string | 1/1 | Specifies a unique ID to associate with the button. | ||
>>>>>> <Glyph> | Yes* | Path | 1/1 | Specifies the icon that appears on the button. | ||
>>>>>> <Type> | No | xs:string | 0/1 |
Specifies the type of the button:
|
||
>>>>>> <ReferencedGUID> | Yes | xs:string | 0/1 | Specifies a GUID to reference when an operator clicks the button. | ||
>>>>>> <ButtonText> | No | LocString | 0/1 | Specifies text to display on the button. | ||
>>>>>> <Caption> | Yes* | LocString | 1/1 | Specifies a caption for the button. Captions appear in Context Help. | ||
>>>>>> <TipStrip> | Yes* | LocString | 1/1 | Specifies a tip to display when an operator hovers over the button. | ||
>>>>>> <Documentation> | Yes* | LocString | 1/1 | Specifies the description that appears in Context Help. | ||
>>>>>> <Dependency> | No | Dependency | 0/1 | Specifies the path to a dependency file. | ||
>>>> <ActionVIOnDelete> | No | Path | 0/1 | Specifies a VI to run when an operator deletes the item associated with the page from System Explorer. | ||
>>>> <ActionVIOnLoad> | No | Path | 0/1 | Specifies a VI to run when VeriStand loads the item associated with the page. | ||
>>>> <ActionVIOnSystemShutdown> | No | Path | 0/1 | Specifies a VI to run when VeriStand shuts down. | ||
>>>> <ActionVIOnSave> | No | Path | 0/1 | Specifies a VI to run when an operator saves the system definition file. | ||
>>>> <ActionVIOnDownload> | No | Path | 0/1 | Specifies a VI to run when an operator downloads the custom device to the target. | ||
>>>> <ActionVIOnPaste> | No | Path | 0/1 | Specifies a VI to run when an operator pastes the item associated with the page. | ||
>>>> <ActionVIOnTargetTypeChange> | No | Path | 0/1 | Specifies a VI to run when an operator changes the type of target on which the custom device runs. | ||
>>>> <ActionVIOnDeleteRequest> | No | Path | 0/1 | Specifies a VI to run when a delete request is received for the item associated with the page. | ||
>>>> <ActionVIOnCompile> | No | Path | 0/1 | Specifies a VI to run when the item associated with the page is compiled. | ||
>>>> <Help> | No | complex | 0/1 | Contains information about help content for the item associated with the page. | ||
>>>>> <Item2Launch> | Yes* | Path | 1/1 | Specifies the file to launch when an operator selects the Help option for the item. | ||
>>>>> <FileType> | Yes* | xs:string | 1/1 | Specifies the help file type. Valid values are chm or other. | ||
>>>>> <Section> | No | xs:string | 0/1 | Specifies a section of the help file to display when an operator selects the Help option. | ||
>>>> <AdditionalInformation> | No | xs:string | 0/1 | Specifies additional information to store with the item. | ||
>> <CustomXML> | No | xs:string | 0/1 | Contains custom XML that you add to the file. Code you enter between <CustomXML> tags is not validated against the Custom Device.xsd file. | ||
*Required sub-tags of optional parent tags are only required if you use the parent tag. |
Related Information
- Custom Device Non-Standard XML Element Types
Non-standard element types are defined in the Custom Device.xsd schema.
- VeriStand Directories and Aliases
VeriStand uses directories and aliases for project files, models, and custom devices.
- Custom Device Types
The type of a custom device refers to its execution mode, which defines how the device interacts with the VeriStand Engine.