I have a number of features that I’d be interested in with Ignition as it pertains to Scan Classes.
First would be to make it so Scan classes could be associated with a folder and its subfolders, rather than having to tie it to each tag inside the folder. Would work best if there was an override where you picked “Inherit” or you could pick a different class on each tag. This is more of a convenience thing though.
The way we’re using the scan classes now is that we create a separate scan class for every folder in the system, and we tag each of those to a _Demand_Scan database tag in that folder. We then use momentary buttons to turn on the demand scan and poll the items. You can imagine that with 300 folders, this is a big maintenance overhead. It would be helpful if we could make one scan class that would use a relatively specified trigger for the tags, so that the tags in folder 50 would poll when 50/_Demand_Scan was triggered, and the tags in folder 100 would poll when 100/_Demand_Scan was triggered. Alternately, the scan class could be just another element in the folder instead.
Another issue is that there’s no good way to tell the user when their tags were last polled. We were lucky on the last project we did and had a float variable that is continuously increasing, so we could look at that variable’s last update value. The devices I’m working with now don’t really have any values guaranteed to be changing. Some scan class tag that said the last time a poll was completed would be helpful.
Lastly, right now the Driven mode just tells it to continuously poll while the condition is true. I’ve encountered problems with this model where sometimes it wouldn’t complete a full poll before the driving value went away, or it would do a whole bunch of polls in that time. A better way of doing this would be either to have another “Triggered” mode where the value going low to high would make it complete a single poll, or something similar where it would complete a single poll, then set a tag to a user defined value.