可编程控制器是一种专用的工业控制计算机,因此,其工作原理建立在计算机控制系统工作原理的基础上。但为了可靠地应用在工业环境下,便于现场电气技术人员的使用和维护,它有着大量的接口器件、特定的监控软件、专用的编程器件。所以,不但其外观不像计算机,它的操作使用方法、编程语言及工作过程与计算机控制系统也是有区别的。
1.可编程控制器的工作过程
S7-300 PLC的工作过程有两个显著特点:一个是周期性顺序扫描,一个是集中批处理。
周期性顺序扫描是可编程控制器特有的工作方式,PLC在运行过程中,总是处在不断循环的顺序扫描过程中。
当PLC启动后,先进行初始化操作,包括对工作内存的初始化、复位所有的定时器、将输入/输出继电器清零,检查I/O单元连接是否完好,如有异常则发出报警信号。初始化之后,PLC就进入周期性扫描过程。扫描过程分为4个扫描阶段。
(1)公共处理扫描阶段
公共处理包括PLC自检、执行来自外设的命令、对警戒时钟(又称监视定时器或看门狗定时器( Watch Dog Timer,WDT))清零等。
PLC自检就是CPU检测PLC各器件的状态,如出现异常再进行诊断,并给出故障信号,或自行进行相应处理。
(2)输入采样扫描阶段
这是第1个集中批处理过程,在这个阶段中PLC按顺序逐个采集所有输入端子上的信号,不论输入端子上是否接线,CPU顺序读取全部输入端,将所有采集到的一批输入信号写到输入映像寄存器中。在当前的扫描周期内,用户程序依据的输入信号的状态(ON或OFF),均从输入映像寄存器中去读取,而不管此时外部输入信号的状态是否变化。即使此时外部输入信号的状态发生了变化,也只能在下一个扫描周期的输入采样扫描阶段去读取,对于这种采样输入信号的批处理,虽然严格上说每个信号被采集的时间有先有后,但由于PLC的扫描周期很短,这个差异对于一般工程应用可忽略,所以可认为这些采集到的输入信号是同时的。
(3)执行用户程序扫描阶段
这是第2个集中批处理过程。在执行用户程序阶段,CPU对用户程序按顺序进行扫描。如果程序用梯形图表示,则是按先上后下,从左至右的顺序进行扫描。每次扫到一条指令,所需要的输入信号的状态均从输入映像寄存器中去读取,而不是直接使用现场的立即输入信号。对其他信息,则是从PLC的元件映像寄存器中读取。在执行用户程序中,每一次运算的中间结果都立即写入元件映像寄存器中,这样该元素的状态马上就可以被后面将要扫描到的指令所利用。对输出继电器的扫描结果,也不是马上去驱动外部负载,而是将其结果写入元件映像寄存器中的输出映像寄存器中,在输出刷新阶段集中进行批处理,所以执行用户程序阶段也是集中批处理过程。