Configure an NI Device
Learn how to connect and configure National Instruments modules.
Prerequisites
Before you can start using your NI hardware with Synnax, you will need to ensure that you have the following:
- A Synnax Core running on your network.
- A Synnax Driver running on your network. This Driver must be connected to the Core and running on the same machine your NI hardware is connected to.
- The NI-DAQmx and System Configuration drivers installed on the machine running the Synnax Driver.
- The Synnax Console installed on your local machine.
Configuration Parameters Reference
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Human-readable device name for identification in Console |
rack | string | Yes | Synnax Driver (rack) key where the device is connected |
model | string | Yes | NI device model (e.g., cDAQ-9174, PXI-6259, USB-6008) |
location | string | Yes | Physical connection identifier (device name from NI MAX) |
identifier | string | Yes | Channel name prefix for all channels on this device |
How-To
Before you begin, connect to your device and reserve it using NI MAX. The Driver must run on the same machine used to reserve the hardware.
Synnax will automatically detect new NI modules and display a notification in the Console when a new device is connected. To start configuring the device, find the device in the Devices Toolbar, right click on the device and select “Configure”.
import synnax as sy
from synnax.hardware import ni
# Connect to Synnax
client = sy.Synnax()
# Get the embedded rack (local driver rack)
rack = client.hardware.racks.retrieve_embedded_rack()
# Configure device using the ni.Device class
device = ni.Device(
identifier="dev_mod1",
name="My NI Module",
model="NI 9205",
location="cDAQ1/dev_mod1",
rack=rack.key,
)
# Create the device in Synnax
device = client.hardware.devices.create(device)
# Or retrieve by model
device = client.hardware.devices.retrieve(model="NI 9205")
# Or retrieve by name
device = client.hardware.devices.retrieve(name="My NI Module")
print(f"Device configured: {device.name} (key={device.key})") import { Synnax } from "@synnaxlabs/client";
// Connect to Synnax
const client = new Synnax();
// Get the embedded rack (local driver rack)
const rack = await client.hardware.racks.retrieveEmbeddedRack();
// Configure device connection
const device = await client.hardware.devices.create({
rack: rack.key,
name: "My NI Module",
make: "NI",
model: "NI 9205",
location: "cDAQ1/dev_mod1",
properties: {
identifier: "dev_mod1", // Channel name prefix
},
});
// Or retrieve by model
const device = await client.hardware.devices.retrieve({ model: "NI 9205" });
// Or retrieve by name
const device = await client.hardware.devices.retrieve({ name: "My NI Module" });
console.log(`Device configured: ${device.name} (key=${device.key})`);