Skip to content

高速处理(FNC 50-59) ​

高速处理指令用于需要精确时序或硬件级响应的控制场景。

高速处理与运动控制能力总览

本章有几条指令本机不支持

REF、MTR、DHSCS、DHSCR、DHSZ 这五条程序编得进去、设备也认得,但运行时没有任何动作(只跳过操作数,不报错也不生效)。写程序请避开它们;确实需要对应功能请先与厂家确认。

REF — I/O 刷新(FNC 50) ​

项目说明
格式REF D n

立即刷新 D 起始的 n 个位元件的 I/O 状态,无需等待扫描周期结束。

REF X0 K8             ; 立即刷新 X0-X7 的输入状态
REF Y0 K8             ; 立即刷新 Y0-Y7 的输出状态

用途:高速定位控制等需要即时 I/O 响应的场景。

REFF — I/O 刷新+滤波调整(FNC 51) ​

项目说明
格式REFF n

刷新输入并设置输入滤波时间为 n×1ms。

LDP  M8002
REFF  K10           ; 所有 X 输入的滤波时间设成 10ms

一条改全部 X 输入的滤波时间,单位 ms,最大 60。输入抖动大就调大,响应要快就调小。 只在启动时(M8002 上升沿)设一次即可,别每个周期都执行。 本机型的滤波时间也可以在上位机的输入滤波设置里改,两边以后写的那次为准。

MTR — 矩阵输入(FNC 52) ​

项目说明
格式MTR S D1 D2 n

用 n 个输出点扫描读取矩阵键盘输入。S 为起始输入,D1 为起始输出,D2 为存储起始地址。

MTR  X0  Y0  M0  K4     ; 这串敲得进去,但本机型运行时没有任何动作

本机型运行时无动作

矩阵键盘扫描(Y 输出行扫描、X 读列、结果送 M)在本机型上不产生动作。 要按键输入请直接用普通输入点,或用触摸屏/上位机。

DHSCS — 高速计数器比较置位(FNC 53) ​

项目说明
格式DHSCS S1 S2 D

当高速计数器 S2 的当前值等于 S1 时,立即置位 D(不受扫描周期影响)。

DHSCS K1000 C235 Y0   ; C235 = 1000 时立即置位 Y0

DHSCR — 高速计数器比较复位(FNC 54) ​

项目说明
格式DHSCR S1 S2 D

当高速计数器 S2 的当前值等于 S1 时,立即复位 D。

DHSCR K2000 C235 Y0   ; C235 = 2000 时立即复位 Y0

DHSZ — 高速计数器区间比较(FNC 55) ​

项目说明
格式DHSZ S1 S2 S D

高速计数器 S 的当前值与区间 [S1, S2] 比较,结果输出到 D、D+1、D+2。

DHSZ K100 K500 C235 Y0   ; C235 与 [100,500] 比较

SPD — 脉冲密度测量(FNC 56) ​

项目说明
格式SPD S1 S2 D

在 S2 ms 时间内统计 S1 输入的脉冲数。结果占 3 个寄存器:D 存上一次统计到的脉冲数,D+1 存本次实时脉冲数,D+2 存本轮剩余时间(到时间后自动开始下一轮)。

  • S1 必须是 X 输入点,填别的软元件报 6581;S2 的窗口取 1~32767 毫秒
  • X0~X5 走硬件中断计数,只占上面那 3 个字;X6 及以后走软件计数,还要多占 D+3、D+4 两个字 —— 排地址时按 5 个字留最保险
SPD X0 K1000 D0       ; 1秒内统计 X0 脉冲数 → D0

用途:测量转速、流量等脉冲频率信号。

SPD 在 S2 毫秒窗口内数 X 输入的脉冲,结果占 3~5 个字

PLSY — 脉冲输出(FNC 57) ​

PLSY / PWM / PLSR 三种输出波形:匀速脉冲 vs 占空比调节 vs 梯形加减速

项目说明
格式PLSY S1 S2 D
16/32位PLSY / DPLSY

从 D 指定的输出点输出频率 S1(Hz)、脉冲数 S2 的脉冲串。S2=K0 时连续输出。输出完成后 M8029=ON。

PLSY K1000 K5000 Y0   ; Y0 输出 1000Hz、5000 个脉冲

注意:仅晶体管输出型号支持;输出点可填 Y0~Y7(本机这 8 个点都能做高速输出,不必局限在三菱手册常说的 Y0/Y1)。

PWM — 脉宽调制输出(FNC 58) ​

项目说明
格式PWM S1 S2 D

从 D 输出 PWM 信号。S1=ON 时间,S2=周期(均为 ms)。驱动条件 OFF 后输出停止。

PWM K50 K100 Y0       ; Y0 输出 PWM,周期100ms,占空比50%

注意:仅晶体管输出型支持。

PWM 周期与脉宽:S1 定周期、S2 定高电平宽度

PLSR — 带加减速脉冲输出(FNC 59) ​

项目说明
格式PLSR S1 S2 S3 D
16/32位PLSR / DPLSR

带加减速的脉冲输出。S1=最大频率,S2=总脉冲数,S3=加减速时间(ms),D=输出点。

PLSR K1000 K5000 K200 Y0   ; Y0 输出,最高1000Hz,5000脉冲,加减速200ms

PLSR 带加减速脉冲输出的频率梯形:升到 S1、走完 S2 个脉冲、再降下来

各指令详细说明 ​

DHCMOV — 高速计数器当前值传送/清零。在本机型上不执行任何动作:固件里对应的处理函数只把三个参数读掉就返回,不做任何传送。要搬高速计数器当前值请改用 DMOV C235 D0,或先与厂家确认 ​

项目说明
格式DHCMOV S(目标软元件), C(高速计数器), 清零条件位
操作数S(目标软元件), C(高速计数器), 清零条件位
示例DHCMOV D0 C235 M0
步数13
FNCFNC 197
DHCMOV D0 C235 M0

各指令详细说明 ​

DPLSY — 32 位指定频率脉冲输出(PLSY 的 32 位版) ​

项目说明
格式DPLSY S1(频率), S2(脉冲数), D(输出Y)
操作数S1(频率), S2(脉冲数), D(输出Y)
示例DPLSY D0 D2 Y0
步数13
FNCFNC 57 (D)
DPLSY D0 D2 Y0

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研