工控智汇

工控智汇

西门子PLC指令集讲解

admin 76 50
“与”(A)、“与非”(AN)

A:“与”指令适用于单个常开触点串联,完成逻辑“与”运算。

AN:“与非”指令适用于单个常闭触点串联,完成逻辑“与非”运算。


“与”(A)、“与非”(AN)指令

由图可知,触点串联指令也用于串联逻辑行的开始。CPU对逻辑行开始第1条语句如的扫描称为首次扫描。首次扫描的结果(的状态)被直接保存在RLO(逻辑操作结果位)中;在下一条语句,扫描触点的状态,并将这次扫描的结果和RLO中保存的上一次结果相“与”产生的结果,再存入RLO中,如此依次进行。在逻辑串结束处的RLO可作进一步处理。如赋值给(=)。

“或”(O)、“或非”(ON)

O:“或”指令适用于单个常开触点并联,完成逻辑“或”的运算。

ON:“或非”指令适用于单个常闭触点并联,完成逻辑“或非”运算。


由图可知,触点并联指令也用于一个并联逻辑行的开始。CPU对逻辑行开始第1条语句如的扫描称为首次扫描。首次扫描的结果(的状态)被直接保存在RLO(逻辑操作结果位)中,并和下一条语句的扫描结果相“或”,产生新的结果再存入RLO中,如此一次进行。在逻辑串结束处的RLO可用作进一步处理,如赋值给(=)。

此外,还有“异或”(X)、“异或非”(XN)、嵌套指令等等。

输出线圈

输出线圈指令即逻辑串输出指令,又称赋值指令,该指令把RLO中的置赋给指定的位地址,当RLO变化时,相应位地址信号状态也变化,在LAD中,只能将输出指令放在触点电路的最右端,不能将输出指令单独放在一个空网络中。下图是两个应用举例。


中间输出

如图所示,中间输出指令被安置在逻辑串中间,用于将其前面的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以有时也称为“连接器”或“中间赋值元件”。它和其他元件串联时,“连接器”指令和触点一样插入。连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处。


置位指令、复位指令

置位/复位指令也是一种输出指令。使用置位指令时,如果RLO=1,则指定的地址被置为1,而且一直保持,直到被复位为0。使用复位指令时,如果RLO=1,则指定的地址被复位为0,而且一直保持,直到被置位为1,如图所示。


触发器指令

触发器有置位复位触发器(SR触发器)和复位置位触发器(RS触发器)两种,这两种触发器指令均可实现对指定位地址的置位或复位。触发器可以用在逻辑串最右端,结束一个逻辑串;也可用在逻辑串中,当作一个特殊触点,影响右边的逻辑操作结果。置位优先型RS触发器如下图所示。


边沿检测指令

当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升沿(也称正跳沿);从1变到0时,产生一个下降沿(也称负跳变)。跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。

S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的指令。

(1)RLO跳变沿检测指令

RLO跳变沿检测可分别检测正跳沿和负跳沿。

①当RLO从0到1时,正跳沿检测指令在当前扫描周期以RLO=0表示其变化,而在其他扫描周期均为0。在执行RLO正跳沿检测指令前,RLO的状态存储在位地址中。

②当RLO从1到0时,负跳沿检测指令在当前扫描周期以RLO=1表示其变化,而在其他扫描周期均为0。在执行RLO负跳沿检测指令前,RLO的状态存储在位地址中。

RLO跳变沿检测指令和操作数见下表。


(2)触点跳变沿检测指令

触点跳变沿检测可分别检测正跳沿和负跳沿。

①触点正跳沿检测指令FP:在LAD中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态。有一个输出端Q,当触点状态从0到1时,输出端Q接通一个扫描周期。

②触点负跳沿检测指令FN:在LAD中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态。有一个输出端Q,当触点状态从1到0时,输出端Q接通一个扫描周期。


程序例:


LAD(a)程序行要检测的是逻辑串、的运算结果的跳变边沿,即图中①点处的RLO的边沿变化情况,同时用来存储RLO①的状态。程序的工作过程如时序图:当程序运行到图中a点时,当前RLO值是1,而上次RLO值(存放在中)是0,于是FP指令判断到一个RLO的正跳沿,就将②点处的置1,并且输出给;当程序经过1个扫描周期,运行到波形图中b点时,当前RLO值和前一个RLO值均为1,相同(RLO在相邻两个扫描周期中相同,可全为1或0),那么FP指令将②点处置0,并输出给。这样为1的时间仅一个周期。图中虚线箭头指的是两个相邻扫描周期RLO的比较。

对RLO下降沿的检测,读者可自行分析c点、d点时的情况,FN指令检测到一个RLO①的负跳沿时将置1,为1的时间也是一个周期。

定时器指令



定时器的梯形图指令与操作数


脉冲定时器(SP)

这是一种产生一个“长度脉冲”,即接通一定时间的定时器。

程序例:


