Jump to content

ProjectItem: Difference between revisions

From LabVIEW Wiki
Dnatt (talk | contribs)
Created page with "The '''ProjectItem''' class in VI Server allows you to inspect and modify items that appear in the Project window, such as VIs, virtual folders, classes, libraries, etc. If y..."
 
No edit summary
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The '''ProjectItem''' class in VI Server allows you to inspect and modify items that appear in the Project window, such as VIs, virtual folders, classes, libraries, etc.
A '''Project Item''' is an individual item in a [[LabVIEW Project]], [[LabVIEW Project Library]], [[LabVIEW Class]], or [[XControl]].  A Project Item can be one of many types with an associated type GUID.  The [[ProjectItem class]], [[ProjectItem class/Type String property|Type String Property]] can be used to get the ''Type String''.  The [[ProjectItem class]], [[ProjectItem class/Type GUID property|Type GUID Property]] can be used to get the ''Type GUID''.  In cases where no Type String exists the [[ProjectItem class/Type String property|Type String Property]] returns the Type GUID.


If you have a reference to a ProjectItem, you can read the ''TypeString'' property of the item to identify what kind of item it is:
The ''Type String'' is used in the [[ProjectItem class]], [[ProjectItem class/Get All Descendents method|Get All Descendents method]] to get a filtered list of the Descendents by the inputted type.  A list of valid ''Type Strings'' with associated ''Type GUIDs'' are listed below. (Add to this list as more are discovered.)
 
[[File:TypeString property.png]]
 
This is the same string you can use for the ''Type'' parameter of the ''Get All Descendents'' method of the ProjectItem class to get all children of a ProjectItem that match a specific type:
 
[[File:Get All Descendents method.png]]
 
The following table lists valid ''TypeString'' values and their descriptions. Update this table with new type strings as you discover them.


