The KeyFrameCount with DataType UInt32 is the multiplier of the PublishingInterval that defines the maximum number of times the PublishingInterval expires before a key frame message with values for all published Variables is sent. The delta frame DataSetMessages contains just the changed values. If no changes exist, the delta frame DataSetMessage shall not be sent. If the KeyFrameCount is set to 1, every message contains a key frame.
For PublishedDataSets that provide cyclic updates of the DataSet, the value shall be greater than or equal to 1. PublishedDataItems or custom sources with CyclicDataSet set to true provide cyclic updates.
For non-cyclic PublishedDataSets that provide acyclic event based DataSets, the value shall be 0. PublishedEvents or custom sources with CyclicDataSet set to false provide acyclic updates.
For a heartbeat DataSetMessage, the value shall be 1.