主题
便利指令(FNC 60-70)
便利指令提供常用控制模式的封装,可简化编程。
IST、ROTC 本机不支持
这两条程序编得进去、设备也认得,但运行时没有任何动作(只跳过操作数,不报错也不生效)。手动的多模式控制请自己用普通触点逻辑写;旋转工作台控制请用步进/状态逻辑实现。下面保留写法说明仅供对照三菱资料。
IST — 状态初始化(FNC 60)
| 项目 | 说明 |
|---|---|
| 格式 | IST S D1 D2 |
自动初始化步进梯形图的控制模式。S 为模式开关起始地址,D1~D2 为使用的状态器范围。
| S 偏移 | 功能 |
|---|---|
| S+0 | 手动模式 |
| S+1 | 回原点模式 |
| S+2 | 步进模式 |
| S+3 | 单周期运行 |
| S+4 | 连续运行 |
| S+5 | 回原点启动 |
| S+6 | 自动启动 |
| S+7 | 停止 |
IST X20 S20 S40 ; X20~X27 为模式开关,S20~S40 为状态器范围用途:简化具有手动/步进/自动等多种操作模式的设备编程。
SER — 数据检索(FNC 61)
| 项目 | 说明 |
|---|---|
| 格式 | SER S1 S2 D n |
| 16/32位 | SER / DSER |
在 S1 起始的 n 个数据中检索与 S2 相同值的位置。结果存入 D 起始的 5 个寄存器(最小值位置、最大值位置、相同值数量等)。
SER D0 D100 D110 K10 ; D0~D9 中检索与 D100 相同的数据ABSD — 凸轮控制绝对方式(FNC 62)
| 项目 | 说明 |
|---|---|
| 格式 | ABSD S1 S2 D n(谁是表、谁是计数器,面板与固件读参顺序不一致,见本节末尾的提醒) |
| 16/32位 | ABSD / DABSD |
根据计数器 S2 的当前值,从 S1 起始的凸轮数据表中控制 D 起始 n 个输出的 ON/OFF。
ABSD D100 C0 M0 K4 ; 用 C0 值查凸轮表控制 M0~M3用途:实现类似机械凸轮的时序控制,如多路输出按角度切换。
INCD — 凸轮控制增量方式(FNC 63)
| 项目 | 说明 |
|---|---|
| 格式 | INCD S1 S2 D n |
与 ABSD 类似,但使用增量方式。
INCD C0 D0 M0 K4增量式凸轮:跟着计数器 C0 的当前值走,落在 D0 起那张表里设定的区间内就置位 M0 起的对应输出。 和 ABSD(绝对式)只差在"看增量"还是"看绝对位置"。
步数带 ※
本条步数取自指令表标注,未经运行时逐条确认;关键场合请自己量一次 (量法见速查总表的「占用步数怎么算」)。
TTMR — 示教定时器(FNC 64)
| 项目 | 说明 |
|---|---|
| 格式 | TTMR D n |
将按钮按下的时间记录到 D 中。n=0: 秒,n=1: 0.1秒,n=2: 0.01秒。
TTMR D0 K0 ; X0 按下时间(秒)→ D0STMR — 特殊定时器:一条指令出四种定时波形(FNC 65)
| 项目 | 说明 |
|---|---|
| 格式 | STMR S m D |
生成延时断开定时器、单脉冲定时器等特殊定时功能。S 为定时器编号,m 为设定值,D 为输出起始位。
STMR X0 T0 K10一条指令同时产出四种定时波形,从输出起始位起的连续 4 个位各是一种:断延型、下降沿单脉冲、 上升沿单脉冲、双边沿延迟 —— 没有「选哪一种」的操作数,想只用一种就只接那一个位。 整条只用一个定时器,所以这个定时器不能再被别的指令用,否则两边互相抢。
用之前先在自己机器上验一次操作数顺序
本机的 ABSD / INCD 读参数时,表首址在前、计数器号在后;上位机面板与速查表给的操作数说明是反过来的 (写成「S1 计数器、S2 表首址」)。两边不一致,已记跨仓条目等对齐。 所以照任何一边写完,都要先在模拟器或自己这台设备上跑一次:给表填两组值、让计数器走起来, 看输出是不是按您要的区间动作 —— 顺序错了不会报错,只会输出对不上位置。
ALT — 交替输出(FNC 66)
| 项目 | 说明 |
|---|---|
| 格式 | ALT D |
每次驱动时将 D 的状态取反(ON/OFF 交替切换)。
ALTP Y0 ; X0 每次上升沿 Y0 状态翻转用途:单按钮启停控制、闪烁输出等。
RAMP — 斜坡输出(FNC 67)
| 项目 | 说明 |
|---|---|
| 格式 | RAMP S1 S2 D n |
从 S1 斜坡变化到 S2,变化时间 n 个扫描周期,结果存入 D。
RAMP D0 D1 D2 K1000 ; D0→D1 经 1000 个扫描周期斜坡变化 → D2用途:实现软启动、软停止等渐变控制。
ROTC — 旋转工作台控制(FNC 68)
| 项目 | 说明 |
|---|---|
| 格式 | ROTC S m1 m2 D |
控制旋转工作台定位。S 为当前角度寄存器,m1 为分度数,m2 为低速区间,D 为输出起始。
ROTC X0 M0 K4 K2 ; 这串敲得进去,但本机型运行时没有任何动作本机型运行时无动作
旋转工作台控制需要本机型不提供的外设配合。要按位置分度,请用 DRVI/DRVA 定位指令 自己排逻辑。
SORT — 数据排序(FNC 69)
| 项目 | 说明 |
|---|---|
| 格式 | SORT S D n1 n2 n |
将 S 起始的 n1 行 x n2 列数据按第 n 列升序排序,结果存入 D。
SORT D100 D200 K5 K3 K1 ; 5行3列表按第1列排序各指令详细说明
SORT2 — 数据排序(2 维,按行/列)
| 项目 | 说明 |
|---|---|
| 格式 | SORT2 S(表格首址), m1(行数), m2(列数), D(结果首址), n(按哪一列排) |
| 操作数 | S(表格首址), m1(行数), m2(列数), D(结果首址), n(按哪一列排) |
| 示例 | SORT2 D0 K5 K3 D20 K1 |
| 步数 | 11 |
| FNC | FNC 149 |
SORT2 D0 K5 K3 D20 K1各指令详细说明
DSER — 32 位数据查找
| 项目 | 说明 |
|---|---|
| 格式 | DSER S1(源首址), S2(检索值), D(结果首址), n(点数) |
| 操作数 | S1(源首址), S2(检索值), D(结果首址), n(点数) |
| 示例 | DSER D0 D10 D20 K5 |
| 步数 | 17 |
| FNC | FNC 61 (D) |
DSER D0 D10 D20 K5DABSD — 32 位凸轮控制(绝对方式)
| 项目 | 说明 |
|---|---|
| 格式 | DABSD S1(计数器), S2(表首址), D(输出首址), n(点数) |
| 操作数 | S1(计数器), S2(表首址), D(输出首址), n(点数) |
| 示例 | DABSD C0 D0 M0 K4 |
| 步数 | 17 |
| FNC | FNC 62 (D) |
DABSD C0 D0 M0 K4