Drivers

What a driver is, where the drivers are listed and how one is added to the station, the fixed driver of a device, the table of every driver this product knows, what each driver page documents, and the note on drivers a package does not carry.

View as Markdown

The player comes from YouTube and loads only when you press play.

A driver is the protocol the station uses to talk to a family of equipment: Modbus registers over TCP, an OPC UA server, a Siemens PLC. Every device on the Connector page belongs to exactly one driver, and the driver decides which connection fields the device shows, how its tags are addressed, which data types they may carry, whether they can be written, whether the driver can scan for equipment, and whether the station polls them or the equipment pushes to it. This group holds one page per driver; this page is what they have in common.

The registry

The set of drivers is fixed: it ships with the application and cannot be extended from the page. The Drivers folder at the top of the Communication tree opens the catalog of the ones this installation carries, each with its description, its device count, its health and Add driver, or Open and Remove driver once it is added; the catalog and its rules are on The drivers list and a driver's page.

Every driver the package carries is ready to use, with no switch to turn it on or off: the station adds the ones it uses. Under the Drivers folder the tree lists the added drivers, with or without anything under them, so the column holds what the station is set up to read. A driver is added with Add driver on its catalog row or in the column's New… menu, and removed with Remove driver on its catalog row, on its own bar or on its right-click menu. Removing deletes nothing: it is refused while the driver holds a device, a serial line, a broker or a folder, and a driver that holds one is always added. A new station has no driver added; a station updated from an earlier version starts with the drivers it already uses added.

The driver of a device is fixed

You choose the driver when you create the device: in the column's New… menu the device is created from the driver's own entry, and Add device on a driver's page creates under that driver. From then on the Device card shows the driver as read-only text. To move a device to another protocol, create a new device under the other driver and delete the old one; the address changes, so the references have to be pointed at the new tags through each tag's Used by card.

Every driver

The drivers are grouped by the family of equipment they reach: the same groups, in the same order, as the Drivers catalog and the New… menu's Add driver list them.

PLCs

Driver Talks to
Beckhoff ADS Beckhoff TwinCAT PLCs over ADS/AMS.
Mitsubishi MC Mitsubishi PLCs over the MELSEC MC driver.
Omron Omron PLCs: CJ, CS and CP controllers by memory address over FINS (UDP, TCP, or Host Link on a serial line), and NJ, NX and NY controllers by variable name over EtherNet/IP.
Rockwell EtherNet/IP Allen-Bradley / Rockwell PLCs over EtherNet/IP (CIP).
Siemens S7 Siemens S7 PLCs over the S7comm driver.

Industrial protocols

Driver Talks to
BACnet BACnet/IP building-automation devices.
Generic serial and TCP Equipment with a text or byte protocol of its own, such as weighing indicators and barcode readers, over a serial line, TCP or UDP.
Modbus RTU Modbus registers over a serial line (RS-485/232), in RTU or ASCII transmission.
Modbus TCP Modbus registers over TCP/IP, in MBAP framing or as RTU frames for a serial-to-Ethernet converter. Default port 502.
MQTT Devices that publish through an external MQTT broker, in plain MQTT or Sparkplug B.
OCPP EV charge points over OCPP (charge points connect to this station).
OPC DA Classic OPC Data Access servers over COM/DCOM, through a 32-bit helper process of their own.
OPC UA OPC Unified Architecture client over opc.tcp.
SNMP Network equipment that answers SNMP v1, v2c or v3, such as UPS units, PDUs, switches and technical room sensors; with Redfish for the servers, it covers the technical room.

Instruments and acquisition

Driver Talks to
Fluke NetDAQ Fluke NetDAQ (2640A, 2645A) and 2680 Series (2680A, 2686A) data acquisition units, configured from the tags and read through Fluke's own library in a 32-bit helper process.
NI-DAQmx National Instruments data acquisition hardware (cDAQ chassis and modules, USB and PCI Express devices) through the NI-DAQmx installed on this computer, one sample per poll.
SCPI instruments Bench instruments that speak SCPI, such as multimeters, power supplies and electronic loads, over TCP, a serial line, or USB and GPIB through VISA.

