dd
This commit is contained in:
@ -1,12 +1,18 @@
|
||||
# core/state.py
|
||||
class SystemState:
|
||||
from PySide6.QtCore import Signal, QObject
|
||||
import threading
|
||||
from enum import IntEnum
|
||||
|
||||
class SystemState(QObject):
|
||||
"""状态中以_开头的属性会发送信号通知,不需要的不要加_开头"""
|
||||
state_updated=Signal(str,object)
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
# 系统运行状态
|
||||
self.running = False
|
||||
|
||||
# 下料控制相关
|
||||
self.upper_door_position = 'default' # default(在搅拌楼下接料), over_lower(在下料斗上方), returning(返回中)
|
||||
self.lower_feeding_stage = 0 # 0:未下料, 1:第一阶段, 2:第二阶段, 3:第三阶段, 4:等待模具车对齐
|
||||
self._upper_door_position = 'default' # default(在搅拌楼下接料), over_lower(在下料斗上方), returning(返回中)
|
||||
self._lower_feeding_stage = 0 # 0:未下料, 1:第一阶段, 2:第二阶段, 3:第三阶段, 4:等待模具车对齐
|
||||
self.lower_feeding_cycle = 0 # 下料斗下料循环次数
|
||||
self.upper_feeding_count = 0 # 上料斗已下料次数
|
||||
self.upper_feeding_max = 2 #上料斗最大下料次数
|
||||
@ -26,3 +32,46 @@ class SystemState:
|
||||
self.door_opening_large = False # 夹角
|
||||
self.vehicle_aligned = False # 模具车是否对齐
|
||||
self.last_angle = None # 上次检测角度
|
||||
|
||||
#当前RFID的内容格式为 模块编号,分块号,尺寸规格,方量
|
||||
self.rfid_current=None
|
||||
|
||||
#当前生产的管片
|
||||
self.current_artifact=None
|
||||
#当前生产状态
|
||||
self.feed_status=FeedStatus.FNone
|
||||
|
||||
# 记录需要监听的属性名(筛选掉不需要发信号的内部变量)
|
||||
#是否破拱
|
||||
self._upper_is_arch_=False
|
||||
self._lower_is_arch_=False
|
||||
self.lock = threading.RLock()
|
||||
self._watched_props = [k for k in self.__dict__ if k.startswith('_')]
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
super().__setattr__(name, value)
|
||||
if name in self._watched_props:
|
||||
with self.lock:
|
||||
public_name = name.lstrip('_')
|
||||
self.state_updated.emit(public_name, value)
|
||||
|
||||
|
||||
class FeedStatus(IntEnum):
|
||||
#初始值
|
||||
FNone = 0
|
||||
# 检查模车(模车到位)
|
||||
FCheckM = 1
|
||||
#RFID检测或匹配
|
||||
FRFID=2,
|
||||
# 开始(管片待生产任务)
|
||||
FStart = 3
|
||||
# 检查盖板(盖板到位)
|
||||
FCheckGB = 4
|
||||
#下料1
|
||||
FFeed1 = 5
|
||||
# 下料2
|
||||
FFeed2 = 6
|
||||
# 下料3
|
||||
FFeed3 = 7
|
||||
#完成(管片生产完成)
|
||||
FFinished = 11
|
||||
Reference in New Issue
Block a user