{| class="wikitable"
{| class="wikitable"
|-
|-
! TypeString !! Description
! Type String
! Type GUID
! Description
|-
| Ability VI
| {DAABD3DA-4F44-4C3D-8BA3-E5D035A4F27A}
| Ability VI within an XControl or XNode
|-
| BeagleBone Black
|
| BeagleBone Black target (available with the [[LabVIEW LINX|LINX Toolkit]])
|-
| Build
| {0C750917-83D7-9871-8908-BB4ED6A8099B}
| Build Specifications node under every target
|-
| Class Private Data
| {64A9BF48-4C55-45DB-8F18-9C796DA0C113}
| Private Data Control inside a LabVIEW Class
|-
| Compact Vision System Target
|
| Real-Time Compact Vision System target
|-
| CompactRIO Ethernet Device
|
| Ethernet RIO target
|-
| CompactRIO Windows
|
| Windows CompactRIO target
|-
| cRIO Chassis
|
| CompactRIO Chassis under a cRIO RT target
|-
| Dependencies
| {0D75D917-83D7-9871-AA09-A0FFD6A8099B}
| Dependencies node under every target
|-
| Directives
|
| Directives items created for VIs by FPGA IP Builder
|-
| DLL
| {20A41099-3F2C-42C3-9544-7ABCC1E6CB0D}
| Shared Library (DLL) node under Build Specifications
|-
| Document
| {D60740D6-F255-4BBC-5675-8858F35B820E}
| Includes:
* Another [[LabVIEW Project]] [[LVLIB File Extension|''(*.lvproj)'']] file when nested inside of a Project
* [[ALIASES File Extension|Aliases ''(*.aliases)'']]
* [[LVLPS File Extension|Local Projects Settings ''(*.lvlps)'']]
* [[LabVIEW Library|LabVIEW Libraries]] [[LLB File Extension|''(*.llb)'']] (Depending on how it was added to the Project)
* [[Run-time Menu]] [[RTM File Extension| ''(*.rtm)'']]
* other Non-LabVIEW files, like images, text files, etc.
|-
| ECATEbusSlave
|
| EtherCAT slave device
|-
| ECATEnetSlave
|
| EtherCAT slave device
|-
| ECATMaster
|
| EtherCAT master device
|-
| EXE
| {9A75366A-79D3-4BFD-9532-E3070185C1E8}
| Application (EXE) node under Build Specifications
|-
| Elemental IO
|
| IO Resource under an FPGA target
|-
| elvisRIO Chassis
|
| Chassis under an ELVIS RIO target
|-
| Embedded Vision System Target
|
| NI Embedded Vision System target
|-
| Folder
| {D60740D6-F254-4BBC-5675-8858F35B820E}
| Includes:
* [[Auto-populating Folder]]s,
* [[Virtual Folder]]s
* [[LabVIEW Library|LabVIEW Libraries]] [[LLB File Extension|''(*.llb)'']] (Depending on how it was added to the Project)
|-
| FPGA Base Clock
|
| Base clock under an FPGA target
|-
| FPGA Component Level IP
|
| RIO DRAM
|-
| FPGA Derived Clock
|
| Derived clock under an FPGA target
|-
| FPGA FIFO
|
| FIFO node under an FPGA target
|-
| FPGA Generic Target
|
| Networked Computer/Device target
|-
| FPGA Memory Block
|
| Memory node under an FPGA target
|-
| FPGA Register
|{730535F4-F2D1-43C7-8D98-0EBD6BAE3470}
| Register item under an FPGA target
|-
| FPGA Target
|
| FPGA target (R-series device, cRIO target, etc.)
|-
| Hyperlink
| {CC472C20-0441-48DC-AF25-3E82ECC9376F}
|
|-
| HTTP WebResources Container
| {CC977D9A-0BF1-470B-B5A7-DF1D00EF9C9B}
| Web Resources folder under a Web Service node
|-
| IO Server
|
| I/O Server node under a target
|-
| IP Builder Target
|
| IP Builder node under an FPGA target
|-
| Installer
| {B912C944-F9D3-49E7-B0A6-073ED50A150B}
| Installer node under Build Specifications
|-
| LVClass (also used for interfaces)
| {EFD740D6-F254-4BBC-5675-8858F35B820E}
| Includes: [[LabVIEW Class]] [[LVCLASS File Extension|''(*.lvclass)'']] and [[Interface (object-oriented programming)|Interfaces]]
|-
|-
| Build || the Build Specifications node under every target
| Library
| {ABC740D6-F254-4BBC-5675-8858F35B820E}
| [[LabVIEW Project Library]] [[LVLIB File Extension|''(*.lvlib)'']]
|-
|-
| cRIO Chassis ||
| LibraryData
| {AE832914-DFCB-471F-930C-C57747746FF2}
| Hidden ProjectItem that contains internal information about an LVStatechart library
|-
|-
| Dependencies || the Dependencies node under every target
| Localhost
|
| In some projects with a Real-Time target, the 'My Computer' target will have a type of 'Localhost' instead of 'My Computer'.
|-
|-
| Directives ||
| LVLibp
| {CF31838A-5E97-4315-AE50-9EBA613BCBBB}
| [[Packed Project Library]] [[LVLIBP File Extension|''(*.lvlibp)'']]
|-
|-
| DLL || the Shared Library (DLL) node under Build Specifications
| LVStatechart
| {FB056C2C-833C-414C-8330-397F164A5211}
| [[LabVIEW StateChart]] [[LVSC File Extension|''(*.lvsc)'']]
|-
|-
| Document || non-LabVIEW files, like images, text files, etc.
| LVStatechartVIItem
| {FB056C2D-833C-414C-8330-397F164A5211}
| Hidden ProjectItem that contains internal information about an LVStatechart library
|-
|-
| ECATEbusSlave ||
| Method VI
| {DAABD3DC-4F44-4C3D-8BA3-E5D035A4F27A}
| Method VI in an XControl
|-
|-
| ECATEnetSlave ||
| Module Container
|
| Real-Time Scan Resources node under an RT Chassis
|-
|-
| ECATMaster ||
| My Computer
| {CEFE1B10-1732-4678-A70A-299293455410}
| My Computer node under the root Project
|-
|-
| EXE || the Application (EXE) node under Build Specifications
| NI-DAQmx Task
| {0A806145-1BF3-3A50-0B5E-F969F56C8E2A}
| DAQmx Task
|-
|-
| Elemental IO ||
| NI-DAQmx Channel
| {B5F05770-7C71-3A03-C9FB-F73F35629FC1}
| DAQmx Virtual Channel
|-
|-
| FPGA Base Clock ||
| NI-DAQmx Scale
| {BC977C97-1833-3D51-4EF6-D82E6838A8F3}
| DAQmx Scale
|-
|-
| FPGA Component Level IP ||
| Packed Library
| {E4492117-CED3-4F31-9F8D-E2118AE04F12}
| Packed Library node under Build Specifications
|-
|-
| FPGA Derived Clock ||
| Project
| {D60740D6-F254-4BBC-9975-8858F35B810E}
| Root project item at the top of the [[Project Explorer]] for the [[LabVIEW Project]]
|-
|-
| FPGA FIFO ||
| Property Definition
| {81C68620-8BE3-4643-B04A-4E83AA6363D2}
| Property definition folder under a [[LabVIEW Class]]
|-
|-
| FPGA Memory Block ||
| Property Folder
| {D60740D6-F254-4BBC-5675-8858F35B820E}
| Property folder in an [[XControl]]
|-
|-
| FPGA Target ||
| Property VI
| {DAABD3DB-4F44-4C3D-8BA3-E5D035A4F27A}
| Property VI in an [[XControl]]
|-
|-
| Folder || A virtual folder or an auto-populating folder
| Raspberry Pi 2 B
| {838AE6B2-6884-4111-A0FB-AF9B59F4094F}
| Raspberry Pi 2 B target (available with the [[LabVIEW LINX|LINX Toolkit]]). Includes Raspberry Pi 3 B+ and 4 B+
|-
|-
| HTTP WebResources Container ||
| RIO C Series Module
|
| CompactRIO module that appears under the FPGA Target node under an RT CompactRIO target
|-
|-
| IP Builder Target ||
| RIO Subresource
|
| Resource under a RIO module. For example, an SD Card node.
|-
|-
| Installer || the Installer node under Build Specifications
| RT CDAQ Chassis
|
| Real-Time CompactDAQ Chassis target
|-
|-
| LVClass || A LabVIEW class
| RT CompactRIO
|
| RT CompactRIO target
|-
|-
| Library || A LabVIEW project library
| RT Desktop
|
| Real-Time Desktop target
|-
|-
| Localhost ||
| RT elvisRIO
|
| ELVIS RIO target
|-
|-
| LVStatechart || A LabVIEW StateChart Module library
| RT FlexRIO
|
| Real-Time FlexRIO target
|-
|-
| Module Container ||
| RT Generic
|
| Generic RT Target
|-
|-
| My Computer || The My Computer node under the root Project
| RT Industrial Controller
|
| Real-Time Industrial Controller target
|-
|-
| Packed Library || A packed project library (PPL)
| RT myRIO
|
| myRIO target
|-
|-
| Project || The root project item at the top of the Project Explorer
| RT PXI Chassis
|
| RT PXI Target
|-
|-
| RIO C Series Module ||
| RT roboRIO
|
| roboRIO target
|-
|-
| RIO Subresource ||
| RT Single-Board RIO  
|
| RT Single-Board RIO Target
|-
|-
| RT CompactRIO ||
| Robotics Environment Simulator
|
| Simulated robot device
|-
|-
| RT Generic ||
| sbRIO Chassis
|
| Single-Board RIO Chassis that appears under an RT Single-Board RIO target
|-
|-
| RT PXI Chassis ||
| Variable
| 9BA597C5-4996-4622-B9BB-444431834D0D}
| Shared Variable node under a library or a target
|-
|-
| RT Single-Board RIO ||
| Smart Camera Target
|
| Real-Time Industrial Smart Camera Target
|-
|-
| Robotics Environment Simulator ||
| Source Distribution
| {15DA4F9E-0591-4AB1-A339-C3B4D54902D8}
| Source Distribution node under Build Specifications
|-
|-
| sbRIO Chassis ||
| Startup VIs Container
| {F0D505FA-F9AD-43D8-8811-2F23BBC4C8A2}
| Startup VIs folder under a Web Service node
|-
|-
| Source Distribution || the Source Distribution node under Build Specifications
| Target Folder
| {AB0740D6-F254-4BBC-5675-8858F35B820E}
|
|-
|-
| Startup VIs Container ||
| TestItem
| {39B74B88-DF2D-4BA8-BEB5-FD65FC0FD56D}
| Test file from the Unit Test Framework [[LVTest File Extension| ''(.lvtest)'']]
|-
|-
| TestItem ||
| TestVectorItem
| {50E0C210-38A2-420B-AB4E-3BEFFC710090}
| Test vector file from the Unit Test Framework [[LVTest File Extension| ''(.lvvect)'']]
|-
|-
| TestVectorItem ||
| TouchPanel
|
| Touch Panel target
|-
|-
| TouchPanel ||
| VI
| {D60740D6-F254-4BBC-5675-8858F35B810E}
| Includes:
* [[VI]]s [[VI File Extension| ''(.vi)'']]
* [[CTL File Extension|Controls ''(*.ctl)'']]
* [[Polymorphic VI]]s
* [[Malleable VI]]s [[VIM File Extension| ''(.vim)'']]
* [[Global Variable]]s
* [[VI Template]]s [[VIT File Extension| ''(.vit)'']]
|-
|-
| VI || A Virtual Instrument (VI)
| Web Service
| {2386AD17-A358-4EA9-86F1-7808B4D5B5ED}
| Web Service node
|-
|-
| Variable ||
| XControl
| {2E4BD3AC-4E04-45C9-B6C5-AD138962C435}
| [[XControl]]
|-
|-
| Web Service ||
| XNode
| {35CAD751-77A8-4D0F-BF61-85A48475F6A5}
| [[XNode]]
|-
|-
| XControl || An XControl library
| Zip File
| {51F0E16F-7FA4-4E9F-AE30-C81D9D0444B0}
| Zip File node under Build Specifications
|-
|-
| XNode || An XNode library
| .NET Interop Assembly
| {0E6E9692-2CDC-4645-B4F6-93F9260BF6FA}
| .NET Interop Assembly node under Build Specifications
|-
|-
| Zip File || the Zip File node under Build Specifications
| {69A947D5-514E-4E75-818E-69657C0547D8}
| {69A947D5-514E-4E75-818E-69657C0547D8}
| Real-Time Application node under Build Specifications (under an RT Target)
|-
|-
| .NET Interop Assembly || the .NET Interop Assembly node under Build Specifications
| {117D6E82-86E4-4435-99C8-B638EE47B29E}
| {117D6E82-86E4-4435-99C8-B638EE47B29E}
| Real-Time Application node under Build Specifications (under a Raspberry Pi 2 B Target)
|-
|-
| {69A947D5-514E-4E75-818E-69657C0547D8} ||
| {9C5E1E31-72F0-41E9-9B17-FFBE4626F549}  
| {9C5E1E31-72F0-41E9-9B17-FFBE4626F549}
| IP Build node under Build Specifications (under an IP Builder target)
|-
|-
| {9C5E1E31-72F0-41E9-9B17-FFBE4626F549} ||
| {CED73189-3D7D-4B2F-B6C9-EA03FBC59E14}  
| {CED73189-3D7D-4B2F-B6C9-EA03FBC59E14}
| Linux RT Package node under Build Specifications
|-
|-
| {E661DAE2-7517-431F-AC41-30807A3BDA38} || the Package node under Build Specifications
| {E661DAE2-7517-431F-AC41-30807A3BDA38}  
| {E661DAE2-7517-431F-AC41-30807A3BDA38}
| Package node under Build Specifications
|-
|-
| {F4C5E96F-7410-48A5-BB87-3559BC9B167F} ||
| {F4C5E96F-7410-48A5-BB87-3559BC9B167F}  
| {F4C5E96F-7410-48A5-BB87-3559BC9B167F}
| Compilation node under Build Specifications (under an FPGA target)
|}
|}


