Skip to content

通信指令(FNC 80-89) ​

通信指令用于串口通信、数据格式转换和校验码计算。

PRUN / DPRUN 本机不支持

八进制位传送 PRUN 程序编得进去、设备也认得,但运行时没有任何动作(只跳过操作数,不报错也不生效)。本机型也没有它的 32 位写法。需要按八进制编号成对传送位元件时,请用 BMOV 或普通位传送逐点写。

RS — 串口通信(FNC 80) ​

项目说明
格式RS S m D n

通过串口发送和接收数据。S 为发送数据起始,m 为发送字节数,D 为接收数据起始,n 为接收字节数。

RS D100 K10 D200 K20  ; 发送 D100 起始10字节,接收存入 D200 最多20字节

注意:使用前需在系统参数中配置串口为"无协议"模式。

实用例程 ​

LDP X0
MOV K1 D0
OUT T0 K600
LD T0
MOV K0 D0
RST T0
END

把上面的地址、主题、引脚替换成你项目里的即可。

RS2 — 串口通信2(FNC 87) ​

项目说明
格式RS2 S m D n n1

与 RS 类似,但支持指定串口编号 n1,可在多串口设备上选择具体串口。

MOV  K1004  D8126        ; 先把串口 1 设成您要的格式
RS2   D0  K4  D10  K4  K1

RS 的增强版:发送与接收的时序由它自己管,不用像 RS 那样自己等发送完成标志。 操作数依次是 发送起始 S、发送点数 m、接收起始 D、接收点数 n、端口号。 最后一个操作数必须写 K1(串口 1),本机型只有这一个端口跑这条。 串口参数(波特率/校验/停止位)不在本条里设,靠 D8126 选模式,见 D8126 通讯端口设定。

PRUN — 八进制位传送(FNC 81) ​

项目说明
格式PRUN S D
16/32位PRUN / DPRUN

按八进制编号传送位元件。例如 X0~X17 → M0~M17(八进制编号)。

PRUN X0 M0            ; X0~X17 → M0~M17(八进制传送)

用途:N:N 网络通信中的数据传送。

ASCI — HEX 转 ASCII(FNC 82) ​

项目说明
格式ASCI S D n

将 S 起始的 n 个十六进制数据转换为 ASCII 码存入 D。

ASCI D0 D10 K4        ; D0 的 4 个 HEX → D10~D11 的 ASCII

ASCI 把 16 进制位转成 ASCII 字符,每字装 2 个字符

HEX — ASCII 转 HEX(FNC 83) ​

项目说明
格式HEX S D n

将 S 起始的 n 个 ASCII 字符转换为十六进制数据存入 D。

HEX D0 D10 K4         ; D0~D1 的 4 个 ASCII → D10 的 HEX

HEX 把 ASCII 字符转回 16 进制位,每字打包 4 个位

CCD — 校验码(FNC 84) ​

项目说明
格式CCD S D n

计算 S 起始 n 个字节的校验和与水平校验码,存入 D(校验和)和 D+1(异或校验)。

CCD D0 D10 K8         ; D0~D3 的 8 字节校验 → D10(和), D11(异或)

用途:通信数据完整性校验。

CCD 一次给出累加和与逐字异或两个校验值

PID — PID 运算(FNC 88) ​

项目说明
格式PID S1 S2 S3 D
  • S1:目标值(SV)
  • S2:当前值(PV)
  • S3:参数起始地址(S3~S3+24,共 25 个参数)
  • D:输出值(MV)
PID D0 D1 D100 D200   ; 目标值D0, 当前值D1, 参数D100-D124, 输出D200

PID 参数表(S3 起始 25 个字):

偏移功能说明
S3+0采样时间 Ts1~32767ms
S3+1动作方向/控制位bit0:1=负动作(输出取反);bit1:输入报警使能;bit2:输出报警使能;bit4:1=启动自整定;bit5:输出上下限限幅使能
S3+2输入滤波常数 α0~100(%)
S3+3比例增益 Kp0~32767;Kp=0 时切换为回差(位式)控制
S3+4积分时间 Ti0~32767(×100ms),0=无积分
S3+5微分增益 Kd0~100%
S3+6微分时间 Td0~32767(×10ms),0=无微分
S3+20/21输入上/下限配合 S3+1 bit1 报警
S3+22/23输出上/下限配合 S3+1 bit5 限幅、bit2 报警
S3+24报警输出只读,各 bit 反映越限状态

S3+7~S3+19 为固件内部使用(误差历史、积分累加、采样时间戳、输入滤波历史),请把 S3 指定在停电保持区并且不要占用这些单元。

LPPLC 特有:内置继电反馈法参数自整定。把 S3+1 的 bit4 置 1 即开始,整定完成后固件自动把 bit4 清 0,并把计算出的 Kp/Ti/Kd/Td 写回 S3+3~S3+6。

支持情况

本设备固件已实现 FNC 88 PID(增量式算法)。梯形图编辑器需使用支持 PID 助记符的新版上位机才能录入并下载该指令。设备上做闭环控制,推荐用本指令,而不是 Lua 的 pid 模块(Lua 版仅在 Windows/Linux 模拟器上可用)。


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