From bea6407b376a4e426f0b120bae569fba6ab867db Mon Sep 17 00:00:00 2001 From: chenluhua1980 <Chenluhua@qq.com> Date: 星期六, 08 十一月 2025 17:55:47 +0800 Subject: [PATCH] 1.CMaster.cpp 第 1644/1667/1691 行在记录 SV 曲线时通过 getGlassFromSlot(0) 取玻璃,而各设备的 initSlots() 都是从 1 开始编号(例如 CBonder.cpp (line 408)、CVacuumBake.cpp (line 415) 等)。槽位 0 永远不存在,所以 pGlass 始终是 nullptr,pGlass->addSVData(...) 的分支从未执行。结果 SERVO::CGlass::m_svDatas 里没有任何曲线数据,GlassJson::ToPrettyString 生成的 pretty 字符串也就没有 sv_datas,导出 CSV 时自然读不到曲线。 同一段代码还有一个潜在 Bug:虽然判断了 channel - 1 < bonderTypes.size(),但真正索引却用的是 bonderTypes[channel]。索引偏移会导致数据类型错位,最后一个通道甚至可能越界。即使修正了槽位,这里也需要同步改成 bonderTypes[channel - 1](另外两处 vacuumbakeTypes、coolingTypes 也一样)。 --- SourceCode/Bond/BoounionPLC/Common.h | 127 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 126 insertions(+), 1 deletions(-) diff --git a/SourceCode/Bond/BoounionPLC/Common.h b/SourceCode/Bond/BoounionPLC/Common.h index f3816ef..2942408 100644 --- a/SourceCode/Bond/BoounionPLC/Common.h +++ b/SourceCode/Bond/BoounionPLC/Common.h @@ -4,8 +4,133 @@ /* Rx Code */ #define RX_CODE_TEST 0 #define RX_CODE_LOG 1000 +#define RX_CODE_ADD_PLC 1001 +#define RX_CODE_REMOVE_PLC 1002 +#define RX_CODE_SELECT_PLC 1003 +#define RX_CODE_ALARM_ON 1004 +#define RX_CODE_ALARM_OFF 1005 +#define RX_CODE_ACTIVATE 1006 // 启动 +#define RX_CODE_AUTO 1007 // 自动 +#define RX_CODE_PUASE 1008 // 暂停 +#define RX_CODE_MANUAL 1009 // 手动 +#define RX_CODE_BEEP 1010 // 静音 +#define RX_CODE_RESETTING 1011 // 复位 +#define RX_CODE_STOP 1012 // 停止 +#define RX_CODE_VELOCITY_RATIO 1013 // 速度比例 +#define RX_CODE_TACT_TIME 1014 // 节拍时间 +#define RX_CODE_DAY_SHIFT_CAPACTITY 1015 // 白班产量 +#define RX_CODE_NIGHT_SHIFT_CAPACTITY 1016 // 夜班产量 +#define RX_PLC_STATE_CHANGED 1017 /* PLC状态改变 */ + /* 定制颜色 */ #define APP_MAIN_DLG_BACKGROUND RGB(255, 255, 255) #define TOP_TOOLBAR_BACKGROUND RGB(240, 240, 240) -#define PAGE_PLC_LIST_BACKGROUND RGB(245, 245, 250) \ No newline at end of file +#define PAGE_PLC_LIST_BACKGROUND RGB(245, 245, 250) +#define MAIN_CONTAINER_BACKGROUND RGB(252, 252, 255) +#define BASE_VIEW_BACKGROUND RGB(252, 252, 255) +#define PLC_VIEW_BACKGROUND RGB(252, 252, 255) +#define LOGCAT_BACKGROUND_COLOR RGB(252, 252, 255) + +/* PLC页面颜色定义 */ + +/* PLCVIEW按钮 */ +#define BTN_PLCVIEW_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_PLCVIEW_FRAME_HOVER RGB(88, 88, 88) +#define BTN_PLCVIEW_FRAME_PRESS RGB(88, 88, 88) +#define BTN_PLCVIEW_OFF_BKGND_NORMAL RGB(255, 127, 39) +#define BTN_PLCVIEW_OFF_BKGND_HOVER RGB(255, 157, 59) +#define BTN_PLCVIEW_OFF_BKGND_PRESS RGB(255, 100, 29) +#define BTN_PLCVIEW_ON_BKGND_NORMAL RGB(100, 200, 100) +#define BTN_PLCVIEW_ON_BKGND_HOVER RGB(150, 250, 150) +#define BTN_PLCVIEW_ON_BKGND_PRESS RGB(50, 150, 50) + +/* 轴设定页面颜色定义 */ + +/* 5个按钮页, 按钮背景色,正常状态*/ +#define BTN_PAGE_FRAME_COLOR RGB(58, 58, 58) +#define BTN_PAGE_FACE_NORMAL_COLOR RGB(0, 168, 0) +#define BTN_PAGE_FACE_SELECT_COLOR RGB(0, 232, 0) +#define BTN_PAGE_TEXT_NORMAL_COLOR RGB(22, 22, 22) +#define BTN_PAGE_TEXT_SELECT_COLOR RGB(22, 22, 22) + +/* JOG+, JOG-*/ +#define BTN_JOG_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_JOG_FRAME_HOVER RGB(88, 88, 88) +#define BTN_JOG_FRAME_PRESS RGB(88, 88, 88) +#define BTN_JOG_BKGND_NORMAL RGB(0, 232, 0) +#define BTN_JOG_BKGND_HOVER RGB(0, 222, 0) +#define BTN_JOG_BKGND_PRESS RGB(0, 168, 0) + +/* Sev按钮 */ +#define BTN_SEV_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_SEV_FRAME_HOVER RGB(88, 88, 88) +#define BTN_SEV_FRAME_PRESS RGB(88, 88, 88) +#define BTN_SEV_BKGND_NORMAL RGB(0, 232, 0) +#define BTN_SEV_BKGND_HOVER RGB(0, 222, 0) +#define BTN_SEV_BKGND_PRESS RGB(222, 0, 0) + +/* Stop按钮 */ +#define BTN_STOP_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_STOP_FRAME_HOVER RGB(88, 88, 88) +#define BTN_STOP_FRAME_PRESS RGB(88, 88, 88) +#define BTN_STOP_BKGND_NORMAL RGB(0, 168, 0) +#define BTN_STOP_BKGND_HOVER RGB(0, 138, 0) +#define BTN_STOP_BKGND_PRESS RGB(222, 0, 0) + +/* OPR 按钮 */ +#define BTN_OPR_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_OPR_FRAME_HOVER RGB(88, 88, 88) +#define BTN_OPR_FRAME_PRESS RGB(88, 88, 88) +#define BTN_OPR_BKGND_NORMAL RGB(0, 168, 0) +#define BTN_OPR_BKGND_HOVER RGB(255, 160, 64) +#define BTN_OPR_BKGND_PRESS RGB(250, 155, 60) +#define BTN_OPR_BKGND_TEST RGB(0, 255, 0) + +/* 定位按钮 */ +#define BTN_POINT_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_POINT_FRAME_HOVER RGB(88, 88, 88) +#define BTN_POINT_FRAME_PRESS RGB(88, 88, 88) +#define BTN_POINT_BKGND_NORMAL RGB(222, 222, 222) +#define BTN_POINT_BKGND_HOVER RGB(208, 208, 222) +#define BTN_POINT_BKGND_PRESS RGB(0, 232, 0) + +/* 报警页面颜色定义 */ + +/* 解除警告 按钮 */ +#define BTN_ALARM_OFF_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_ALARM_OFF_FRAME_HOVER RGB(88, 88, 88) +#define BTN_ALARM_OFF_FRAME_PRESS RGB(88, 88, 88) +#define BTN_ALARM_OFF_BKGND_NORMAL RGB(255, 127, 39) +#define BTN_ALARM_OFF_BKGND_HOVER RGB(255, 157, 59) +#define BTN_ALARM_OFF_BKGND_PRESS RGB(255, 100, 29) + +/* 静音按钮 */ +#define BTN_SOUND_OFF_FRAME_NORMAL RGB(88, 88, 88) +#define BTN_SOUND_OFF_FRAME_HOVER RGB(88, 88, 88) +#define BTN_SOUND_OFF_FRAME_PRESS RGB(88, 88, 88) +#define BTN_SOUND_OFF_BKGND_NORMAL RGB(255, 127, 39) +#define BTN_SOUND_OFF_BKGND_HOVER RGB(255, 157, 59) +#define BTN_SOUND_OFF_BKGND_PRESS RGB(255, 100, 29) +#define BTN_SOUND_ON_BKGND_NORMAL RGB(100, 200, 100) +#define BTN_SOUND_ON_BKGND_HOVER RGB(150, 250, 150) +#define BTN_SOUND_ON_BKGND_PRESS RGB(50, 150, 50) + +/* 树控件小圆点 */ +#define TREE_BADGE_BACKGROUND RGB(34, 177, 76) +#define TREE_BADGE_FOREGROUND RGB(222, 222, 222) +#define TREE_BADGE2_BACKGROUND RGB(255, 127, 39) +#define TREE_BADGE2_FOREGROUND RGB(222, 222, 222) + + +/* 按钮id */ +#define VIEW_TOOL_BTN_CLOSE 0x1016 + + +/* 广播代码 */ +#define BC_CODE_ALARM_ON 1 +#define BC_CODE_ALARM_OFF 2 + + +/* 监控数据id */ +#define MONITOR_ID_ALARM 1001 \ No newline at end of file -- Gitblit v1.9.3