128 lines
4.4 KiB
C#
128 lines
4.4 KiB
C#
using DoWhatPlc;
|
|
using MesControl;
|
|
using MQTTnet;
|
|
using MQTTnet.Client.Connecting;
|
|
using MQTTnet.Client.Disconnecting;
|
|
using MQTTnet.Client.Receiving;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
//using SystemFramework;
|
|
|
|
namespace MisDataName
|
|
{
|
|
public partial class SecondForm
|
|
{
|
|
public MesWorkMqtt.Mqtt2 mqtt2;
|
|
//public void InitMqtt2(string url, string topic)
|
|
//{
|
|
// mqtt2 = new MesWorkMqtt.Mqtt2();
|
|
// mqtt2.MqttUrl = url;
|
|
// mqtt2.topic = topic;
|
|
// mqtt2.StartAsync();
|
|
// mqtt2.mqttClient.ConnectedHandler = new MqttClientConnectedHandlerDelegate(OnSubscriberConnected);
|
|
// mqtt2.mqttClient.DisconnectedHandler = new MqttClientDisconnectedHandlerDelegate(OnSubscriberDisconnected);
|
|
// mqtt2.mqttClient.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(OnSubscriberMessageReceived);
|
|
|
|
// //MesServerCode哈希表创建
|
|
// //MesServerWork.MIS_BASE.InitHashtable_MesServerCode();
|
|
|
|
//}
|
|
//private void OnSubscriberConnected(MqttClientConnectedEventArgs x)
|
|
//{
|
|
// var rec = x.AuthenticateResult.ResultCode.ToString();
|
|
|
|
//}
|
|
|
|
//private void OnSubscriberDisconnected(MqttClientDisconnectedEventArgs x)
|
|
//{
|
|
|
|
//}
|
|
|
|
//private void OnSubscriberMessageReceived(MqttApplicationMessageReceivedEventArgs x)
|
|
//{
|
|
// var rec = x.ApplicationMessage.ConvertPayloadToString();
|
|
|
|
|
|
// //处理MES业务
|
|
// ThreadPool.QueueUserWorkItem(MainSignalChange, rec);
|
|
//}
|
|
|
|
|
|
void WorkStation_RefreshWorkStationStatus(string OpName, bool value)
|
|
{
|
|
try
|
|
{
|
|
PlcWorkStationSignal plcWorkStationSignal = (PlcWorkStationSignal)Controls.Find("plcWorkStationSignal_" + OpName, true)[0];
|
|
plcWorkStationSignal.PlcConnectStatusChange(value);
|
|
}
|
|
catch (Exception err)
|
|
{
|
|
//ApplicationLog.WriteLog(err, err.Message);
|
|
}
|
|
}
|
|
void InitMainSignalEvent()
|
|
{
|
|
//MisData.PlcChange = new PlcChangeEvent(MainSignalChange);
|
|
}
|
|
|
|
//void MainSignalChange(object e)
|
|
//{
|
|
// 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();
|
|
// if (m_Source == "BarCode") return;
|
|
|
|
// DoWhatPlc.ReturnValueString rv = Newtonsoft.Json.JsonConvert.DeserializeObject<DoWhatPlc.ReturnValueString>(m_Value);
|
|
// //Console.WriteLine($"【【{rv.TagID}【【【【{ rv.TagKeepTime}");
|
|
// if (rv == null) return;
|
|
// 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);
|
|
// int tagTypeCodeID = Convert.ToInt32(msgEvent.TagTypeCodeID);
|
|
// switch (tagType)
|
|
// {
|
|
// case 11:
|
|
// switch (msgEvent.TagValue.ToLower())
|
|
// {
|
|
// case "1":
|
|
// case "true":
|
|
// tagValue = "1";
|
|
// break;
|
|
// default:
|
|
// tagValue = "0";
|
|
// break;
|
|
// }
|
|
// break;
|
|
// default:
|
|
// tagValue = msgEvent.TagValue.ToString();
|
|
// break;
|
|
// }
|
|
// if (tagType == 11)
|
|
// {
|
|
|
|
// WriteWorkStationSignal(opName, tagTypeCodeID.ToString(), Convert.ToBoolean(Convert.ToInt32(tagValue)));
|
|
// }
|
|
//}
|
|
|
|
|
|
}
|
|
}
|