干货!三菱 FX 功能指令秘籍:从参数盲区到复杂编程,案例助进阶

内容分享8小时前发布
0 3 0

三菱 FX3U 系列 PLC 本事可不小,自带的功能指令五花八门,啥样的工业控制需求基本都能满足。

要是把 FX 系列 PLC 的编程比作盖房子,那基础逻辑指令就像一块块砖头,能搭出简单的 “小平房”—— 列如用 LD、OUT 指令弄个启停控制, easy。但想盖带 “智能家居系统” 的 “高楼大厦”,处理数据比较、定时循环、高速脉冲输出这些复杂活儿,就得靠功能指令来撑场面了。

许多人都会遇到这种情况:简单的启停控制玩得溜,可一碰到稍微复杂点的需求就卡壳。别愁,这正是功能指令该上场的时候,有了它,再棘手的控制逻辑也能理顺。

干货!三菱 FX 功能指令秘籍:从参数盲区到复杂编程,案例助进阶

从生产线的电机转速计算到温湿度的 PID 调节,从设备运行数据的批量处理到多机通讯的信息交互,功能指令将 PLC 的控制能力从 “开关量逻辑” 推向 “数据化、智能化控制”。列如用 CMP 指令实现物料计数的阈值判断,用 MOV 指令完成参数的实时传递,用 PLSY 指令精准控制伺服电机的走位,这些看似复杂的操作,都能通过功能指令的组合轻松实现。

干货!三菱 FX 功能指令秘籍:从参数盲区到复杂编程,案例助进阶

许多人觉得功能指令 “抽象难用”,实则是由于脱离了具体场景空谈指令。本文将从 “指令作用 — 典型场景 — 实操技巧” 三个维度,拆解三菱 FX 系列核心功能指令的用法:从程序流程控制到数据运算,从高速处理到外围设备交互,每个指令都搭配真实案例解析,让你不仅知道 “怎么用”,更清楚 “为什么这么用”。毕竟,掌握功能指令的本质,是让 PLC 从 “简单控制器” 变成 “工业大脑” 的关键一步。

干货!三菱 FX 功能指令秘籍:从参数盲区到复杂编程,案例助进阶

一、常用功能指令的介绍:

程序流程指令:CJ:条件跳转指令,当满足指定条件时,程序跳转到指定的指针位置执行,可用于实现程序的分支结构,减少重复程序段。

CALL:子程序调用指令,用于调用指定的子程序,可将常用功能编写成子程序,提高程序的可读性和可维护性。

FEND:主程序结束指令,标志主程序的结束,PLC 执行到该指令时,会进行输入输出处理等操作。

FOR和NEXT:循环指令,FOR 指定循环的起始,NEXT 指定循环的结束,之间的程序段会根据设定的循环次数重复执行。

传送・比较指令:CMP:比较指令,将两个源操作数进行比较,比较结果反映在目标操作数的相关标志位中,常用于根据比较结果执行不同的控制逻辑。

MOV:传送指令,将源操作数中的数据传送到目标操作数中,可用于数据的赋值、存储等操作。

BMOV:成批传送指令,可将指定数量的数据从源数据块传送到目标数据块,常用于数据的批量处理。

四则・逻辑运算指令:ADD:BIN 加法运算指令,将两个源操作数进行二进制加法运算,结果存储在目标操作数中,可用于数值计算等场景。

MUL:BIN 乘法运算指令,实现两个源操作数的二进制乘法运算,适用于需要计算乘积的控制过程。

WAND:逻辑与指令,对两个源操作数进行按位逻辑与运算,常用于屏蔽某些位或提取特定位的值。

循环・移位指令:ROR:循环右移指令,将目标操作数中的数据按位向右循环移动指定的位数,最低位移入最高位。

SFTL:位左移指令,将目标操作数中的位数据向左移动指定的位数,空出的位补 0,可用于数据的移位处理和状态控制。

WSFR:字右移指令,以字为单位将数据向右移动,常用于处理字数据组成的数组等。

数据处理指令:ZRST:成批复位指令,可将指定范围内的多个软元件复位为初始值,方便对一组数据或状态进行初始化操作。

DECO:译码指令,根据源操作数中的数值,将目标操作数中对应的位置为 1,其他位为 0,常用于编码转换等。

MEAN:平均值指令,计算指定数量源操作数的平均值,结果存储在目标操作数中,可用于数据统计等场景。

高速处理指令:REF:输入输出刷新指令,用于立即刷新指定的输入输出点,确保及时获取最新的输入状态和输出控制。

PLSY:脉冲输出指令,可输出指定数量和频率的脉冲,常用于控制步进电机或伺服电机等。

PWM:脉宽调制指令,用于生成指定占空比和周期的脉冲信号,可用于电机调速、灯光亮度调节等。

