Interrupciones arduino

La activación de las salidas sí que no depende de donde estas en el programa porque no se activan instantáneamente, pero depende de lo que tengas en él. Se activarán todas simultáneamente al final de un ciclo de scan, pero antes se han ido activando una a una según las condiciones y de forma secuencial.Si todo fuera instantáneo y simultáneo, ¿para que harían falta esas tarjetas rápidas?
Igualmente, para garantizar la detección de un cambio en una entrada debe producirse como mínimo durante el tiempo equivalente a un ciclo de scan.

Luego como todo, hay PLCs que escriben directamente a las salidas y entonces se activan de forma secuencial en vez de simultánea, tarjetas con entradas con latching para pequeños pulsos, entradas a contador, etc. que modifican el comportamiento y la forma de tratarlas. Pero vamos que lo normal y general es lo que he comentado antes.

En un PLC pasaría exactamente lo mismo que comentas en el primer post.
Si en tu programa hay una zona que tarda 1 segundo en ejecutarse y tu pulsas un botón durante ese segundo, sería ignorado totalmente por el PLC (raro sería un programa de 1 segundo en un PLC, pero puede pasar perfectamente). Y esta es una de las razones por las que existe las tarjetas rápidas.