Skip to content

便利指令(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

用途:实现类似机械凸轮的时序控制,如多路输出按角度切换。

ABSD 每个区间 2 个字(低/高阈值),落在区间内为 ON

INCD — 凸轮控制增量方式(FNC 63) ​

项目说明
格式INCD S1 S2 D n

与 ABSD 类似,但使用增量方式。

INCD  C0  D0  M0  K4

增量式凸轮:跟着计数器 C0 的当前值走,落在 D0 起那张表里设定的区间内就置位 M0 起的对应输出。 和 ABSD(绝对式)只差在"看增量"还是"看绝对位置"。

步数带 ※

本条步数取自指令表标注,未经运行时逐条确认;关键场合请自己量一次 (量法见速查总表的「占用步数怎么算」)。

INCD 每个动作 1 个字,one-hot 一步步走并清计数器

TTMR — 示教定时器(FNC 64) ​

项目说明
格式TTMR D n

将按钮按下的时间记录到 D 中。n=0: 秒,n=1: 0.1秒,n=2: 0.01秒。

TTMR D0 K0            ; X0 按下时间(秒)→ D0

STMR — 特殊定时器:一条指令出四种定时波形(FNC 65) ​

项目说明
格式STMR S m D

生成延时断开定时器、单脉冲定时器等特殊定时功能。S 为定时器编号,m 为设定值,D 为输出起始位。

STMR  X0  T0  K10

一条指令同时产出四种定时波形,从输出起始位起的连续 4 个位各是一种:断延型、下降沿单脉冲、 上升沿单脉冲、双边沿延迟 —— 没有「选哪一种」的操作数,想只用一种就只接那一个位。 整条只用一个定时器,所以这个定时器不能再被别的指令用,否则两边互相抢。

STMR 一条指令同时出四种定时波形,占 D 起连续 4 个位

用之前先在自己机器上验一次操作数顺序

本机的 ABSD / INCD 读参数时,表首址在前、计数器号在后;上位机面板与速查表给的操作数说明是反过来的 (写成「S1 计数器、S2 表首址」)。两边不一致,已记跨仓条目等对齐。 所以照任何一边写完,都要先在模拟器或自己这台设备上跑一次:给表填两组值、让计数器走起来, 看输出是不是按您要的区间动作 —— 顺序错了不会报错,只会输出对不上位置。

ALT — 交替输出(FNC 66) ​

项目说明
格式ALT D

每次驱动时将 D 的状态取反(ON/OFF 交替切换)。

ALTP Y0               ; X0 每次上升沿 Y0 状态翻转

用途:单按钮启停控制、闪烁输出等。

ALT 普通形每个扫描周期翻转一次;ALTP 只在上升沿翻一次

RAMP — 斜坡输出(FNC 67) ​

项目说明
格式RAMP S1 S2 D n

从 S1 斜坡变化到 S2,变化时间 n 个扫描周期,结果存入 D。

RAMP D0 D1 D2 K1000   ; D0→D1 经 1000 个扫描周期斜坡变化 → D2

用途:实现软启动、软停止等渐变控制。

RAMP 单段线性过渡:每扫描走 (S2−S1)/n,到终点置 M8029

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列排序

SORT 把 m1×m2 的表按第 n 列整行重排,源表与目标表是分开的两片

各指令详细说明 ​

SORT2 — 数据排序(2 维,按行/列) ​

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

各指令详细说明 ​

DSER — 32 位数据查找 ​

项目说明
格式DSER S1(源首址), S2(检索值), D(结果首址), n(点数)
操作数S1(源首址), S2(检索值), D(结果首址), n(点数)
示例DSER D0 D10 D20 K5
步数17
FNCFNC 61 (D)
DSER D0 D10 D20 K5

DABSD — 32 位凸轮控制(绝对方式) ​

项目说明
格式DABSD S1(计数器), S2(表首址), D(输出首址), n(点数)
操作数S1(计数器), S2(表首址), D(输出首址), n(点数)
示例DABSD C0 D0 M0 K4
步数17
FNCFNC 62 (D)
DABSD C0 D0 M0 K4

DABSD(32 位版):每个区间占 4 个字(低阈值 2 字 + 高阈值 2 字)

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