winIDEA SDK
Loading...
Searching...
No Matches
LabView

This guide assumes familiarity with National Instruments LabVIEW, iSYSTEM emulators, and winIDEA IDE.

Concept

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.

Concept

The winIDEA SDK connects to winIDEA through TCP/IP-based interprocess communication, allowing LabVIEW and winIDEA to run on different host PCs.

System Requirements

The winIDEA SDK for LabVIEW requires:

  • winIDEA build 9.12.288 or later
  • LabVIEW that supports loading .NET assemblies

Configuring winIDEA

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.

Preparing isystem.connect SDK

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:

  • IConnectCSLib.dll
  • isystemConnect.dll

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.

Preparation

Using isystem.connect Library

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.

Example

Example1

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.

Example2

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.

Example3

The ConnectionMgr object creates other controllers. For example, use CWorkspaceController to open workspaces:

Example4

To close winIDEA, use the ConnectionMgr object's disconnect method:

Example5

Troubleshooting

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.

Troubleshooting
Note
This is a per-user setting. Once enabled, winIDEA connection works independently of the workspace used.

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.