init: 导入项目到 meswork Gitea

This commit is contained in:
XingCheng3
2026-05-29 10:07:05 +08:00
commit ad9a4106fb
3582 changed files with 460312 additions and 0 deletions

View File

@@ -0,0 +1,247 @@
using OpcData;
using System;
using SystemFramework;
using System.Threading;
using System.Collections;
using System.Collections.Specialized;
using DataLinkMesWork;
namespace MisDataName
{
//public partial class ___ { }
public partial class MisData
{
//
private void TagData_MisData_TagDataOnChangeCustomeEvetnArgs(object msgEvent)
{
lock (locker)
{
try
{
CustomeEvetnArgs e = (CustomeEvetnArgs)msgEvent;
string OpName = e.OpName.ToString();//工位号
string MesCode = e.TagType.ToString();//变量类型代码
object tagValue = e.TagValue;//变量0或者1
string cmd = "";
cmd = MesDataFunction.OpcOperation.hashtable_TagTypeTagName[MesCode];
string mesServerdllName;
mesServerdllName = GetMesServeDllByOpName(OpName);
//DoWhatPlc.ReturnValueString rv =
//new DoWhatPlc.ReturnValueString(e.TagID.ToString(), e.TagValue.ToString(), e.OpName.ToString(), e.TagValueType.ToString(), e.TagType.ToString(), e.TagKeepTime.ToString(), mesServerdllName, fun, mesServerCode.ToString("00"));
//string rvMsg = Newtonsoft.Json.JsonConvert.SerializeObject(rv);
//if (MesCode == "0") return;
string fun = "fun_" + cmd;
int mesServerCode;
mesServerCode = GetMesServerCodeByOpName(OpName);
string rvMsg = Newtonsoft.Json.JsonConvert.SerializeObject(e);
string msg;
if (cmd == null)
{
//DoWhatPlc.ReturnValueString rv =
//new DoWhatPlc.ReturnValueString(e.TagID.ToString(), e.TagValue.ToString(), e.OpName.ToString(), e.TagTypeCodeID.ToString(), e.TagTypeID.ToString(), e.TagKeepTime.ToString(), mesServerdllName, fun, mesServerCode.ToString("00"),
//e.TimeStamp, e.TimeStampBefore, e.TagValueBefore.ToString(), e.TagName.ToString(), e.ItemName.ToString(), e.ShaftID.ToString(), e.TagOrderBy.ToString());
//string rvMsg = Newtonsoft.Json.JsonConvert.SerializeObject(rv);
cmd = MesCode;
msg = $"PLC|{cmd}|{OpName}|{rvMsg}";
}
else
{
//if (Convert.ToInt32(MesDataFunction.OpcOperation.hashtable_MesTagTypeChange[cmd]) == 0 && MesDataFunction.OpcOperation.hashtable_MesTagTypeChange[cmd] != null) return;
//DoWhatPlc.ReturnValueString rv =
//new DoWhatPlc.ReturnValueString(e.TagID.ToString(), e.TagValue.ToString(), e.OpName.ToString(), e.TagTypeCodeID.ToString(), e.TagTypeID.ToString(), e.TagKeepTime.ToString(), mesServerdllName, fun, mesServerCode.ToString("00"),
//e.TimeStamp, e.TimeStampBefore, e.TagValueBefore.ToString(), e.TagName.ToString(), e.ItemName.ToString(), e.ShaftID.ToString(), e.TagOrderBy.ToString());
////DoWhatPlc.ReturnValueString rv =
////new DoWhatPlc.ReturnValueString(e.TagID.ToString(), e.TagValue.ToString(), e.OpName.ToString(), e.TagValueType.ToString(), e.TagType.ToString(), e.TagKeepTime.ToString(), mesServerdllName, fun, mesServerCode.ToString("00"));
//string rvMsg = Newtonsoft.Json.JsonConvert.SerializeObject(rv);
msg = $"PLC|{cmd}|{OpName}|{rvMsg}";
//MesServerWork.MIS_BASE.asyncSendMessagePLC(mesServerdllName, msg);
//MesServerFunction(OpName, tagValue, fun);
}
MesServerWork.MIS_BASE.asyncSendMessagePLC(mesServerdllName, msg,OpName);
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "TagData_Lable_TagDataOnChange");
}
}
}
//private void TagData_MisData_TagDataOnChange(object msgEvent)
//{
// lock (locker)
// {
// try
// {
// CustomeEvetnArgs e = (CustomeEvetnArgs)msgEvent;
// string OpName = e.OpName.ToString();//工位号
// string MesCode = e.TagType.ToString();//变量类型代码
// object tagValue = e.TagValue;//变量0或者1
// string cmd = "";
// cmd = MesDataFunction.OpcOperation.hashtable_TagTypeTagName[MesCode];
// string mesServerdllName;
// mesServerdllName = GetMesServeDllByOpName(OpName);
// //DoWhatPlc.ReturnValueString rv =
// //new DoWhatPlc.ReturnValueString(e.TagID.ToString(), e.TagValue.ToString(), e.OpName.ToString(), e.TagValueType.ToString(), e.TagType.ToString(), e.TagKeepTime.ToString(), mesServerdllName, fun, mesServerCode.ToString("00"));
// //string rvMsg = Newtonsoft.Json.JsonConvert.SerializeObject(rv);
// //if (MesCode == "0") return;
// string fun = "fun_" + cmd;
// int mesServerCode;
// mesServerCode = GetMesServerCodeByOpName(OpName);
// if (cmd == null)
// {
// string rvMsg = Newtonsoft.Json.JsonConvert.SerializeObject(e);
// cmd = MesCode;
// string msg = $"PLC|{cmd}|{OpName}|{rvMsg}";
// MesServerWork.MIS_BASE.asyncSendMessagePLC(mesServerdllName, msg, OpName);
// }
// else
// {
// string rvMsg = Newtonsoft.Json.JsonConvert.SerializeObject(e);
// string msg = $"PLC|{cmd}|{OpName}|{rvMsg}";
// MesServerWork.MIS_BASE.asyncSendMessagePLC(mesServerdllName, msg, OpName);
// //MesServerFunction(OpName, tagValue, fun);
// }
// }
// catch (Exception err)
// {
// ApplicationLog.WriteLog(err, "TagData_Lable_TagDataOnChange");
// }
// }
//}
static object locker = new object();
/// <summary>
/// MesServerFunction
/// </summary>
/// <param name="OpName"></param>
/// <param name="tagValue"></param>
/// <param name="fun"></param>
private static void MesServerFunction(string OpName, object tagValue,string fun)
{
try
{
string ResultOK = "";
int mesServerCode;
mesServerCode = GetMesServerCodeByOpName(OpName);
string mesServerdllName;
mesServerdllName = GetMesServeDllByOpName(OpName);
OpcData.CustomeEvetnArgs e = new OpcData.CustomeEvetnArgs();
e.OpName = OpName;
e.TagValue = tagValue;
object[] Paramsters = new object[1];
Paramsters[0] = e;
System.Reflection.Assembly assembly;
//自动工位不调用function
if (mesServerCode == 0)
{
return;
}
bool IsOK=false;
lock (locker)
{
IsOK= MesDataFunction.OpcOperation.Hashtable_assembly.ContainsKey(mesServerdllName);
}
if (IsOK)
{
assembly = (System.Reflection.Assembly)MesDataFunction.OpcOperation.Hashtable_assembly[mesServerdllName];
}
else
{
assembly = System.Reflection.Assembly.Load(mesServerdllName);
if (assembly == null)
{
return;
}
MesDataFunction.OpcOperation.Hashtable_assembly.Add(mesServerdllName, assembly);
}
ResultOK = Reflection.ReflectionMethod(assembly, "MesServerFunctions", "Functions_BASE_" + mesServerCode.ToString("00"), fun, Paramsters);
if (ResultOK != "ok")
{
// ApplicationLog.WriteLog("ReflectionMethod is Error:" + OpName + fun + ResultOK);
}
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "MesServerFunction");
}
}
/// <summary>
/// 根据工位号获取MesServerCode
/// </summary>
/// <param name="OpName"></param>
/// <returns></returns>
private static int GetMesServerCodeByOpName(string OpName)
{
try
{
if (hashtable_MesServerCode.ContainsKey(OpName))
{
return Convert.ToInt32(hashtable_MesServerCode[OpName]);
}
return 0;
}
catch
{
return 0;
}
}
/// <summary>
/// 根据工位号获取MesServerDll
/// </summary>
/// <param name="OpName"></param>
/// <returns></returns>
private static string GetMesServeDllByOpName(string OpName)
{
try
{
if (hashtable_MesDll.ContainsKey(OpName))
{
return hashtable_MesDll[OpName].ToString();
}
return "";
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "GetMesServeDllByOpName");
return "";
}
}
}
}

