For those kinds of speeds, you are best off using a ring buffer data structure (array of structures) in your PLC, with head
and tail
integer tags for the current subscripts into the array. Only those two tags would be subscribed. head
would be updated by the PLC as entries are filled. tail
would be updated by Ignition as entries are delivered to the consumer.
Use a timer at the desired slower pace to perform a bulk PLC read of the entries between head
and tail
, send them to the consumer, then update tail
.