107 lines
3.1 KiB
C#
107 lines
3.1 KiB
C#
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");
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|