Wireless

Driver Talks to
LoRaWAN LoRaWAN sensors and radio concentrators via the embedded Basics Station network server.
Matter Matter smart-home devices (Bluetooth commissioning).

Web and APIs

Driver Talks to
AVEVA PI AVEVA PI System points via PI Web API, over HTTPS by default.
HTTP Generic HTTP and HTTPS endpoints polled as tags, with an optional credential.
Redfish Redfish REST API for server/datacenter hardware.

Files and databases

Driver Talks to
Database Tables of a factory system's database (SQL Server, PostgreSQL, MySQL and MariaDB, SQLite, or any database through its ODBC driver), each tag reading a cell by its table, column and row or running a query of its own; the cell or a command of the tag's own written where a tag is told to.
File Files another program writes in a local or network folder (CSV and column text, free text, JSON, XML), read one file or an inbox folder of them at a time; lines or whole files written for that program where the device allows it.

Test

Driver Talks to
Simulated Synthetic in-app signals for testing without hardware.

The Modbus server is not in this table: it is not a driver but the station serving its own tags and Logic variables to PLCs, HMIs and building systems over Modbus TCP, from its own row under the Servers folder.

What the drivers have in common, and where they differ

The Connector renders one editor for every driver and lets the driver decide which parts appear. This table says what to expect before opening a driver's page:

Driver Connection fields on the Device page Tag addressing Poll interval Tag writes Discover
Simulated none the tag name, plus the signal shape yes yes yes (its catalog)
Modbus TCP Host, Port, Unit ID, Framing (MBAP or RTU), Minimum transaction interval typed: register class and number yes yes yes (host or CIDR scan)
Modbus RTU Serial line (fixed; the line sets the transmission mode, RTU or ASCII), Unit ID typed: register class and number yes yes yes (unit-id probe on a line)
OPC UA Host, Port, Resource path, Username, Password free text: Node id yes yes yes (server address)
OPC DA Host, Server / Key free text: Item id yes yes yes (the servers of a computer)
Siemens S7 Host, Rack / Slot typed: area, DB, byte, bit yes yes no
Rockwell EtherNet/IP Host, Slot free text: Controller tag, plus an offset yes yes yes (broadcast)
Beckhoff ADS Host, Port, Local IP (AMS) free text: Symbol yes yes no
Mitsubishi MC Host, Port free text: Device address fixed 1 s yes no
BACnet Host, Port, Device Id typed: object type and instance fixed 1 s yes yes (Who-Is)
OCPP Identifier typed: connector number; the tag name ends in Meter, Status or Transaction pushed by the charge point no (read-only) yes (connected charge points)
Redfish Host, Port, Username, Password free text: Resource path, plus a JSON pointer yes yes yes (service address)
Matter Node ID (read-only) typed: output, cluster and attribute; the tags come from the device yes yes (the values the driver knows how to change) yes (commissioned nodes, with the values each publishes)
LoRaWAN Identifier (DevEUI), Server / Key (app key) typed: channel or offset, LPP type pushed by the sensor no (read-only) no
AVEVA PI Host, Port, Resource path, Transport, Username, Password, Bearer token free text: PI path yes yes yes (AF element after the service address)
HTTP Host, Port, Resource path free text: Path yes yes no
MQTT Broker (fixed; the broker holds the host, port, transport and sign-in), Protocol, and for Sparkplug B the group, edge node and device IDs free text: Topic, plus a value path inside a JSON payload, or Sparkplug B Metric pushed through the broker yes (on a command topic, or a Sparkplug B command) yes (listening on a broker)
Generic serial and TCP Transport (TCP client or UDP listener), Host, Port, or the Serial line (fixed) for a device on a line; then the Messages and Checksum cards typed: read mode, request, message filter and where the value sits in the message yes; a listening tag keeps what the equipment sends yes (a write message; not over UDP) no
Omron Host, Protocol (FINS or NJ/NX tags by name); over FINS the Port and the FINS card (transport, network, nodes, unit, response timeout); on a serial line, the Serial line (fixed), the Unit ID (the Host Link unit number) and the response timeout free text: Memory address (FINS) or Variable name (NJ/NX) yes yes yes (a FINS probe of one PLC, and a broadcast for NJ/NX controllers)
SCPI instruments Transport (TCP (LXI socket) or VISA), Host and Port or the VISA resource, or the Serial line (fixed) for a device on a line; then the Instrument card (terminator, response timeout, write confirmation, setup commands) free text: Query, plus which value of a comma-separated answer, and a write command yes yes (a write command, confirmed through the instrument's error queue) yes (the instruments VISA lists, and a TCP probe of one host)
NI-DAQmx none: the NI-DAQmx device card in its place (Device name, and the Product NI-DAQmx reads) typed: Physical channel and Measurement, with the measurement's range, wiring, thermocouple or counter settings yes yes (digital output lines and voltage outputs) yes (every device NI MAX knows, with its channels)
Fluke NetDAQ Host; then the Instrument card (Base channel, Scan speed) typed: Point (an analog channel and its Function, a digital line, a relay or the totalizer) yes; the instrument scans at the shortest interval among the device's tags yes (digital lines and relays, and the totalizer set back to zero) no
SNMP Host, Port; then the SNMP agent card (version, community or SNMPv3 user and security, response timeout, retries) free text: OID, in numbers or by a standard name yes yes (a SET the agent accepts; a standard object its MIB declares read only stays read only) yes (a walk of one agent's standard subtrees)
File none: the Folder and file card in its place (Folder path, File name or the inbox's pattern, Read from, File format), then the Text of the file and Writing cards typed: what the tag reads (a value, the whole file or a fact of the file) and, for a value, a column and a row (CSV), a line and its characters (free text) or a path (JSON, XML) yes yes (on a device that allows writing: a line appended, the whole file replaced, or another file named) yes (one file, a device's or one typed)
Database none: the Database card in its place (Database type, then the Server, Port, Instance name and Database name, the Database file, or the Data source or connection text), then the Sign-in card (Username and Password, and on SQL Server the Windows sign-in and the Encryption) typed: how the tag reads (a cell by Table, Value column and Row to read, or its own Query text) yes yes (the cell it reads, or its own write command) yes (the tables of a device's database)

Each driver also narrows the Data type list a tag offers to what it can actually marshal; the exact list is on the driver's page. Where the table says "fixed 1 s" the driver ignores the configured interval, so the Device and Tag pages hide the Poll interval field for it. Where it says "read-only", the Access field offers Read only alone and the write field never appears.

What every driver page documents

Each driver page walks the same sections in the same order: the connection fields the Device card shows and how they assemble the Base URI; how a tag is addressed (the typed fields or the free-text token, and the read-only wire address the panel previews); the data types offered; discovery, when the driver has it; writes, when the driver accepts them; and the driver's particularities (credentials, certificates, timing, a network server the station runs, pairing).

A driver the package does not carry

The Connector never lists or offers a driver the running package does not carry. A configuration that arrives with such devices anyway (a restored backup, a configuration from another machine) keeps them: the driver stays listed, in the catalog and under the Drivers folder, as long as those devices exist, its description reads "Driver not included in this package.", and the driver's page and every device under it carry a banner saying the same. Those devices stay offline and keep their settings; they can be deleted, but not copied, and no new device or discovery scan can be started under that driver.

Which drivers a package carries is read from the Connector's driver registry, which exists only once the Connector has started. Until then every driver counts as present, so the catalog settles a few seconds after launch and then stays put for the session, even while the Connector is stopped and started again.

A driver's code is loaded once for as long as the application runs. Stopping and starting the communication rebuilds the running devices and the driver list from that same load, which is what keeps the station's memory flat across a day of restarts. The consequence is that replacing a driver's own files on disk takes effect only after the application itself is restarted.