View File

@@ -0,0 +1,42 @@
using OpcData;
using System;
using SystemFramework;
using System.Threading;
using System.Collections;
using System.Collections.Specialized;
using DataLinkMesWork;
using System.Configuration;
using MesWork;
namespace MisDataName
{
//public partial class ___ { }
public partial class MisData
{
static object lockerTagTypeCodeID = new object();
public static string MqttTargetTopicTagTypeCodeID = ConfigurationManager.AppSettings["MqttTargetTopicTagTypeCodeID"];
private void TagTypeCodeID_TagDataOnChange(object msgEvent)
{
lock (lockerTagTypeCodeID)
{
try
{
CustomeEvetnArgs e = (CustomeEvetnArgs)msgEvent;
string reMessage = "TAG"+"|"+ "CMD" + "|" +e.OpName+ "|" + Newtonsoft.Json.JsonConvert.SerializeObject(e);
string topic = $"{MqttTargetTopicTagTypeCodeID}/{e.OpName}";
MesWork.Mqtt.Publish(topic, reMessage);
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "TagTypeCodeID_TagDataOnChange");
}
}
}
}
}

View File

@@ -0,0 +1,106 @@
using OpcData;
using System;
using SystemFramework;
using System.Threading;
using System.Configuration;
using MQTTnet;
namespace MisDataName
{
//public partial class ___ { }
public partial class MisData
{
/// <summary>
///
/// </summary>
/// <param name="x"></param>
private static void OnSubscriberConnected(MQTTnet.Client.Connecting.MqttClientConnectedEventArgs x)
{
var rec = x.AuthenticateResult.ResultCode.ToString();
// label_State.Text = rec;
}
/// <summary>
///
/// </summary>
/// <param name="x"></param>
private static void OnSubscriberDisconnected(MQTTnet.Client.Disconnecting.MqttClientDisconnectedEventArgs x)
{
//var rec = x.AuthenticateResult.ResultCode.ToString();
//label_State.Text = rec;
}
/// <summary>
///
/// </summary>
/// <param name="x"></param>
private static void OnSubscriberMessageReceived(MQTTnet.MqttApplicationMessageReceivedEventArgs x)
{
var msg = x.ApplicationMessage.ConvertPayloadToString();
//WebAndBarChange(msg);
}
private static void WebAndBarChange(string msg)
{
try
{
ThreadPool.QueueUserWorkItem(TransferInfToMES, msg);
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "WebAndBarChange");
}
}
/// <summary>
/// 接受到通讯服务器传递过来的信息,转给业务处理服务
/// </summary>
/// <param name="text"></param>
private static void TransferInfToMES(object text)
{
try
{
if (text == null) return;
string recData = text.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();
if (!m_WorkStart_OpName.ContainsKey(m_OpName)) return; //当前系统是否存在该工位
switch (m_Source)
{
case "BarCode":
//处理条码逻辑
if (m_Command == "Bar")
{
MesServerFunction(m_OpName, m_Value, "fun_Barcode");
}
break;
case "WEB":
string Content = m_Command + "|" + m_Value;
MesServerFunction(m_OpName, Content, "fun_WebSubmit");
break;
}
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "TransferInf");
}
}
}
}

