Rockwell Automation 6008-SI IBM PC I/O SCNNR 6008-SI User Manual
Page 66

Chapter 6
Discrete I/O
6-11
This sequence of events could take as long as two passes through the scan
list. This worst case scenario happens when you update an output just after
the scanner and the host interrupt handler have refreshed that rack. So it
may take one cycle until the scanner gets the new value, and a second
cycle until it services the adapter and sends the changed output.
How long is a cycle? Multiply 11 milliseconds (7 ms at 115.2 Kbaud) by
the number of adapters in the scan list. Your program has no way to know
where the scanner is in the scan list, or when the refreshes take place, so if
timing is critical you must assume that outputs might not get out to the real
world for as long as two complete scan lists if each adapter occurs only
once. (You can improve the situation by putting a critical adapter at two
different points in the scan list; see the scan list command in chapter 7,
”Scan List”.)
Partial Refresh
You can force a partial refresh sooner than the worst case of two complete
passes through the scan list. This makes the scanner’s latest input
information available to your program and send the scanner new discrete
outputs for those same racks. However, your program has no way to
update specific racks or adapters, or to know which racks have just been
refreshed.
We don’t know of an application that would require such an interim
refresh, but if you decide yours is one here is how to refresh the I/O image
tables early.
Note: It may bear repeating that update merely updates I/O image tables;
it does not assure your program that any I/O has actually occurred.
update
Use this routine to refresh the I/O image tables.
Calling sequence:
status = update( );
Arguments:
none.
Returned value:
OK if the scanner responded before the timeout period specified by
g_timout; NOT_OK if the scanner did not respond.