nidaqmx.grpc_session_options

Support for using NI-DAQmx over gRPC

Note

For MeasurementLink and NI gRPC Device Server, a NI-DAQmx task is considered to be a type of driver session.

class nidaqmx.SessionInitializationBehavior[source]
AUTO

The NI gRPC Device Server will attach to an existing session with the specified name if it exists, otherwise the server will initialize a new session.

Note

When using a Task as a context manager and the context exits, the behavior depends on what happened when the constructor was called. If it resulted in a new session being created on the NI gRPC Device Server, then it will automatically close the server session. If it instead attached to an existing session, then it will detach from the server session and leave it open.

INITIALIZE_SERVER_SESSION

Require the NI gRPC Device Server to initialize a new session with the specified name.

Note

When using a Task as a context manager and the context exits, it will automatically close the server session.

ATTACH_TO_SERVER_SESSION

Require the NI gRPC Device Server to attach to an existing session with the specified name.

Note

When using a Task as a context manager and the context exits, it will detach from the server session and leave it open.

class nidaqmx.GrpcSessionOptions(self, grpc_channel, session_name, initialization_behavior=SessionInitializationBehavior.AUTO)[source]

Collection of options that specifies session behaviors related to gRPC.

Creates and returns an object you can pass to a Task constructor or various other constructors and methods.

Parameters:
  • grpc_channel (grpc.Channel) – Specifies the channel to the NI gRPC Device Server.

  • session_name (str) –

    User-specified name that identifies the driver session on the NI gRPC Device Server.

    This is different from the resource name parameter many APIs take as a separate parameter. Specifying a name makes it easy to share sessions across multiple gRPC clients.

    For NI-DAQmx tasks, the driver session name is the same as the NI-DAQmx task name. You can either specify the name passed to a Task constructor or an empty string.

  • initialization_behavior (nidaqmx.SessionInitializationBehavior) –

    Specifies whether it is acceptable to initialize a new session or attach to an existing one, or if only one of the behaviors is desired.

    The driver session exists on the NI gRPC Device Server.