Chapter 4 NI-DNET Programming Techniques© National Instruments Corporation 4-7 NI-DNET User ManualChange-of-State (COS) I/OChange-of-State I/O connections use the same timing scheme as cyclic I/Oconnections, but in addition to the ExpPacketRate, COS I/O sends datato the master whenever a change is detected.For COS I/O, the cyclic transmission is used solely to verify that theI/O connection still exists, so the ExpPacketRate is typically set to a largevalue, such as 10,000 (10 seconds). Given such a large ExpPacketRate,the main performance concerns for COS I/O are an appropriate MAC ID,and if needed, a nonzero InhibitTimer.In many cases, a given COS I/O device cannot detect data changes veryquickly. If a COS device is capable of detecting quickly changing data,there is a chance that it could transmit many COS messages back-to-back,precluding other I/O messages and thus dramatically impairing overallDeviceNet performance. This problem is demonstrated in Figure 4-5.Figure 4-5. Congestion Due to Back-to-Back COS I/OThis problem can be prevented if you increase the MAC ID of thefrequently changing COS I/O device. If the COS device has a higherMAC ID than other devices, it cannot preclude their I/O messages.You can also prevent back-to-back COS I/O messages if you set theInhibitTimer driver attribute using ncSetDriverAttr. Aftertransmitting COS data, the I/O connection must wait InhibitTimerbefore it can transmit COS data again. A reasonable value forInhibitTimer would be the smallest ExpPacketRate of anI/O connection with a larger MAC ID than the COS I/O device.Automatic EPR FeatureFor cyclic I/O connections, a valid ExpPacketRate is required foryour call to ncOpenDnetIO. For COS I/O connections, a nonzeroExpPacketRate is recommended for your call to ncOpenDnetIO butcan be set to a large value.COS I/OBack to BackCOS I/O DataChanging Frequently0 ms 5 ms 10 ms 20 ms15 msSome of theOther I/O MayHave Timed Out