I am trying to understand the inner workings of the IO processor such as in an EB1 vs a controller such as the controller within a PAC-R2.
I assume that the IO processor is free running and continuously scanning the I/O modules, gathering the data, doing some conditioning if so configured and placing this data in the OptoMMP memory map.
I also assume that the controller, running charts, is accessing this block of memory at a controlled interval. For example if I set up a chart with a timer and schedule it to “READ” into a “table” so that I can then process this data.
My application has some strict real time requirements.
How often does the IO controller scan the modules and update the data in the memory map?
Lets assume I have 16 modules of 4 channel analog, AIV-4. There is mention in the specs of freshness of data. What does this mean? The specifications state a Max of 23 mS for what I am using. So does this mean when reading 16 of these modules with one command, such as MoveIoUnitToNumTable, that the data will be no older than 23 mS? I am doing no other special stuff on the I/O processor side, just reading the scaled analog values from it on a regular interval. (I am using a downtimer to control the interval of the controller side.)
Is there any synchronization going on between this command to read all channels and the IO Processor? Does the command initiate the scan? Or, as I stated earlier in my assumptions, is the IO processor scanning continuously?
Is there a suggested way to measure the scan time of the IO processor?
Bottom line, I need to know what is the worst case age of all the 64 channels. Its OK if it varies within some range, I just need to understand that it is not greater than some value. And I need to understand this only for these specific 4 channel analog modules.
Hope this makes sense,