基于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炉门平移右移],[变量表.限炉门左,变量表.限炉门右],[[变量表.限门锁闭左开]]]))

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

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

相关推荐
特立独行的猫A3 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
大可不必了8 小时前
03 函数定义和调用
开发语言·python
我不会插花弄玉8 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
承渊政道9 小时前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
爱学习的程序媛9 小时前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
imgsq9 小时前
GESP Python 一到四级:备考路线与真题特点
python·青少年编程
Rabitebla9 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
火云代理9 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
Gary移动存储固件9 小时前
eMMC5.1协议中文学习讲解(6.6.17~6.6.22.4.6)
学习·ufs·emmc·nand·存储固件
一个天蝎座 白勺 程序猿10 小时前
别让收藏夹替你学习:我搭AI知识体系的完整方法,脚本直接拿去用
人工智能·学习·ai·ai学习