根据 plc的工作特点,PLC的输入/输出处理的原理如下。 (1)输入映像寄存器的数据(状态)取决于输入端子板上各输入点在本扫描周期的输入处理阶段所刷新的状态(1或0)。 (2)程序的执行取决于用户程序内容、输入/输出映像寄存器的内容及其他各元件映像寄存器的内容。 (3)输出映像寄存器(包括各元件映像寄存器)的数据(状态)由用户程序中输出指令的执行结果决定。 (4)输出锁存器中的数据(状态)由上一个扫描周期的输出处理阶段存人到输出锁存器中的数据确定,直到本扫描周期的输出处理阶段,其数据才被刷新。 (5)输出端子上的输出数据(状态)由输出锁存器中的数据决定。 下面用一个简单的例子进一步说明PLC的工作过程。图1(a)所示是PLC的外部接线圈,启动按钮SB1和停止按钮SB2的常开触点分别接PLC输入端子的XO和Xl端子,交流 接触器KM的线圈接PLC输出端子YO。图1b)所示为三个I/O变量对应的I/O映像寄存器。图1-2 -11(c)是PLC的梯形图。它与异步 电动机启动、自锁、停止的 继电器控制 电路图的功能相同。但是应注意,梯形图是一种软件,是PLC图形化的程序。图中的XO、YO等是梯形图中的编程元件。编程元件XO与接在输入端子XO的SB1的常开触点及输入映像寄存器XO相对应,编程元件YO与输出映像寄存器YO相对应,也与接在输出端子YO的PLC内的输出电路相对应。 梯形图以指令的形式存储在PLC的用户程序存储器中。图1(c)所示的梯形图与下面的4条指令相对应(“——”之后是该指令对应的触点或线圈注释)。 图1 PLC的外部连接图与工作过程示意 LD XO-接在左侧母线上的XO的常开触点 OR YO-与XO的常开触点并联的YO的常开触点 ANI Xl-与并联电路串联的Xl的常闭触点 OUT YO-YO的线圈 图1(c)所示的梯形图完成的逻辑运算为YO=(XO +YO)·Xl。 在输入扫描阶段,CPU将SB1和SB2的常开触点的数据状态读入相应的输入映像寄存器,外部触点接通时存入映像寄存器的是二进制数1,反之存人0。 在执行程序阶段,执行第一条指令时,CPU从输入映像寄存器XO中取出二进制数据并存入运算结果寄存器。 执行第二条指令时,从输出映像寄存器YO中取二进制数据,并与运算结果寄存器中的二进制数据相“或”(触点的并联对应“或”运算),运算结果存入运算结果寄存器。 执行第三条指令时,取出输入映像寄存器X1中的二进制数据,因为是常闭触点,取反后与前面的运算结果相“与”(电路中的串联对应于“与”运算),运算结果存入运算结果寄存器。 执行第四条指令时,CPU将运算结果寄存器的二进制数据送入YO的输出映像寄存器。 在刷新输出阶段,CPU将各输出映像寄存器中的二进制数据传送给输出模块并锁存起来,并由输出端子输出(直到下个扫描周期的刷新输出为止)。如果输出映像寄存器YO中存放的是二进制数1,外接的KM线圈通电,反之将断电。 设按钮SB1、SB2和KM的状态如图(a)所示,则对应XO、Xl和YO的波形图如(d)所示,高电平表示按下按钮或KM线圈通电。当t<t1时,cpu读取输入映像寄存器x0和x1的均为二进制数0,此时输出映像寄存器yo中为二进制数0,在程序执行阶段,经过上述逻辑运算过程之后,运算结果仍为yo=0,km的线圈处于断电状态。t<t1区间,虽然i o信号的状态没有变化,但用户程序仍一直反复不断地执行。t="t1时,按下启动按钮SB1,XO变为1状态,经逻辑运算后YO变l状态,在刷新输出阶段,将YO对应的输出映像寄存器中的1送到输出模块,PLC内YO对应的硬件继电器的常开触点闭合,KM的线圈通电。 </t1时,cpu读取输入映像寄存器x0和x1的均为二进制数0,此时输出映像寄存器yo中为二进制数0,在程序执行阶段,经过上述逻辑运算过程之后,运算结果仍为yo=0,km的线圈处于断电状态。t |