便捷指令:IST:初始状态指令,用于自动设定初始状态和相关特殊辅助继电器,简化顺序控制程序的编写。

ALT:交替输出指令,在每次输入信号上升沿时,使目标操作数的状态反转,可用于实现按钮的启停控制等。

ROTC:旋转工作台控制指令,可实现对旋转工作台的定位、分度等控制功能。

外围设备 I/O 指令:TKY:数字键输入指令,用于连接数字键输入设备,读取输入的数字信号。

SEGD:7 段译码指令,将输入的 4 位二进制数转换为 7 段数码管的显示代码,方便驱动 7 段数码管显示数字。

FROM和TO:用于与特殊功能模块进行数据读写操作,可实现与模拟量模块、通信模块等的交互。

定位指令:DSZR:带 DOG 搜索的原点回归指令,可使设备按照指定的方式回归原点,常用于数控机床等设备的原点定位。

DRVI:相对定位指令,根据指定的脉冲数和脉冲频率进行相对位置定位,可实现设备的相对位移控制。

DRVA:绝对定位指令,基于绝对坐标进行定位,可准确控制设备到达指定的绝对位置。

二、功能指令基础

2.1 指令格式与分类

FX3U功能指令采用FNC编号+操作码格式,如CMP FNC10。按功能分为以下类别:

类别

FNC编号范围

典型指令

程序流程

00~09

CJ(跳转)、CALL(子程序调用)

传送·比较

10~19

MOV(传送)、CMP(比较)

四则·逻辑运算

20~29

ADD(加法)、SUB(减法)

循环·移位

30~39

ROR(循环右移)、SFTR(位右移)

数据处理

40~49

ZRST(成批复位)、DECO(译码)

高速处理

50~59

HSCS(高速计数器置位)、PLSY(脉冲输出)

外围设备I/O

70~79

FROM(读特殊模块)、TO(写特殊模块)

2.2 基本指令示例

LD/LDI/OUT指令(梯形图示例):

|-----[LD X0]------(OUT Y0)-----|
|-----[LDI X1]-----|             |
                   |--(OUT Y1)---|
  • LD X0
  • :当X0接通时,Y0输出
  • LDI X1
  • :当X1断开时,Y1输出

三、常用功能指令详解

3.1 传送与比较指令

MOV(FNC12)传送指令

  • 格式
  • :MOV S D(S:源数据,D:目标寄存器)
  • 功能
  • :将源数据传送到目标寄存器
  • 程序示例
  • |—–[LD X0]——————|
    |—–[MOV K100 D0]————| ; X0接通时,将100传送到D0

CMP(FNC10)比较指令

  • 格式
  • :CMP S1 S2 D(S1/S2:比较值,D:结果存储位)
  • 功能
  • :比较S1与S2,结果存入D、D+1、D+2(D为ON时S1>S2,D+1为ON时S1=S2,D+2为ON时S1<S2)
  • 应用案例
  • :温度上下限报警|—–[LD M8000]—————|
    |—–[CMP D0 K50 M0]———-| ; 比较D0(当前温度)与50℃
    |—–[LD M0]——————| ; M0=ON(D0>50)时
    |—–[OUT Y0]—————–| ; 高温报警Y0输出

3.2 运算指令

ADD(FNC20)加法指令

  • 格式
  • :ADD S1 S2 D(S1+S2→D)
  • 程序示例
  • |—–[LD X0]——————|
    |—–[ADD D0 D1 D2]———–| ; D0+D1结果存入D2

3.3 高速处理指令

PLSY(FNC57)脉冲输出指令

  • 格式
  • :PLSY S1 S2 Y(S1:频率Hz,S2:脉冲数,Y:输出端)
  • 功能
  • :产生指定频率和数量的脉冲
  • 应用
  • :控制步进电机正转|—–[LD X0]——————|
    |—–[PLSY K10000 K5000 Y0]—| ; Y0输出10kHz脉冲,共5000个

四、综合应用案例

4.1 灯光循环控制

控制要求:X0启动后,Y0(绿灯)亮1秒灭1秒循环5次→Y1(红灯)亮2.5秒灭2.5秒循环3次→Y2(黄灯)亮0.5秒灭0.5秒循环6次后结束。

程序结构

  1. 初始化:X0触发,ZRST复位D0-D2计数器
  2. 绿灯循环:使用CMP比较计数器值,T0定时1秒,M0控制循环次数
  3. 红灯循环:T1定时2.5秒,M1控制循环次数
  4. 黄灯循环:T2定时0.5秒,M2控制循环次数

梯形图片段

