Skip to content

Important topics that must be taken into account during the development

Gerald Lochner edited this page Jan 31, 2020 · 1 revision

This documentation lists some important information what to think about when creating driver extensions

No user interface

Because zenon drivers are system services, they are not indented to have a user interface at all.

Polling vs. Push-based (Notification-based/spontaneous) communication

If the driver extension returns true at Method SubscribeAsync zenon supposes that the communication is notification-based, that means the driver extension is able to call IValueCallack.SetValue(..) as needed. Otherwise, the communication is polling based, that means during execution of the ReadAll() method it is expected that IValueCallack.SetValue(..) gets called for new variable values or status changes.

Timestamp

The timestamp defined in IValueCallack.SetValue(..) represents the external timestamp (date and time the value is changed on the device). The internal timestamp (zenon received the value changed) is set internally.

Status

Set CopaData.Drivers.Contracts.StatusBits.Spontaneous for new variable values, set CopaData.Drivers.Contracts.StatusBits.Invalid when circumstances lead to invalid values (e. g. connection loses)

Clone this wiki locally