[[Category:VI Scripting]]
[[Category:Project]]

Latest revision as of 01:48, 2 February 2022

A Project Item is an individual item in a LabVIEW Project, LabVIEW Project Library, LabVIEW Class, or XControl. A Project Item can be one of many types with an associated type GUID. The ProjectItem class, Type String Property can be used to get the Type String. The ProjectItem class, Type GUID Property can be used to get the Type GUID. In cases where no Type String exists the Type String Property returns the Type GUID.

The Type String is used in the ProjectItem class, Get All Descendents method to get a filtered list of the Descendents by the inputted type. A list of valid Type Strings with associated Type GUIDs are listed below. (Add to this list as more are discovered.)

Type String Type GUID Description
Ability VI {DAABD3DA-4F44-4C3D-8BA3-E5D035A4F27A} Ability VI within an XControl or XNode
BeagleBone Black BeagleBone Black target (available with the LINX Toolkit)
Build {0C750917-83D7-9871-8908-BB4ED6A8099B} Build Specifications node under every target
Class Private Data {64A9BF48-4C55-45DB-8F18-9C796DA0C113} Private Data Control inside a LabVIEW Class
Compact Vision System Target Real-Time Compact Vision System target
CompactRIO Ethernet Device Ethernet RIO target
CompactRIO Windows Windows CompactRIO target
cRIO Chassis CompactRIO Chassis under a cRIO RT target
Dependencies {0D75D917-83D7-9871-AA09-A0FFD6A8099B} Dependencies node under every target
Directives Directives items created for VIs by FPGA IP Builder
DLL {20A41099-3F2C-42C3-9544-7ABCC1E6CB0D} Shared Library (DLL) node under Build Specifications
Document {D60740D6-F255-4BBC-5675-8858F35B820E} Includes:
ECATEbusSlave EtherCAT slave device
ECATEnetSlave EtherCAT slave device
ECATMaster EtherCAT master device
EXE {9A75366A-79D3-4BFD-9532-E3070185C1E8} Application (EXE) node under Build Specifications
Elemental IO IO Resource under an FPGA target
elvisRIO Chassis Chassis under an ELVIS RIO target
Embedded Vision System Target NI Embedded Vision System target
Folder {D60740D6-F254-4BBC-5675-8858F35B820E} Includes:
FPGA Base Clock Base clock under an FPGA target
FPGA Component Level IP RIO DRAM
FPGA Derived Clock Derived clock under an FPGA target
FPGA FIFO FIFO node under an FPGA target
FPGA Generic Target Networked Computer/Device target
FPGA Memory Block Memory node under an FPGA target
FPGA Register {730535F4-F2D1-43C7-8D98-0EBD6BAE3470} Register item under an FPGA target
FPGA Target FPGA target (R-series device, cRIO target, etc.)
Hyperlink {CC472C20-0441-48DC-AF25-3E82ECC9376F}
HTTP WebResources Container {CC977D9A-0BF1-470B-B5A7-DF1D00EF9C9B} Web Resources folder under a Web Service node
IO Server I/O Server node under a target
IP Builder Target IP Builder node under an FPGA target
Installer {B912C944-F9D3-49E7-B0A6-073ED50A150B} Installer node under Build Specifications
LVClass (also used for interfaces) {EFD740D6-F254-4BBC-5675-8858F35B820E} Includes: LabVIEW Class (*.lvclass) and Interfaces
Library {ABC740D6-F254-4BBC-5675-8858F35B820E} LabVIEW Project Library (*.lvlib)
LibraryData {AE832914-DFCB-471F-930C-C57747746FF2} Hidden ProjectItem that contains internal information about an LVStatechart library
Localhost In some projects with a Real-Time target, the 'My Computer' target will have a type of 'Localhost' instead of 'My Computer'.
LVLibp {CF31838A-5E97-4315-AE50-9EBA613BCBBB} Packed Project Library (*.lvlibp)
LVStatechart {FB056C2C-833C-414C-8330-397F164A5211} LabVIEW StateChart (*.lvsc)
LVStatechartVIItem {FB056C2D-833C-414C-8330-397F164A5211} Hidden ProjectItem that contains internal information about an LVStatechart library
Method VI {DAABD3DC-4F44-4C3D-8BA3-E5D035A4F27A} Method VI in an XControl
Module Container Real-Time Scan Resources node under an RT Chassis
My Computer {CEFE1B10-1732-4678-A70A-299293455410} My Computer node under the root Project
NI-DAQmx Task {0A806145-1BF3-3A50-0B5E-F969F56C8E2A} DAQmx Task
NI-DAQmx Channel {B5F05770-7C71-3A03-C9FB-F73F35629FC1} DAQmx Virtual Channel
NI-DAQmx Scale {BC977C97-1833-3D51-4EF6-D82E6838A8F3} DAQmx Scale
Packed Library {E4492117-CED3-4F31-9F8D-E2118AE04F12} Packed Library node under Build Specifications
Project {D60740D6-F254-4BBC-9975-8858F35B810E} Root project item at the top of the Project Explorer for the LabVIEW Project
Property Definition {81C68620-8BE3-4643-B04A-4E83AA6363D2} Property definition folder under a LabVIEW Class
Property Folder {D60740D6-F254-4BBC-5675-8858F35B820E} Property folder in an XControl
Property VI {DAABD3DB-4F44-4C3D-8BA3-E5D035A4F27A} Property VI in an XControl
Raspberry Pi 2 B {838AE6B2-6884-4111-A0FB-AF9B59F4094F} Raspberry Pi 2 B target (available with the LINX Toolkit). Includes Raspberry Pi 3 B+ and 4 B+
RIO C Series Module CompactRIO module that appears under the FPGA Target node under an RT CompactRIO target
RIO Subresource Resource under a RIO module. For example, an SD Card node.
RT CDAQ Chassis Real-Time CompactDAQ Chassis target
RT CompactRIO RT CompactRIO target
RT Desktop Real-Time Desktop target
RT elvisRIO ELVIS RIO target
RT FlexRIO Real-Time FlexRIO target
RT Generic Generic RT Target
RT Industrial Controller Real-Time Industrial Controller target
RT myRIO myRIO target
RT PXI Chassis RT PXI Target
RT roboRIO roboRIO target
RT Single-Board RIO RT Single-Board RIO Target
Robotics Environment Simulator Simulated robot device
sbRIO Chassis Single-Board RIO Chassis that appears under an RT Single-Board RIO target
Variable 9BA597C5-4996-4622-B9BB-444431834D0D} Shared Variable node under a library or a target
Smart Camera Target Real-Time Industrial Smart Camera Target
Source Distribution {15DA4F9E-0591-4AB1-A339-C3B4D54902D8} Source Distribution node under Build Specifications
Startup VIs Container {F0D505FA-F9AD-43D8-8811-2F23BBC4C8A2} Startup VIs folder under a Web Service node
Target Folder {AB0740D6-F254-4BBC-5675-8858F35B820E}
TestItem {39B74B88-DF2D-4BA8-BEB5-FD65FC0FD56D} Test file from the Unit Test Framework (.lvtest)
TestVectorItem {50E0C210-38A2-420B-AB4E-3BEFFC710090} Test vector file from the Unit Test Framework (.lvvect)
TouchPanel Touch Panel target
VI {D60740D6-F254-4BBC-5675-8858F35B810E} Includes:
Web Service {2386AD17-A358-4EA9-86F1-7808B4D5B5ED} Web Service node
XControl {2E4BD3AC-4E04-45C9-B6C5-AD138962C435} XControl
XNode {35CAD751-77A8-4D0F-BF61-85A48475F6A5} XNode
Zip File {51F0E16F-7FA4-4E9F-AE30-C81D9D0444B0} Zip File node under Build Specifications
.NET Interop Assembly {0E6E9692-2CDC-4645-B4F6-93F9260BF6FA} .NET Interop Assembly node under Build Specifications
{69A947D5-514E-4E75-818E-69657C0547D8} {69A947D5-514E-4E75-818E-69657C0547D8} Real-Time Application node under Build Specifications (under an RT Target)
{117D6E82-86E4-4435-99C8-B638EE47B29E} {117D6E82-86E4-4435-99C8-B638EE47B29E} Real-Time Application node under Build Specifications (under a Raspberry Pi 2 B Target)
{9C5E1E31-72F0-41E9-9B17-FFBE4626F549} {9C5E1E31-72F0-41E9-9B17-FFBE4626F549} IP Build node under Build Specifications (under an IP Builder target)
{CED73189-3D7D-4B2F-B6C9-EA03FBC59E14} {CED73189-3D7D-4B2F-B6C9-EA03FBC59E14} Linux RT Package node under Build Specifications
{E661DAE2-7517-431F-AC41-30807A3BDA38} {E661DAE2-7517-431F-AC41-30807A3BDA38} Package node under Build Specifications
{F4C5E96F-7410-48A5-BB87-3559BC9B167F} {F4C5E96F-7410-48A5-BB87-3559BC9B167F} Compilation node under Build Specifications (under an FPGA target)