图中当闭合(RLO有正跳沿),SP定时器T4启动并运行,T4触点立即动作,T4常开触点闭合,只要保持闭合,T4继续运行,T4常开触点保持闭合。当定时时间到(图中为3s),T4常开触点断开。所以只要维持足够长的时间(超过设定时间)及无复位信号(未接通)两个条件成立,定时器就能接通一固定时间(所设定时间)。

延时脉冲定时器(SE)

程序例:


图中当闭合(RLO有正跳沿),SE定时器T4启动运行,T4触点立即动作,其常开触点闭合,此时即使断开,T4仍将继续运行,T4常开触点也一直保持闭合直至所设定的时间。只要不在设定时间内反复短时通断,T4均可设定长时间的接通。如果出现短时反复通断,导致T4的反复响应,会使总接通时间大于设定时间(图中t3s处)。闭合,启动复位信号,定时器T4立即复位(停止运行)。

启动延时接通定时器(SD)

程序例:


控制中,有些控制动作要比输入信号滞后一段时间开始,但和输入信号一起停止,为了满足这样的要求,可采用启动延时接通定时器,其工作过程如下图所示。

图中,当闭合(RLO有正跳沿),SD定时器T4启动运行,当设定的延时时间3s到后,T4触点动作,T4的常开触点闭合,直至断开,T4运行随之停止,T4常开触点断开。闭合时间小于定时器T4设定延时时间,T4触点不会动作。闭合,启动复位信号,定时器T4立即复位(停止运行)。

启动保持型延时接通定时器(SS)


如果希望输入信号接通后(接通短时即断开,或持续接通),在设定延迟时间后才有输出,就需要用启动保持型延时接通定时器。其工作过程如下图。

图中当闭合一下或闭合较长时间(RLO有正跳沿),SS定时器T4启动运行,当设定的延时时间3s到后,T4线圈得电,T4常开触点就闭合,此后一直闭合,直至闭合,复位指令使T4复位。只有复位指令才能令动作了的SS定时器复位,因此使用SS定时器必须编写复位指令(R),其他定时方式可根据需要而定。

在设定延时时间内,如果反复通断,会影响定时器触点延迟接通时间。

启动延时断开定时器(SF)


图中闭合,SF定时器T4启动,其触点立即动作,常开触点T4立即闭合。当断开(RLO有负跳沿)时开始计时,在定时的延时时间未到之前,其触点不会动作,常开触点T4不会断开。当延时时间到,常开触点T4才会断开。在延时时间内闭合,复位信号可令T4立即复位,常开触点立即断开。不在定时延时时间内,复位(R)信号对SF定时器不起作用。

在断开的时刻,如果存在复位信号,则SF定时器立即复位。

计数器指令

在生产过程中常常要对现场事物发生的次数进行记录并据此发出控制命令,计数器就是为了完成这一功能而开发的。

用线圈表示的计数器指令


用功能块表示的计数器指令及操作数


传输指令

程序例子:


传输指令EN端为允许输入端;ENO端为允许输出端。当输入为“1”时,传输指令将MWl0中的字传输给MW20。如果指令正确执行,则输出为“1”。否则,如果输入为“0”,则数据不传输。如果希望MWl0无条件传输给MW20,则EN端直接连接至母线即可。

整数比较指令

程序例:


输入信号的RLO为“1”时,比较整数MW0的值是否大于等于MW2的值,如果是,则输出为“1”。

FC105块


FC105是处理模拟量(1~5V、4~20MA等信号)输入的功能块:其中管脚的定义如下:
IN---------模拟量模块的输入通道地址,比如PIW0;
HI_LIMN---------现场信号的最大量程值比如水池的液位最大值是10米,这里就设定为10.0,LO_LIMN---------现场信号的最小量程值,比如水池的液位最小值是0米,这里就设定为0.0,BIPOLAR---极性设置,如果现场信号为+10V~-10V(双极性信号),则设置为1,如果现场信号为4~20毫安(单极性信号),则设置为0;
RET_VAL----FC105功能块的故障字,可存放在一个字里面。如:MW50;
OUT--------现场信号值(对应的是0.0米至10.0米);信号类型是实数。

FC106功能块


FC106是处理模拟量(1~5V、4~20MA等信号)输出的功能块:
其中管脚的定义如下:
IN---------现场信号输入值,比如频率30Hz,设定值必须是实数30.0,HI_LIMN---------现场现场设备所要求的最大输入信号比如最大频率50Hz,这里就设定为50.0,LO_LIMN---------现场现场设备所要求的最小输入信号比如最小频率10Hz,这里就设定为10.0。
BIPOLAR—---极性设置,如果现场设备所要求的输入信号为+10V~-10V(双极性信号),则设置为1,如果现场设备所要求的输入信号为4~20毫安(单极性信号),则设置为0;
RET_VAL----FC106功能块的故障字,可存放在一个字里面。如:MW50;
OUT--------现场信号值(单极性对应的是0至27648,双极性对应的是-27648至+27648);信号类型是整数。