/// <summary>
        /// Updates the state of the device active.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="args">The <see cref="frm_DevicesEventArgs"/> instance containing the event data.</param>
        private void UpdateDeviceActiveState(object source, frm_DevicesEventArgs args)
        {
            // DeviceInfo control'unden gönderilen eventteki args'lara göre ilgili device'ın haberleşme durumu değiştirilir.
            if (modbusTCP != null)
            {
                // Device'ın drivera eklenip eklenmedigi kontrol edilir.
                if (modbusTCP.Devices.Exists(d => d.ID == args.deviceId))
                {
                    modbusTCP.Devices.Where(d => d.ID == args.deviceId).First().isActive = args.state;
                }
            }
            dbhelper.UpdateDeviceActiveState(args.deviceId, args.state);
            if (args.state)
            {
                Log.Instance.Info("{0} nolu Device için haberleşme aktif edildi", args.deviceId);
                // Haberleşme aktif edilse bile haberleşmenin kurulacağı kesin olmadığı için device.Connected burada true yapılmaz.
                // modbusTCP.Devices.Where(d => d.ID == args.deviceId).First().Connected = true;
            }
            else
            {
                Log.Instance.Info("{0} nolu Device için haberleşme kapatıldı", args.deviceId);
                if (modbusTCP != null)
                {
                    if (modbusTCP.Devices.Exists(d => d.ID == args.deviceId))
                    {
                        modbusTCP.Devices.Where(d => d.ID == args.deviceId).First().Connected = false;
                    }
                }

                dbhelper.UpdateDeviceConnectedState(args.deviceId, args.state);
                // Haberleşme kapatıldıgında haberleşme sağlanamayacağı için device.Connected burada false'a çekilir.
            }
        }
Exemple #2
0
        private void OnStateChanged(ushort _deviceID, bool _state)
        {
            frm_DevicesEventArgs args = new frm_DevicesEventArgs();

            args.state    = _state;
            args.deviceId = _deviceID;
            if (StateChanged != null)
            {
                StateChanged(this, args);
            }
        }