PC写入NG结果
PC_TrayScan[0-7].diPCCode写入夹具码
PC_TrayScan[0-7].diPCTestType写入是否为水分夹具
数据库
与进站扫码逻辑类似【地址相同】,通过创建Task时带入的Line区分任务;
releaseTrayIdFuncAsync
为空夹具时生成夹具流水号等信息
不处理结果
PC
PC_CellScan[0-7].diPLCCtrlWord=10
夹具扫码处理中
托盘校验请求
PC:Dispatch类中
进站校验接口(miBatchCheckSFCStatusFuncAsync)
插入
PLC
扫码流程
PC_CellScan[0-7].diPCStatus=1
PC_TrayScan[0-7].diPCCtrlWord写入OK结果
PC_TrayScan[0-7].diPCCtrlWord写入NG结果
电芯虚拟条码
PC:ControlTask类中
PC写入夹具状态
NG
水分电芯扫码请求
插入数据库tb_scanCellCode,isWaterCell区分是否为水分电池
电芯校验
进站收数请求
复烘水分扫码为同样流程,地址不同,水分地址索引为【8】,复烘水分索引为【9】;由Dispatch类创建Task时,带入参数Line区分地址;
PC写入夹具码
PC内部状态变更
PC_TrayScan[0-7].diPLCCtrlWord=10
复烘水分电芯扫码
更新tb_scanCellCode数据库
电芯虚拟条码()
进站扫码请求
进站校验响应OK/NG
PC条码校验
MES
PC_CellScan[0-7].diPCCtrlWord【OK写1/MesNG写8/数据库NG写9】
开启8个监控任务,等待同时完成或十秒超时
查询数据库当前位置的夹具条码与扫出条码是否匹配,现场已修改为以扫描的条码为准
写入NG结果
carInfo夹具为可上料状态时,获取Redis生成预入位置,判断夹具是否需要水电池TrayState
1:成功2:上位机调度请求错误3:电池条码为空4:电池条码不符合长度5:电池条码不符合前缀6:电池与上批扫码电池码重复7:电池信息插入数据失败8:电池条码MES校验失败9:向PLC写入虚拟ID失败10:上位机流程异常11:未在数据库中找到该电芯条码
托盘校验响应
miCheckProcessLotFuncAsync
托盘解绑请求
水分&复烘水分电芯扫码
上下料夹具扫码请求
数据库更新
PC_CellScan[8]地址索引8为水分电芯
进站收数接口(dataCollectForSfcExFuncAsync)
插入电芯数据
PC_CellScan[0].diPCCode写入虚拟条码【数据库条目ID】
写入数据库runCarData
OK
PC_CellScan[0-7].diPCCtrlWord写入NG结果
查询数据库(tb_RealPlatformInfo)
夹具扫码
PC_TrayScan[0-7].diPCTrayStatus写入夹具状态
PC写入电芯虚拟条码
PC获取上下料平台数量区分PLC地址;PC_TrayScan[0-7],1-4上料抽层,5-8下料抽层;
进站收数响应OK/NG
进站扫码处理中
PC写入OK结果
进站电芯扫码