View File

@@ -0,0 +1,65 @@
using OpcData;
using System;
using SystemFramework;
using System.Threading;
using System.Collections;
using System.Collections.Specialized;
using MisDataFunction;
using System.Diagnostics;
namespace MisDataName
{
//public partial class ___ { }
public partial class MisData
{
/// <summary>
/// 监控数据的所有变化,从这里产生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public override void OPCTagData_TagDataOnChangeMIS(object sender, OpcData.CustomeEvetnArgs e)
{
Console.WriteLine($"【【{e.TagName}【【{e.TagValueBefore}->{e.TagValue}【【{ e.TagKeepTime}");
OPCTagData_TagDataOnChange(sender, e);
}
/// <summary>
/// 定时触发检测PLC在线状态周期3 s
/// </summary>
/// <param name="sender"></param>
/// <param name="eState"></param>
public override void PlcStateEvent(object sender, OpcData.PlcStateEvetnArgs eState)
{
}
public void OPCTagData_TagDataOnChange(object sender, OpcData.CustomeEvetnArgs e)
{
//处理MIS业务 保存数据
//ThreadPool.QueueUserWorkItem(Function.MIS_Funtion, e);
//处理MES业务 Function
ThreadPool.QueueUserWorkItem(TagData_MisData_TagDataOnChangeCustomeEvetnArgs, e);
//ThreadPool.QueueUserWorkItem(TagData_MisData_TagDataOnChange, e);
//设备状态日志
ThreadPool.QueueUserWorkItem(TagTypeCodeID_TagDataOnChange, e);
//发送通讯服务器 MES web界面显示用 加工位号
TransferInfToWebServer(e);
//改变控件状态
//showMessagePLCInvoke(e);
//更新状态窗口控件状态
//ExcutePlcChange(e);
}
}
}

