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.
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 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 will not 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 once 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 activated to perform data integrity checks on a polling interval. To prevent data integrity checks from being performed during demand polls, check the option “No data integrity check in demand poll” on the Device tab.
Using Class 1/2/3 and Class 0 Items
The class 0 polls that are sent on interval and by demand polls for items with the :c0 modifier will only update items with :c0, not items with other modifiers. The class 0 polls that initialize class 1-3 items upon activation and after communication failure are data integrity checks that will update all activated items.