Sparkplug Edge Device

The Edge Device tag is always the child of an Edge Node tag. It is the muster point for a logical group of devices such as all devices registered on a single PLC. It is intended to model an Edge Device like a PLC or industrial controller in a Sparkplug B environment.

Sparkplug Edge Device properties Connection tab

Link the edge device to an edge node and establish or edit the device ID.

Sparkplug Edge Node

The Sparkplug Edge Node tag through which the Sparkplug Edge Device tag will communicate. This will automatically link to the parent Sparkplug Edge Node tag or you can select a specific Sparkplug Edge Node tag.

Sparkplug Edge Device ID

The topics namespace for Sparkplug B has the following format: namespace/group_id/message_type/edge_node_id/[device_id]. Sparkplug Edge Device ID is the device_id in this format. Auto-generated unless specified. By default, this ID will include any parent tags and the tag name with the slash (/) substituted with two underscores (__) to keep the ID unique. For example, Edge Device tag "EoD1" appearing under a Sparkplug Edge Node tag "EoN1" which is under a context tag "Weather Station" will auto-generate the Sparkplug Edge Device ID "Weather Station__EoN1__EoD1". Topic names are case-sensitive.

Allow Incoming Write Commands

Enables the Edge Device tag to receive, process, and execute DCMD write commands. There is a buffer size determined by the Write Command Buffer Size in the Buffering tab.

 

Sparkplug Edge Device properties Buffering tab

Specify parameters for queueing and sending data from Edge Devices to Edge Nodes.

You can specify parameters related to queueing values from different I/O metrics linked to the Sparkplug Edge Device for DDATA publishing. The Sparkplug Edge Node has a queue for each of its devices dedicated to buffering incoming DDATA messages. The DDATA queue is encoded into a DDATA message and handed to the Sparkplug Edge Node to be buffered and published either when the maximum queue length has been reached or when a configured length of time has passed.

Max metrics count per DDATA

The maximum length of the DDATA queue. A buffering algorithm goes through all the I/O metrics attached to the Edge Device in a round-robin fashion and picks the oldest value from the metrics queue to buffer in the DDATA queue.

It is a best practice to configure the max metrics count per DDATA to equal the number of metrics attached to the device as long as the size of the resulting DDATA message is not too large to fit in an MQTT payload and if it does not put a heavy load on the network.

Max wait time for DDATA queue before publishing

A maximum amount of time, in seconds, to wait before the DDATA queue is encoded into a DDATA message and handed to the Edge Node to be buffered and published.

Max measurements queue length per tag

Values produced by an IO tag are inserted into a queue for that tag. The queueing algorithm goes through the tags values queues in a round-robin fashion until it fills the DDATA queue of the device. If a new value is produced by the IO tag but the tag's queue is full, the oldest value in the queue is dropped and the new value is queued.

Max DDATA queue length

This is the maximum number of metrics inserted into a DDATA message for a device.

Write Command Buffer Size

Defines the maximum number of write commands that each attached tag can buffer simultaneously. This setting applies to all tags attached to the same Edge of Device (EoD) tag. The minimum buffer size is 2.