Skip to content

五、32 位扩展指令详解(带 D 的写法) ​

本章补充说明速查总表中没有独立详解页的 32 位写法(带 D 的应用指令)。这些指令的功能与不带 D 的同名指令相同,只是每个操作数按 32 位(双字)处理。

高速处理 (FNC 50-59) ​

DPLSR — 带加减速脉冲输出(32 位) ​

项目说明
格式DPLSR 最高频率 S1, 脉冲数 S2, 加减速时间 S3, 输出 Y(S1/S2/S3 各占 2 个字)
操作数最高频率 S1, 脉冲数 S2, 加减速时间 S3, 输出 Y(S1/S2/S3 各占 2 个字)
示例DPLSR K1000 K5000 K200 Y0
步数17
FNCFNC 59 (D)

功能与 PLSR 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DPLSR K1000 K5000 K200 Y0

PLSR 带加减速脉冲输出的频率梯形:升到 S1、走完 S2 个脉冲、再降下来(32 位版:每个操作数占 2 个字)

便利指令 (FNC 60-69) ​

DSORT2 — 32 位数据排序(2 维) ​

项目说明
格式DSORT2 S(表格首址), m1(行数), m2(列数), D(结果首址), n(按哪一列排)
操作数S(表格首址), m1(行数), m2(列数), D(结果首址), n(按哪一列排)
示例DSORT2 D0 K5 K3 D20 K1
步数21
FNCFNC 149 (D)

功能与 SORT2 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 21 步)
DSORT2 D0 K5 K3 D20 K1

浮点数运算 (FNC 110-139) ​

DINT — 32 位浮点数 → 整数 ​

项目说明
格式DINT 源 S, 目标 D
操作数源 S, 目标 D
示例DINT D0 D10
步数9
FNCFNC 129 (D)

功能与 INT 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DINT D0 D10

INT 浮点取整是截掉小数,负数往零那一侧退;结果只占 1 个字(32 位版:每个操作数占 2 个字)

数据处理与时钟 (FNC 140-189) ​

DSWAP — 32 位高低字节互换 ​

项目说明
格式DSWAP 操作数 D
操作数操作数 D
示例DSWAP D0
步数5
FNCFNC 147 (D)

功能与 SWAP 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 5 步)
DSWAP D0

DHTOS — 32 位 时:分:秒 → 秒 转换 ​

项目说明
格式DHTOS 源 S(3字), 目标 D
操作数源 S(3字), 目标 D
示例DHTOS D0 D10
步数9
FNCFNC 164 (D)

功能与 HTOS 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DHTOS D0 D10

DSTOH — 32 位 秒 → 时:分:秒 转换 ​

项目说明
格式DSTOH 源 S, 目标 D(3字)
操作数源 S, 目标 D(3字)
示例DSTOH D0 D10
步数9
FNCFNC 165 (D)

功能与 STOH 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DSTOH D0 D10

DABS — 32 位绝对位置当前值读取 ​

项目说明
格式DABS S(ABS 数据输入起始,占 3 点), D1(输出信号起始,占 3 点), D2(保存 32 位当前值)
操作数S(ABS 数据输入起始,占 3 点), D1(输出信号起始,占 3 点), D2(保存 32 位当前值)
示例DABS X0 Y0 D10
步数13
FNCFNC 155 (D)

本机型运行时无动作

程序编得进去、下载不报错,但运行时不会产生任何结果。下面这段写法只保留着与三菱资料对照,请当没有这条。

本机型上它与 ABS 一样不产生动作,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 13 步)
DABS X0 Y0 D10

DGRY — 32 位二进制数→格雷码 ​

项目说明
格式DGRY S, D
操作数S, D
示例DGRY D0 D4
步数9
FNCFNC 170 (D)

功能与 GRY 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DGRY D0 D4

DGBIN — 32 位格雷码→二进制数 ​

项目说明
格式DGBIN S, D
操作数S, D
示例DGBIN D0 D4
步数9
FNCFNC 171 (D)

功能与 GBIN 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DGBIN D0 D4

DZRN — 原点回归(32 位) ​

项目说明
格式DZRN 回归速度 S1, 爬行速度 S2, 近点输入 S3, 脉冲输出 Y(S1/S2 各占 2 个字)
操作数回归速度 S1, 爬行速度 S2, 近点输入 S3, 脉冲输出 Y(S1/S2 各占 2 个字)
示例DZRN K5000 K500 X0 Y0
步数17
FNCFNC 156 (D)

