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(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))); // } //} } }