Gets the container's communication manager.
Gets the container object of this controller.
Gets the controller's options as specified in the configuration options.
Gets the registered name of this controller.
The registered name is either defined by the corresponding key in the
Components.controllers
object in the container configuration, or by
invoking Container.registerController
method with this name.
Gets the container's Runtime object.
Whenever one of the controller's log methods (e.g. logDebug
, logInfo
,
logWarning
, logError
, logFatal
) is called by application code, the
controller creates a Log object with appropriate property values and
passes it to this method before advertising it.
You can override this method to additionally set certain properties (such
as LogHost.hostname
or Log.logLabels
). Ensure that
super.extendLogObject
is called in your override. The base method does
nothing.
log object to be extended before being advertised
Determines whether the given IO source is currently associated.
Advertise a Log object for debugging purposes.
a debug message
any number of log tags
Advertise a Log object for an error.
an error (object)
additional error message
any number of log tags
Advertise a Log object for an error with stacktrace information.
an error (object)
additional error message
any number of log tags
Advertise a Log object for a fatal error.
an error (object)
additional error message
any number of log tags
Advertise an informational Log object.
an informational message
any number of log tags
Advertise a Log object for a warning.
a warning message
any number of log tags
Listen to associations or disassociations for the given IO source. The returned observable emits distinct boolean values until changed, i.e true when the first association is made and false, when the last association becomes disassociated. When subscribed, the current association state is emitted immediately.
an IO source object
Listen to update rate changes for the given IO source. The returned observable emits distinct rate values until changed. When the last association becomes disassociated, undefined is emitted. When subscribed, the current update rate is emitted immediately.
an IO source object
Schedule the given IO value for publishing on the given IO source. Values to be pulished may be throttled or sampled according to the backpressure strategy and the recommended update rate of the IO source.
If the given IO source is not associated currently, no publishing takes place. The given IO value is discarded.
an IO source object
an IO value of the given type
Overwrite this method to define how internal OPC UA errors within this controller should be traced.
By default, OPC UA errors are logged on the console.
Do not call this method in your application code, it is called by this controller internally.
an OPC UA error
Generated using TypeDoc
Connect to OPC UA server and map OPC UA variables to IO sources.
Each value of a monitored OPC UA variable is emitted as an IO value of an associated IO source. Mappings are configured on a controller option named
opcuaIoSourceOptions
which must implement theOpcuaIoSourceOptions
interface.By default, monitored OPC UA data values are passed unchanged as IO values. You can implement a specific data value coercion by defining a
coerceValue
function in the associatedOpcuaDataSource
.This controller only runs in a Node.js runtime, not in a browser.