功能与 ZRN 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DZRN K5000 K500 X0 Y0

DPLSV — 可变速脉冲输出(32 位) ​

项目说明
格式DPLSV 速度 S1, 脉冲输出 Y, 方向输出(S1 占 2 个字)
操作数速度 S1, 脉冲输出 Y, 方向输出(S1 占 2 个字)
示例DPLSV K3000 Y0 Y4
步数13
FNCFNC 157 (D)

功能与 PLSV 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 13 步)
DPLSV K3000 Y0 Y4

DDRVI — 相对定位(32 位) ​

项目说明
格式DDRVI 脉冲数 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字)
操作数脉冲数 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字)
示例DDRVI K10000 K5000 Y0 Y4
步数17
FNCFNC 158 (D)

功能与 DRVI 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DDRVI K10000 K5000 Y0 Y4

DDRVA — 绝对定位(32 位) ​

项目说明
格式DDRVA 目标位置 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字)
操作数目标位置 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字)
示例DDRVA K20000 K5000 Y0 Y4
步数17
FNCFNC 159 (D)

功能与 DRVA 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DDRVA K20000 K5000 Y0 Y4

块运算与字符串 (FNC 190-219) ​

DVAL — 字符串→32 位 BIN ​

项目说明
格式DVAL S(字符串), D1(存"位数"的软元件), D2(BIN 目标)
操作数S(字符串), D1(存"位数"的软元件), D2(BIN 目标)
示例DVAL D0 D10 D20
步数13
FNCFNC 201 (D)

功能与 VAL 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 13 步)
DVAL D0 D10 D20

触点比较与数据处理 (FNC 224-299) ​

DLIMIT — 32 位上下限限位 ​

项目说明
格式DLIMIT S1(下限), S2(上限), S3(待限位的输入值), D(限位后的输出)
操作数S1(下限), S2(上限), S3(待限位的输入值), D(限位后的输出)
示例DLIMIT D0 D10 D20 D30
步数17
FNCFNC 256 (D)

功能与 LIMIT 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DLIMIT D0 D10 D20 D30

LIMIT 限幅曲线:区间内原样输出,区间外输出边界值(32 位版:每个操作数占 2 个字)

DZONE — 32 位区域控制 ​

项目说明
格式DZONE S1(死区下限), S2(死区上限), S3(输入值), D(输出)
操作数S1(死区下限), S2(死区上限), S3(输入值), D(输出)
示例DZONE D0 D10 D20 D30
步数17
FNCFNC 258 (D)

功能与 ZONE 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DZONE D0 D10 D20 D30

ZONE 本机算法:输入正负决定加下限还是上限,不检查上下限颠倒(32 位版:每个操作数占 2 个字)

DDABIN — ASCII→BIN(32 位) ​

项目说明
格式DDABIN S(字符串首址), D(结果,占 2 个字)
操作数S(字符串首址), D(结果,占 2 个字)
示例DDABIN D0 D10
步数9
FNCFNC 260 (D)

功能与 DABIN 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DDABIN D0 D10

DBINDA — BIN→ASCII(32 位) ​

项目说明
格式DBINDA S(数值,占 2 个字), D(字符串首址)
操作数S(数值,占 2 个字), D(字符串首址)
示例DBINDA D0 D10
步数9
FNCFNC 261 (D)

功能与 BINDA 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DBINDA D0 D10

DBAND — 死区控制(32 位) ​

项目说明
格式DBAND 下限 S1, 上限 S2, 输入 S3, 输出 D(四个操作数各占 2 个字)
操作数下限 S1, 上限 S2, 输入 S3, 输出 D(四个操作数各占 2 个字)
示例DBAND K-10 K10 D0 D10
步数17
FNCFNC 257 (D)

功能与 BAND 完全相同,差别只有两点:

  • 每个数据操作数按 32 位(双字) 取 —— 写 D0 实际用掉 D0 和 D1,源和目标都要留够两格, 相邻那格不能再放别的数据
  • 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DBAND K-10 K10 D0 D10

BAND 死区曲线:区间内输出 0,区间外输出偏离量(32 位版:每个操作数占 2 个字)

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