Example #1
0
        public static bool StopServer()
        {
            try
            {
                UpdateModBus.CloseModBus();

                if (_iedServer != null)
                {
                    if (_iedServer.IsRunning())
                    {
                        _iedServer.Stop();
                        _iedServer.Destroy();
                        _iedServer = null;
                    }
                }

                ServerModel.Model?.Clear();
                UpdateServer.Clear();

                Log.Log.Write(@"ServerIEC61850.StopServer: ServerIEC61850 stoped", @"Stop");
            }
            catch
            {
                Log.Log.Write(@"ServerIEC61850.StopServer: No valid ServerIEC61850 found!", @"Error");
                Log.Log.Write(@"ServerIEC61850.StopServer: ServerIEC61850 stoped", @"Stop");
                return(false);
            }
            return(true);
        }
            public override void SetValue(dynamic value)
            {
                ushort mask = (ushort)value.Mask;
                ushort val  = (ushort)value.Value;

                ushort[] tempValue = new ushort[1];

                tempValue[0] = (ushort)((Value[0] & mask) | val);

                UpdateModBus.SetRequest(Addr, tempValue);
            }
Example #3
0
        public static bool StartServer()
        {
            if (_iedModel != null)
            {
                _iedServer.Start(ServerConfig.ServerPort);

                Log.Log.Write(@"ServerIEC61850.StartServer: ServerIEC61850 started", @"Start");

                UpdateModBus.StartModBus();
            }
            else
            {
                Log.Log.Write(@"ServerIEC61850.StartServer: No valid data model found!", @"Error");

                return(false);
            }

            return(true);
        }
Example #4
0
        public static bool ConfigServer()
        {
            try
            {
                Directory.CreateDirectory(@"vmd-filestore" + "\\");

                _iedModel = IedModel.CreateFromFile(ServerConfig.NameModelFile);

                _iedServer = new IedServer(_iedModel);
            }
            catch
            {
                Log.Log.Write("ServerIEC61850: Model file incorrect", "Error");
                return(false);
            }

            UpdateServer.SetParams(_iedServer, _iedModel);                              //Устаовка
            UpdateServer.InitUpdate(_iedServer, _iedModel);                             //Заполнение данными
            UpdateServer.InitHandlers(_iedServer, _iedModel);                           //Установка оброботчиков событий

            UpdateModBus.ConfigModBusPort();

            return(true);
        }
 public override void GetValueRequest()                      //Read ModBus
 {
     UpdateModBus.GetRequest(Addr, Count, this);             //Читаю значение по адресу
 }
 public override void SetValue(dynamic value)
 {
     UpdateModBus.SetRequest(Addr, Value);
 }