diff --git a/python/code_with_checker.py b/python/code_with_checker.py index a8ab764..f60737b 100644 --- a/python/code_with_checker.py +++ b/python/code_with_checker.py @@ -220,7 +220,7 @@ class port: if __name__ == "__main__": p=port() # 批检仪测试 - p.open("com5",115200) + p.open("com5",57600) p.open_code("com8",115200) # p.open("utcp",9527) p.checker_test(5000,"file/EX_Coder_Test_2023-07-4.json","file/judge-xt.lua") diff --git a/python/file/EX_Coder_Test_2023-07-21.json b/python/file/EX_Coder_Test_2023-07-21.json new file mode 100644 index 0000000..9c0ee97 --- /dev/null +++ b/python/file/EX_Coder_Test_2023-07-21.json @@ -0,0 +1,758 @@ +{ + "PlanID": 49614980, + "PlanBrief": "模拟工厂注码", + "CheckSoftVersion": [ + 1 + ], + "CheckHardVersion": [ + 1 + ], + "TimeOutS": 4, + "TimeOutM": 10, + "TimeOutUI": 12, + "TaskIDMax": 26, + "TaskArray": [ + { + "TaskID": 0, + "TaskBrief": "电源准备", + "TaskIndex": 0, + "ParamCount": 1, + "ParamInfo": [ + "预设电压1" + ], + "ParamVal": [ + 88 + ], + "TestStandard": [], + "ReturnCount": 0, + "ReturnInfo": [], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [], + "RetryCount": 0 + }, + { + "TaskID": 1, + "TaskBrief": "上电充能", + "TaskIndex": 1, + "ParamCount": 3, + "ParamInfo": [ + "总线电压", + "采样超时0.1ms", + "计时启停ADC" + ], + "ParamVal": [ + 88, + 5000, + 400 + ], + "TestStandard": [ + { + "Max": 95, + "Min": 80 + }, + { + "Max": 800, + "Min": 100 + } + ], + "ReturnCount": 2, + "ReturnInfo": [ + "总线电压", + "大于启停的时间" + ], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [ + 23, + 22 + ], + "RetryCount": 0 + }, + { + "TaskID": 32, + "TaskBrief": "加载配置", + "TaskIndex": 2, + "ParamCount": 0, + "ParamInfo": [], + "ParamVal": [], + "TestStandard": [ + { + "Max": 8, + "Min": 8 + }, + { + "Max": 4, + "Min": 4 + }, + { + "Max": 1, + "Min": 1 + } + ], + "ReturnCount": 3, + "ReturnInfo": [ + "UID长度", + "密码长度", + "版本号" + ], + "ErrJumpTo": 255, + "ExecuteErrCode": 29, + "ResultErrCode": [ + 29, + 29, + 29, + 255 + ], + "RetryCount": 0 + }, + { + "TaskID": 3, + "TaskBrief": "获取总线电流(0.1uA)", + "TaskIndex": 3, + "ParamCount": 0, + "ParamInfo": [], + "ParamVal": [], + "TestStandard": [ + { + "Max": 400, + "Min": 120 + }, + { + "Max": 400, + "Min": 120 + } + ], + "ReturnCount": 2, + "ReturnInfo": [ + "总线正电流", + "总线反电流" + ], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [ + 27, + 27 + ], + "RetryCount": 0 + }, + { + "TaskID": 4, + "TaskBrief": "扫描UID", + "TaskIndex": 4, + "ParamCount": 2, + "ParamInfo": [ + "UID长度", + "使1/失0UID对比" + ], + "ParamVal": [ + 8, + 0 + ], + "TestStandard": [], + "ReturnCount": 0, + "ReturnInfo": [], + "ErrJumpTo": 14, + "ExecuteErrCode": 24, + "ResultErrCode": [], + "RetryCount": 0 + }, + { + "TaskID": 11, + "TaskBrief": "桥丝检测", + "TaskIndex": 5, + "ParamCount": 0, + "ParamInfo": [], + "ParamVal": [], + "TestStandard": [ + { + "Max": 240, + "Min": 0 + } + ], + "ReturnCount": 1, + "ReturnInfo": [ + "桥丝ADC" + ], + "ErrJumpTo": 14, + "ExecuteErrCode": 30, + "ResultErrCode": [ + 30 + ], + "RetryCount": 0 + }, + { + "TaskID": 8, + "TaskBrief": "充能统计", + "TaskIndex": 6, + "ParamCount": 5, + "ParamInfo": [ + "充电挡位", + "统计超时", + "电流判线AD", + "充电结束值0.1uA", + "充电超时0.1S" + ], + "ParamVal": [ + 34, + 5000, + 100, + 600, + 5 + ], + "TestStandard": [ + { + "Max": 4000, + "Min": 1000 + }, + { + "Max": 600, + "Min": 120 + }, + { + "Max": 100, + "Min": 10 + } + ], + "ReturnCount": 3, + "ReturnInfo": [ + "充能值0.1ms", + "充末电流0.1uA", + "最大充电电流0.1mA" + ], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [ + 34, + 35, + 32, + 255 + ], + "RetryCount": 0 + }, + { + "TaskID": 24, + "TaskBrief": "状态码检测", + "TaskIndex": 7, + "ParamCount": 2, + "ParamInfo": [ + "比较掩码", + "比较位" + ], + "ParamVal": [ + 130, + 0 + ], + "TestStandard": [ + { + "Max": 255, + "Min": 0 + } + ], + "ReturnCount": 1, + "ReturnInfo": [ + "状态值" + ], + "ErrJumpTo": 14, + "ExecuteErrCode": 46, + "ResultErrCode": [ + 46 + ], + "RetryCount": 0 + }, + { + "TaskID": 26, + "TaskBrief": "复位", + "TaskIndex": 8, + "ParamCount": 0, + "ParamInfo": [], + "ParamVal": [], + "TestStandard": [], + "ReturnCount": 0, + "ReturnInfo": [], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [], + "RetryCount": 0 + }, + { + "TaskID": 9, + "TaskBrief": "设置现场值", + "TaskIndex": 9, + "ParamCount": 3, + "ParamInfo": [ + "编号", + "延时", + "孔号" + ], + "ParamVal": [ + 20, + 100, + 20 + ], + "TestStandard": [], + "ReturnCount": 0, + "ReturnInfo": [], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [], + "RetryCount": 0 + }, + { + "TaskID": 19, + "TaskBrief": "时钟校准", + "TaskIndex": 10, + "ParamCount": 3, + "ParamInfo": [ + " 1快速0全", + "校准周期", + "校准时长" + ], + "ParamVal": [ + 0, + 1000, + 110 + ], + "TestStandard": [], + "ReturnCount": 0, + "ReturnInfo": [], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [], + "RetryCount": 0 + }, + { + "TaskID": 24, + "TaskBrief": "状态码检测", + "TaskIndex": 11, + "ParamCount": 2, + "ParamInfo": [ + "比较掩码", + "比较位" + ], + "ParamVal": [ + 10, + 10 + ], + "TestStandard": [ + { + "Max": 255, + "Min": 0 + } + ], + "ReturnCount": 1, + "ReturnInfo": [ + "状态值" + ], + "ErrJumpTo": 255, + "ExecuteErrCode": 46, + "ResultErrCode": [ + 255 + ], + "RetryCount": 0 + }, + { + "TaskID": 10, + "TaskBrief": "比对现场值", + "TaskIndex": 12, + "ParamCount": 4, + "ParamInfo": [ + "编号", + "延时", + "孔号", + "1使/0失反馈采集" + ], + "ParamVal": [ + 20, + 100, + 20, + 1 + ], + "TestStandard": [ + { + "Max": 1700, + "Min": 800 + }, + { + "Max": 400, + "Min": 150 + } + ], + "ReturnCount": 2, + "ReturnInfo": [ + "最大反馈电流", + "最大反馈时间" + ], + "ErrJumpTo": 255, + "ExecuteErrCode": 255, + "ResultErrCode": [ + 43, + 44, + 255, + 255 + ], + "RetryCount": 0 + }, + { + "TaskID": 27, + "TaskBrief": "关总线", + "TaskIndex": 13, + "ParamCount": 0, + "ParamInfo": [], + "ParamVal": [], + "TestStandard": [], + "ReturnCount": 0, + "ReturnInfo": [], + "ErrJumpTo": 255, + "ExecuteErrCode": 254, + "ResultErrCode": [], + "RetryCount": 0 + } + ], + "MajorErrInfo": [ + { + "Info": "执行成功", + "MajorErrCode": 0, + "SubErrCode": [] + }, + { + "Info": "检测器异常", + "MajorErrCode": 1, + "SubErrCode": [ + 21, + 23 + ] + }, + { + "Info": "主电容异常", + "MajorErrCode": 2, + "SubErrCode": [ + 31, + 32, + 33, + 34, + 35 + ] + }, + { + "Info": "接触异常", + "MajorErrCode": 3, + "SubErrCode": [ + 27, + 37 + ] + }, + { + "Info": "桥丝阻值异常", + "MajorErrCode": 4, + "SubErrCode": [ + 30 + ] + }, + { + "Info": "芯片异常", + "MajorErrCode": 5, + "SubErrCode": [ + 22, + 24, + 25, + 26, + 27, + 28, + 29, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + }, + { + "Info": "其他异常", + "MajorErrCode": 20, + "SubErrCode": [ + 255, + 254 + ] + } + ], + "SubErrInfo": [ + { + "Info": "预设电压异常", + "ErrCode": 21, + "ErrFac": [ + "1.检测小板电压调节失效,存在无法设置的电压" + ] + }, + { + "Info": "上电充能错误", + "ErrCode": 22, + "ErrFac": [ + "1.检测器输出电压异常", + "2.模块上电容性负载大", + "3.模块基本电路异常" + ] + }, + { + "Info": "电压设置异常", + "ErrCode": 23, + "ErrFac": [ + "1.检测小板输出电压异常", + "2.外部短路,导致过流保护" + ] + }, + { + "Info": "UID扫描错误", + "ErrCode": 24, + "ErrFac": [ + "1.芯片通信异常", + "2.芯片内部存储的UID与参考UID不一致" + ] + }, + { + "Info": "标记区验证错误", + "ErrCode": 25, + "ErrFac": [ + "1.验证标志位没有置位(检测流程出错", + "2.芯片数据被擦写", + "3.通信异常" + ] + }, + { + "Info": "通讯后电流错误", + "ErrCode": 26, + "ErrFac": [ + "1.芯片执行指令异常", + "2.芯片通信接收功耗异常" + ] + }, + { + "Info": "基本电流错误", + "ErrCode": 27, + "ErrFac": [ + "1.芯片的静态功耗异常", + "2.检测器输出电压异常" + ] + }, + { + "Info": "配置错误", + "ErrCode": 28, + "ErrFac": [ + "1.芯片错误", + "2.通信异常" + ] + }, + { + "Info": "验证配置", + "ErrCode": 29, + "ErrFac": [ + "1.芯片内部数据与检测数据不一致,数据丢失", + "2.芯片通信异常", + "3.芯片数据被改写" + ] + }, + { + "Info": "桥丝错误", + "ErrCode": 30, + "ErrFac": [ + "1.桥丝开路,或阻值异常", + "2.芯片异常,检测不准" + ] + }, + { + "Info": "高压充能错误", + "ErrCode": 31, + "ErrFac": [ + "1.电容漏流", + "2.电容容值偏低或偏大", + "3.芯片充电漏流,充电回路或起爆回路", + "4.芯片高压基本电流偏大", + "5.芯片异常,充电电流偏小" + ] + }, + { + "Info": "充电电流错误", + "ErrCode": 32, + "ErrFac": [ + "1.芯片异常,充电电流符合指标" + ] + }, + { + "Info": "高压充末电流错误", + "ErrCode": 33, + "ErrFac": [ + "1.电容漏流", + "2.芯片充电回路漏流或起爆回路漏流", + "3.芯片高压基本电流偏大" + ] + }, + { + "Info": "低压充电能量错误", + "ErrCode": 34, + "ErrFac": [ + "1.电容漏流", + "2.电容容值偏低或偏大", + "3.芯片充电漏流,充电回路或起爆回路", + "4.芯片低压基本电流偏大", + "5.芯片异常,充电电流偏小", + "6.高压充电后不能放电" + ] + }, + { + "Info": "低压充末电流错误", + "ErrCode": 35, + "ErrFac": [ + "1.电容漏流", + "2.芯片充电回路漏流或起爆回路漏流", + "3.芯片基本功耗偏大" + ] + }, + { + "Info": "写延时错误", + "ErrCode": 36, + "ErrFac": [ + "1.芯片设置延时功能异常", + "2.通信异常" + ] + }, + { + "Info": "读延时错误", + "ErrCode": 37, + "ErrFac": [ + "1.芯片读延时功能异常", + "2.通信异常" + ] + }, + { + "Info": "芯片程测错误", + "ErrCode": 38, + "ErrFac": [ + "1.芯片成测标记错误,非全FFFF", + "2.通信异常" + ] + }, + { + "Info": "时钟校准错误", + "ErrCode": 39, + "ErrFac": [ + "1.检测器命令执行异常" + ] + }, + { + "Info": "写工厂信息错误", + "ErrCode": 40, + "ErrFac": [ + "1.OTP数据写入出错", + "2.通信异常" + ] + }, + { + "Info": "模拟起爆错误", + "ErrCode": 41, + "ErrFac": [ + "1.发送起爆指令后无应答" + ] + }, + { + "Info": "芯片状态码异常", + "ErrCode": 42, + "ErrFac": [ + "1.状态码与设置的掩码不匹配", + "2.通讯异常" + ] + }, + { + "Info": "反馈电流错误", + "ErrCode": 43, + "ErrFac": [ + "1.芯片异常,反馈电流不达标", + "2.检测器异常,采集电路不准" + ] + }, + { + "Info": "反码时长错误", + "ErrCode": 44, + "ErrFac": [ + "1.芯片异常,通讯无反码", + "2.通讯反码电流低,不能识别" + ] + }, + { + "Info": "复位放电错误", + "ErrCode": 45, + "ErrFac": [ + "1.高压充电后降压通讯异常", + "2.芯片复位不能正常放电", + "3.芯片异常,指令不执行" + ] + }, + { + "Info": "状态标志错误", + "ErrCode": 46, + "ErrFac": [ + "1.置位标志命令未执行", + "2.置位命令参数错误", + "3.电容电压检测失败", + "4,芯片异常,状态标志不能置位" + ] + }, + { + "Info": "三码验证错误", + "ErrCode": 47, + "ErrFac": [ + "1.扫描获取的UID和写入的UID不一致", + "2.密码不一致,验证标志位未置位", + "3.芯片状态标志异常,不能置位" + ] + }, + { + "Info": "写管壳码", + "ErrCode": 48, + "ErrFac": [ + "1.缓存空间数据验证错误", + "2.指令执行错误,未收到应答", + "3.芯片功能异常,指令执行失败" + ] + }, + { + "Info": "写密码", + "ErrCode": 49, + "ErrFac": [ + "1.缓存空间数据验证错误", + "2.指令执行错误,未收到应答", + "3.芯片功能异常,指令执行失败" + ] + }, + { + "Info": "写现场值错误", + "ErrCode": 50, + "ErrFac": [ + "1.UID不匹配", + "2.芯片内部的配置未设置正确", + "3.芯片功能异常,通信无反馈" + ] + }, + { + "Info": "检测器执行异常", + "ErrCode": 254, + "ErrFac": [ + "广播类命令执行错误" + ] + }, + { + "Info": "返回参数判断", + "ErrCode": 255, + "ErrFac": [] + } + ] +} \ No newline at end of file diff --git a/python/file/EX_Coder_Test_2023-07-21.xlsx b/python/file/EX_Coder_Test_2023-07-21.xlsx new file mode 100644 index 0000000..d2af77c Binary files /dev/null and b/python/file/EX_Coder_Test_2023-07-21.xlsx differ diff --git a/python/file/judge-xt-checker.lua b/python/file/judge-xt-checker.lua index 0de3372..dc0bc41 100644 --- a/python/file/judge-xt-checker.lua +++ b/python/file/judge-xt-checker.lua @@ -33,7 +33,10 @@ -- 充能流程异常改为电容异常 -- 2023.7.21 -- 修改检测项打印位置 - +-- 2023.7.24 +-- 读取芯片uid之后再次检测电流 +-- 2023.7.25 +-- 上电电压超限时报检测器异常 @@ -276,7 +279,7 @@ function XT_Test_PowerOn(task,err_code) ret_value=find_return(task["TaskIndex"]+1) prints:print_a(ret_value,2) -- 电压无法上升,检测器异常 - if(ret_value[1]task["TestStandard"][1]["Max"]) then print("voltage too low",ret_value[1]) only(err_code,1) return nil @@ -315,10 +318,10 @@ function XT_Test_ScanUID(task,err_code) -- only(err_code,5) -- return nil -- end - - return find_index(task["TaskIndex"]+2,8) - --print("读取芯片代码") - --return find_index(task["TaskIndex"]+2,6) + -- 充能统计 + -- return find_index(task["TaskIndex"]+2,8) + -- 再次检测电流 + return find_index(task["TaskIndex"]+2,3) end end @@ -355,10 +358,12 @@ function XT_Test_BaseCurLow(task,err_code) end -- 排除接触异常 del(err_code,3) - -- 下一步检测芯片 - return find_index(task["TaskIndex"]+2,4) - -- print("读取芯片代码") - -- return find_index(task["TaskIndex"]+2,6) + -- 下一步检测芯片,如果没有芯片则检测充能 + local next=find_index(task["TaskIndex"]+2,4) + if(next==nil) then + next=find_index(task["TaskIndex"]+2,8) + end + return next end end diff --git a/python/prottcp.py b/python/prottcp.py index bda700d..8c65b77 100644 --- a/python/prottcp.py +++ b/python/prottcp.py @@ -380,6 +380,8 @@ class protu(QObject): self.cmd_no+=1 # print("send:",data.hex(",")) self.ser.write(self.encode(data)) + def send_str(self,txt:str): + self.ser.write(txt) def start_recv(self): self.thread_ = threading.Thread(target=self.recv, args=()) self.thread_.start() diff --git a/python/updata.py b/python/updata.py index 07bcee3..96f6b31 100644 --- a/python/updata.py +++ b/python/updata.py @@ -83,6 +83,7 @@ class updata_dlg(QObject): self.save_but_init() self.cmd_but_init() self.sstate_but_init() + self.updatas_but_init() self.com_but_init() self.com_init() self.widget.destroyed.connect(self.quit) @@ -140,6 +141,14 @@ class updata_dlg(QObject): self.sstate_but.setText("MCU在线状态") self.sstate_but.clicked.connect(self.sstate_but_clicked) + # 初始化升级小板按钮 + def updatas_but_init(self): + self.updatas_but = QPushButton(self.widget) + self.updatas_but.setObjectName(u"updatas_but") + self.updatas_but.setGeometry(QRect(590, 180, 93, 28)) + self.updatas_but.setText("升级小板") + self.updatas_but.clicked.connect(self.updatas_but_clicked) + # com口 def com_init(self): self.com = QComboBox(self.widget) @@ -289,6 +298,15 @@ class updata_dlg(QObject): def sstate_but_clicked(self): print("sstate_but clicked.") + def updatas_but_clicked(self): + print("updatas_but clicked.") + try: + self.port.send_str("updatas 1,2,3,4,5,6,7,8,9,10".encode("utf-8")) + except Exception as e: + print("com not open") + print(str(e)) + + # 开始运行 def run(self): self.widget.show()