Hi There! Welcome to the forums.
The one bit of key info that would be helpful is to know if are talking to remote I/O or if its all on localhost…
But, regardless, there are some aspects of your post that we can advise on from a high level…
Your point about not finding any of this ‘performance’ info is well taken. I am in the process of combining, updating and pretty much totally re-writing the two current optimization and best practices docs, but its a big job.
Unless you are using serial I/O, having more than one chart talking to the same I/O rack/module is not an issue. Ethernet is very fast when it comes to I/O operations and so there is not a lot to worry about till you are getting into multi controllers talking to the same I/O.
One thing you don’t mention is what GUI you are using, PAC Display, groov View or something else?
Generally you want to connect your I/O graphic elements directly to the I/O vs via the controller.
You can read why here (last post, but skim the rest of the thread): Groov View tags to IO
As far as turning on a point that’s already turned on, its not a problem.
As you (hopefully) recall from the class, you should have delays in all your charts and every loop in every chart, so that delay is going to take care of your performance ‘gains’ in checking if its on before turning it on.
As a reminder about delays:
So lets know if your I/O is remote or local host and if there is more than one control strategy talking to the same rack and lastly what user interface you are using.
There might be some tweaks or things to keep in mind depending on how that’s setup.