修改判定脚本

This commit is contained in:
ranchuan
2023-07-26 18:13:25 +08:00
parent f713dd35b8
commit 649e5b8f11
6 changed files with 794 additions and 11 deletions

View File

@@ -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")

View File

@@ -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": []
}
]
}

Binary file not shown.

View File

@@ -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]["Min"]) then
if(ret_value[1]<task["TestStandard"][1]["Min"]) or (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

View File

@@ -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()

View File

@@ -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()