基于QtPy (PySide6) 的PLC-HMI工程实战记录(五)为当前动作画面的信号连接变量

之前在 NowDoForm类中定义了一个信号now_signal

这个信号是一个固定格式的列表,内容固定为:

\[当前动作的工作状态,限位0,限位1...,\[节点0_0, 节点0_1,...,节点1_0, 节点1_1,...,...节点n_0, 节点n_1,...]

以"炉门右移"画面为例:

当将这个画面的now_signal信号emit(\[True,False,True,\[True]]),信号值与画面的映射关系如下:

画面就会按照变量的分配更新。

进一步的,把每一个画面的now_signal信号绑定之前定义的PLC变量,就可以实现画面按照变量的的更新自动更新。

以"炉门右移"画面为例:

python 复制代码
# UI管理器
um = UiManager()   
# 画面的now_signal信号绑定
um.bond([变量表.Q炉门平移右移.valueChanged, 变量表.限炉门左.valueChanged, 变量表.限炉门右.valueChanged, 变量表.限门锁闭左开.valueChanged],
        lambda :proxy_DoorRight.widget.now_signal.emit([[变量表.Q炉门平移右移],[变量表.限炉门左,变量表.限炉门右],[[变量表.限门锁闭左开]]]))

就可以把变量绑定到画面,当变量发生变化后自动更新画面。

同样的方法,绑定变量到所有的动态画面。

相关推荐
风跟我说过她6 小时前
SQL 一键转经典 Chen 风格 ER 图:开源 CLI + 在线工具 + Agent Skill
数据库·python·sql·开源·开源软件
小祺先生6 小时前
mt7921 debian系统 如何安装驱动
运维·网络·debian
Ulyanov6 小时前
AudioVision Pro:基于 PySide6 + sounddevice 的实时音频可视化播放器设计
python·算法·音视频
ID34610744206 小时前
【课程设计】基于Spring Boot+Vue的校园共享无人机服务系统设计与实现-计算机毕设 附源码44219
javascript·vue.js·spring boot·python·node.js·php·课程设计
星空6 小时前
pycharm复习
ide·python·pycharm
Maiko Star6 小时前
Python 包与项目管理工具——uv
python·uv
秦哈哈6 小时前
【Hello Agents】学习笔记(二)
笔记·学习·microsoft
weixin199701080167 小时前
[特殊字符]《京东POP二手品类对接:B2C订单模型 vs 二手C2C属性的字段转换难题》(附Python源码)
前端·python·算法
qq_508576097 小时前
机器人通讯协议
网络·机器人
承渊政道7 小时前
Python IDLE鸿蒙PC适配全记录:从Tkinter桌面程序到ArkUI原生开发闭环
开发语言·python·harmonyos·鸿蒙系统·桌面程序