PSW、PFW、SPSW、SPFW 是信捷TouchWin

先把这4个按钮/控件一次性讲透:PSW、PFW、SPSW、SPFW 是信捷TouchWin里的内部寄存器按钮/控件,专门操作触摸屏自己的内部字寄存器,不直接连PLC外部地址。

一、先分清4个的本质(一句话记)

  • PSW:Panel System Word → 触摸屏内部非保持字寄存器(掉电清零)

  • PFW:Panel Flash Word → 触摸屏内部掉电保持字寄存器(断电不丢)

  • SPSW:System Panel System Word → 系统专用PSW(系统状态/通信状态,只读/半只读)

  • SPFW:System Panel Flash Word → 系统专用PFW(系统配置/配方,掉电保持)

二、PSW(内部非保持字)怎么用

  1. 用途
  • 临时数据、画面切换标志、显示控制、计数、临时参数、通信状态监控

  • 掉电重启后自动清零,适合临时变量

  1. 地址范围(TS系列)
  • PSW:256~8191(PSW0~255为系统占用,禁止修改)
  1. 控件用法(PSW按钮/数值框)

  2. 插入「字按钮/数值输入/数值显示」,对象类型选 PSW

  3. 地址:如 PSW300

  4. 功能:- 数值输入:用户输入数字→写入PSW300

  • 数值显示:读取PSW300并显示

  • 字按钮:点击给PSW300赋值(如设为1、0、加1、减1)

  1. 脚本直接读写(C函数):c

PSW[300] = 50; // 赋值

int val = PSW[300]; // 读取

PSW[300]++; // 自加

  1. 典型场景
  • 画面切换标志:PSW20=0→显示A区,=1→显示B区

  • 临时计数:PSW50记录点击次数

  • 通信状态显示:读取PSW100(主设备通信状态)

三、PFW(内部掉电保持字)怎么用

  1. 用途
  • 配方参数、累计产量、设置值、用户密码、报警记录、需要断电保存的数据

  • 掉电不丢,TS屏每1分钟自动写入Flash一次

  1. 地址范围(TS系列)
  • PFW:256~4000000(PFW0~255系统占用)
  1. 控件用法

  2. 插入「字按钮/数值输入/显示」,对象类型选 PFW

  3. 地址:如 PFW500

  4. 功能同PSW,但数据永久保存

  5. 脚本读写(需用Read/Write函数,不能直接赋值):c

Write(PFW, 500, 100); // 写PFW500=100

int val;

Read(PFW, 500, &val); // 读PFW500

  1. 典型场景
  • 配方参数:PFW1000~PFW1005存6个配方值

  • 累计产量:PFW2000记录总生产数量

  • 用户设置:PFW3000存报警阈值

四、SPSW(系统专用PSW)怎么用

  1. 用途
  • 系统状态、通信状态、时间、运行信息、只读/半只读,用户一般只读不写

  • 非保持,掉电清零

  1. 常用地址(TS)
  • SPSW100:主设备(PLC)通信状态(0=正常,非0=异常)

  • SPSW101:扩展模块状态

  • SPSW102:通信错误码

  • SPSW200~209:系统时间(年/月/日/时/分/秒)

  1. 用法

  2. 插入数值显示,对象类型 SPSW,地址如 SPSW100

  3. 显示通信是否正常:SPSW100=0→绿色"正常",≠0→红色"异常"

  4. 脚本读取:c

int comm = SPSW[100];

if (comm != 0) MessageBox("通信异常!");

五、SPFW(系统专用PFW)怎么用

  1. 用途
  • 系统配置、配方管理、用户权限、掉电保持的系统参数

  • 一般由软件/系统管理,用户少量读写

  1. 用法

  2. 控件选 SPFW,地址如 SPFW100(配方组号)

  3. 用于配方导入/导出、权限等级存储

  4. 脚本用Read/Write访问

六、4个控件对比表(一眼分清)

类型 全称 掉电保持 读写属性 主要用途

PSW Panel System Word ❌ 不保持 读写 临时数据、画面控制、计数

PFW Panel Flash Word ✅ 保持 读写 配方、产量、设置值

SPSW System Panel System Word ❌ 不保持 只读/半只读 通信状态、系统时间

SPFW System Panel Flash Word ✅ 保持 受限读写 系统配置、配方管理

七、快速上手步骤(以PSW/PFW为例)

  1. 打开TouchWin,拖入「数值输入」或「字按钮」

  2. 双击→对象类型:选 PSW 或 PFW

  3. 地址:PSW300 / PFW500(从256开始)

  4. 设置范围、格式(十进制/十六进制)

  5. 下载到TS屏,测试输入/显示/按钮赋值

八、常见坑

  • ❌ 用PSW0~255:系统区,改了会异常

  • ❌ PFW直接赋值:必须用Read/Write函数

  • ❌ SPSW随意写:系统状态区,写了可能死机

  • ✅ 建议:临时用PSW,要保存用PFW,看状态用SPSW

相关推荐
南境十里·墨染春水1 天前
C++ 笔记 thread
java·开发语言·c++·笔记·学习
南境十里·墨染春水1 天前
C++ 笔记 高级线程同步原语与线程池实现
java·开发语言·c++·笔记·学习
lkforce1 天前
MiniMind学习笔记(二)--model_minimind.py
笔记·python·学习·minimind·minimindconfig
三品吉他手会点灯1 天前
C语言学习笔记 - 1.C概述 - 本讲内容概述
c语言·笔记·学习
嵌入式小企鹅1 天前
国产大模型与芯片加速融合,RISC-V生态多点开花,AI编程工具迈入自动化新纪元
人工智能·学习·ai·嵌入式·算力·risc-v·半导体
光影少年1 天前
Monorepo架构是什么,如何学习Monorepo架构?
前端·学习·架构·前端框架
醇氧1 天前
Hermes Agent 学习(安装部署详细教程)
人工智能·python·学习·阿里云·ai·云计算
光影少年1 天前
Python+LangGraph学习路线及发展前景
开发语言·人工智能·python·学习
星辰即远方1 天前
UI学习3
学习·ui
三品吉他手会点灯1 天前
C语言学习笔记 - 3. C概述 - C语言的起源和发展
c语言·笔记·学习