winIDEA SDK
|
This guide assumes familiarity with National Instruments LabVIEW, iSYSTEM emulators, and winIDEA IDE.
The winIDEA SDK for LabVIEW includes a C# library linking LabVIEW's graphical programming environment to winIDEA. It provides means to interact with programs running on embedded CPUs.
The winIDEA SDK connects to winIDEA through TCP/IP-based interprocess communication, allowing LabVIEW and winIDEA to run on different host PCs.
The winIDEA SDK for LabVIEW requires:
Before using the winIDEA SDK in LabVIEW, ensure the winIDEA workspace is properly configured for your target application. Connect the emulator to the target system and verify correct application execution under emulator control. Refer to the winIDEA user manual for debugging environment setup.
LabVIEW isystem.connect API support uses the C# SDK. Download the latest SDK from: winIDEA testIDEA APIs <http://isystem.com/download/winidea-testidea-apis>
__. Copy these files from the SDK directory to your project directory:
Choose win32 or x64 version matching your LabVIEW version. Both files must be in the same directory. If not in the project directory, set the DLL path explicitly in Tools | Options… | Paths. Both files must be unblocked for successful LabVIEW loading. To unblock: right-click the file, choose Properties*, click Unblock in the General tab, then click OK.
Create a new LabVIEW project. To use the winIDEA SDK, open the Block Diagram and Functions panel. Open Connectivity | .NET pane. Use blocks from this pane for winIDEA SDK functionality.
To connect or open winIDEA, create a ConnectionMgr object. Choose the Constructor Node block and place it on the Block Diagram. The .NET Constructor selection window appears. Click Browse… to locate IConnectCSLib.dll
.
After selecting IConnectCSLib.dll
, assembly objects appear in the selection menu. Choose ConnectionMgr
object and select the desired constructor. Click OK to confirm.
To call class methods, create an Invoke Node block and wire the ConnectionMgr
reference to the .NET Invoke Node. The Invoke Node renames to the reference class name, allowing method selection from the Method list. Use connectMRU()
to connect to the last opened winIDEA or open winIDEA.
The ConnectionMgr
object creates other controllers. For example, use CWorkspaceController
to open workspaces:
To close winIDEA, use the ConnectionMgr
object's disconnect method:
If winIDEA connection fails, check if the isystem.connect interface is disabled. In winIDEA, open Tools/Options/isystem.connect and ensure the isystem.connect interface is enabled.
The winIDEA SDK interprocess communication uses TCP/IP protocol. While flexible, many systems block TCP ports for security. TCP Connection Port Range
specifies TCP ports for winIDEA's isystem.connect service attempts. Multiple winIDEA instances each use one TCP port. Default values should work—if not, check firewall settings affecting the host PC. UDP Discovery Port
specifies where all running winIDEA instances respond to broadcast queries. Same firewall restrictions apply as TCP. Limit number of clients
restricts clients per winIDEA instance. Multiple clients may conflict and reduce response times. Unlike other settings, this is per-workspace.