三菱plc有哪些编程指令?详细介绍

发布时间:2025-06-26
来源:
点击:39

三菱PLC(主要以主流FX系列和Q/L系列为例)的编程指令非常丰富,涵盖基本逻辑控制、数据处理、运算、流程控制、通信、定位等多个方面。以下按功能分类对一些常用和重要的指令进行详细介绍(使用中文指令名,括号内为常见助记符):

一、 基本逻辑指令 (LD, LDI, AND, ANI, OR, ORI, OUT, SET, RST)

  1. LD (取):

     读取常开触点状态。若对应软元件为ON,则触点导通。例如:LD X0 读取输入点X0状态。
  2. LDI (取反):

     读取常闭触点状态。若对应软元件为OFF,则触点导通。例如:LDI X1
  3. AND (与):

     串联常开触点。例如:LD X0 AND X1 表示X0与X1都ON时通路。
  4. ANI (与非):

     串联常闭触点。例如:LD X0 ANI X1 表示X0 ON且X1  OFF时通路。
  5. OR (或):

     并联常开触点。例如:LD X0 OR X1 表示X0或X1任一个ON时通路。
  6. ORI (或非):

     并联常闭触点。例如:LD X0 ORI X1 表示X0 ON或X1  OFF时通路。
  7. OUT (输出):

     驱动线圈(继电器输出Y,辅助继电器M,定时器T,计数器C等)。例如:OUT  Y0
  8. SET (置位):

     将目标位元件置为ON并保持(锁定)。一旦置位,即使条件断开,状态仍保持ON,直到被复位。例如:SET M0
  9. RST (复位):

     将目标位元件置为OFF并保持(解锁),或清除定时器当前值和计数器当前值。例如:RST  M0RST C0

二、 堆栈与主控指令 (MPS, MRD, MPP, MC, MCR)

  1. MPS (入栈):

     存储运算中间结果(状态)。用于处理复杂的串并联分支。
  2. MRD (读栈):

     读取栈顶存储的中间结果,不影响堆栈。用于分支点之后的公共部分。
  3. MPP (出栈):

     读取并清除栈顶存储的中间结果。通常用于分支的结束。
  4. MC (主控):

     条件成立时,激活主控起点到主控结束点之间的程序。相当于一个总开关。
  5. MCR (主控复位):

     主控块的结束点。MCR后的指令不受主控条件影响。

三、 定时器指令 (T)

  1. 定时器 (T):

     设定时间达到后,其常开触点闭合,常闭触点断开。
    • 线圈(如 OUT T0 K50)被驱动时开始计时。
    • K50

       表示设定时间(如100ms单位定时器K50=5秒,单位由T编号决定)。
    • 计时过程中当前值增加。当前值 ≥ 设定值时,定时器触点动作。
    • 线圈断开时,当前值复位为0。
    • 工作原理:

    • 类型:普通定时器(通电延时ON),积算定时器(断电保持当前值)。

四、 计数器指令 (C)

  1. 计数器 (C):

     输入脉冲达到设定次数后,其常开触点闭合,常闭触点断开。
    • 计数输入:

       由OFF→ON变化时,计数当前值+1。
    • 复位输入(RST指令):

       为ON时,将当前值清零,计数器触点复位。
    • 当前值 ≥ 设定值(如 OUT C0 K10)时,计数器触点动作。
    • 工作原理(增计数):

    • 类型:16位增计数器(普通型,电池后备/锁存型),32位增减双向计数器等。

五、 数据处理指令

  1. MOV (传送):MOV S D

     将源操作数S中的数据复制到目标操作数D中。例如:MOV D0 D10
  2. ADD (加):ADD S1 S2 D

     将S1和S2相加,结果存入D。例如:ADD D0 D1 D2 (D2 = D0 + D1)。
  3. SUB (减):SUB S1 S2 D

     将S1减去S2,结果存入D。例如:SUB D0 D1 D2 (D2 = D0 - D1)。
  4. MUL (乘):MUL S1 S2 D

     将S1乘以S2,结果存入D(注意结果占用多个寄存器)。例如:MUL D0 D1 D2
  5. DIV (除):DIV S1 S2 D

     将S1除以S2,商存入D,余数存入D的下一个寄存器。例如:DIV D0 D1 D2 (商存D2,余数存D3)。
  6. INC (加1):INC D

     目标操作数D的值+1。
  7. DEC (减1):DEC D

     目标操作数D的值-1。
  8. AND (与):AND S1 S2 D

     S1和S2进行位与位逻辑与操作,结果存入D。
  9. OR (或):OR S1 S2 D

     S1和S2进行位与位逻辑或操作,结果存入D。
  10. XOR (异或):XOR S1 S2 D

     S1和S2进行位与位逻辑异或操作,结果存入D。
  11. CMP (比较):CMP S1 S2

     比较S1和S2的大小,结果驱动特殊继电器(M8020零标志, M8021小于标志, M8022大于标志)。
  12. ZCP (区间比较):ZCP S S1 S2 D

     比较源S与下限S1、上限S2构成的区间,驱动3个连续目标位元件D(表示小于), D+1(表示范围内), D+2(表示大于)。

