三菱GX Works2指令plsy,plsr,plsv,dvit,drva,drvi的区别?
以下是三菱GX Works2(FX系列PLC,如FX3U/FX3G/FX3UC等)中脉冲输出/定位指令PLSY、PLSR、PLSV、DVIT、DRVA、DRVI的重新完整总结。重点突出核心区别、快速记忆口诀和每条指令的核心特点。核心区别对比表(最清晰一览)
| 指令 | 是否有定位功能(自动跟踪当前位置) | 位置类型 | 速度控制方式 | 是否带加减速(斜坡) | 是否支持运行中改速 | 是否需外部中断 | 方向处理方式 | 是否自动更新脉冲当前值寄存器 | 典型使用场景简述 | 输出限制 |
|---|---|---|---|---|---|---|---|---|---|---|
| PLSY | × | — | 定速(固定) | × | × | × | 需外部控制方向 | × | 最简单恒速、无定位需求 | Y000/Y001 |
| PLSR | × | 相对(固定脉冲数) | 定速 + 单段加减速 | ○(统一加/减速时间) | × | × | 需外部控制方向 | × | 需要平滑启动/停止、防丢步的固定距离 | Y000/Y001 |
| PLSV | △(需自己实现) | — | 可变速(运行中随时改) | ×(可软加M8338) | ○(立即生效) | × | 频率正负或外部方向 | △(可配合当前值) | 实时调速(如模拟量/按钮变速) | Y000/Y001 |
| DVIT | ○ | 相对 | 定速 | × | × | ○(必须) | 自动(外部方向可选) | ○ | 外部传感器/标记中断精确定位 | Y000/Y001 |
| DRVI | ○ | 相对(增量) | 定速 | × | × | × | 自动(正负决定) | ○ | 重复固定距离移动、简单相对定位 | Y000/Y001 |
| DRVA | ○ | 绝对 | 定速 | × | × | × | 自动(与当前值比较) | ○ | 固定坐标系、回零后绝对定位 | Y000/Y001 |
核心区别总结(最常被问到的5点)
- 有没有自动位置记忆与跟踪(最关键)
PLSY / PLSR → 没有(跑完就忘)
PLSV → 没有内置,但可自己用当前值寄存器跟踪
DVIT / DRVI / DRVA → 有(自动更新 D8340/D8341 等脉冲当前值) - 速度能否运行中改变
只有 PLSV 支持(改频率立即生效)
其他指令运行期间速度固定(PLSR 加减速仅启动/停止时) - 是否带自动加减速(斜坡)
只有 PLSR 内置单段加减速(加/减速时间统一,不能分开)
其他无(PLSV 可通过 M8338 软开简单加减速,较新版本支持) - 位置是相对还是绝对
DRVI / DVIT → 相对(走多少步/中断后停)
DRVA → 绝对(走到第几步的位置)
其他无定位概念 - 是否需要外部信号辅助精确定位
只有 DVIT 必须用外部中断(X中断)触发停止
其他靠脉冲数或当前位置计算
快速记忆口诀(6句搞定)
- PLSY:简单恒速发脉冲 → “最原始”
- PLSR:带加减速固定数 → “温柔起步防丢步”
- PLSV:运行中随时改速 → “实时调速王”
- DVIT:外部中断来定位 → “传感器喊停”
- DRVI:相对走多少步 → “每次再走XX步”
- DRVA:绝对走到哪 → “回家到固定坐标”
每条指令核心特点一句话提炼 - PLSY:最简单、最快响应、无任何花样,纯发固定数量定速脉冲,无位置记忆、无方向自动处理。
- PLSR:PLSY + 单段加减速,适合步进电机防丢步/减冲击的固定距离移动,但无位置记忆。
- PLSV:唯一支持“运行中随时改频率”的指令,适合模拟量/按钮/HMI实时变速,无斜坡(突变可能丢步)。
- DVIT:定速 + 外部中断信号触发精确停止,适合色标、限位、标记检测等需要“外部事件”定位的场合。
- DRVI:相对定位(增量),自动方向 + 位置记忆,适合重复固定距离、送料、分度等“走多少就多少”的应用。
- DRVA:绝对定位,自动方向 + 位置记忆 + 暂停后可继续,适合建立坐标系、机械手/CNC回零后精确定位。
实际项目优先级建议:简单需求 → PLSY/PLSR;需要变速 → PLSV;需要精确定位 → DRVI(相对)或 DRVA(绝对);需要外部触发 → DVIT。
PLSV 指令的核心优势就是“运行中随时改速度”(无自动斜坡),修改S(频率源)后,PLC 几乎立即(下一个扫描周期内)就把输出脉冲频率切换到新值,没有内置的加/减速过程(除非你手动用 M8338 或 RAMP 配合)。怎么实现“随时改速度”?最常见的三种方式 + 实际示例方式1:最简单、最常用 → 用一个数据寄存器 D 作为频率源,随时 MOV/加减改 D 的值梯形图示例(假设用 Y000 输出脉冲,Y004 控制方向):
X000 PLSV
---| |--------------[PLSV D100 Y000 Y004]
(启动按钮)
X001 MOV
---| |--------------[MOV K5000 D100] // 按下X001 → 速度设为5000Hz
X002 MOV
---| |--------------[MOV K2000 D100] // 按下X002 → 降到2000Hz
X003 MOV
---| |--------------[MOV K8000 D100] // 按下X003 → 加速到8000Hz
X004 MOV
---| |--------------[MOV K0 D100] // 按下X004 → 立即停止(频率设0)
- 解释:
- X000 按下后,PLSV 开始以 D100 当前值(初始假设为0)输出脉冲。
- 以后你随时按 X001/X002/X003,D100 值一变,脉冲频率立刻跟着变(通常几 ms 内生效)。
- 想停就 MOV K0 到 D100。
- 方向:Y004 ON=正转,OFF=反转(也可以用负频率:MOV K-3000 D100 就反转3000Hz)。
方式2:用模拟量输入(电流/电压)实时控制速度(最典型工业应用)假设用 FX3U 的模拟量模块(FX3U-4AD),通道 CH1 读 04000 的模拟值,转成频率 010000Hz。
X000 PLSV
---| |--------------[PLSV D200 Y000 Y004]
(每扫描周期或用定时中断)
-------------------[MUL D100 K25 D200] // 假设D100是模拟量值0~4000,×25=0~100000(32位时用DPLSV)
-------------------[DIV D200 K10 D200] // 再除10,得0~10000Hz
- 电位器/变送器 → 模拟量 → D100 → 计算 → D200 → PLSV 频率。
- 转速就跟模拟量实时同步变化(无斜坡,响应非常快)。
方式3:用按钮/编码器增减速度(渐变调速)
X010 INC // 加速按钮,按一次+500Hz
---| |--------------[INC D100]
X011 DEC // 减速按钮,按一次-500Hz
---| |--------------[DEC D100]
X012 MOV
---| |--------------[MOV K3000 D100] // 复位到3000Hz
X000 PLSV
---| |--------------[PLSV D100 Y000 Y004]
- 按加速键,D100 逐步增加,电机越来越快。
- 限幅保护(可选):用比较指令 CMP,如果 D100 > K10000 就 MOV K10000 D100。
注意的几个关键点(避免踩坑)
- 改方向要小心:运行中直接从正频率 → 负频率(或反之),电机可能刹不住或丢步。推荐先 MOV K0 停一下,再改方向和频率。
- 无斜坡 = 可能丢步:步进电机高速运行中突然大幅改速(比如从8000Hz直降到1000Hz),容易丢步或过冲。需要防丢步时,建议:
- 用 RAMP 指令(FNC67)软改变 D100 值(制造人工斜坡)。
- 或在 FX3U 较新版本,置 M8338=1 让 PLSV 自己带简单加减速(查手册确认版本支持)。
- 频率范围:16位 PLSV → ±1±32767 Hz;32位 DPLSV → ±1±100k Hz(视机型)。
- 停止:把频率设为 K0 最干净(别直接断 PLSV 驱动条件,否则可能脉冲残留)。
实际项目中最常这样用:一个主启动按钮触发 PLSV(频率初始值放 D100),然后用 HMI/按钮/模拟量/编码器随时改 D100,实现“随时调速、无需停止”。PLSV 指令的核心优势就是“运行中随时改速度”(无自动斜坡),修改S(频率源)后,PLC 几乎立即(下一个扫描周期内)就把输出脉冲频率切换到新值,没有内置的加/减速过程(除非你手动用 M8338 或 RAMP 配合)。怎么实现“随时改速度”?最常见的三种方式 + 实际示例方式1:最简单、最常用 → 用一个数据寄存器 D 作为频率源,随时 MOV/加减改 D 的值梯形图示例(假设用 Y000 输出脉冲,Y004 控制方向):
X000 PLSV
---| |--------------[PLSV D100 Y000 Y004]
(启动按钮)
X001 MOV
---| |--------------[MOV K5000 D100] // 按下X001 → 速度设为5000Hz
X002 MOV
---| |--------------[MOV K2000 D100] // 按下X002 → 降到2000Hz
X003 MOV
---| |--------------[MOV K8000 D100] // 按下X003 → 加速到8000Hz
X004 MOV
---| |--------------[MOV K0 D100] // 按下X004 → 立即停止(频率设0)
- 解释:
- X000 按下后,PLSV 开始以 D100 当前值(初始假设为0)输出脉冲。
- 以后你随时按 X001/X002/X003,D100 值一变,脉冲频率立刻跟着变(通常几 ms 内生效)。
- 想停就 MOV K0 到 D100。
- 方向:Y004 ON=正转,OFF=反转(也可以用负频率:MOV K-3000 D100 就反转3000Hz)。
方式2:用模拟量输入(电流/电压)实时控制速度(最典型工业应用)假设用 FX3U 的模拟量模块(FX3U-4AD),通道 CH1 读 04000 的模拟值,转成频率 010000Hz。
X000 PLSV
---| |--------------[PLSV D200 Y000 Y004]
(每扫描周期或用定时中断)
-------------------[MUL D100 K25 D200] // 假设D100是模拟量值0~4000,×25=0~100000(32位时用DPLSV)
-------------------[DIV D200 K10 D200] // 再除10,得0~10000Hz
- 电位器/变送器 → 模拟量 → D100 → 计算 → D200 → PLSV 频率。
- 转速就跟模拟量实时同步变化(无斜坡,响应非常快)。
方式3:用按钮/编码器增减速度(渐变调速)
X010 INC // 加速按钮,按一次+500Hz
---| |--------------[INC D100]
X011 DEC // 减速按钮,按一次-500Hz
---| |--------------[DEC D100]
X012 MOV
---| |--------------[MOV K3000 D100] // 复位到3000Hz
X000 PLSV
---| |--------------[PLSV D100 Y000 Y004]
- 按加速键,D100 逐步增加,电机越来越快。
- 限幅保护(可选):用比较指令 CMP,如果 D100 > K10000 就 MOV K10000 D100。
注意的几个关键点(避免踩坑)
- 改方向要小心:运行中直接从正频率 → 负频率(或反之),电机可能刹不住或丢步。推荐先 MOV K0 停一下,再改方向和频率。
- 无斜坡 = 可能丢步:步进电机高速运行中突然大幅改速(比如从8000Hz直降到1000Hz),容易丢步或过冲。需要防丢步时,建议:
- 用 RAMP 指令(FNC67)软改变 D100 值(制造人工斜坡)。
- 或在 FX3U 较新版本,置 M8338=1 让 PLSV 自己带简单加减速(查手册确认版本支持)。
- 频率范围:16位 PLSV → ±1±32767 Hz;32位 DPLSV → ±1±100k Hz(视机型)。
- 停止:把频率设为 K0 最干净(别直接断 PLSV 驱动条件,否则可能脉冲残留)。
实际项目中最常这样用:一个主启动按钮触发 PLSV(频率初始值放 D100),然后用 HMI/按钮/模拟量/编码器随时改 D100,实现“随时调速、无需停止”。
请举例说明,三菱gx works编程中,plsy,plsr,plsv,dvit,drvi,drva的用法。
三菱GX Works编程中定位指令用法举例
三菱PLC(主要是FX3U/FX3G/FX5系列等)内置定位指令常用于步进电机或伺服电机的脉冲控制。这些指令在GX Works2/GX Works3中直接支持,主要通过Y0/Y1/Y2等高速输出点发送脉冲(通常Y0为脉冲,Y1为方向)。下面逐一说明PLSY、PLSR、PLSV、DVIT、DRVI、DRVA的用法、格式和简单示例。示例基于FX3U系列,假设控制Y0轴(脉冲输出Y0,方向Y1)。
1. PLSY(脉冲输出指令,无加减速)
-
功能 :以固定频率输出指定数量的脉冲,无加速/减速过程。启动立即全速,停止立即停止。不适合高速精密控制(冲击大)。
-
格式 :PLSY S1(频率) S2(脉冲数) D(输出点,如Y0)
-
参数范围 :频率1~100000Hz,脉冲数K/H(16/32位)。
-
示例 :当X0=ON时,从Y0输出10000个脉冲,频率5000Hz,正转(方向由M8341控制或Y1手动)。
[LD X0] [PLSY K5000 K10000 Y0] // 频率5000Hz,脉冲10000个,输出到Y0应用:简单点位控制,如输送带固定距离移动。
2. PLSR(带加减速脉冲输出指令)
-
功能 :输出脉冲时带有加速/减速过程,避免冲击。适合步进/伺服平滑启动停止。
-
格式 :PLSR S1(频率) S2(脉冲数) S3(加减速时间) D(输出点)
-
参数 :加减速时间通常10~500ms。
-
示例 :X0=ON时,最大频率20000Hz,输出50000个脉冲,加减速时间200ms。
[LD X0] [PLSR K20000 K50000 K200 Y0] // 加速到20000Hz,输出50000脉冲,200ms加减速应用:需要平滑加速的定位,如机械臂移动。
3. PLSV(变速脉冲输出指令)
-
功能 :可动态改变输出频率(变频控制),无固定脉冲数,指令执行期间持续输出,直到停止标志。适合变速跟随或手动调速。
-
格式 :PLSV S1(频率) D(输出点)
-
注意 :需用M8340/M8350等标志停止输出;频率可在线修改。
-
示例 :X1=ON启动变速输出,频率由D10控制;X2=ON停止。
[LD X1] [PLSV D10 Y0] // 频率取D10值 [LD X2] [OUT M8350 ON] // 停止Y0输出(特殊M标志)应用:手动调速或电子凸轮变速控制。
4. DVIT(中断定位指令,单速中断定长定位)
-
功能 :以指定速度输出脉冲,当检测到中断输入信号(通常X0~X5高速输入)时,立即或减速停止。适合精确中断停止(如传感器触发停止)。
-
格式 :DVIT S1(脉冲数) S2(速度) D1(中断输入,如X0) D2(输出点,如Y0)
-
注意 :中断信号下降沿触发;可设置偏置速度、减速停止等(通过特殊寄存器)。
-
示例 :X10=ON启动,目标脉冲100000,速度10000Hz,当X0中断信号来时减速停止。
[LD X10] [DVIT K100000 K10000 X0 Y0] // 中断输入X0,输出Y0应用:飞剪、定长切割(运行中遇到传感器信号中断停止)。
5. DRVI(相对定位指令,增量驱动)
-
功能 :相对当前位置输出指定脉冲数(相对定位),带自动加减速。定位完成后BUSY标志清零。
-
格式 :DRVI S1(脉冲数) S2(速度) D(输出点)
-
注意 :脉冲数正值为正转,负值为反转;使用当前值寄存器D8340/D8341跟踪位置。
-
示例 :X3=ON时,相对移动+20000脉冲(正转),最大速度30000Hz。
[LD X3] [DRVI K20000 K30000 Y0] // 相对+20000脉冲应用:重复相对移动,如机械手抓取固定距离。
6. DRVA(绝对定位指令,绝对驱动)
-
功能 :向绝对位置定位(基于原点),带加减速。需先建立原点(ABS读取或零返回)。
-
格式 :DRVA S1(绝对位置) S2(速度) D(输出点)
-
注意 :位置与当前值寄存器比较,正转/反转自动判断;常配合ABS指令读取伺服当前绝对位置。
-
示例 :X4=ON时,定位到绝对位置50000,速度25000Hz。
[LD X4] [DRVA K50000 K25000 Y0] // 绝对定位到50000应用:多点绝对定位,如多工位转台。
注意事项(通用) :
- 输出轴:Y0/Y1/Y2/Y3(视机型),方向通常由Y1/Y3或特殊M8341等控制。
- 速度/加减速参数:需设置特殊寄存器(如D8342偏置速度、D8343最大速度)。
- 监控:用D8340(当前脉冲低32位)、M8348(定位完成标志)等监控。
- 编程环境:在GX Works中,这些为应用指令,直接拖拽使用。
- 实际应用前请参考具体机型手册(如FX3U定位手册),参数范围因系列略有差异。
这些指令常组合使用(如DRVA+ABS实现绝对定位)。
哪些指令的值可以用负数来表示反转?
三菱GX Works定位指令中支持负数表示反转的指令
在您提到的六条指令(PLSY、PLSR、PLSV、DVIT、DRVI、DRVA)中, 只有DRVI和DRVA 支持通过参数 负数 来表示反转方向。其余指令的脉冲数/频率/位置参数均为 正值 (或无符号),方向需通过单独的方向输出(Y1/Y3等)或特殊M标志(如M8341)控制。
1. DRVI(相对定位指令)
-
支持负数 :是的
-
参数 :S1(移动脉冲数/距离)
- 正数:正转(正方向移动)
- 负数:反转(负方向移动)
-
示例 :
[LD X3] [DRVI K20000 K30000 Y0] // 正转相对移动20000脉冲 [LD X4] [DRVI K-15000 K30000 Y0] // 反转相对移动15000脉冲 -
说明 :最常用、最直接的负数反转方式。
2. DRVA(绝对定位指令)
-
支持负数 :是的(取决于坐标系)
-
参数 :S1(绝对目标位置)
- 正数:向正方向定位
- 负数:向负方向定位(坐标系原点后,负值表示负方向位置)
-
示例 :
[LD X5] [DRVA K50000 K30000 Y0] // 定位到绝对位置+50000 [LD X6] [DRVA K-30000 K30000 Y0] // 定位到绝对位置-30000(自动反转) -
说明 :方向由当前值寄存器(D8340/D8350等)与目标位置比较自动判断。负目标位置会自动反转。
不支持负数的指令(方向需另行控制)
- PLSY、PLSR、PLSV、DVIT
-
这些指令的脉冲数(S2)或频率(S1/S2)参数 必须为正值 (K0~K2147483647 或类似范围)。
-
负数会报错或被视为无效。
-
反转方式:
- 使用方向输出点(Y1/Y3等,高电平正转/低电平反转)。
- 或通过特殊M标志(如M8341=ON正转,OFF反转)。
-
示例(以PLSY为例):
[LD X0] [OUT Y1 ON] // 正转方向 [PLSY K5000 K10000 Y0] [LD X1] [OUT Y1 OFF] // 反转方向 [PLSY K5000 K10000 Y0]
-
总结表 :
| 指令 | 是否支持负数表示反转 | 负数参数 | 反转替代方式 |
|---|---|---|---|
| PLSY | 否 | 无 | 方向输出Y1或M标志 |
| PLSR | 否 | 无 | 方向输出Y1或M标志 |
| PLSV | 否 | 无 | 方向输出Y1或M标志 |
| DVIT | 否 | 无 | 方向输出Y1或M标志 |
| DRVI | 是 | 移动脉冲数(S1) | – |
| DRVA | 是 | 绝对目标位置(S1) | – |