Files
2026-05-29 10:07:05 +08:00

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");
}
}
}
}