public bool Disconnection(string sender, string destination) { bool RetVal = true; //Create a DotNetMQ Message to send var message = MDSClientInstance.CreateMessage(); //Set destination application name message.DestinationApplicationName = destination; //Create a message var MsgData = new PLCConnectionData { MsgCode = MsgCodes.DisconnectPLC, PLCName = this.Name, }; //Set message data message.MessageData = MDS.GeneralHelper.SerializeObject(MsgData); // message.MessageData = Encoding.UTF8.GetBytes(messageText); message.TransmitRule = MessageTransmitRules.NonPersistent; try { //Send message message.Send(); } catch (Exception exc) { // non sono riuscito a inviare il messaggio Logger.WarnFormat("Disconnection() : Messaggio non inviato : {0}", exc.Message); } return(RetVal); }
/// <summary> /// Connette un PLC /// </summary> /// <param name="ConnectionData">Dati di connessione</param> /// <returns>true set tutto ok, altrimenti false</returns> private bool ConnectPLC(PLCConnectionData ConnectionData) { bool RetValue = true; if (_PLCs.ContainsKey(ConnectionData.PLCName)) { // log Logger.WarnFormat("PLC [{0}] already connected", ConnectionData.PLCName); RetValue = false; } else { try { var plc = new Plc(ConnectionData.PLCName, ConnectionData.Cputype, ConnectionData.IpAddress, ConnectionData.Rack, ConnectionData.Slot, ConnectionData.Delay); _PLCs.Add(ConnectionData.PLCName, plc); // associo l'evento di changed value sui tags sottoscritti plc.TagChangedValue += plc_TagChangedValue; } catch (Exception exc) { // log Logger.WarnFormat("PLC [{0}] error in connection : {1}", ConnectionData.PLCName, exc.Message); RetValue = false; } } return(RetValue); }
public bool Connection(string sender, string destination) { bool RetValue = true; //Create a DotNetMQ Message to send var message = MDSClientInstance.CreateMessage(); //Set destination application name message.DestinationApplicationName = destination; //Create a message var MsgData = new PLCConnectionData { MsgCode = MsgCodes.ConnectPLC, PLCName = this.Name, IpAddress = this.IPAddress, Rack = this.Rack, Slot = this.Slot, Delay = this.Delay }; //Set message data message.MessageData = MDS.GeneralHelper.SerializeObject(MsgData); // message.MessageData = Encoding.UTF8.GetBytes(messageText); message.TransmitRule = MessageTransmitRules.NonPersistent; try { //Send message message.Send(); Logger.InfoFormat(Texts._MSG_SENT_TO_ + " {0}", message.DestinationApplicationName); } catch (Exception exc) { // non sono riuscito a inviare il messaggio Logger.WarnFormat(Texts._MSG_NOT_SENT_ + " : {0}", exc.Message); RetValue = false; } return(RetValue); }