主题
五、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 |
| FNC | FNC 59 (D) |
功能与 PLSR 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DPLSR K1000 K5000 K200 Y0便利指令 (FNC 60-69)
DSORT2 — 32 位数据排序(2 维)
| 项目 | 说明 |
|---|---|
| 格式 | DSORT2 S(表格首址), m1(行数), m2(列数), D(结果首址), n(按哪一列排) |
| 操作数 | S(表格首址), m1(行数), m2(列数), D(结果首址), n(按哪一列排) |
| 示例 | DSORT2 D0 K5 K3 D20 K1 |
| 步数 | 21 |
| FNC | FNC 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 |
| FNC | FNC 129 (D) |
功能与 INT 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DINT D0 D10数据处理与时钟 (FNC 140-189)
DSWAP — 32 位高低字节互换
| 项目 | 说明 |
|---|---|
| 格式 | DSWAP 操作数 D |
| 操作数 | 操作数 D |
| 示例 | DSWAP D0 |
| 步数 | 5 |
| FNC | FNC 147 (D) |
功能与 SWAP 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 5 步)
DSWAP D0DHTOS — 32 位 时:分:秒 → 秒 转换
| 项目 | 说明 |
|---|---|
| 格式 | DHTOS 源 S(3字), 目标 D |
| 操作数 | 源 S(3字), 目标 D |
| 示例 | DHTOS D0 D10 |
| 步数 | 9 |
| FNC | FNC 164 (D) |
功能与 HTOS 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DHTOS D0 D10DSTOH — 32 位 秒 → 时:分:秒 转换
| 项目 | 说明 |
|---|---|
| 格式 | DSTOH 源 S, 目标 D(3字) |
| 操作数 | 源 S, 目标 D(3字) |
| 示例 | DSTOH D0 D10 |
| 步数 | 9 |
| FNC | FNC 165 (D) |
功能与 STOH 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DSTOH D0 D10DABS — 32 位绝对位置当前值读取
| 项目 | 说明 |
|---|---|
| 格式 | DABS S(ABS 数据输入起始,占 3 点), D1(输出信号起始,占 3 点), D2(保存 32 位当前值) |
| 操作数 | S(ABS 数据输入起始,占 3 点), D1(输出信号起始,占 3 点), D2(保存 32 位当前值) |
| 示例 | DABS X0 Y0 D10 |
| 步数 | 13 |
| FNC | FNC 155 (D) |
本机型运行时无动作
程序编得进去、下载不报错,但运行时不会产生任何结果。下面这段写法只保留着与三菱资料对照,请当没有这条。
本机型上它与 ABS 一样不产生动作,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 13 步)
DABS X0 Y0 D10DGRY — 32 位二进制数→格雷码
| 项目 | 说明 |
|---|---|
| 格式 | DGRY S, D |
| 操作数 | S, D |
| 示例 | DGRY D0 D4 |
| 步数 | 9 |
| FNC | FNC 170 (D) |
功能与 GRY 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DGRY D0 D4DGBIN — 32 位格雷码→二进制数
| 项目 | 说明 |
|---|---|
| 格式 | DGBIN S, D |
| 操作数 | S, D |
| 示例 | DGBIN D0 D4 |
| 步数 | 9 |
| FNC | FNC 171 (D) |
功能与 GBIN 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DGBIN D0 D4DZRN — 原点回归(32 位)
| 项目 | 说明 |
|---|---|
| 格式 | DZRN 回归速度 S1, 爬行速度 S2, 近点输入 S3, 脉冲输出 Y(S1/S2 各占 2 个字) |
| 操作数 | 回归速度 S1, 爬行速度 S2, 近点输入 S3, 脉冲输出 Y(S1/S2 各占 2 个字) |
| 示例 | DZRN K5000 K500 X0 Y0 |
| 步数 | 17 |
| FNC | FNC 156 (D) |
功能与 ZRN 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DZRN K5000 K500 X0 Y0DPLSV — 可变速脉冲输出(32 位)
| 项目 | 说明 |
|---|---|
| 格式 | DPLSV 速度 S1, 脉冲输出 Y, 方向输出(S1 占 2 个字) |
| 操作数 | 速度 S1, 脉冲输出 Y, 方向输出(S1 占 2 个字) |
| 示例 | DPLSV K3000 Y0 Y4 |
| 步数 | 13 |
| FNC | FNC 157 (D) |
功能与 PLSV 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 13 步)
DPLSV K3000 Y0 Y4DDRVI — 相对定位(32 位)
| 项目 | 说明 |
|---|---|
| 格式 | DDRVI 脉冲数 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字) |
| 操作数 | 脉冲数 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字) |
| 示例 | DDRVI K10000 K5000 Y0 Y4 |
| 步数 | 17 |
| FNC | FNC 158 (D) |
功能与 DRVI 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DDRVI K10000 K5000 Y0 Y4DDRVA — 绝对定位(32 位)
| 项目 | 说明 |
|---|---|
| 格式 | DDRVA 目标位置 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字) |
| 操作数 | 目标位置 S1, 频率 S2, 脉冲输出 Y, 方向输出(S1/S2 各占 2 个字) |
| 示例 | DDRVA K20000 K5000 Y0 Y4 |
| 步数 | 17 |
| FNC | FNC 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 |
| FNC | FNC 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 |
| FNC | FNC 256 (D) |
功能与 LIMIT 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DLIMIT D0 D10 D20 D30DZONE — 32 位区域控制
| 项目 | 说明 |
|---|---|
| 格式 | DZONE S1(死区下限), S2(死区上限), S3(输入值), D(输出) |
| 操作数 | S1(死区下限), S2(死区上限), S3(输入值), D(输出) |
| 示例 | DZONE D0 D10 D20 D30 |
| 步数 | 17 |
| FNC | FNC 258 (D) |
功能与 ZONE 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DZONE D0 D10 D20 D30DDABIN — ASCII→BIN(32 位)
| 项目 | 说明 |
|---|---|
| 格式 | DDABIN S(字符串首址), D(结果,占 2 个字) |
| 操作数 | S(字符串首址), D(结果,占 2 个字) |
| 示例 | DDABIN D0 D10 |
| 步数 | 9 |
| FNC | FNC 260 (D) |
功能与 DABIN 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DDABIN D0 D10DBINDA — BIN→ASCII(32 位)
| 项目 | 说明 |
|---|---|
| 格式 | DBINDA S(数值,占 2 个字), D(字符串首址) |
| 操作数 | S(数值,占 2 个字), D(字符串首址) |
| 示例 | DBINDA D0 D10 |
| 步数 | 9 |
| FNC | FNC 261 (D) |
功能与 BINDA 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 9 步)
DBINDA D0 D10DBAND — 死区控制(32 位)
| 项目 | 说明 |
|---|---|
| 格式 | DBAND 下限 S1, 上限 S2, 输入 S3, 输出 D(四个操作数各占 2 个字) |
| 操作数 | 下限 S1, 上限 S2, 输入 S3, 输出 D(四个操作数各占 2 个字) |
| 示例 | DBAND K-10 K10 D0 D10 |
| 步数 | 17 |
| FNC | FNC 257 (D) |
功能与 BAND 完全相同,差别只有两点:
- 每个数据操作数按 32 位(双字) 取 —— 写
D0实际用掉D0和D1,源和目标都要留够两格, 相邻那格不能再放别的数据 - 数值范围 -2147483648 ~ 2147483647,步数约是 16 位版的两倍(本条 17 步)
DBAND K-10 K10 D0 D10