LabVIEW Intermediate II: Performance and Connectivity course outline
Day 1
Improving Performance
This lesson reviews key topics from the LabVIEW Intermediate I course and continues with topics on how
to maximize VI performance, including how to improve run-time speed and memory use. This lesson also describes some common errors and provides techniques to debug an application which does not behave as expected. Topics include:
• Understanding multitasking, multithreading, and multiprocessing
• Using threads and priorities to manage performance
• Multithreading issues
• Monitoring VI performance
• Reducing execution time
• Understanding and optimizing memory use
Event Programming
LabVIEW is a dataflow programming environment where the flow of data determines the execution order of block diagram elements. However, it is sometimes useful for specific code to execute when some action, or event, occurs. LabVIEW Intermediate I introduces the concept of event programming when architecting an application. This lesson extends event programming concepts so that you can understand and implement static, dynamic, user and ActiveX events. Topics include:
• Event-driven programming
• Programming with statically registered user interface events
• Programming with dynamically registered events
• Programmatically generating an event (user event)
• Avoiding common event structure mistakes
• About ActiveX events
Shared Libraries (DLLs)
A shared library is a library of executable functions or data that can be used by a Windows application. This lesson describes shared library and Dynamic Link Library (DLL) concepts and how you can use and create shared libraries/DLLs with LabVIEW. Topics include:
• Overview of shared libraries (DLLs)
• Accessing shared libraries in LabVIEW
• Debugging Call Library Function errors
• Creating shared libraries (DLLs) with LabVIEW
• About thread-safe DLLs
Day 2
VI Server
This lesson describes VI Server, which is a mechanism for controlling LabVIEW VIs and applications programmatically. It also allows you to control VIs and applications remotely over a TCP/IP network. Topics include:
• Understanding VI Server and relevant object-oriented terminology
• VI Server programming model
• Using VI Server VIs and functions
• Implementing remote communication using VI Server
• Dynamically calling and loading VIs
• Understanding and using strictly typed and weakly typed
VI References
Windows Communication Platforms
ActiveX technology provides a standard model for inter-application communication that different programming languages can implement on different platforms. LabVIEW supports ActiveX automation and container technologies. This lesson describes ActiveX technology, which enhances the interactions between LabVIEW and other ActiveX-enabled applications, such as Excel. This lesson also introduces the Windows .NET communication platform. Topics include:
• The history of Windows communication platforms
• ActiveX features in LabVIEW
• Using LabVIEW as an ActiveX automation client
• Using ActiveX containers to display ActiveX controls and embedded documents on the front panel
• Using LabVIEW as an ActiveX automation server
• LabVIEW and .NET
DataSocket
This lesson describes the built-in DataSocket capabilities of LabVIEW. DataSocket is a programming tool that enables you to read, write, and share data between applications and/or different data sources and targets across a network. Topics include:
• Understanding DataSocket VIs and functions
• Managing client connections and setting up security using the DataSocket Manager
• Using attributes to send multiple data types on the same data items
• Using front panel DataSocket to read and write data directly to the DataSocket
• Using DataSocket for bi-directional communication
• Creating DataSocket VIs that read and write data from multiple sources, such as files and OPC servers
TCP/IP
This lesson describes the different protocols and methods that LabVIEW supports for transferring data to and from other applications, including TCP/IP and how you can use the LabVIEW TCP VI and functions to communicate with applications on other computers connected across a network. This lesson also introduces the client/server model which is the basis for most communication protocols. Topics include:
• Communication protocols such as TCP/IP
• Client/server programming model
• Using the TCP/IP VIs and functions