The documentation states that when these instructions are executed, they are placed in a queue. When the ASCII read/writes are subsequently processed from the queue, are they then synchronous or asynchronous (like MSG instructions)?
I need to read a continuous ASCII stream from a device (a weight scale).
I'm using a 1756-L62 (5562)
At 9600 baud, am I going to overwhelm the ASCII buffer to the point where the PLC can't keep up with the incoming ASCII?
Also, how should I set up my read instructions: Should I make an array of Control Port tags and use multiple reads or just stick with one read instruction. Additionally, is it recommended to put these instructions in a continuous task, or a periodic task?
The PLC has relatively little going on so the scan won't be bogged down in other parts of the program.
No, you won't overwhelm anything on the 62 at 9600 baud, unless perhaps the message itself is more than a standard string in possible length. If it is, just create a new string type with a longer length.
Anyway, keep it in continuous, configure it for the proper end-of-message character(s), trigger it, and wait either for timeout or an actual message. Once you get a real message, copy it off, parse it, and re-trigger the MSG instruction.
They are sthe same kdcui, once triggered, they go off and do their thing. They don't have to complete before the scan moves on (Good thing too, if you think about it).
If you are doing a polling sequence, you will have to watch the order of writes and reads, of course.