传送指令与比较指令
第七章 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讲 CPM1A系列PLC的指令系统—数据传送和比较指令
电气控制及可编程序控制器
数据比较指令
指令格式: BCMP (68) CD CB R 梯形图符号: 操作区域:
CD:比较数 CB:比较块的起始通道 R:比较结果通道
湖北工业大学
电气控制及可编程序控制器
数据比较指令
☺ 指令助记符前加@标记为微分型指令 ☺ 微分型指令和非微分型指令区别: ◆ 非微分型指令只要执行条件为ON,则每个循 环周期都要执行一次。 ◆ 微分型指令仅在执行条件由OFF变成ON时执 行一次。
湖北工业大学
电气控制及可编程序控制器
数据传送指令
◆ MOVB指令的应用
湖北工业大学
电气控制及可编程序控制器
数据传送指令
7.数字传送指令MOVD(83)/@MOVD(83) 梯形图符号及操作数取值区域
湖北工业大学
电气控制及可编程序控制器
数据传送指令
☺ 功能:当执行条件为ON时,将S中指定的数字位 (4个二进制位)传送到D中指定的数字位,一 一 次最多可以传送4个数字位。 S中要传送的第一 次最多可以传送4个数字位 个数字位、传送的数字位数、D中接收被传送数 字的第一个数字位由C指定。
数据比较指令
2、双字比较指令CMPL(60) 功能: 将通道Cp1+1、Cp1中的两个4位16进制数连成 一个8位16进制数,将通道Cp2+1、Cp2中的两个4 位16进制数连成另一个8位16进制数,然后比较这 两个8位数的大小,将比较结果送SR区的标志位。 ☺(Cp1+1、Cp1)>(Cp1+2、Cp2),大于标志位25505 ON ☺(Cp1+1、Cp1)=(Cp1+2、Cp2),等于标志位25506 ON ☺(Cp1+1、Cp1)<(Cp1+2、Cp2),小于标志位25507 ON
菱FX1N基本指令介绍
故障诊断与排除方法
故障诊断
当菱fx1n PLC出现故障时,可以通过观察 PLC的指示灯和报警信息,初步判断故障类 型和原因。然后利用PLC的在线监控功能, 进一步分析故障现象和定位故障点。
故障排除
针对不同的故障类型和原因,可以采取相应 的排除方法。例如,对于电源故障可以检查 电源线路和保险丝是否正常;对于通信故障 可以检查通信接口和通信参数是否设置正确 ;对于程序错误可以检查程序逻辑和变量赋 值是否正确等。在排除故障后,需要重新测 试PLC的功能和性能,确保恢复正常运行。
用于控制电动机反转,即逆时针方向 旋转。反转电路通常包括一个反转按 钮和一个反转接触器。按下反转按钮 时,反转接触器线圈得电并吸合,从 而接通电动机的反转电路。
互锁功能
为了防止电动机同时接通正转和反转 电路而造成损坏,正反转互锁电路采 用了互锁功能。在正转电路中串联一 个反转接触器的常闭触点,在反转电 路中串联一个正转接触器的常闭触点 。这样,当其中一个接触器吸合时, 另一个接触器的电路就会被切断,从 而实现了互锁功能。
数据比较指令
对两个数据进行比较,根据比较结果执行相 应操作。
数据转换指令
实现数据类型的转换,如BCD码与二进制数 之间的转换。
数学运算指令
提供加、减、乘、除等基本数学运算功能。
高速处理指令
高速计数器指令
对外部输入的高速脉冲信号进行计数,实现高精度测量和控制。
高速比较指令
对高速计数器的值与预设值进行比较,输出比较结果。
THANKS
感谢观看
XCH指令
用于交换两个数据寄存器的内容, 常用于在不影响其他寄存器的情 况下交换数据。
比较类指令
ZCP指令
用于比较一个数据与一组数据中的某一个是 否相等,通常用于查找或匹配操作。
汇编指令1
汇编语言指令集一、数据传输指令1. 通用数据传送指令.MOV(MOVe) 传送字或字节.MOVS(MOVe String) 串传送指令MOVSX先符号扩展,再传送.MOVZX先零扩展,再传送.PUSH把字压入堆栈.POP把字弹出堆栈.PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.POPAD把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.BSWAP 交换32位寄存器里字节的顺序XCHG (eXCHanG)交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )XADD先交换再累加.( 结果在第一个操作数里)XLAT(TRANSLATE) 字节查表转换.── BX 指向一张256 字节的表的起点, AL 为表的索引值(0-255,即0-FFH); 返回AL 为查表结果. ( [BX+AL]->AL )2. 输入输出端口传送指令.IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器)输入输出端口由立即方式指定时, 其范围是0-255; 由寄存器DX 指定时,其范围是0-65535.3. 目的地址传送指令.LEA (Load Effective Address)装入有效地址.例: LEA DX,string ;把偏移地址存到DX.LDS (Load DS with pointer)传送目标指针,把指针内容装入DS.例: LDS SI,string ;把段地址:偏移地址存到DS:SI.LES (Load ES with pointer)传送目标指针,把指针内容装入ES.例: LES DI,string ;把段地址:偏移地址存到ES:DI.LFS 传送目标指针,把指针内容装入FS.例: LFS DI,string ;把段地址:偏移地址存到FS:DI.LGS 传送目标指针,把指针内容装入GS.例: LGS DI,string ;把段地址:偏移地址存到GS:DI.LSS 传送目标指针,把指针内容装入SS.例: LSS DI,string ;把段地址:偏移地址存到SS:DI.4. 标志传送指令.LAHF (Load AH with Flags)标志寄存器传送,把标志装入AH.SAHF (Store AH into Flgs)标志寄存器传送,把AH内容装入标志寄存器.PUSHF (PUSH the Flags)标志入栈.POPF (POP the Flags)标志出栈.PUSHD 32位标志入栈.POPD 32位标志出栈.二、算术运算指令───────────────────────────────────────ADD 加法.ADC 带进位加法.INC 加1.AAA 加法的ASCII码调整.非压缩的BCD码加法十进制调整指令DAA 加法的十进制调整.压缩的BCD码加法十进制调整指令SUB (SUBtract)减法.SBB (SuVtrach with borrow)带借位减法.DEC (DECrement)减1.NEC (NEGate)求反(以0 减之).CMP (CoMPare)比较.(两操作数作减法,仅修改标志位,不回送结果).AAS 减法的ASCII码调整.非压缩的BCD码加法十进制调整指令DAS 减法的十进制调整.压缩的BCD码减法十进制调整指令MUL (unsinged MULtiple)无符号乘法.IMUL (sIgned MUL tiple)整数乘法.以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),AAM 乘法的ASCII码调整.DIV (unsigned DIVide)无符号除法.IDIV (sIgned DIVide)整数除法.以上两条,结果回送:商回送AL,余数回送AH, (字节运算);或商回送AX,余数回送DX, (字运算).AAD 除法的ASCII码调整.CBW (Count Byte to Word)字节转换为字. (把AL中字节的符号扩展到AH中去)CWD (Count Word to Doble word)字转换为双字. (把AX中的字的符号扩展到DX中去) CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去)CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)三、逻辑运算指令───────────────────────────────────────AND 与运算.or 或运算.XOR 异或运算.NOT 取反.TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).SHL (SHift logical Letf)逻辑左移.SAL 算术左移.(=SHL)SHR (SHift logical Right)逻辑右移.SAR 算术右移.(=SHR)ROL (Rotate Left )循环左移.ROR (Rotate Right)循环右移.RCL (Rotate Left through Carry)通过进位的循环左移.RCR (Rotate Right through Carry)通过进位的循环右移.以上八种移位指令,其移位次数可达255次.移位一次时, 可直接用操作码. 如SHL AX,1.移位>1次时, 则由寄存器CL给出移位次数.如MOV CL,04SHL AX,CL四、串指令───────────────────────────────────────DS:SI 源串段寄存器:源串变址.ES:DI 目标串段寄存器:目标串变址.CX 重复次数计数器.AL/AX 扫描值.D标志0表示重复操作中SI和DI应自动增量; 1表示应自动减量.Z标志用来控制扫描或比较操作的结束.MOVS 串传送.( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. )CMPS (CoMPare String)串比较.( CMPSB 比较字符. CMPSW 比较字. )SCAS (SCAn String)串扫描指令.把AL或AX的内容与目标串作比较,比较结果反映在标志位.LODS 装入串.把源串中的元素(字或字节)逐一装入AL或AX中.( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )STOS (STOre into String)保存串.是LODS的逆过程.REP (REPeat)当CX/ECX<>0时重复.REPE/REPZ (REPeat while Equal/Zero)当ZF=1或比较结果相等,且CX/ECX<>0时重复. REPNE/REPNZ (REPeat while Not Equal/Zero)当ZF=0或比较结果不相等,CX/ECX<>0时重复. REPC 当CF=1且CX/ECX<>0时重复.REPNC 当CF=0且CX/ECX<>0时重复.五、程序转移指令───────────────────────────────────────1>无条件转移指令(长转移)JMP 无条件转移指令CALL 过程调用RET/RETF过程返回.2>条件转移指令(短转移,-128到+127的距离内)( 当且仅当(SF XOR OF)=1时,OP1<OP2 )JA/JNBE 不小于或不等于时转移.JAE/JNB 大于或等于转移.JB/JNAE 小于转移.JBE/JNA 小于或等于转移.以上四条,测试无符号整数运算的结果(标志C和Z).JG/JNLE 大于转移.JGE/JNL 大于或等于转移.JL/JNGE 小于转移.JLE/JNG 小于或等于转移.以上四条,测试带符号整数运算的结果(标志S,O和Z).JE/JZ 等于转移.JNE/JNZ 不等于时转移.JC 有进位时转移.JNC 无进位时转移.JNO 不溢出时转移.JNP/JPO 奇偶性为奇数时转移.JNS 符号位为"0" 时转移.JO 溢出转移.JP/JPE 奇偶性为偶数时转移.JS 符号位为"1" 时转移.3>循环控制指令(短转移)LOOP CX不为零时循环.LOOPE/LOOPZ CX不为零且标志Z=1时循环.LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.JCXZ CX为零时转移.JECXZ ECX为零时转移.4>中断指令INT 中断指令INTO 溢出中断IRET 中断返回5>处理器控制指令HLT 处理器暂停, 直到出现中断或复位信号才继续.WAIT 当芯片引线TEST为高电平时使CPU进入等待状态. ESC 转换到外处理器.LOCK 封锁总线.NOP 空操作.STC 置进位标志位.CLC 清进位标志位.CMC 进位标志取反.STD (SeT Direction flag)置方向标志位.CLD (CLear Direction flag)清方向标志位.STI 置中断允许位.CLI 清中断允许位.六、伪指令───────────────────────────────────────DW 定义字(2字节).PROC 定义过程.ENDP 过程结束.SEGMENT 定义段.ASSUME 建立段寄存器寻址.ENDS 段结束.END 程序结束.8088 汇编跳转cmp a,b 比较a与bmov a,b 把b的值送给aret 返回主程序nop 无作用,英文“no operation”的简写,意思是“do nothing” call 调用子程序je 或jz 若相等则跳jne或jnz 若不相等则跳jmp 无条件跳jb 若小于则跳ja 若大于则跳jg 若大于则跳jge 若大于等于则跳jl 若小于则跳jle 若小于等于则跳pop 出栈push 压栈MOV功能: 把源操作数送给目的操作数语法: MOV 目的操作数,源操作数格式: MOV r1,r2MOV r,mMOV m,rMOV r,dataXCHG功能: 交换两个操作数的数据语法: XCHG格式: XCHG r1,r2 XCHG m,r XCHG r,mPUSH,POP功能: 把操作数压入或取出堆栈语法: PUSH 操作数POP 操作数格式: PUSH r PUSH M PUSH data POP r POP mPUSHF,POPF,PUSHA,POPA功能: 堆栈指令群格式: PUSHF POPF PUSHA POPALEA,LDS,LES功能: 取地址至寄存器语法: LEA r,m LDS r,m LES r,mXLAT(XLATB)功能: 查表指令语法: XLAT XLAT m算数运算指令ADD,ADC功能: 加法指令语法: ADD OP1,OP2 ADC OP1,OP2格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data影响标志: C,P,A,Z,S,OSUB,SBB功能:减法指令语法: SUB OP1,OP2 SBB OP1,OP2格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data影响标志: C,P,A,Z,S,OINC,DEC功能: 把OP的值加一或减一语法: INC OP DEC OP格式: INC r/m DEC r/m影响标志: P,A,Z,S,ONEG功能: 将OP的符号反相(取二进制补码)语法: NEG OP格式: NEG r/m影响标志: C,P,A,Z,S,OMUL,IMUL功能: 乘法指令语法: MUL OP IMUL OP格式: MUL r/m IMUL r/m影响标志: C,P,A,Z,S,O(仅IMUL会影响S标志)DIV,IDIV功能:除法指令语法: DIV OP IDIV OP格式: DIV r/m IDIV r/mCBW,CWD功能: 有符号数扩展指令语法: CBW CWDAAA,AAS,AAM,AAD功能: 非压BCD码运算调整指令语法: AAA AAS AAM AAD影响标志: A,C(AAA,AAS) S,Z,P(AAM,AAD)DAA,DAS功能: 压缩BCD码调整指令语法: DAA DAS影响标志: C,P,A,Z,S位运算指令集AND,OR,XOR,NOT,TEST功能: 执行BIT与BIT之间的逻辑运算语法: AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data NOT r/m 影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0) NOT指令不影响任何标志位SHR,SHL,SAR,SAL功能: 移位指令语法: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 影响标志: C,P,Z,S,OROR,ROL,RCR,RCL功能: 循环移位指令语法: ROR r/m,data/CL ROL r/m,data/CL RCR r/m,data/CL RCL r/m,data/CL 影响标志: C,P,Z,S,O程序流程控制指令集CLC,STC,CMC功能: 设定进位标志语法: CLC STC CMC标志位: CCLD,STD功能: 设定方向标志语法: CLD STD标志位: DCLI,STI功能: 设定中断标志语法: CLI STI标志位: ICMP功能: 比较OP1与OP2的值语法: CMP r/m,r/m/data标志位: C,P,A,Z,OJMP功能: 跳往指定地址执行语法: JMP 地址JXX功能: 当特定条件成立则跳往指定地址执行语法: JXX 地址注:A: ABOVE,当C=0,Z=0时成立B: BELOW,当C=1时成立C: CARRY,当弁时成立CXZ: CX寄存器的值为0(ZERO)时成立E: EQUAL,当Z=1时成立G: GREATER(大于),当Z=0且S=0时成立L: LESS(小于),当S不为零时成立N: NOT(相反条件),需和其它符号配合使用O: OVERFLOW,O=1时成立P: PARITY,P=1时成立PE: PARITY EVEN,P=1时成立PO: PARITY ODD,P=0时成立S: SIGN,S=1时成立Z: ZERO,Z=1时成立LOOP功能: 循环指令集语法: LOOP 地址LOOPE(Z)地址LOOPNE(Z) 地址标志位: 无CALL,RET功能: 子程序调用,返回指令语法: CALL 地址RET RET n标志位: 无INT,IRET功能: 中断调用及返回指令语法: INT n IRET标志位: 在执行INT时,CPU会自动将标志寄存器的值入栈,在执行IRET时则会将堆栈中的标志值弹回寄存器字符串操作指令集MOVSB,MOVSW,MOVSD功能: 字符串传送指令语法: MOVSB MOVSW MOVSD标志位: 无CMPSB,CMPSW,CMPSD功能: 字符串比较指令语法: CMPSB CMPSW CMPSD标志位: C,P,Z,S,OSCASB,SCASW功能: 字符串搜索指令语法: SCASB SCASW标志位: C,P,Z,S,OLODSB,LODSW,STOSB,STOSW功能: 字符串载入或存贮指令语法: LODSB LODSW STOSB STOSW标志位: 无REP,REPE,REPNE功能: 重复前缀指令集语法: REP 指令S REPE 指令S REPNE 指令S标志位: 依指令S而定。
PLC传送比较指令的基本用途
PLC传送比较指令的基本用途
MOV、CMP指令,SMOV、CML、BMOV、FMOV、XCH、BCD、BIN 和ZCP指令系统称为传送比较指令,它们是应用指令中使用最频繁的指令。
它们的基本用途有以下几个方面。
(1)用来获得程序的初始工作数据。
一个掌握程序总是需要初始数据。
这些数据可以从输入端口上连接的外部器件获得,然后通过传送指令读取这些器件上的数据并送到.内部单元;初始数据也可以用程序设置,即向内部单元传送马上数;另外,某些运算数据存储在机内的某个地方,等程序开头运行时通过初始化程序传送到工作单元。
(2)用来进行机内数据的存取管理。
在数据运算过程中,机内的数据传送是不行缺少的。
由于数据运算可能要涉及不同的工作单元,数据需在它们之间传送;同时,运算还可能会产生一些中间数据,这些数据也需要传送到适当的地方临时存放;另外,有时机内的数据需要备份保存,这就要找地方把这些数据存储妥当。
总之,对一个涉及数据运算的程序,数据管理是很重要的。
(3)用来运算处理结果并向输出端口传送。
运算处理结果总是要通过输出实现对执行器的掌握。
对于与输出口连接的离散执行器件,可成组处理后看做是整体的数据单元,按各口的目标状态送入相应的数据,以实现对这些器件的掌握。
(4)用来比较指令以建立掌握点。
掌握现场常有将某个物理量的量值或变化区间作为掌握点的状况。
如温度低于某设定值打开电热器,
通过高于或低于某值就报警等。
作为一个掌握“阀门”,比较指令常消失在工业掌握程序中。
汇编常用指令
汇编常用指令1. 前言汇编语言是一种低级别的计算机语言,它是由一些指令组成的。
指令是一条计算机执行的命令,从基本上讲,这些指令代表着标准的操作,例如加、减、乘、除、移位和比较等。
汇编语言可以通过编写程序来控制一个计算机的行为,这些程序通常被称为汇编程序。
本文将介绍汇编语言中一些常用的指令。
2. 数据传送指令数据传送指令是汇编语言中最基本的指令之一,它主要用来将数据从一个位置传送到另一个位置。
在汇编语言中,数据传送指令通常使用MOV语句来实现。
下面是一些常用的数据传送指令:- MOV AX, BX:将BX中存储的数据传送到AX中。
- MOV AX, [BX]:将BX中存储的地址所指向的数据传送到AX中。
- MOV [BX], AX:将AX中存储的数据传送到BX所指向的地址中。
3. 算术运算指令算术运算指令主要用来执行各种数学运算,例如加法、减法、乘法和除法等操作。
下面是一些常用的算术运算指令:- ADD AX, BX:将BX中存储的数据与AX中存储的数据相加,并将结果存储在AX中。
- SUB AX, BX:将BX中存储的数据从AX中存储的数据中减去,并将结果存储在AX中。
- MUL BX:将AX中存储的数据与BX中存储的数据相乘,并将结果存储在AX中。
- DIV BX:将AX中存储的数据除以BX中存储的数据,并将结果存储在AX和DX中。
4. 位运算指令位运算是一种在二进制数字级别上的运算,它可以执行各种位操作,例如AND、OR、XOR和NOT等操作。
下面是一些常用的位运算指令:- AND AX, BX:将BX中存储的数据与AX中存储的数据按位进行AND运算,并将结果存储在AX中。
- OR AX, BX:将BX中存储的数据与AX中存储的数据按位进行OR 运算,并将结果存储在AX中。
- XOR AX, BX:将BX中存储的数据与AX中存储的数据按位进行XOR运算,并将结果存储在AX中。
- NOT AX:将AX中存储的数据按位进行取反操作。
传送和比较指令
M1 K100<C10的当前值时,M0 = ON
Y2
[S1>[S2],[D+2] = ON
K100=C10的当前值时,M1 = ON M2
Y3
K100>C10的当前值时,M2 = ON
一、比较指令 FNC10 CMP
❖ 说明
➢ 该指令是将源操作数[S1]和[S2]的中数据进行比较,结果送目标操作 数[D]中去。
四、移位传送指令 FNC13 SMOV
梯形图
X0
[S] m1 m2 [D] n
SMOV D1 K4 K2 D2 K3
b15
D1
自动转换
b0
二进制
D1
3 10
2 10
1 10
0 10
4位BCD码
保持
保持
D2
3 10
2 10
1 10
0 10
4位BCD码
b15
D2
自动转换
b0
二进制
从D1右起第四位(m1 = K4) 开始的2位 (m2 = K2) 数,
七、多点传送指令 FNC16 FMOV
❖ 操作数 [S]:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z [D]:KnY、KnM、KnS、T、C、D n: K、H ❖ 梯形图
X0
[S] D n
FMOV K10 D0 K10
把K10传送到D0~D9中去
八、数据交换指令 FNC17 XCH
D5
D10
D6
D11
D7
D12
六、块传送指令 FNC15 BMOV
❖ 说明 ➢ [S]为存放被传送的数据块的首地址;[D]为存放传送来的数据块的首 地址;n为数据块的长度。 ➢ 位元件进行传送时,源和目标操作数要有相同的位数。 ➢ 当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要 先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用 ①~③的顺序自动传送。 ➢ 该指令可以连续/脉冲执行方式。
传送及比较指令总结
传送及比较指令总结传送指令是计算机系统中常用的一类指令,用于将数据从一个位置移动到另一个位置。
这些指令通常用于数据的复制、转移和重排等任务。
在本文中,我将总结一些常见的传送指令,并比较它们的异同。
1.MOV指令:MOV (Move) 指令用于将数据从一个位置复制到另一个位置。
它可以在寄存器之间、寄存器和内存之间、寄存器和端口之间进行数据的传送。
MOV 指令通常具有两个操作数,一个目标操作数和一个源操作数。
例如,`MOV AX, BX` 将寄存器 BX 中的值复制到寄存器 AX 中。
MOV 指令在大多数计算机体系结构中都是支持的,因为它是一种非常基本和常见的操作。
2.LDR和STR指令:LDR (Load) 和 STR (Store) 指令用于将数据从内存中加载到寄存器或将数据从寄存器存储到内存中。
这些指令主要在ARM架构中使用。
LDR指令将内存中的数据加载到寄存器中,例如,`LDR R0, [R1]` 将 R1 寄存器中的地址所对应的内存单元中的数据加载到 R0 寄存器中。
STR 指令则将寄存器中的数据存储到内存中,例如,`STR R0, [R1]` 将 R0 寄存器中的数据存储到 R1 寄存器中的地址所对应的内存单元中。
3.PUSH和POP指令:PUSH指令用于将数据压入栈中,而POP指令用于从栈中弹出数据。
这两个指令通常用于实现函数调用和中断处理等操作。
PUSH指令将数据放入栈顶,然后栈指针下移;而POP指令则将栈顶数据读取到寄存器中,并将栈指针上移。
例如,`PUSHAX`将AX寄存器中的数据压入栈中,`POPAX`将栈顶数据弹出到AX寄存器中。
4.XCHG指令:XCHG (Exchange) 指令用于交换两个操作数的值。
这个指令可以用于两个寄存器之间的值交换,或者寄存器和内存之间的交换。
例如,`XCHG AX, BX` 将寄存器 AX 和 BX 中的数据进行交换。
XCHG 指令常用于实现数据交换、排序和互斥访问等场景。
PLC实验四传送与比较指令
实验四传送与比较指令【实验目的】1.熟悉STEP7编程软件的基本使用方法。
2.掌握STEP7编程软件梯形图程序的运行、监视及调试方法。
3.掌握基本传送与比较指令的使用方法。
4.将所学传送与比较指令知识运用于实践中,培养分析问题、解决问题能力。
【预习要求】1.复习传送与比较指令的有关内容。
2.按照下面给出的实验习题控制要求进行预习,理论分析梯形图内容。
【实验任务及要求】1.为加深对本次实验指令的理解,将课堂上讲解的例题输入编程软件,下载运行,并观察实验结果。
2.将实验习题理论分析的梯形图内容进行验证。
将梯形图程序输入编程软件,下载运行,并根据运行情况进行调试、修改程序,直到通过为止。
3.例题内容要求在实验课上测试通过,实验习题内容要求课堂上进行编写及调试,实验报告需涵盖I/O分配表和梯形图。
4.要求实验报告写出心得体会:本次实验中遇到的问题、解决方案或收获。
【实验步骤】1.新建工程,进行硬件组态,编译保存。
2.将程序逐条输入,检查无误后,保存程序。
3.将工程下载到模拟器。
4.将PLC设为运行状态,根据控制要求观察程序输出状态是否正确。
【实验内容】1、传送指令例1:当输入I0.2为1时,执行传送操作,将MW20的内容传送到DBW20,且使输出Q4.0为1。
~ 1 ~例2:用传送指令,设计一个梯形图将存储区MB0-MB3的数据清除。
MB0-MB3实际上就是MD0,因此用一条传送指令即可。
2、比较指令例1:等于比较指令。
比较以下两对数(5,6)和(5,5),并观察运行状态。
例2:不等于比较指令。
比较以下两对数(5,6)和(5,5),并观察运行状态。
例3:小于比较指令。
比较以下三对数(5,6),(6,5)和(5,5),并观察运行状态。
例4:大于等于比较指令。
比较以下三对数(5,6),(6,5)和(5,5),并观察运行状态。
3、综合练习实验习题1:比较IW0和MW0,如果IW0=MW0,则Q4.0为1;如果IW0~ 2 ~<MW0,则Q4.1为1,如果IW0>MW0,则Q4.2为1。
PLC传送和比较指令的用法使用案例详细说明
PLC 传送和比较指令的用法使用案例详细说明
1、比较指令CMP
CMP 指令有三个操作数:两个源操作数[S1.]和[S2.],一个目标操作数[D.],该指令将[S1.]和[S2.]进行比较,结果送到[D.]中。
CMP 指令使用说明如图所示。
2、区间比较指令ZCP
ZCP 指令是将一个操作数[S.]与两个操作数[S1.]和[S2.]形成的区间比较,且[S1.]不得大于[S2.],结果送到[D.]中。
ZCP 指令使用说明如图所示。
3、传送指令MOV
MOV 指令将源操作数的数据传送到目标元件中,即[S.]→[D.]。
MOV 指令的使用说明如图所示。
当X0 为ON 时,源操作数[S.]中的数据K100 传送到目标元件D10 中。
当X0 为OFF,指令不执行,数据保持不变。
4、移位传送指令SMOV。
6.2.1比较指令与数据传送指令
3. 双字整数比较
➢双字整数IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、 HC、AC、*VD、*AC、*LD和常数。双字整数比较是有符号的,双字整 数范围为16进制数,取值范围为80000000和7FFFFFFF之间。
指令格式例:LDD= VD10, VD14 AD<> MD0, MD8 OD<= AC0, 1160000
4. 实数比较 ➢实数IN1和IN2的寻址范围:VD、ID、QD、MD 和 常 数 。 实 数 比 较 是 有 符 号 的 , 负 实 数 范 围 为 1.175495E-38和-3.402823E+38,正实数范围为+1.175495E-38和 +3.402823E+38 指令格式例:LDR= VD10, VD18
目录
01 比较指令与数据传送指令
• 在语句表中使用LD指令进行编程时,当比较式为真时,主机将栈顶 置1。使用A/O指令进行编程时,当比较式为真时,则在栈顶执行A/O 操作,并将结果放入栈顶。
• 比较指令的类型有:字节比较、整数比较、双字整数比较和实数比 较。
• 比较运算符有:=、>=、<=、>、<和<>(<>表示不等于)。
AR<> MD0, MD12 OR<= AC1, 1160.478
数据传送指令
单一传送指令
字节传送指令MOVB 传送字节立即读指令BIR 传送字节立即写指令BIW 字传送指令MOVW 双字传送指令MOVD 实数传送指令MOVR
块传送指令
28功能指令: MOV(传送)、CMP(比较)指令
CMP指令使用说明 CMP指令使用说明
X000
CMP M0
[S1.] [S1
K100
[S2.] [S2
C20
[D.] [D.
M0
K100 > C20当前值,M0 = ON 20当前值 当前值,
M1
K100 = C20当前值,M1 = ON 20当前值 当前值,
M2
K100 < C20当前值,M2 = ON 20当前值 当前值,
ZCP指令使用说明 ZCP指令使用说明
X000
ZCP M3
[S1] [S1
K100
[S2] [S2
[S.] [D.] [S. [D.
K120 C30 M3
K100 > C30当前值时,M3 = ON 30当前值时 当前值时,
M4
K100 ≤ C30当前值≤K120时,M4 = ON 30当前值 120时 当前值≤
M5
K120 < C30当前值时,M5 = ON 30当前值时 当前值时,
比较结果的清除
用复位指令
3. 触点形比较指令: 是使用触点符号进行数据比较 触点形比较指令: 的指令,根据比较结果确定触点是否允许能流通过。 的指令,根据比较结果确定触点是否允许能流通过。
触点形比较指令的说明
[S1.] [S1
位元件
传送比较类指令及应用
传送比较指令说明
1. 比较指令(CMP): 比较指令是将源操作数 、 比较指令( 比较指令是将源操作数S1、 ) S2的数据, 按照代数规则进行大小比较 , 并将比较结 的数据, 的数据 按照代数规则进行大小比较, 果送到目的操作数D中 果送到目的操作数 中,驱动目的操作数及相邻的位元 件。
三菱plc常用的FNC指令
三菱plc常用的FNC指令一、程序流程控制指令——FNCO0~0900 CJ 条件转移01 CALL 子程序调用02 SRET 子程序返回03 IRET 中断返回04 EI 开中断05 DI 关中断06 FEND 主程序结束07 WDT 监控定时器刷新08 FOR 循环开始09 NEXT 循环结束二、传送、比较指令—FNC10~19 BIN----二进制BCD----十进制10 CMP 比较11 ZCP 区间比较12 MOV 传送13 SMOV BCD码移位传送14 CML 取反传送15 BMOV 数据块传送(n点→n点)16 FMOV 多点传送(1点→n点)17 XCH 数据交换,(DO)←→(D2)18 BCD BCD变换,BIN→BCD19 BIN BIN变换,BCD→BIN三、算术、逻辑运算指令—FNC20~29 BIN----二进制BCD----十进制20 ADD BIN加法21 SUB BIN减法22 MUL BIN乘法23 DIV BIN除法24 INC BIN加一25 BEC BIN减一26 WAND 字与27 WOR 字或28 WXOR 字异或29 NEG 求BIN补码四、循环、移位指令—FNC30~3930 ROR 循环右移31 ROL 循环左移32 RCR 带进位循环右移33 RCL 带进位循环左移34 SFTR 位右移35 SFTL 位左移36 WSFR 字右移37 WSFL 字左移38 SFWR FIFO写入39 SFRD FIFO 读出五、数据处理指令—FNC40~4940 ZRST 区间复位41 DECO 解码42 ENCO 编码43 SUM 求置ON位总数44 BON ON位判别45 MEAN 求平均值46 ANS 信号报警器标志置位47 ANR 信号报警器标志复位48 SQR BIN平方根49 FLT BIN整数→BIN浮点数六、高速处理指令——FNC50~5950 REF 输入输出刷新51 REFF 输入滤波时间常数调整52 MTR 矩阵输入53 HSCS 高速记数器比较置位54 HSCR 高速记数器比较复位55 HSZ 高速记数器区间比较56 SPD 速度检测57 PLSY 脉冲输出58 PWM 脉冲宽度调制59 PLSR 带加减速功能的脉冲输出七、方便指令—FNC60~6960 IST 状态初始化61 SER 数据搜索62 ABSD 绝对值凸轮顺控63 INCD 增量凸轮顺控64 TTMR 示教定时器65 STMR 专用定时器—可定义66 ALT 交替输出67 RAMP 斜坡输出68 ROTC 旋转工作台控制69 SORT 数据排序八、外部IO设备指令—FNC70~7970 TKY 10键输入71 HKY 16键输入72 DSw 拨码开关输入73 SEGD 七段译码74 SEGL 带锁存的七段码显示75 ARWS 方向开关76 ASC ASCII 码转换77 PR 打印输出78 FROM 读特殊功能模块79 TO 写特殊功能模块九、外围设备指令—FNC80~8980 RS RS-232C串行通讯81 PRUN 并行运行82 ASCI 十六进制→ASCII83 HEX ASCII→十六进制84 CCD 校验码85 VRRD 电位器读入86 VRSC 电位器设定88 PID PID控制十、F2外部模块指令—FNC90~9990 MNET F-16N,Mini网91 ANRD F2-6A,模拟量输入92 ANW* *2-6*,模拟量输出93 RMST F2-32RM,启动RM94 RMWR F2-32RM,写RM95 RMRD F2-32RM,读RM96 RMMN F2-32RM,监控RM97 BLK F2-30GM,指定块98 MCDE F2-30GM,机器码十一、浮点数运算指令—FNC110~132110 ECMP BIN浮点数比较111 EZCP BIN浮点数区间比较118 EBCD BIN浮点数→BCD浮点数119 EBIN BCD浮点数→BIN浮点数120 EADD BIN浮点数加法121 ESUB BIN浮点数减法122 EMUL BIN浮点数乘法123 EDIV BIN浮点数除法127 ESQR BIN浮点数开方129 INT BIN浮点数→BIN整数130 SIN BIN浮点数正弦函数(SIN)131 COS BIN浮点数余弦函数(COS)132 TAN BIN浮点数正切函数(TAN)十二、交换指令—FNC147147 SWAP 高低字节交换十三、定位指令—FNC155~159155 ABS 读当前绝对值位置156 ZRN 返回原点157 PLSY 变速脉冲输出158 DRVI 增量式单速位置控制159 DRVA 绝对式单速位置控制十四、时钟运算指令—FNC160~169160 TCMP 时钟数据比较161 TZCP 时钟数据区间比较162 TADD 时钟数据加法163 TSUB 时钟数据减法166 TRD 时钟数据读出167 TWR 时钟数据写入169 HOUR 小时定时器十五、变换指令—FNC170~177170 GRY 二进制数→格雷码171 GBIN 格雷码→二进制数176 RD3A 读FXon-3A模拟量模块177 WR3A 写FXon-3A模拟量模块十六、触点比较指令—FNC224~246224 LD= (S1)=(S2)时运算开始之触点接通225 LD> (S1)>(S2)时运算开始之触点接通226 LD< (Sl)<(S2)时运算开始之触点接通228 LD<> (S1)≠(S2)时运算开始之触点接通229 LD≤ (S1)≤(S2)时运算开始之触点接通230 LD≥ (S1)≥(S2)时运算开始之触点接通232 AND= (S1)=(S2)时串联触点接通233 AND> (S1)>(S2)时串联触点接通234 AND< (S1)<(S2)时串联触点接通236 AND<> (S1)≠(S2)时串联触点接通237 AND≤ (S1)≤(S2)时串联触点接通238 AND≥ (S1)≥(S2)时串联触点接通240 OR= (S1)=(S2)时并联触点接通241 OR> (S1)>(S2)时并联触点接通242 OR< (S1)<(S2)时并联触点接通244 OR<> (S1)≠(S2)时并联触点接通245 OR≤ (S1)≤(S2)时并联触点接通246 OR≥ (Sl)≥(S2)时并联触点接通。
比较指令有比较
比较指令有比较(CMP)、区域比较(ZCP)两种,CMP的指令代码为FNC10,ZCP的指令代码为FNC11,两者待比较的源操作数[S·]均为K、 H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目标操作数[D·]均为Y、M、S。
CMP指令的功能是将源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元件[D·]中。
在图13-3中,当X0为ON时,将十进制数100与计数器C2的当前值比较,比较结果送到M0~M2中,若100>C2的当前值时,M0为ON,若100=C2的当前值时,M1为ON,若100<C2的当前值时,M2为ON。
当X0为OFF时,不进行比较,M0~M2的状态保持不变。
ZCP指令的功能是将一个源操作数[S·]的数值与另两个源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元件[D·]中,源数据[S1·]不能大于[S2·]。
在图13-4中,当X1为ON时,执行ZCP指令,将T2的当前值与10和150比较,比较结果送到M0~M2中,若10>T2的当前值时,M0为ON,若10≤T2的当前值≤150时,M1为ON,若150<T2的当前值时,M2为ON。
当X1为OFF时,ZCP指令不执行,M0~M2的状态保持不变。
比较指令CMP ZCP比较指令包括CMP(比较)和ZCP(区间比较)二条。
(1)比较指令CMP (D)CMP(P)指令的编号为FNC10,是将源操作数[S1.]和源操作数[S2.]的数据进行比较,比较结果用目标元件[D.]的状态来表示。
如图3-33所示,当X1为接通时,把常数100与C20的当前值进行比较,比较的结果送入M0~M2中。
X1为OFF时不执行,M0~M2的状态也保持不变。
图1 比较指令的使用(2)区间比较指令ZCP (D)ZCP(P)指令的编号为FNC11,指令执行时源操作数[S.]与[S1.]和[S2.]的内容进行比较,并比较结果送到目标操作数[D.]中。
汇编语言各种指令的解释与用法
【】一、通用数据传送指令1、传送指令MOV (move)指令的汇编格式:MOV DST,SRC指令的基本功能:(DST)<-(SRC) 将原操作数(字节或字)传送到目的地址。
指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。
指令的执行对标志位的影响:不影响标志位。
指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器;目的操作数DST不能是CS,也不能用立即数方式。
2、进栈指令PUSH (push onto the stack)出栈指令 POP (pop from the stack)指令的汇编格式:PUSH SRC ;POP DST指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。
PUSH SRC (SP)<-(SP)-2 ;(SP)<-(SRC)POP DST (DST)<-((SP));(SP)<-(SP)指令支持的寻址方式:push 和 pop指令不能不能使用立即数寻址方式。
指令对标志位的影响:PUSH 和 POP指令都不影响标志位。
指令的特殊要求:PUSH 和 POP指令只能是字操作,因此,存取字数据后,SP的修改必须是+2 或者 -2; POP指令的DST不允许是CS寄存器;3、交换指令XCHG (exchange)指令的汇编格式:XCHG OPR1,OPR2指令的基本功能:(OPR1)<->(OPR2)指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。
指令对标志位的影戏:不影响标志位。
指令的特殊要求:不允许使用段寄存器。
二、累加器专用传送指令4、输入指令IN (input)输出指令 OUT (output)指令的汇编格式:IN ac,port port<=0FFHIN ac,DX port>0FFHOUT port,ac port<=0FFHOUT DX,ac port>0FFH指令的基本功能:对8086及其后继机型的微处理机,所有I/O端口与CPU之间的通信都由输入输出指令IN和OUT来完成。
PLC的数据处理功能及应用
1、左移位和右移位
指令格式如图
(1)左移位指令(SHL) 原理:使能输入有效时,将输入IN的无符号数字节、 字或双字中的各位向左移N位后(右端补0),将结果 输出到OUT所指定的存储单元中,如果移位次数大于0, 最后一次移出位保存在“溢出”存储器位SM1.1 (2)右移位指令(SHR) 原理:使能输入有效时,将输入IN的无符号数字节、 字或双字中的各位向右移N位后,将结果输出到OUT 所指定的存储单元中,移出位补0,最后一移出位保存 在SM1.1
4.3 数据移位指令及应用
2、 循环左移位、循环右移位
循环左移(ROL)和循环右移(ROR)
移位特点:
移位数据存储单元的移出端与另一端相连,同时又与 SM1.1(溢出)相连,所以最后被移出的位被移到另一端的 同时,也被放到SM1.1位存储单元。例如在循环右移时,移 位数据的最右端位移入最左端,同时又进入SM1.1。SM1.1始 终存放最后一次被移出的位。
DI_R EN IN OUT
DTR
IN,OUT
ROUND EN IN OUT
ROUND IN,OUT
TRUNC EN IN OUT
TRUNC IN,OUT
功能: DTR 指令当使能位EN为1时, 把32位有符号整数IN转换为32 位实数OUT ROUND指令当使能位EN为1时, 把32位实数IN转换成一个双字 整数值,实数的小数点部分四 舍五入,结果存入OUT中 TRUNC指令当使能位EN为1时, 把32位实数IN转换成一个双字 整数值,仅实数的整数部分被 转换,小数部分则被舍去,结 果存入OUT中
IN1*IN2=OUT
IN1/IN2=OUT
4.4 数据运算指令及应用
2、实数运算指令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、编写程序实现以下控制:
PLC通电后,首先进入密码输入页面;
如密码正确(2012),按下列条件进入不同页面:
(1) 如开关打在左边,则进入手动页面;
(2) 如开关打在右边,则进入自动页面;
报警页面中的报警信号有:卡机报警(Y12),缺料报警X2,气缸未定位报警s901,计数报警C10。
编程思路:
1、PLC上电后,首先把页面编号1,传送给页面切换寄存器D;
2、使用比较指令,判断输入的密码是否为2012;
3、密码正确的情况下:如X1=1, 把页面编号3,传送给页面切换寄存器D;
4、密码正确的情况下:如X1=0, 把页面编号2,传送给页面切换寄存器D;
5、如有任何报警,让主电机Y10停机,蜂鸣器Y11响,如按下M34,则Y11
不响。
6、M30,M31分别给D200,D225清零。
3.1 传送指令
今天,我们来学习跟“数值传送”相关的功能指令。
在控制应用中,一个控制程序总是需要初始数据,这些数据可以通过各种方式获得,如从外部器件读取,或在程序开始运行时,从内部存储单元获取,因此,机内的数据传送是不可缺少的。
一、传送指令的“助记符”
在三菱的指令系统里,比较指令的“指令记号”是MOV,也就是Move (移动,运输)的简写。
二、传送指令的格式
“比较指令的指令格式”如下:
其中:
是传送源;是传送目标。
指令规定:
传送源:可以是字元件,如T、C、D、V/Z,也可以是位组合的字元件KnX,KnY,KnM,KnS,当然可以是十进制数K、十六进制数H。
是传送目标:必须是字元件,如T、C、D、V/Z,也可以是位组合的字元件KnY,KnM,KnS。
操作数格式如下所示:
三、传送指令的常用用法
传送指令一般用于读出内部存储器件的当前值、数据间接赋值和位传送。
1、读出内部存储器件的当前值
此行程序表示,当X1导通时,将定时器T0的当前计时值读出,存储在数据寄存器D20中。
2、数据间接赋值
上述程序表示,当X2导通时,将K100传送给数据寄存器D10,当X2关断时,将K50传送给数据寄存器D10,当M0导通时,定时器T20开始计时。
可以看出,通过X2的开、关,可以对定时器T20设定2个设定值。
3、位传送
上图左侧为基本指令的梯形图,表示X0(或X1\X2\X3)导通时,Y0(或
Y1\Y2\Y3)导通,我们可以使用右侧MOV指令来替代。
3.2 比较指令
今天,我们来学习跟“数值比较”相关的功能指令。
在控制应用中,经常需要将某个物理量的数值变化作为控制点,如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。
因此,作为一个控制“阀门”,比较指令常出现在工业控制程序中。
一、比较指令的“助记符”
比较指令的“指令记号”是CMP,也就是compare的简写。
比较指令有连续执行型(D)CMP和脉冲执行型(D)CMPP,DCMP(P)表示32位数据的比较。
二、比较指令的格式
“比较指令的格式”如下:
其中:
S1和S2是源操作数,即两个进行数值比较的对象;
D是目标操作数,即根据比较结果所输出的结果。
指令规定:
源操作数(S1,S2):可以是处理数据的字元件,如T、C、D、V/Z,也可以是位组合的字元件KnX,KnY,KnM,KnS,当然可以是十进制数K、十六进制数H。
目标操作数(D):必须是位元件,如Y、M、S。
如操作数不完整,或者指定的操作数不符合要求,使用比较指令就会出错。
操作数格式如下所示:
三、比较指令的示例
我们看一个示例:
当X0满足条件(接通)时,指令执行,S1和S2进行比较有三种结果:大于、等于、小于。
一般,我们把要比较的基准值放在前面,也就是S1(在示例是K100),把变化的数值放在后面,也就是S2(在示例中是计数器C20),如下图所示。
根据上述三种比较结果,目标操作数D的结果如下:
S1> S2;也就是C20<K100,位元件D变ON;
S1= S2;也就是C20=K100,位元件D+1变ON;
S1< S2;也就是C20>K100,位元件D+1变ON。
大家要注意到:在示例中目标操作数为m0,则m1、m2被自动占用。
“触点比较指令”
2、触点比较指令
在工业控制中,经常需要反复使用CMP指令或ZCP指令,这时使用触点比较指令会非常方便,同时,触点比较指令为上下限控制以及数值条件判断提供了方便。
(1)触点比较指令的说明
触点比较指令相当于一个触点,指令执行时,比较两个操作数[S1]、[S2],满足比较条件,则触点闭合。
触点比较指令的“助记符”即为数学运算符号“>”(大于)、“<”(小于)、“≥”(大于等于)、“≤”(小于等于)、“=”(等于)、“< >”(不等于)。
触点比较指令格式,示例如下:
如上图所示为判断S1和S2是否相等的触点比较指令,如相等此触点导通。
当进行32位的数值比较时,指令的“助记符”前要加D,如下例所示。
当X0处于ON,数据寄存器D11,D10的内容小于678493时,驱动M0。
触点比较指令作为一个触点,可以和母线直接相连,也可以串联和并联。
如下例所示即为两个触点比较指令串联使用,形成一个比较区域。
如上图所示为判断S是否在(S1,S2)范围内,即两个触点都满足条件时,这一行程序才能执行和输出动作。
(2)触点比较指令的应用
如下程序为一个霓虹灯循环点亮控制程序。
12盏灯分别接在PLC的Y0—Y13输出端,X0端接启动按钮。
当X0接通,计时器T0开始循环计时,K60是计时6秒钟。
当X0断开,0送入将Y0—Y13,即所有彩灯都熄灭。