NewEngineer
Member
OP
That depends...
traditionally, most PLCs only update the I/O at the beginning/end of the main program cycle. At the beginning of a cycle the actual inputs are read into a input process image. The main program executes using the process image inputs and sets any out puts in the output process image. At the end of the main program scan the ouput process image is transferred to the actual outputs.
Some PLCs update I/O acyclically from the main program cycle (Rockwell I think?) and this can catch people out. In some PLC languages, for example Siemens PLCs, you can read and write directly to the I/O and this is often used in timed interrupt routines. Read direct from Inputs, execute interrupt code, write directly to outputs.
So, the short answer is: it deponds on what PLC you use and how you write the program.
Nick
After reading the manual the PLC reads the inputs at the start of the Main Task Cycle Time and updates the outputs at the end. It does not update the I/O acylically. I think this means having a faster timed interrupt would not help as the outputs are only updated at the end of the Main Task Cycle.