当前位置:
文档之家› 第七章 PLC传送比较指令及.
第七章 PLC传送比较指令及.
第七章 PLC传送比较指 令及应用
内容提要 数据传送比较类指令含比较指令、区间 比较指令、传送指令、块传送指令、多点传送指令、 数据交换指令、BCD交换指令、BIN交换指令,是 数据处理类程序中使用十分频繁的指令。
本章介绍传送比较指令的使用方法及应用,给出
了一些实例。
7.1传送、比较类功能指令说明
图6-18 32位数据的传送
• 3.位传送指令 (1)位传送指令说明及梯形图表示方法 • SMOV指令是进行数据分配与合成的指令。该 指令是将源操作数中二进制(BIN)码自动转换 为BCD码,按源操作数中指定的起始位号ml和 移位的位数m2向目标操作数中指定的起始位n 进行传送,目标操作数中未被移位传送的BCD 位,数值不变,然后再自动转换成二进制(BIN) 码,如图6-19所示。 • 源操作数为负以及BCD码的值超过9999都将出 现错误。
7.数据交换指令XCH(FNC17)
(1)指令格式 (2)指令说明 ① 数据交换指令功能是将两个指定的目标操作数 进行相互交换。如图6-28所示,当X0为ON时, D10与D11的内容进行交换。若执行前(D10) =100、(D11)=150,则执行该指令后, (D10)=150,(D11)=100。
图6-14 传送指令的基本形式
• 当X0合上,则(D1,D0)→(D11,D10); 当X1合上,由(C235)32位→D21,D20。 (3)指令的应用举例 ① 定时器、计数器当前值读出,如图6-15。图中, X1=ON时,(C0当前值)→(D20)。 ② 如图6-16是定时器、计数器的间接设定。在图 中,X2=ON时,K200→(D12),(D12) 中的数值作为T20的时间设定常数,定时器延时 20s。
• ③ BCD码的数值范围: 16位操作时为0-9999, 32位操作时为0-99999999。 • ④ 如果数据源不是BCD码,则 M8067为“1”,表示运算错误,同时, 运算错误锁存特殊辅助继电器M8068 不工作。 • ⑤ 常数K自动进行二进制变换处理。
7.2 传送比较类指令的基本用途 及应用实例
5.块传送指令BMO(FNC15)
(1)指令格式 (2)指令说明 ① 块传送指令是成批传送数据,将操作数中 的源数据[S]传送到目标操作数[D]中,传 送的长度由n指定。如下图所示,当X0为 ON时,将D7、D6、D5的内容传送到 D12、D11、D10中。在指令格式中操作 数只写指定元件的最低位,如D5、D10。
(2)区间比较指令(ZCP) • 区间比较指令使用说明如图6-12所示。它是将 一个数据[S]与两个源操作数[S1]、[S2]进行代 数比较,比较结果影响目标操作数[D]。X0为 ON,C30的当前值与K100和K120比较,若 C30<100时,则M3=1;若100≤C30≤120 时,则M4=1,Y1=1;若C30>120时,则 M5=1,Y2=1。 • 区间比较指令,数据均为二进制数,且带符号位 比较
• ② 若块传送指定的是位元件的话,则目标数与 源操作数的位数要相同
③ 在传送数据的源与目标地址号范围重叠时,为 了防止输送源数据在未传输前被改写,PLC将自 动地确定传送顺序,如下图所示。
• ④ 若特殊辅助继电器M8024置于ON时, BMOV指令的数据将从[D] →[S],若 M8024为OFF时,块传送指令仍恢复到原 来的功能。
图6-15 计数器当前值读出
图6-16 定时器、计数器设定值间接指定
• ③ 位软元件的传送,可用图6-17中右图MOV 指令来表示左图的顺控程序。
图6-17 位软元件的传送
• ④ 图6-18是32位数据的传送。DMOV指令常 用于运算结果以32位传送的功能指令(如MUL 等)以及32位的数值或32位的高速计数器的当 前值等的传送。
2.四路七段显示控制程序
• 本例是利用功能指令的功能,节省PLC的 输出点数,而达到多位显示的目的。如图 6-34(a)所示,为-4位显示(带译码 器),Y0-Y3为BCD码,Y4-Y7为片选信 号,显示的数据分别存放在数据寄存器D0D3中。其中D0为千位,D1为百位,D2为 十位,D3为个位。X5为运行、停止开关。
• FX2N系列可编程控制器数据传送、 比较类指令包括比较指令、区间比较 指令、传送与位传送指令、取反指令、 块传送指令、多点传送指令、数据交 换指令、BCD码变换指令、BIN码变 换指令共十条,是数据处理类程序中 使用十分频繁的指令
FNC NO 10 11
指令助记符 CMP ZCP
指令名称及功能 比较指令 区间比较指令
图6-20 数字开关的数据组合
4.反相传送指令CML (FNC14)
• (1)指令格式
(2)指令说明 • ① 如上图所示为反相传送指令功能说明。当X0 为ON时,将[S]的反相送[D],即把操作数源数 据(二进制数)每位取反后送到目标操作数中。 若数据源为常数时,将自动地转换成二进制数。
• ② CML为连续执行型指令,CML(P) 为脉冲执行型指令。 • ③ 本指令可作为PLC的反相输入或反 相输出指令
• ③ 若将PLC的二进制数据转换成BCD码并用 LED七段显示器显示,可用BCD码指令,如图。
9.二进制变换指令BIN(FNC 19)
(1)指令格式 (2)指令说明 • ① BIN指令与BCD指令相反,它是将BCD码转 换成二进制数,即源操作数[S]中的BCD码转换 成二进制数存入目标操作数[D]中。 • ② 如图6-32所示,当X0为ON时,源操作数 K2X0中BCD码转换成二进制数送到目标操作 单元D13中去。
图6-10 比较指令使用说明
• 比较指令的几点说明:
a) 比较的数据为二进制数,且带符号位比较, 如-5<2。 b) 比较的结果影响目标操作数(Y、M、S)故目 标操作数不能指定其他继电器(例如X、D、T、 C)。 c) 若要清除比较结果时,需要用RST和ZRST复 位指令,如图6-11所示。
图6-11 比较结果复位
图6-19 位传送指令的使用和移位说明删去移字
(2)位传送指令应用
• 图6-20是三位BCD码数字开关与不连续的 输入端连接实现数据的组合。由图中程序 可知,数字开关经X20-X3输入的2位 BCD码自动以二进制形式存入D2中的低八 位;而数字开关经X0-X3输入的1位BCD 码自动以二进制存入D1中低四位。通过位 传送指令将D1中最低位的BCD码传送到 D2中的第3位,并自动以二进制存入D2, 实现了数据组合。
8.BCD码变换指BCD(FNC18)
• (1)指令格式
(2)指令说明 • ① BCD变换指令是将源操作数中的二进制数变 换成BCD码送至目标操作数中,如图6-30所示。 当X0为ON时,将D12中的二进制数转换成 BCD码送到输出口Y7-Y0中。 • ② 使用BCD或BCD(P)16位指令时,若 BCD码转换结果超过9999的范围就会出错。使 用(D)BCD或(D)BCD(P)32位指令时, 若BCD码转换结果超出99999999的范围,同 样也会出错。
• 比较、传送类指令是功能指令中使用 最频繁的指令,其应用实例很多,这 里仅举几个典型应用实例,以便读者 掌握它的应用方法。
7.2.1 传送比较指令的基本用途
1. 用于获得程序的初始工作数据 2. 机内数据的存取管理 3. 运算处理结果向输出端口传送 4. 比较指令用于建立控制点
7.2.2 传送比较指令应用举例
• 控制梯形图如下图所示。这是以向输出口送数的 方式来实现控制要求的。
习题及思考题
7-1 PLC的数据传送比较指令有哪些?简述这些 指令的编号、功能、操作数范围等。 7-2 用CMP指令实现下面功能:X000为脉冲输 入,当脉冲数大于5时,Y1为ON;反之,Y0 为ON。编写此梯形图。 7-3 三个电机相隔5S启动,各运行10S停止,循 环往复。使用传输比较指令完成控制要求。 7-4 试用比较指令,设计一密码锁控制电路。密码 锁为四键,若按H65对后2S,开照明;按H87
1.电动机的Y/△启动控制
大电机启动时先接成Y型,等电机速度升 上来后,再换接成△。
• 设置启动按钮为X0,停止按钮为X1;控制电路 主ⅹⅹ接触器KMI接于输出口Y0,Y接法接触 器KM2接于输出口Y1,△接法接触器KM3接 于输出口Y2。依电动机Y-△启动控制要求, 启动时,应Y0Y1为ON(H=3)电动机Y形启 动。当转速上升到一定程度,断开Y1,延时1s (防止Y2Y1同时通)后接通Y0、Y2(传送常 数为5),电动机△形运行。 • 停止时,传送常数应为0。另外,启动至正常运 行状态间时间隔约为6s。
(a)CMP指令的应用
(b)ZCP指令的应用
2.传送指令MOV(FNC12)
• 指令说明 ① 如图6-14(a)所示为传送指令的基本格式,MOV指 令的功能是将源操作数送到目标操作数中,即当XO为 ON时,[S]→[D]。 ② 指令执行时,K100十进制常数自动转换成二进制数。 当XO断开时,指令不执行,D10数据保持不变。 ③ MOV指令为连续执行型,MOV(P)指令为脉冲执行 型。编程时若[S]源操作数是一个变数,则要用脉冲型 传送指令MOV(P)。 ④ 对于32位数据的传送,需要用(D)MOV指令,否则 用MOV指令会出错,如图6-14(b)所示为一个32位 数据传送指令。
• ② 该指令的执行可用脉冲执行型指令 [XCH(P)],才达到一次交换数据的效 果。若采用连续执行型指令[XCH],则每 个扫描周期均在交换数据,这样最后的交 换结果就不能确定,编程时要注意这一情 况。 • ③ 当特殊继电器M8160接通,若[D1]与 [D2]为同一地址号时,则其低8位与 高8 位进行交换,如图6-29所示。32位指令亦 相同。
12
13 14 15 16
MOV
SMOV CML BMOV FMOV
传送指令
位传送指令 反相传送指令 块传送指令 多点传送指令
17
XCH