In Place Element structure: Difference between revisions
Removing parent category |
mNo edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{stub}} | {{stub}} | ||
{{TOCright}} | |||
{{LabVIEW Palette Object Information|palette=Functions Palette/Programming/Structures{{!}}Structures palette|type=structure|icon=Functions_Palette_-_Programming_-_Structures_-_In_Place_Element_Structure.png}} | |||
The '''In Place Element Structure''' controls how the LabVIEW compiler performs certain operations and, in some cases, increases memory and VI efficiency. Use the In Place Element structure when you operate on a data element within an array, cluster, variant, or waveform without requiring the LabVIEW compiler to copy data values and maintain those values in memory. You also can use this structure to operate on any data type that you want to maintain within the same data space in memory. Right-click the border of the structure and select the border node that matches the operation you want to perform. | |||
== Usage == | |||
Right-click the border of the In Place Element structure and select from the following nodes to add to the structure border: | |||
* Array Index / Replace Elements border node | |||
* Array Split / Replace Subarrays border node | |||
* Unbundle / Bundle Elements border node | |||
* Waveform Unbundle / Bundle Elements border node | |||
* Variant To / From Element border node | |||
* In Place In / Out Element border node | |||
* Data Value Reference Read / Write Element border node | |||
* Variant Attribute Get / Replace border node | |||
You can right-click a node and select Mark As Modifier to indicate that LabVIEW modifies the data you wire to the node, even if the block diagram does not indicate a modification of data occurs. The '''Mark As Modifier'' option is useful when you work with dynamic dispatch terminals. While the parent implementation of a dynamic dispatch subVI might not modify the data wired to the node, a child implementation might modify the data. Using the '''Mark As Modifier''' option then optimizes performance by minimizing the number of copies of the data LabVIEW creates. | |||
'''Note:''' The '''Mark As Modifier''' option does not prevent access to the data and cannot be used as a synchronization method. Instead, use [[Functions Palette/Programming/Synchronization/Semaphores|Semaphores]] or [[Data flow|data flow]] to control access to protected data and avoid race conditions. | |||
== Best practice == | |||
{{ambox|text=Add other best practices for this function.}} | |||
== History == | |||
{{ambox|text=History information is needed. What changes have occurred over previous versions?}} | |||
{| class="wikitable" | |||
! Version | |||
! Change(s) | |||
|- | |||
|[[File:LV2018.png|frameless|border|64x64px|LabVIEW 2018|link=LabVIEW 2018]] | |||
|More info to come. | |||
|} | |||
== See Also == | |||
{{ambox|text=Add links to internal wiki pages that would also help.}} | |||
== External Links == | |||
{{ambox|text=Add links to external resources that would also help.}} | |||
[[Category:In Place Element Structure]] | [[Category:In Place Element Structure]] | ||
[[Category:Structures Palette]] | |||
Latest revision as of 15:37, 25 June 2020
| |
This article is a stub. You can help LabVIEW Wiki by expanding it. Please improve this article if you can. |
| Object information | |
|---|---|
| Owning palette(s) | Structures palette |
| Type | Structure |
| Requires | Basic Development Environment |
| Icon | |
The In Place Element Structure controls how the LabVIEW compiler performs certain operations and, in some cases, increases memory and VI efficiency. Use the In Place Element structure when you operate on a data element within an array, cluster, variant, or waveform without requiring the LabVIEW compiler to copy data values and maintain those values in memory. You also can use this structure to operate on any data type that you want to maintain within the same data space in memory. Right-click the border of the structure and select the border node that matches the operation you want to perform.
Usage
Right-click the border of the In Place Element structure and select from the following nodes to add to the structure border:
- Array Index / Replace Elements border node
- Array Split / Replace Subarrays border node
- Unbundle / Bundle Elements border node
- Waveform Unbundle / Bundle Elements border node
- Variant To / From Element border node
- In Place In / Out Element border node
- Data Value Reference Read / Write Element border node
- Variant Attribute Get / Replace border node
You can right-click a node and select Mark As Modifier to indicate that LabVIEW modifies the data you wire to the node, even if the block diagram does not indicate a modification of data occurs. The Mark As Modifier option is useful when you work with dynamic dispatch terminals. While the parent implementation of a dynamic dispatch subVI might not modify the data wired to the node, a child implementation might modify the data. Using the Mark As Modifier' option then optimizes performance by minimizing the number of copies of the data LabVIEW creates.
Note: The Mark As Modifier option does not prevent access to the data and cannot be used as a synchronization method. Instead, use Semaphores or data flow to control access to protected data and avoid race conditions.
Best practice
| |
Add other best practices for this function. |
History
| |
History information is needed. What changes have occurred over previous versions? |
| Version | Change(s) |
|---|---|
| More info to come. |
See Also
| |
Add links to internal wiki pages that would also help. |
External Links
| |
Add links to external resources that would also help. |