Skip to main content

Summary

The Protocols module extends the Nominal Instrumentation Library to support commonly used industrial communication protocols. Protocol-based instruments use configuration files that define how to interface with a device.

Why Protocols?

The Instrumentation Library’s instrument drivers (PSU, DMM, ELoad, etc.) provide rich, purpose-built interfaces for specific instrument categories. The Protocols module takes a complementary approach. Instead of building a dedicated driver for every device, it lets you describe any device’s communication interface in a configuration file and start collecting data immediately. This is valuable for several reasons:
  • Broader hardware coverage, faster. Industrial environments are full of devices that communicate over standard protocols: PLCs, sensors, motor controllers, environmental monitors, and more. Rather than waiting for a dedicated driver for each one, you can write a config file and be up and running in minutes.
  • Config-driven workflows. The configuration file becomes a portable, shareable description of how to talk to a device. Teams can version control their device configs, reuse them across test setups, and onboard new hardware without writing any Python. Changing which registers to poll or adjusting scaling factors is a config edit, not a code change.
  • Access to non-SCPI/VISA devices. Many industrial devices don’t speak SCPI or use VISA transports. Protocols like Modbus, OPC-UA, and EtherNet/IP are ubiquitous in manufacturing, process control, and test infrastructure. The Protocols module brings these devices into the same publisher and data pipeline as your bench instruments.
  • Consistent data pipeline. Protocol instruments integrate with the same publisher system and background daemon infrastructure as the rest of the library. Regardless of which protocol your device speaks, data flows through the same path to Nominal.

Supported Protocols

  • Modbus: Modbus TCP and RTU client with config-driven register access, automatic polling, and full publisher support.