主题
通信指令(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 K1RS 的增强版:发送与接收的时序由它自己管,不用像 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 的 ASCIIHEX — ASCII 转 HEX(FNC 83)
| 项目 | 说明 |
|---|---|
| 格式 | HEX S D n |
将 S 起始的 n 个 ASCII 字符转换为十六进制数据存入 D。
HEX D0 D10 K4 ; D0~D1 的 4 个 ASCII → D10 的 HEXCCD — 校验码(FNC 84)
| 项目 | 说明 |
|---|---|
| 格式 | CCD S D n |
计算 S 起始 n 个字节的校验和与水平校验码,存入 D(校验和)和 D+1(异或校验)。
CCD D0 D10 K8 ; D0~D3 的 8 字节校验 → D10(和), D11(异或)用途:通信数据完整性校验。
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, 输出D200PID 参数表(S3 起始 25 个字):
| 偏移 | 功能 | 说明 |
|---|---|---|
| S3+0 | 采样时间 Ts | 1~32767ms |
| S3+1 | 动作方向/控制位 | bit0:1=负动作(输出取反);bit1:输入报警使能;bit2:输出报警使能;bit4:1=启动自整定;bit5:输出上下限限幅使能 |
| S3+2 | 输入滤波常数 α | 0~100(%) |
| S3+3 | 比例增益 Kp | 0~32767;Kp=0 时切换为回差(位式)控制 |
| S3+4 | 积分时间 Ti | 0~32767(×100ms),0=无积分 |
| S3+5 | 微分增益 Kd | 0~100% |
| S3+6 | 微分时间 Td | 0~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 模拟器上可用)。