DNP3 Class 1/2/3 Items
Defining Class 1/2/3 Items
Class 1/2/3 items are defined by the modifiers :c1, :c2, or :c3. They read their objects with a class 1/2/3 poll, which returns values for all objects in class 1/2/3 whose values have changed since the last class 1/2/3 poll. The object must be in the class specified by the modifier, and collection of that class must be enabled at the device. Otherwise, responses to the class 1/2/3 polls will never contain a value for that item.
ACM has no way of determining which objects are in class 1/2/3 for any given device. It can’t prevent an item from being defined with the wrong class. It will allow items for the same object to be defined with multiple class 1/2/3 modifiers, even though the item can only be in one of the classes in the device. The user is responsible for determining and using the correct class 1/2/3 modifier for the object.
Items using the :c1, :c2, and :c3 modifiers can also be updated by class 0 polls as described in the sections below. It’s not necessary or correct to define the same item again with a :c0 modifier.
Initializing Class 1/2/3 Items
Any object in class 1/2/3 will also be in class 0. When class 1/2/3 items are first activated, they'll be initialized with a class 0 data integrity check poll, unless the option “No class zero poll to initialize items” is checked in the Device tab.
There's also an option in the Device tab called “Initialize class 1-3 after comm failure”. Since class 1/2/3 polls only return values for objects that have changed since the previous class 1/2/3 poll, if the class 1/2/3 items are invalidated after a communication failure, by default they won't become valid again until their values change in the device. Selecting this option will send a class 0 data integrity check poll to initialize the class 1/2/3 items after a communication failure, so that all class 1/2/3 items will become valid again immediately when communication is restored.
The Data Integrity Check Item
The item DataIntegrityCheck sends a class 0 poll, and updates all items activated for the device with the data from that class 0 poll, regardless of what modifiers those items have. This item can be used to perform class 0 data integrity checks on a polling interval. To prevent data integrity checks from being performed by demand polls as well, check the option “No data integrity check in demand poll” on the Device tab.
Using Class 1/2/3 Items with Class 0 Items
The class 0 polls that are sent on interval and by demand for items using the :c0 modifier will only update items using :c0, not the items that use other modifiers.
If some items will be polled by class 1/2/3 (using the :c1, :c2, and :c3 modifiers) and other items will only be polled by class 0 (using the :c0 modifier), for the class 1/2/3 items to also be updated by the polls for the class 0 items, put the :c0 items on an interval that is not polled, and put a DataIntegrityCheck item on the interval that should send the class 0 polls to update all the items.
For assistance, please submit a ticket via our Support Portal, email autosol.support@autosoln.com or call 281.286.6017 to speak to a support team member.