View File

@@ -0,0 +1,98 @@
using OpcData;
using System;
using SystemFramework;
using System.Threading;
using System.Collections;
using System.Collections.Specialized;
using MisDataFunction;
namespace MisDataName
{
//public partial class ___ { }
public partial class MisData
{
public delegate void ShowMessagePLCInvoke(OpcData.CustomeEvetnArgs msg);
/// <summary>
/// 异步方式显示工位号
/// </summary>
public ShowMessagePLCInvoke showMessagePLCInvoke;
int richTextBox_Length = 0;
/// <summary>
/// 展示信号变化
/// </summary>
/// <param name="msg"></param>
private void ShowMessagePLC(OpcData.CustomeEvetnArgs e)
{
try
{
//判断工位PLC消息显示方式(显示所有)
string opname = e.OpName.ToString();
string TagValue;
string TagType = e.TagType.ToString();
int TagKey = Convert.ToInt32(e.TagKey);
switch (Convert.ToInt32(e.TagValueType))
{
case 11:
TagValue = (Convert.ToInt32(e.TagValue)).ToString();
break;
default:
TagValue = e.TagValue.ToString();
break;
}
string msg = "MIS|" + TagType + "|" + opname + "|" + TagValue + "|" + TagKey;
if ((opname == WorkStationNum_Now || radioButton_AllStation.Checked)&& !radioButton_Pause.Checked)
{
Action<string> ActionDe = (x) => { richTextBox_MessagePLC.Text = x + "\r\n" + richTextBox_MessagePLC.Text; };
richTextBox_MessagePLC.Invoke(ActionDe, msg);
richTextBox_Length++;
if (richTextBox_Length > 3000)
{
Action RichClear = () => { richTextBox_MessagePLC.Text = ""; };
richTextBox_MessagePLC.Invoke(RichClear);
richTextBox_Length = 0;
// richTextBox_MessagePLC.Text = "";
}
}
TestPlcConnect.HeartBeatChange(opname,Convert .ToInt32 (TagType));
//只显示当前工位
if (opname == WorkStationNum_Now && Cbx_StatusDisplay.Checked)
{
//更改按钮显示状态
RefreshBtnColor_Thread(Convert.ToInt32(TagType), TagValue);
RefreshStationStatus_Thread(Convert.ToInt32(TagType), TagValue); //更新工位状态栏
//允许保存、工作完成时,刷新质量数据
if (checkBox_Quality_Display.Checked && TagValue == "1"&&(TagType == "19" || TagType == "59"))
{
button_ReadData_Click(null ,null );//刷新当前工位数据(质量)
}
if (TagType == "44" && TagValue == "1" && checkBox_PLCData_Display.Checked)
{
ReadPLC_ProductInfo();
}
if (TagType == "5" && TagValue == "1" && checkBox_MESData_Display.Checked)
{
ReadMES_ProductInfo();
}
}
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, err.Message);
}
}
}
}

View File