|-----[LD X0]---------------------------|
|-----[ZRST D0 D2]----------------------|  ; 复位计数器
|-----[SET M0]--------------------------|  ; 启动绿灯循环
|                                       |
|-----[LD M0]---------------------------|
|-----[T0 K10]--------------------------|  ; T0定时1|-----[PLS M10]-------------------------|  ; T0上升沿触发
|-----[ADD K1 D0 D0]--------------------|  ; D0计数+1
|-----[CMP D0 K10 M20]------------------|  ; 比较D0105次循环)
|-----[LD M21]--------------------------|  ; M21=ON(D0=10)时
|-----[RST M0]--------------------------|  ; 结束绿灯循环
|-----[SET M1]--------------------------|  ; 启动红灯循环

4.2 FX3U-4AD模拟量采集

硬件配置:FX3U-32MT + FX3U-4AD(第一个扩展模块),采集0-10V电压信号(对应0-10000数字量)。

接线图

  • 传感器正极 → FX3U-4AD的V+(CH1)
  • 传感器负极 → FX3U-4AD的VI-
  • 模块供电:DC24V → 24+/-端子

程序示例

|-----[LD M8000]------------------------|
|-----[TO K0 K0 H0002 K1]---------------|  ; 设置CH10-10V输入
|-----[FROM K0 K10 D0 K1]---------------|  ; 读取CH1数据到D0
|-----[DIV D0 K200 D1]------------------|  ; D0/200D1(转换为实际电压)
  • TO指令
  • :将H0002写入模块0的BFM#0,设置通道1为0-10V输入
  • FROM指令
  • :读取模块0的BFM#10(CH1数据)到D0

五、硬件接线指南

5.1 基本I/O接线(FX3U-32MR)

电源接线

  • L/N端子 → AC220V
  • 接地端子 → 保护接地

输入接线(漏型/NPN传感器):

  • S/S端子 → +24V
  • X0-X7 → 传感器信号端
  • 0V端子 → 传感器负极

输出接线(继电器输出):

  • Y0-Y3 → 负载(如电磁阀)
  • COM1 → 负载电源正极

5.2 通讯口引脚定义(Mini-Din-8P)

引脚

名称

I/O

描述

1

RX-

输入

RS422接收-

2

RX+

输入

RS422接收+

3

GND

电源

5V地

4

TX-

输出

RS422发送-

5

VCC

输出

+5V

6

NC

空脚

7

TX+

输出

RS422发送+

8

NC

空脚

六、通讯设置步骤

6.1 与威纶通触摸屏通讯(RS485 4W)

硬件连接

  • 触摸屏COM2 → FX3U-485BD模块
    • 屏RX- → BD板SDB
    • 屏RX+ → BD板SDA
    • 屏TX- → BD板RDB
    • 屏TX+ → BD板RDA
    • GND → GND

参数设置

  1. PLC侧
  2. (GX Works2):
  3. 路径:参数→PLC参数→PLC系统设置2→CH1
  4. 协议:专用协议通信(MC协议)
  5. 波特率:9600,数据位7,停止位1,偶校验
  6. 触摸屏侧
  7. (EasyBuilder Pro):
  8. 设备类型:Mitsubishi FX232/485BD
  9. 接口:RS485 4W,COM2
  10. 站号:1,波特率9600

6.2 与三菱变频器Modbus RTU通讯

硬件:FX3U + FX3U-485BD,变频器E740。

程序示例(读取频率):

|-----[LD M8000]------------------------|
|-----[MOV H01 D10]---------------------|  ; 从站地址1
|-----[MOV H03 D11]---------------------|  ; 功能码03(读保持寄存器)
|-----[MOV H2000 D12]--------------------|  ; 寄存器地址2000(频率)
|-----[MOV K2 D13]----------------------|  ; 读取2个寄存器
|-----[RS D10 K8 D20 K7]----------------|  ; RS指令发送/接收数据
  • RS指令
  • :D10起始发送数据,K8发送长度;D20接收缓冲区,K7接收长度
  • 通讯参数
  • :通过D8120设置为9600bps,8位数据,偶校验

七、总结与注意事项

  1. 指令使用
  2. :功能指令需注意操作数范围(如16位/32位),部分指令需配合特殊辅助继电器(如M8029为指令完成标志)。
  3. 接线规范
  4. :输入输出回路需独立供电,模拟量信号线使用屏蔽电缆,避免与动力线并行。
  5. 调试技巧
  6. :使用GX Works2的监控功能实时查看软元件状态,通过FROM/TO指令读取模块故障代码(BFM#29)。
© 版权声明

相关文章

3 条评论

  • 头像
    小鱼今天看什么剧 投稿者

    超棒

    无记录
    回复
  • 头像
    地骨皮和 读者

    学到了💪

    无记录
    回复
  • 头像
    飒飒-飒 读者

    收藏了,感谢分享

    无记录
    回复