/// <summary> /// Creates the application layer slave. /// </summary> /// <param name="cCommFactory">The communication layer factory.</param> /// <param name="cProtParameters">The protocol parameters.</param> /// <param name="cStatistic">The statistic.</param> /// <param name="cName">Name </param> /// <param name="cID">The Identifier</param> /// <param name="cParent">The parent common bus control.</param> /// <returns></returns> public IApplicationLayerSlave CreateApplicationLayerSlave (ICommunicationLayerFactory cCommFactory, ProtocolParameters cProtParameters, out IProtocolParent cStatistic, string cName, ulong cID, CommonBusControl cParent ) { throw new ApplicationLayerInterfaceNotImplementedException(); }
/// <summary> /// Creates the application layer master. /// </summary> /// <param name="statistic">The statistic.</param> /// <param name="pCommLayer">The communication layer.</param> /// <param name="protocolParameters">The protocol parameters.</param> /// <returns></returns> /// <exception cref="System.ComponentModel.LicenseException">The type is licensed, but a <see cref="License"/> cannot be granted.</exception> public IApplicationLayerMaster CreateApplicationLayerMaster(IProtocolParent statistic, ICommunicationLayer communicationLayer, TProtocolParameters protocolParameters) { m_Pool = new PrivateBufferPool(protocolParameters, CreateModBusMessage); TModbusProtocol mp = CreateModBusProtocol(communicationLayer, protocolParameters, statistic, m_Pool); return(CreateModBus_ApplicationLayerMaster(m_Pool, mp)); }
/// <summary> /// Initializes a new instance of the <see cref="TextReaderApplicationLayerMaster"/> class. /// </summary> /// <param name="statistic">The statistic data describing behavior of this DataProvider at run-time.</param> /// <param name="parentComponent">The parent component providing cleanup functionality.</param> /// <param name="setting">The current settings for this DataProvider.</param> public TextReaderApplicationLayerMaster(IProtocolParent statistic, IComponent parentComponent, ITextReaderProtocolParameters setting) { m_statistic = statistic; m_parentComponent = parentComponent; m_TextReaderProtocolParameters = setting; m_parentComponent.Disposed += ParentComponent_Disposed; }
/// <summary> /// contructor /// </summary> /// <param name="pStatistic">out statistic class</param> /// <param name="pComm"></param> /// <param name="pErrorFrequency"></param> internal NULL_ApplicationLayerMaster (IProtocolParent pStatistic, ICommunicationLayer pComm, int pErrorFrequency) : base(pComm) { this.myStatistic = pStatistic; //m_errorfrequency = pErrorFrequency; }
/// <summary> /// Creates the application layer master. /// </summary> /// <param name="pProtParameters">The protocol parameters.</param> /// <param name="pStatistic">The statistic.</param> /// <param name="pCommLayer">The communication layer.</param> /// <returns></returns> public IApplicationLayerMaster CreateApplicationLayerMaster (IProtocolParent pStatistic, ICommunicationLayer pCommLayer, ProtocolParameters pProtParameters) { Protocol mp = new Protocol(pCommLayer, pProtParameters, pStatistic, m_Pool); return(new Master(m_Pool, mp)); }
/// <summary> /// ApplicationLayerMaster creator /// </summary> /// <param name="cProtocol">Protocol to be used to transfer data.</param> /// <param name="cPool">Empty frames pool to be used by the protocol.</param> public ApplicationLayerMaster(ALProtocol <T_ALMessage> cProtocol, SesDBufferPool <T_ALMessage> cPool) : base(cProtocol.GetICommunicationLayer) { this.m_protocol = cProtocol; this.m_Pool = cPool; this.m_Statistic = cProtocol.GetIProtocolParent; InterfrarmeStopwatch.Start(); }
/// <summary> /// Instantiate object providing <see cref="IApplicationLayerMaster"/> - an object implementing /// master (playing the role on the field network of the master station,) interfaces defined for the application layer. /// </summary> /// <param name="pStatistic">Statistical information about the communication performance.</param> /// <param name="pParent"><seealso cref="CommonBusControl"/> - Base class responsible for all of resources management used /// by the component and providing tracing sources.</param> /// <returns>Return an object implementing IApplicationLayerMaster.</returns> public override IApplicationLayerMaster GetApplicationLayerMaster (IProtocolParent pStatistic, CommonBusControl pParent) { EC2_3SYM2_ApplicationLayerPluginHelper m_ApplicationLayerPluginHelper = new EC2_3SYM2_ApplicationLayerPluginHelper(pParent); return(m_ApplicationLayerPluginHelper.CreateApplicationLayerMaster (pStatistic, this.CreateCommunicationLayer(pParent), m_ErrorFrequency)); }
/// <summary> /// Instantiate object providing <see cref="IApplicationLayerMaster"/> - an object implementing /// master (playing the role on the field network of the master station,) interfaces defined for the application layer. /// </summary> /// <param name="pStatistic">Statistical information about the communication performance.</param> /// <param name="pParent"><seealso cref="CommonBusControl"/> - Base class responsible for all of resources management used /// by the component and providing tracing sources.</param> /// <returns>Return an object implementing IApplicationLayerMaster.</returns> /// <exception cref="System.ComponentModel.LicenseException">The type is licensed, but a <see cref="System.ComponentModel.License"/> cannot be granted.</exception> public override IApplicationLayerMaster GetApplicationLayerMaster (IProtocolParent pStatistic, CommonBusControl pParent) { SBUS_ApplicationLayerPluginHelper m_ApplicationLayerPluginHelper = new SBUS_ApplicationLayerPluginHelper(pParent); return(m_ApplicationLayerPluginHelper.CreateApplicationLayerMaster (pStatistic, this.CreateCommunicationLayer(pParent), m_ProtocolParameters)); }
private IApplicationLayerMaster CreateApplicationProtocol(ComunicationNet.ProtocolRow protocol, CommServerComponent parent, PluginCollection plugins, ISettingsBase settings) { CommServerComponent.Tracer.TraceVerbose(60, m_src, "Creating protocol: " + protocol.Name); if (protocol.IsDPIdentifierNull()) { //the protocol is not set so it cannot be created CommServerComponent.Tracer.TraceWarning(65, m_src, "The protocol is not set so it cannot be created, channel = " + this.myStatistics.myName); return(null); } CommServerComponent.Tracer.TraceVerbose(69, m_src, string.Format("Trying to find data provider: {0}", protocol.DPIdentifier.ToString())); try { IDataProviderID _DataProviderID = plugins[protocol.DPIdentifier]; if (_DataProviderID != null) { string _format = "OK I have got DataProvider. Name = {0} [{1}]"; CommServerComponent.Tracer.TraceVerbose(77, m_src, string.Format(_format, _DataProviderID.Title, _DataProviderID.GetDataProviderDescription.FullName)); try { _DataProviderID.SetSettings(protocol.DPConfig); } catch (XmlException xe) { _format = "Problem with: {0} because of Xml content: {1}."; CommServerComponent.Tracer.TraceWarning(85, m_src, string.Format(_format, protocol.DPConfig, xe.ToString())); } catch (Exception e) { _format = "Problem with: {0} because of general failure: {1}."; CommServerComponent.Tracer.TraceWarning(90, m_src, string.Format(_format, protocol.DPConfig, e.ToString())); } IProtocolParent cStatistic = Diagnostic.CommServerProtocol.CreateNewProtocol(protocol.DPConfig, protocol.Name, protocol.ProtocolID, _DataProviderID.GetSettingsHumanReadableFormat(), myStatistics, settings); IApplicationLayerMaster chnProtocol = _DataProviderID.GetApplicationLayerMaster(cStatistic, parent.m_CommonBusControl); CommServerComponent.Tracer.TraceVerbose(95, m_src, "I have created the DataProvider helper object."); return(chnProtocol); } else { string _message = "The data provider you are looking for is not available – check your configuration and execution path of the product."; CommServerComponent.Tracer.TraceInformation(102, m_src, _message); } }//try catch (System.ComponentModel.LicenseException ex) { string _format = "The component cannot be granted a license: {0}."; CommServerComponent.Tracer.TraceWarning(108, m_src, string.Format(_format, ex.LicensedType.ToString())); } catch (Exception _ex) { CommServerComponent.Tracer.TraceWarning(112, m_src, string.Format("Some problem encountered while trying to get a DataProvider. Exception {0}.", _ex.Message)); } return(null); }
/// <summary> /// When overridden in a derived class, instantiates object providing <see cref="T:CAS.Lib.CommonBus.ApplicationLayer.IApplicationLayerMaster" /> - an object /// implementing master side (playing the role on the field network of the master station,) interface defined for the /// application layer. /// </summary> /// <param name="pStatistic">Statistical information about the communication performance.</param> /// <param name="pParent"><seealso cref="T:CAS.Lib.CommonBus.CommonBusControl" /> - Base class responsible for all of resources management used /// by the component.</param> /// <returns>Return an object implementing <see cref="IApplicationLayerMaster"/>.</returns> /// <exception cref="System.ArgumentNullException"> /// </exception> public override IApplicationLayerMaster GetApplicationLayerMaster(IProtocolParent pStatistic, CommonBusControl pParent) { if (pStatistic == null) { throw new ArgumentNullException($"{pStatistic} cannot be null"); } if (pParent == null) { throw new ArgumentNullException($"{pParent} cannot be null"); } return(new TextReaderApplicationLayerMaster(pStatistic, pParent, ProtocolParameters)); }
/// <summary> /// contructor /// </summary> /// <param name="pStatistic">out statistic class</param> /// <param name="pComm"></param> /// <param name="pErrorFrequency"></param> internal NULL_ApplicationLayerMaster (IProtocolParent pStatistic, ICommunicationLayer pComm, int pErrorFrequency) : base(pComm) { this.myStatistic = pStatistic; m_errorfrequency = pErrorFrequency; ComPortCli = pComm; CommunicationThroughCommunicationLayer = true; if (pComm.GetType().Name.Contains("NULL")) { CommunicationThroughCommunicationLayer = false; } }
protected override ModBusProtocol CreateModBusProtocol(ICommunicationLayer communicationLayer, ModBus_ProtocolParameters parameters, IProtocolParent protocolParent, SesDBufferPool <ModBusMessage> pool) { return(new ModBusProtocol(communicationLayer, parameters, protocolParent, pool)); }
/// <summary> /// When overridden in a derived class, instantiates object providing <see cref="IApplicationLayerMaster"/> - an object /// implementing master side (playing the role on the field network of the master station,) interfaces defined for the /// application layer. /// </summary> /// <param name="pStatistic">Statistical information about the communication performance.</param> /// <param name="pParent"><seealso cref="CommonBusControl"/> - Base class responsible for all of resources management used /// by the component and providing tracing sources.</param> /// <returns>Return an object implementing IApplicationLayerMaster.</returns> public abstract IApplicationLayerMaster GetApplicationLayerMaster (IProtocolParent pStatistic, CommonBusControl pParent);
/// <summary> /// MODBUS protocol initialization /// </summary> /// <param name="communicationLayer">Interface responsible for providing the communication</param> /// <param name="protocolParameters">Protocol parameters</param> /// <param name="protocolParent">Statistical information about the communication performance</param> /// <param name="pool">Empty data messages pool to be used by the protocol.</param> public ModbusProtocol(ICommunicationLayer communicationLayer, ProtocolParameters protocolParameters, IProtocolParent protocolParent, SesDBufferPool <ModBusMessage> pool) : base(communicationLayer, protocolParameters, protocolParent) { this.m_Pool = pool; }
public LocalTextReaderApplicationLayerMaster(IProtocolParent statistic, IComponent parentComponent, int _fileModificationNotificationTimeout) : base(statistic, parentComponent, new TextReaderProtocolParameters() { FileModificationNotificationTimeout = _fileModificationNotificationTimeout, MaxNumberOfRetries = 1 }) { TraceSource = TestTraceSource; }
///// <summary> ///// SBUS protocol initialization ///// </summary> ///// <param name="cCommLayer">Interface responsible for providing the communication</param> ///// <param name="cProtParameters">Protocol parameters</param> ///// <param name="cStatistic">Statistical information about the communication performance</param> ///// <param name="cPool">Empty data messages pool to be used by the protocol.</param> //internal SBUSProtocol // ( ICommunicationLayer cCommLayer, ProtocolParameters cProtParameters, // BaseStation.Management.IProtocolParent cStatistic, SesDBufferPool<SBUSbase_message> cPool // ) // : base( cCommLayer, cProtParameters, cStatistic ) //{ // this.m_Pool = cPool; //} /// <summary> /// SBUS protocol initialization /// </summary> /// <param name="pStatistic">Statistical information about the communication performance</param> /// <param name="pCommLayer">Interface responsible for providing the communication</param> /// <param name="pProtParameters">Protocol parameters</param> /// <param name="cPool">Empty data messages pool to be used by the protocol.</param> internal SBUSProtocol(IProtocolParent pStatistic, ICommunicationLayer pCommLayer, ProtocolParameters pProtParameters, SesDBufferPool <FrameStateMachine> cPool) : base(pCommLayer, pProtParameters, pStatistic) { this.m_Pool = cPool; }
/// <summary> /// Creator of ALProtocol /// </summary> /// <param name="pCommLayer">Interface responsible for providing the communication</param> /// <param name="pProtParameters">Protocol parameters</param> /// <param name="pStatistic">Statistical information about the communication performance</param> protected ALProtocol(ICommunicationLayer pCommLayer, ProtocolParameters pProtParameters, IProtocolParent pStatistic) { InitObject(pCommLayer, pProtParameters, pStatistic); }
protected void InitializeOperation(IDataProviderID dataProviderID, CommonBusControl commonBusControl, IProtocolParent protocolParent, bool readOperation) { m_ResourceSelected = ResourceSelected; m_StationAddress = StationAddress; m_RegisterAddress = RegisterStartAddress; m_DataTypeOfConversion = DataTypeOfConversion; m_Length = Length; if (m_DataTypeOfConversion == typeof(string)) { m_RegistersCount = 1; } else { m_RegistersCount = Length; } m_CommLayerAddress = Commlayeraddress; ApplicationLayerMaster = dataProviderID.GetApplicationLayerMaster(protocolParent, commonBusControl); if (readOperation) { m_DoOperation = ReadOperation; } else { m_ValueToBeWritten = ValueToBeWritten(m_DataTypeOfConversion); m_DoOperation = WriteOperation; } }
internal LocalOperation(Program parent, IDataProviderID dataProviderID, CommonBusControl commonBusControl, IProtocolParent protocolParent, bool readOperation) { Parent = parent; Delay = System.Convert.ToInt32(parent.@_Delay.Text); InitializeOperation(dataProviderID, commonBusControl, protocolParent, readOperation); }
/// <summary> /// Creates the application layer sniffer. /// </summary> /// <param name="pCommLayer">The communication layer.</param> /// <param name="pProtParameters">The protocol parameters.</param> /// <param name="pStatistic">The statistic.</param> /// <returns>IApplicationLayerSlave</returns> public IApplicationLayerSniffer CreateApplicationLayerSniffer (ICommunicationLayer pCommLayer, ProtocolParameters pProtParameters, IProtocolParent pStatistic) { throw new ApplicationLayerInterfaceNotImplementedException(); }
//string IApplicationLayerPluginHelper.Name //{ // get // { // return "Symulator sieci cieplnej EC2- EC3"; // } //} //string IApplicationLayerPluginHelper.Author //{ // get // { // return "CAS Mariusz Postó³"; // } //} //string IApplicationLayerPluginHelper.Description //{ // get // { // return "NULLBUS protocol (master side) implementation for Commserver - virtual protocol for tests and simulations"; // } //} //Version IApplicationLayerPluginHelper.Version //{ // get // { // return new Version( 2, 0 ); // } //} //DateTime IApplicationLayerPluginHelper.Date //{ // get // { // return new DateTime( 2005, 01, 01 );//MZTD: Ew. sprawdzic i wstawic prawdziwa date // } //} //int IApplicationLayerPluginHelper.Identifier //{ // get // { // return 4; // } //} //IApplicationLayerMaster IApplicationLayerPluginHelperMaster.GetApplicationLayerMaster // ( ICommunicationLayerFactory cCommFactory, ProtocolParameters myProtParameters, BaseStation.Management.IProtocolParent Statistic ) //{ // return new NULL_ApplicationLayerMaster( cCommFactory, myProtParameters, Statistic ); //} /// <summary> /// This fuction create simulator (application layer) /// </summary> /// <param name="pStatistic"></param> /// <param name="pComm"></param> /// <param name="pErrorFrequency"></param> /// <returns></returns> public IApplicationLayerMaster CreateApplicationLayerMaster (IProtocolParent pStatistic, ICommunicationLayer pComm, int pErrorFrequency) { return(new NULL_ApplicationLayerMaster(pStatistic, pComm, pErrorFrequency)); }
public override Lib.CommonBus.ApplicationLayer.IApplicationLayerMaster GetApplicationLayerMaster(IProtocolParent pStatistic, CommonBusControl pParent) { throw new NotImplementedException(); }
internal ApplicationLayerSlave (IProtocolParent pStatistic, ICommunicationLayer pComm) : base(pComm) { this.myStatistic = pStatistic; }
private void InitObject(ICommunicationLayer cCommLayer, ProtocolParameters cProtParameters, IProtocolParent cStatistic) { myCommLayer = cCommLayer; myProtParameters = cProtParameters; myStatistic = cStatistic; }
protected abstract TModbusProtocol CreateModBusProtocol(ICommunicationLayer communicationLayer, TProtocolParameters parameters, IProtocolParent protocolParent, SesDBufferPool <TModbusMessage> pool);