@@ -0,0 +1,278 @@
using OpcData;
using System;
using SystemFramework;
using System.Threading;
using System.Collections;
using System.Collections.Specialized;
using MisDataFunction;
namespace MisDataName
{
//public partial class ___ { }
public partial class MisData
{
private void MisData_SyncRawData()
{
/*
SELECT
[TagID]
,[TagName]
,[工位号]
,[数据来源]
,[IP]
,[TagTypeID]
,[TagLong]
,[DbName]
,[变量类型]
,[变量地址]
,[变量其它]
,[演示偏移]
,[列位置]
,[测量位置]
,[测量项目]
,[测量单位]
,[变量类型代码]
,[变量类型名称]
,[机体类型]
,[线体类型]
,[TagAdr]
,[TagAdrDemo]
,[是否启用]
,[连接名称]
,[OpcServer_MIS]
,[OpcServer_OPNAME]
,[变量特点]
,[是否监控]
,[变量排序]
,[工序能力]
,[监控属性代码]
,[测量位置短]
FROM [MES_基本变量_原始数据]
SELECT
[数值代码]
,[TagID]
,[理论值]
,[值上限]
,[值下限]
,[发动机型号代码]
,[是否启用]
,[操作时间]
FROM [MES_基本数据_测量范围]
TagID
TagName
工位号
数据来源
IP
TagTypeID
TagLong
DbName
变量类型
变量地址
变量其它
演示偏移
列位置
测量位置
测量项目
测量单位
变量类型代码
变量类型名称
机体类型
线体类型
TagAdr
TagAdrDemo
是否启用
监控组
监控时间间隔
OpcServer_OPNAME
变量特点
是否监控
变量排序
工序能力
监控属性代码
测量位置短
上限值
下限值
理论值
IsGoodBad
IsSaveToSql
IsWebSocket
*/
var sql_TRUNCATE = @"
TRUNCATE TABLE [MES_基本变量_原始数据]
TRUNCATE TABLE [MES_基本数据_测量范围]
";
DataLinkMesWork.SQLCommon.ExecuteSql(sql_TRUNCATE, ConnectionString_MES, out string err_TRUNCATE);
var dt = MesWork.PlcLinkForm.dt_BasicData.Copy();
for (int i = 0; i < dt.Rows .Count ; i++)
{
var TagID = dt.Rows[i]["TagID"].ToString();
var TagName = dt.Rows[i]["TagName"].ToString();
var = dt.Rows[i]["工位号"].ToString();
var = dt.Rows[i]["数据来源"].ToString();
var IP = dt.Rows[i]["IP"].ToString();
var TagTypeID = dt.Rows[i]["TagTypeID"].ToString();
var TagLong = dt.Rows[i]["TagLong"].ToString();
var DbName = dt.Rows[i]["DbName"].ToString();
var = dt.Rows[i]["变量类型"].ToString();
var = dt.Rows[i]["变量地址"].ToString();
var = dt.Rows[i]["变量其它"].ToString();
var = dt.Rows[i]["演示偏移"].ToString();
var = dt.Rows[i]["列位置"].ToString();
var = dt.Rows[i]["测量位置"].ToString();
var = dt.Rows[i]["测量项目"].ToString();
var = dt.Rows[i]["测量单位"].ToString();
var = dt.Rows[i]["变量类型代码"].ToString();
var = dt.Rows[i]["变量类型名称"].ToString();
var = dt.Rows[i]["机体类型"].ToString();
var 线 = dt.Rows[i]["线体类型"].ToString();
var TagAdr = dt.Rows[i]["TagAdr"].ToString();
var TagAdrDemo = dt.Rows[i]["TagAdrDemo"].ToString();
var = dt.Rows[i]["是否启用"].ToString();
var = dt.Rows[i]["监控组"].ToString();
var = dt.Rows[i]["监控时间间隔"].ToString();
var OpcServer_OPNAME = dt.Rows[i]["OpcServer_OPNAME"].ToString();
var = dt.Rows[i]["变量特点"].ToString();
var = dt.Rows[i]["是否监控"].ToString();
var = dt.Rows[i]["变量排序"].ToString();
var = dt.Rows[i]["工序能力"].ToString();
var = dt.Rows[i]["监控属性代码"].ToString();
var = dt.Rows[i]["测量位置短"].ToString();
var = dt.Rows[i]["上限值"].ToString();
var = dt.Rows[i]["下限值"].ToString();
var = dt.Rows[i]["理论值"].ToString();
var IsGoodBad = dt.Rows[i]["IsGoodBad"].ToString();
var IsSaveToSql = dt.Rows[i]["IsSaveToSql"].ToString();
var IsWebSocket = dt.Rows[i]["IsWebSocket"].ToString();
var sql_1 = @"
INSERT into [MES_基本变量_原始数据](
[TagID]
,[TagName]
,[工位号]
,[数据来源]
,[IP]
,[TagTypeID]
,[TagLong]
,[DbName]
,[变量类型]
,[变量地址]
,[变量其它]
,[演示偏移]
,[列位置]
,[测量位置]
,[测量项目]
,[测量单位]
,[变量类型代码]
,[变量类型名称]
,[机体类型]
,[线体类型]
,[TagAdr]
,[TagAdrDemo]
,[是否启用]
,[连接名称]
,[OpcServer_MIS]
,[OpcServer_OPNAME]
,[变量特点]
,[是否监控]
,[变量排序]
,[工序能力]
,[监控属性代码]
,[测量位置短]
)VALUes("
+ "'" + TagID + "'"
+",'"+TagName + "'"
+",'"+ + "'"
+",'"+ + "'"
+",'"+IP + "'"
+","+TagTypeID
+","+TagLong
+",'"+DbName + "'"
+",'"+ + "'"
+ ","+
+",'"+ + "'"
+ ","+
+","+
+",'"+ + "'"
+",'"+ + "'"
+",'"+ + "'"
+","+
+",'"+ + "'"
+","+
+",'"+线 + "'"
+ ",'"+TagAdr + "'"
+",'"+TagAdrDemo + "'"
+","+
+",'"+IP + "'"
+","+ OpcServer_OPNAME
+ ","+OpcServer_OPNAME
+","+
+","+
+","+
+","+
+","+
+",'"++"'"
+")" ;
var sql_2 = @"
INSERT INTO [MES_基本数据_测量范围](
[TagID]
,[理论值]
,[值上限]
,[值下限]
,[发动机型号代码]
,[是否启用]
,[操作时间]
)VALUES("
+"'"+ TagID + "'"
+ ","+
+","+
+ ","+
+ ","+
+ ","+
+","+"getdate()"
+")";
var sql_INSERT = sql_1 + sql_2;
DataLinkMesWork.SQLCommon.ExecuteSql(sql_INSERT, ConnectionString_MES, out string err_INSERT);
}
}
}
}

View File

@@ -0,0 +1,68 @@
using OpcData;
using System;
using SystemFramework;
using System.Threading;
using System.Collections;
using System.Collections.Specialized;
using MisDataFunction;
using System.Configuration;
namespace MisDataName
{
//public partial class ___ { }
public partial class MisData
{
/// <summary>
/// 向MES通讯服务器发送消息
/// </summary>
/// <param name="msg"></param>
private void TransferInfToWebServer(object msg1)
{
int tagType;
string opName;
OpcData.CustomeEvetnArgs msgEvent = (OpcData.CustomeEvetnArgs)msg1;
//e值不能为空
if (msgEvent.TagValue == null) return;
tagType = Convert.ToInt32(msgEvent.TagType);
opName = msgEvent.OpName.ToString();
if (!m_WorkStart_OpName.ContainsKey(opName)) return; //当前系统是否存在该工位
string cmd;
string tagValue;
string msgSvr;
try
{
switch (Convert.ToInt32(msgEvent.TagValueType))
{
case 11:
tagValue = (Convert.ToInt32(msgEvent.TagValue)).ToString();
break;
default:
tagValue = msgEvent.TagValue.ToString();
break;
}
cmd = MesDataFunction.OpcOperation.hashtable_TagTypeTagName[tagType.ToString()];
if (Convert.ToInt32(MesDataFunction.OpcOperation.hashtable_WebTagTypeChange[cmd]) == 0&& MesDataFunction.OpcOperation.hashtable_WebTagTypeChange[cmd]!=null) return;
if (cmd != "" && cmd != null)
{
msgSvr = "MES|" + cmd + "|" + opName + "|" + tagValue;
}
else
{
return;
}
//MES web界面显示用
asyncSendMessage(msgSvr);
}
catch (Exception err)
{
ApplicationLog.WriteLog(err, "TransferInfToWebServer");
}
}
}
}