152 lines
5.2 KiB
C#
152 lines
5.2 KiB
C#
using bizFacade;
|
|
using DoWhatPlc;
|
|
using MesServerWork;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace MisDataSaveDate
|
|
{
|
|
public partial class Funtion
|
|
{
|
|
/// <summary>
|
|
/// 发动机类型转换表
|
|
/// SELECT ID,发动机机型代码 FROM MES_计划BOM_发动机型号代码
|
|
/// </summary>
|
|
public static Hashtable hashtable_EngineTypeID=new Hashtable ();
|
|
/// <summary>
|
|
/// 记录工件到位的发动机机型代码
|
|
/// </summary>
|
|
public static Hashtable hashtable_EngineGetOver_EngineTypeID = new Hashtable();
|
|
/// <summary>
|
|
/// 记录工件到位的发动机机型
|
|
/// </summary>
|
|
public static Hashtable hashtable_EngineGetOver_EngineType = new Hashtable();
|
|
/// <summary>
|
|
/// 记录工件到位的发动机号
|
|
/// </summary>
|
|
public static Hashtable hashtable_EngineGetOver_EngineID = new Hashtable();
|
|
/// <summary>
|
|
/// 记录工件到位的订单号
|
|
/// </summary>
|
|
public static Hashtable hashtable_EngineGetOver_OrderForm = new Hashtable();
|
|
|
|
public static Hashtable hashtable_EngineGetOver = new Hashtable();
|
|
|
|
public static Hashtable hashtable_PartPalletCode = new Hashtable();
|
|
|
|
public static void MIS_Funtion(object e)
|
|
{
|
|
try
|
|
{
|
|
|
|
string recData = e.ToString();
|
|
string[] dataArray = recData.Split('|');
|
|
if (dataArray.Length != 4)
|
|
return;
|
|
//消息来源
|
|
string m_Source = dataArray[0].ToString();
|
|
//消息类型
|
|
string m_Command = dataArray[1].ToString();
|
|
//工位号
|
|
string m_OpName = dataArray[2].ToString();
|
|
//消息参数
|
|
string m_Value = dataArray[3].ToString();
|
|
|
|
DoWhatPlc.ReturnValueString rv = Newtonsoft.Json.JsonConvert.DeserializeObject<DoWhatPlc.ReturnValueString>(m_Value);
|
|
//Console.WriteLine($"【【{rv.TagID}【【【【{ rv.TagKeepTime}");
|
|
|
|
int tagType;
|
|
string opName;
|
|
string tagValue;
|
|
int tagid;
|
|
DoWhatPlc.ReturnValueString msgEvent = rv;
|
|
if (msgEvent.TagValue == null) return;
|
|
tagType = Convert.ToInt32(msgEvent.TagTypeID);
|
|
opName = msgEvent.OpName.ToString();
|
|
tagid = Convert.ToInt32(msgEvent.TagID);
|
|
|
|
|
|
|
|
switch (Convert.ToInt32(msgEvent.TagTypeCodeID))
|
|
{
|
|
case 11:
|
|
switch (msgEvent.TagValue.ToLower())
|
|
{
|
|
case "1":
|
|
case "true":
|
|
tagValue = "1";
|
|
break;
|
|
default:
|
|
tagValue = "0";
|
|
break;
|
|
}
|
|
break;
|
|
default:
|
|
tagValue = msgEvent.TagValue.ToString();
|
|
break;
|
|
}
|
|
///根据信号处理逻辑
|
|
switch (tagType)
|
|
{
|
|
case 19:
|
|
//允许保存
|
|
MesRead(opName, tagValue, tagid);
|
|
break;
|
|
case 14:
|
|
//心跳
|
|
//Heartbeat(opName, tagValue);
|
|
break;
|
|
case 44://PLC传递机型过后 才允许保存过站信息,否则不允许保存
|
|
EngTypeGetOver(opName, tagValue);
|
|
break;
|
|
case 2://工件到位 离开信息
|
|
|
|
if (tagValue == "0")
|
|
{
|
|
//传递机型
|
|
if (hashtable_EngineGetOver.Contains(opName))
|
|
{
|
|
if (hashtable_EngineGetOver[opName].ToString() == "1")
|
|
{
|
|
WorkStart(rv);
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 51:
|
|
//if (hashtableOpName_IsHaveComputer[opName].ToString() == "1")
|
|
//{
|
|
// SaveProductLeaveData(opName, 1);
|
|
//}
|
|
|
|
break;
|
|
case 8:
|
|
//if (hashtableOpName_IsHaveComputer[opName].ToString() == "1")
|
|
//{
|
|
// SaveProductLeaveData(opName, 2);
|
|
//}
|
|
break;
|
|
case 103:
|
|
|
|
Alarm_Insert(rv);
|
|
|
|
break;
|
|
}
|
|
|
|
}
|
|
catch (Exception err)
|
|
{
|
|
////ApplicationLog.WriteLog(err, err.Message);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|