可编程控制器的工作过程包括两部分:自诊断及通信响应的固定过程和用户程序执行过程,如图5-1所示。PLC在每次执行用户程序之前,都先执行故障自诊断程序、复位、监视、定时等内部固定程序,若自诊断正常,继续向下扫描,然后PLC检查是否有与编程器、计算机等的通信请求。如果有与计算机等的通信请求,则进行相应处理。当PLC处于停止(STOP)状态时,只循环进行前两个过程。而在PLC处于运行(RUN)状态时,PLC从内部处理、通信操作、输入扫描、执行用户程序、输出刷新五个工作阶段循环工作。每完成一次以上五个阶段所需要的时间称为一个扫描周期。
扫描周期是PLC的一个重要指标,小型PLC的扫描周期一般为十几毫秒到几十毫秒。PLC的扫描周期长短取决于扫描速度和用户程序的长短。毫秒级的扫描时间对于一般工业设备通常是允许的,PLC对输入的短暂滞后也是允许的。但对某些I/O快速响应的设备,则应采取相应的处理措施。如选择高速CPU,提高扫描速度;选择快速响应模块、高速计数模块以及不同的中断处理等措施减少滞后时间。对于用户来说,要提高编程能力,尽可能优化程序;而在编写大型设备的控制程序时,尽量减少程序长度,选择分支或跳步程序等,都可以减少用户程序执行时间。