六、 移位与循环指令

  1. SFTR (位右移), SFTL (位左移):

     对n位组成的移位寄存器进行位移动。常用于流水线控制、状态切换。
  2. ROR (循环右移), ROL (循环左移):

     对16/32位数据进行循环位移。
  3. SFR (右移), SFL (左移):

     带进位标志的位移指令。

七、 流程控制指令 (CJ, CALL, SRET, IRET, EI, DI, FEND, END)

  1. CJ (条件跳转):CJ Pn

     当驱动条件满足时,跳过中间程序,跳转到指定指针Pn处执行。
  2. CALL (子程序调用):CALL Pn

     当驱动条件满足时,调用指定的子程序(以Pn为标号)。
  3. SRET (子程序返回):

     位于子程序末尾,执行此指令时返回主程序CALL指令后的下一条指令。
  4. FEND (主程序结束):

     表示主程序结束,其后可为子程序或中断程序。
  5. IRET (中断返回), EI (允许中断), DI (禁止中断):

     用于中断服务程序的控制与管理。
  6. END (程序扫描结束):

     表示程序结束。PLC每次扫描执行到END就回到第0步,处理I/O刷新后开始下一扫描周期。

八、 方便指令 (应用指令)

  1. ALT (交替输出):

     每次输入条件从OFF变ON时,目标元件状态翻转一次(ON变OFF或OFF变ON)。常用于单按钮启动/停止。
  2. HSC (高速计数器):

     用于处理高频脉冲输入的专用计数器。
  3. PLSY (脉冲输出):

     用于控制步进电机或伺服电机,发出指定频率和数量的脉冲(FX系列常用)。
  4. PLSR (加减速脉冲输出):

     带加减速控制的脉冲输出指令(FX系列常用)。
  5. DRVA (绝对定位), DRVI (增量定位):

     Q/L系列定位模块常用定位指令。
  6. RS (串行通信):

     用于无协议通信的发送/接收指令。
  7. FROM/TO (缓冲存储器读写):

     用于读写特殊功能模块(如模拟量模块、通信模块)内部的数据寄存器(BFM)。

九、 模拟量指令 (通过FROM/TO配合特殊模块)

虽然严格来说不是单一指令,但对模拟量处理至关重要:

  • 读模拟量输入:

     使用FROM指令读取模拟量输入模块对应通道的BFM(AD转换值)。
  • 写模拟量输出:

     使用TO指令将数据写入模拟量输出模块对应通道的BFM(设置DA输出值)。

十、 时钟与比较指令

  1. TCMP (时间比较):

     将当前时间(小时、分钟、秒)与设定的时间值进行比较。
  2. TZCP (时间段比较):

     判断当前时间是否在设定的两个时间点构成的区间内。

重要说明:

  1. 操作数表示:S

    通常代表源操作数(Source, 如D0, K10, H0A,  X0等),D通常代表目标操作数(Destination, 如D10, Y0,  M0等)。n通常代表数量或数据长度。
  2. 数据长度:

     三菱PLC指令区分16位和32位操作。指令符号前加D表示32位操作(如MOV是16位,DMOV是32位)。指令符号后加P表示脉冲执行型(只在驱动条件从OFF变ON的上升沿执行一次)。例如:DMOVP  D0 D10(在上升沿将D0/D1的32位值传到D10/D11)。
  3. 支持情况:

     具体指令的支持情况取决于PLC的具体型号和系列(FX1S/FX1N/FX3U/FX5U/Q系列等)及CPU的版本。务必查阅相应型号的编程手册。
  4. 编程手册:最全面、最准确的指令信息源是您所使用的具体三菱PLC型号的《编程手册》或《指令手册》。

     手册中会详细列出每条指令的功能、操作数说明、用法示例、占用步数、支持的型号等关键信息。
     

总结:

三菱PLC提供了从最基本的开关量控制到复杂数据处理、高速计数、精密定位、网络通信等全方位的编程指令集。掌握这些核心指令是进行有效PLC程序设计的基础。对于复杂的工程应用,务必深入研读具体型号的官方编程手册,并根据项目需求选择合适的指令进行编程。

免责声明:本站所提供信息均来源于网友提供或网络搜集,由本站编辑整理,如涉及版权问题,请联系本站管理员予以更改或删除
旗下服务
在线课程 现场培训
微信公众号
© 2019-现在 版权所有,并保留所有权利。ICP备案证书号:沪ICP备18011190号-4

沪公网安备 31011202007493号