Exemplo n.º 1
0
        private Func <IDNP3Manager, IChannel> GetTCPClientFunctor(TimeSpan min, TimeSpan max, bool useTLS)
        {
            var flags = logLevelControl1.Filters.Flags;
            var retry = new ChannelRetry(min, max);

            if (useTLS)
            {
                var config = this.clientTLSOptionsControl.Configuration;
                return((IDNP3Manager manager) =>
                       manager.AddTLSClient(this.textBoxID.Text, flags, retry, textBoxHost.Text, Decimal.ToUInt16(numericUpDownPort.Value), config));
            }
            else
            {
                return((IDNP3Manager manager) => manager.AddTCPClient(this.textBoxID.Text, flags, retry, textBoxHost.Text, Decimal.ToUInt16(numericUpDownPort.Value)));
            }
        }
Exemplo n.º 2
0
        private Func <IDNP3Manager, IChannel> GetSerialFunctor(TimeSpan min, TimeSpan max)
        {
            var name = this.comboBoxSerialDeviceName.Text;
            var baud = Decimal.ToInt32(this.numericUpDownBaud.Value);

            var dataBits = Decimal.ToInt32(this.numericUpDownDataBits.Value);
            var parity   = (Parity)comboBoxParity.SelectedValue;
            var flow     = (FlowControl)comboBoxFlowControl.SelectedValue;
            var stopBits = (StopBits)comboBoxStopBits.SelectedValue;

            var flags = logLevelControl1.Filters.Flags;
            var retry = new ChannelRetry(min, max);
            var ss    = new SerialSettings(name, baud, dataBits, stopBits, parity, flow);

            return((IDNP3Manager manager) => manager.AddSerial(this.textBoxID.Text, flags, retry, ss));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Attempts to connect to data input source.
        /// </summary>
        /// <remarks>
        /// Derived classes should attempt connection to data input source here.  Any exceptions thrown
        /// by this implementation will result in restart of the connection cycle.
        /// </remarks>
        protected override void AttemptConnection()
        {
            TcpClientConfig  tcpConfig       = m_masterConfig.client;
            string           portName        = tcpConfig.address + ":" + tcpConfig.port;
            TimeSpan         minRetry        = TimeSpan.FromMilliseconds(tcpConfig.minRetryMs);
            TimeSpan         maxRetry        = TimeSpan.FromMilliseconds(tcpConfig.maxRetryMs);
            ChannelRetry     channelRetry    = new ChannelRetry(minRetry, maxRetry);
            IChannelListener channelListener = new ChannelListener(state => OnStatusMessage(MessageLevel.Info, portName + " - Channel state change: " + state));

            IChannel channel = s_manager.AddTCPClient(portName, tcpConfig.level, channelRetry, tcpConfig.address, tcpConfig.port, channelListener);

            m_channel = channel;

            IMaster master = channel.AddMaster(portName, m_soeHandler, DefaultMasterApplication.Instance, m_masterConfig.master);

            if (m_pollingInterval > TimeSpan.Zero)
            {
                master.AddClassScan(ClassField.AllClasses, m_pollingInterval, TaskConfig.Default);
            }

            master.Enable();
            m_active = true;
        }
Exemplo n.º 4
0
 private Func<IDNP3Manager, IChannel> GetTCPServerFunctor(TimeSpan min, TimeSpan max, bool useTLS)
 {
     var flags = logLevelControl1.Filters.Flags;
     var retry = new ChannelRetry(min, max);
     if (useTLS)
     {
         var config = this.serverTLSOptionsControl.Configuration;
         return (IDNP3Manager manager) =>
             manager.AddTLSServer(this.textBoxID.Text, flags, retry, textBoxServerHost.Text, Decimal.ToUInt16(numericUpDownServerPort.Value), config);
     }
     else
     {
         return (IDNP3Manager manager) =>
             manager.AddTCPServer(this.textBoxID.Text, flags, retry, textBoxServerHost.Text, Decimal.ToUInt16(numericUpDownServerPort.Value));
     }
 }
Exemplo n.º 5
0
        private Func<IDNP3Manager, IChannel> GetSerialFunctor(TimeSpan min, TimeSpan max)
        {
            var name = this.comboBoxSerialDeviceName.Text;
            var baud = Decimal.ToInt32(this.numericUpDownBaud.Value);

            var dataBits = Decimal.ToInt32(this.numericUpDownDataBits.Value);
            var parity = (Parity)comboBoxParity.SelectedValue;
            var flow = (FlowControl) comboBoxFlowControl.SelectedValue;
            var stopBits = (StopBits) comboBoxStopBits.SelectedValue;

            var flags = logLevelControl1.Filters.Flags;
            var retry = new ChannelRetry(min, max);
            var ss = new SerialSettings(name, baud, dataBits, stopBits, parity, flow);
            return (IDNP3Manager manager) => manager.AddSerial(this.textBoxID.Text, flags, retry, ss);
        }