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); }
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); }
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); }