菜鸟科技网

PLC常用命令有哪些核心指令?

PLC(可编程逻辑控制器)作为工业自动化控制的核心设备,其高效运行离不开各类常用命令的支持,这些命令涵盖了逻辑控制、定时计数、数据传输、流程控制等多个方面,是实现设备自动化逻辑的基础,以下从基本逻辑指令、功能指令、流程控制指令及特殊应用指令四个维度,详细解析PLC的常用命令。

PLC常用命令有哪些核心指令?-图1
(图片来源网络,侵删)

基本逻辑指令

基本逻辑指令是PLC编程中最基础、最常用的指令,主要用于实现开关量的逻辑运算,包括与、或、非等基本功能。

  • LD(Load):常开触点与左侧母线连接,表示逻辑运算的开始,LD X0 表示输入继电器X0的常开触点与母线相连。
  • LDI(Load Inverse):常闭触点与左侧母线连接,例如LDI X1 表示输入继电器X1的常闭触点与母线相连。
  • OUT(Out):驱动线圈输出,例如OUT Y0 表示将运算结果输出到输出继电器Y0。
  • AND/ANI:与指令,用于串联常开/常闭触点,例如AND X2 表示在X0基础上串联X2的常开触点。
  • OR/ORI:或指令,用于并联常开/常闭触点,例如OR X3 表示在X0基础上并联X3的常开触点。
  • ANB/ORB:块与/块或指令,用于多个触点块的串联或并联,例如ANB用于将两个并联块串联,ORB用于将两个串联块并联。
  • MPS/MRD/MPP:进栈、读栈、出栈指令,用于多重输出电路,实现中间结果的存储和读取,例如在复杂梯形图中暂存运算中间状态。

功能指令

功能指令是针对特定控制需求设计的高级指令,通常以功能代码(如FNC)表示,用于实现数据运算、转换、处理等功能。

  • MOV(Move):数据传送指令,将源操作数数据传送到目标操作数,例如MOV D0 D10,将数据寄存器D0的内容传送到D10。
  • CMP(Compare):比较指令,比较两个数据的大小,并根据比较结果驱动相应触点,例如CMP K100 C0,将常数100与计数器C0的当前值比较,结果影响M0-M2的状态。
  • ADD/SUB:加法/减法指令,对两个操作数进行算术运算,结果存入目标寄存器,例如ADD D1 K10 D2,将D1的值加10后存入D2。
  • MUL/DIV:乘法/除法指令,支持16位/32位运算,例如MUL D0 D1 D2,将D0与D1的值相乘,结果存入D2(32位数据)。
  • INC/DEC:加1/减1指令,对目标寄存器的内容进行递增或递减操作,例如INC D0,将D0的值加1。
  • SFTL(Shift Left):移位指令,实现数据的左移或右移,常用于流水线控制或顺序开关操作,例如SFTL M0 K1 K4,将M0开始的4位数据左移1位。

流程控制指令

流程控制指令用于改变程序的执行顺序,实现分支、循环、跳转等逻辑,增强程序灵活性。

  • CJ(Conditional Jump):条件跳转指令,当条件满足时跳转至指定标号处执行,例如CJ P0,当M0为ON时跳转至标号P0。
  • CALL/RET:子程序调用与返回指令,CALL调用指定子程序,RET结束子程序返回主程序,例如CALL P1,调用标号为P1的子程序。
  • FOR/NEXT:循环指令,FOR设定循环次数,NEXT结束循环,例如FOR K5,表示循环5次,NEXT为循环结束标志。
  • MC/MCR:主控/主控复位指令,用于控制多个输出触点的公共条件,例如MC N0 M10,N0为主控嵌套级,M10为主控触点。

特殊应用指令

特殊应用指令针对PLC的特定功能模块或扩展需求,如高速处理、通信、模拟量控制等。

PLC常用命令有哪些核心指令?-图2
(图片来源网络,侵删)
  • FROM/TO:特殊模块读写指令,FROM用于读取特殊模块的数据,TO用于向特殊模块写入数据,例如FROM K0 K0 D0,读取模块0的缓冲区0数据到D0。
  • SPD(Speed Detection):速度检测指令,用于测量输入脉冲的频率,常与编码器配合使用,例如SPD X0 K2 D0,将X0的脉冲频率存入D0。
  • PID:PID控制指令,实现比例-积分-微分控制,用于温度、压力等模拟量的闭环控制,例如PID P1 D100 D150 D200,设置PID参数并启动运算。
  • RS(Serial Communication):串行通信指令,用于PLC与其他设备(如变频器、人机界面)的串行数据交换,例如RS D200 D10 K10,通过D200发送数据,接收数据存入D10。

以下为部分常用功能指令的总结表:

指令类型 功能代码 指令名称 功能说明 示例
数据传送 FNC12 MOV 16位数据传送 MOV K10 D0
数据比较 FNC10 CMP 16位数据比较 CMP C0 K100 M0
算术运算 FNC20 ADD 16位加法 ADD D1 K2 D2
移位指令 FNC34 SFTL 16位左移位 SFTL M0 K8 K1
流程控制 FNC00 CJ 条件跳转 CJ P10
通信指令 FNC80 RS 串行通信 RS D200 D10 K10

相关问答FAQs

Q1:PLC中MOV指令与CMP指令有什么区别?
A:MOV(数据传送指令)主要用于将源操作数的数据复制到目标操作数,属于数据操作类指令,例如将常数存入寄存器或实现数据备份;CMP(比较指令)则用于比较两个数据的大小,并根据比较结果(大于、等于、小于)驱动相应的标志位(如M0、M1、M2),属于逻辑判断类指令,常用于条件分支控制,两者的核心功能不同,MOV侧重数据传递,CMP侧重逻辑比较。

Q2:如何使用PLC的定时器指令实现延时断开功能?
A:以三菱FX系列PLC为例,使用T定时器(如T0 K50,定时50×100ms=5s)和辅助继电器(如M0)可实现延时断开,具体梯形图逻辑为:当输入触点X0接通时,M0线圈得电并自锁,同时T0开始计时;当X0断开后,M0仍保持得电,直到T0计时完成,T0常闭触点断开,使M0线圈失电,从而实现X0断开后延时5s断开的效果,关键是通过自锁电路保持M0通电,再通过定时器常闭触点切断回路。

PLC常用命令有哪些核心指令?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