Files
01-Siyuan-MesProject/MisDataFun/WebSubmit/OpcServer/Barcode.cs
2026-05-29 10:07:05 +08:00

87 lines
3.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using bizFacade;
//using SystemFramework;
using MesServerWork;
namespace MesServerFunctions
{
partial class Functions_BASE_WebSubmit
{
///第一步,判断条码类型,根据条码类型,执行对应的存储过程
///第二步,条码类型(将扫描的条码保存到对应的表中)
///第三步,扫描完成之后给出允许工作信号
/// 处理页面扫描条码
/// </summary>
/// <param name="OpName"></param>
/// <param name="barcode"></param>
public static void Barcode(object e)
{
try
{
DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
string barcode = Convert.ToString(msgEvent.TagValue);
int EngineTypeID;//机型代码
string EngineType;//机型
string EngineID;//工件编号
int IsRepeatedNumber = 2;
//1:获得申请上线信息后,扫描条码才处理业务
bool ispartload;
MIS_BASE.Read_PartLoad(OpName, out ispartload);
if(!ispartload)
{
AsyncSendMessage_Notice(OpName, "设备请发出申请上线信号DBX500.3=1");
return;
}
//2: 判断是否重号, 从数据库获得机型、机型代码等信息
string partSn = barcode;
Db.GetEngineType( partSn, out EngineTypeID, out EngineType, out EngineID, out IsRepeatedNumber);
//IsRepeatedNumber 0 不重号1 重号2失败
switch (IsRepeatedNumber)
{
case 0:
////将产品信息写入PLC
MIS_BASE.Write_EngineTypeID_MES(OpName, EngineTypeID);
MIS_BASE.Write_EngineType_MES(OpName, EngineType);
MIS_BASE.Write_EngineID_MES(OpName, EngineID);
// 工位号],[订单号],[产品型号代码],[变速器序列号],[发动机型号],[机型基本代码],[变速器总成号] ,[托盘号]
// [产品型号代码_MES],[变速器序列号_MES],[发动机型号_MES]
// [机床上电],[循环开始],[机床故障],[上料无件],[下料堵塞],[工件到位]
// [传递机型],[申请上件],[允许保存],[保存完成],[合格标志],[前序合格]
// [工号],[班次],[是否返修件],[合格放行],[不合格放行],[扫描条码]
BaseDataSystemMES.OpName_MIS_MOBY_Insert(OpName, "产品型号代码_MES", EngineTypeID.ToString());
BaseDataSystemMES.OpName_MIS_MOBY_Insert(OpName, "发动机型号_MES", EngineType);
BaseDataSystemMES.OpName_MIS_MOBY_Insert(OpName, "变速器序列号_MES", EngineID);
MIS_BASE.Write_EngineTypeGetOver_MES(OpName, true);
//等待PLC将数据写入RFID写入PLC的DB块通知MES验证RFID机型数据是否正确传递
break;
case 1:
AsyncSendMessage_Notice(OpName, "变速器序列号 重号,请确认!");
break;
case 2:
AsyncSendMessage_Notice(OpName, "变速器序列号获取机型代码失败 ,请确认!");
break;
}
}
catch (Exception err)
{
////ApplicationLog.WriteLog(err, "Function08:Barcode");
}
}
}
}