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

PSW300 = 50; // 赋值

int val = PSW300; // 读取

PSW300++; // 自加

  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 = SPSW100;

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

相关推荐
承渊政道5 小时前
【MySQL数据库学习】(MySQL复合查询)
数据库·学习·mysql·bash·database·数据库开发·数据库架构
云和数据.ChenGuang5 小时前
metrics的解释 人工智能
人工智能·深度学习·学习·机器学习·概率论
fanged5 小时前
Linux_Driver_Tutorial(1)(TODO)
学习
星恒随风5 小时前
C++ string 入门(一)
开发语言·c++·笔记·学习
zdr尽职尽责5 小时前
Unity录像功能
学习·ui·unity·游戏引擎
lazy H5 小时前
IDEA 如何配置 JDK?项目 SDK 报错解决方法
java·ide·后端·学习·intellij-idea
格兰芬多呼神护卫5 小时前
轮臂机器人-运动控制软件架构方案学习笔记
笔记·学习·机器人
jinxindeep5 小时前
混元Hy-Embodied-0.5-VLA:从视觉-语言-动作模型到真实世界机器人学习全栈系统
人工智能·学习·机器人
.千余7 小时前
【C++】C++ set 与 multiset 完全指南:关联式容器入门
开发语言·c++·笔记·学习·其他
Kobebryant-Manba7 小时前
学习序列模型
学习