public void UpdatePointTest() { string pointName = $"UpdatePointTest{AFTime.Now}"; IDictionary <string, object> attributes = new Dictionary <string, object>() { { PICommonPointAttributes.Tag, pointName }, { PICommonPointAttributes.PointType, PIPointType.Float32 }, }; try { // Create a PI Point Output.WriteLine($"Create PI Point [{pointName}]."); PIPoint point = Fixture.PIServer.CreatePIPoint(pointName, attributes); // Assert that the PI Point creation was successful Assert.True(PIPoint.FindPIPoint(Fixture.PIServer, pointName) != null, $"Could not find PI Point [{pointName}] on Data Archive [{Fixture.PIServer.Name}] after creation."); IDictionary <string, object> attributesToEdit = new Dictionary <string, object>() { { PICommonPointAttributes.PointType, PIPointType.String }, }; Output.WriteLine($"Update PI Point [{pointName}] type from Float32 to String."); foreach (var attribute in attributesToEdit) { point.SetAttribute(attribute.Key, attribute.Value); } point.SaveAttributes(); // Refresh the server Fixture.PIServer.Refresh(); // Look for the PI Point var pipoint = PIPoint.FindPIPoint(Fixture.PIServer, pointName); // Assert that the attribute values have changed Assert.True(pipoint.GetAttribute(PICommonPointAttributes.PointType).Equals(PIPointType.String), $"Expected the Point Type of the PI Point [{pointName}] to be a [string], but it was actually [{pipoint.GetAttribute(PICommonPointAttributes.PointType)}]."); } finally { // Delete the PI Point to cleanup Fixture.DeletePIPoints(pointName, Output); } }
public void RenamePointTest() { // Construct a unique PI Point name string pointName = $"RenamePointTest{AFTime.Now}"; string newName = pointName + "_Renamed"; try { // Create a PI Point Output.WriteLine($"Create PI Point [{pointName}]."); PIPoint point = Fixture.PIServer.CreatePIPoint(pointName); // Assert that the PI Point creation was successful Assert.True(PIPoint.FindPIPoint(Fixture.PIServer, pointName) != null, $"Could not find PI Point [{pointName}] on Data Archive [{Fixture.PIServer.Name}] after creation."); // Change the name of the PI Point IDictionary <string, object> attributesToEdit = new Dictionary <string, object>() { { PICommonPointAttributes.Tag, newName }, }; Output.WriteLine($"Rename PI Point [{pointName}] to [{newName}]."); foreach (var attribute in attributesToEdit) { point.SetAttribute(attribute.Key, attribute.Value); } point.SaveAttributes(); // Refresh the server Fixture.PIServer.Refresh(); // Look for the PI Point with the new name Assert.True(PIPoint.FindPIPoint(Fixture.PIServer, newName) != null, $"Could not find PI Point [{newName}] on Data Archive [{Fixture.PIServer.Name}] after rename from [{pointName}]."); } finally { // Delete the PI Point to cleanup Fixture.DeletePIPoints($"{pointName}*", Output); } }
static void Main(string[] args) { #region Logowanie string today = DateTime.Now.ToString("dd_MM_yyyy"); string fileName = "C:\\Users\\cbuczynm\\Maintanance AF i ARC\\LogiZAktualizacjiPIPoints\\updatePiLog_" + today + ".txt"; FileStream filestream = new FileStream(fileName, FileMode.Create); var streamwriter = new StreamWriter(filestream); streamwriter.AutoFlush = true; Console.SetOut(streamwriter); Console.SetError(streamwriter); #endregion #region PiConnection PIServers piServers = new PIServers(); PIServer piServer = piServers["cp-pisrv1"]; piServer.Connect(); Console.WriteLine("Połączony z {0}", piServer); #endregion #region Ładowanie najnowszego i poprzedniego pliku interfejsu GIS var files = new DirectoryInfo("X:\\GIS_LOD_1\\archiwum\\vector").GetFiles("cieplo_wodo_rds_*.txt"); //var files = new DirectoryInfo("C:\\Users\\cbuczynm\\Desktop").GetFiles("cieplo_wodo_rds_*.txt"); Console.WriteLine("tusięwykładam"); string latestFile = ""; DateTime lastUpdated = DateTime.MinValue; foreach (var file in files) { if (file.LastWriteTime > lastUpdated) { lastUpdated = file.LastWriteTime; latestFile = file.FullName; } } Console.WriteLine("Ostatni plik interfejsu : {0}", latestFile); var logLatestFile = File.ReadAllLines(latestFile); var logLatestList = new List <string>(logLatestFile); logLatestList.Remove(logLatestList.First()); for (int i = 0; i < logLatestList.Capacity - 1; i++) { logLatestList[i] = logLatestList[i].Replace("!Brak wezla Maximo", ""); logLatestList[i] = logLatestList[i].Replace("!Brak odpowiedniego obiegu", ""); } Console.WriteLine("Plik zawiera {0} rekordów", logLatestList.Capacity); string previousFile = ""; lastUpdated = DateTime.MinValue; foreach (var file in files) { if (file.LastWriteTime > lastUpdated && file.FullName != latestFile) { lastUpdated = file.LastWriteTime; previousFile = file.FullName; } } Console.WriteLine("Poprzedni plik interfejsu : {0}", previousFile); var logPreviousFile = File.ReadAllLines(previousFile); var logPreviousList = new List <string>(logPreviousFile); logPreviousList.Remove(logPreviousList.First()); for (int i = 0; i < logPreviousList.Capacity - 1; i++) { logPreviousList[i] = logPreviousList[i].Replace("!Brak wezla Maximo", ""); logPreviousList[i] = logPreviousList[i].Replace("!Brak odpowiedniego obiegu", ""); } Console.WriteLine("Plik zawiera {0} rekordów", logPreviousList.Capacity); #endregion #region Ładowanie listy kodów RDS PP istniejących w CM //Ciepłomierze var filesVectorMeter = new DirectoryInfo("X:\\RDS_PP\\VECTOR").GetFiles("rdspp_cieplomierze*.csv"); string vectorMeterFile = ""; lastUpdated = DateTime.MinValue; foreach (var file in filesVectorMeter) { if (file.LastWriteTime > lastUpdated && file.FullName != latestFile) { lastUpdated = file.LastWriteTime; vectorMeterFile = file.FullName; } } Console.WriteLine("Plik Vector Cieplomierzy : {0}", vectorMeterFile); var logvectorMeterFile = File.ReadAllLines(vectorMeterFile); var logvectorMeterList = new List <string>(logvectorMeterFile); logvectorMeterList.Remove(logvectorMeterList.First()); Console.WriteLine("Plik zawiera {0} rekordów z kodami RDSPP Ciepłomierzy", logvectorMeterList.Capacity); //Wodomierze var filesVectorWodo = new DirectoryInfo("X:\\RDS_PP\\VECTOR").GetFiles("rdspp_wodomierze*.csv"); string vectorWodoFile = ""; lastUpdated = DateTime.MinValue; foreach (var file in filesVectorWodo) { if (file.LastWriteTime > lastUpdated && file.FullName != latestFile) { lastUpdated = file.LastWriteTime; vectorWodoFile = file.FullName; } } Console.WriteLine("Plik Vector Wodomierzy : {0}", vectorWodoFile); var logvectorWodoFile = File.ReadAllLines(vectorWodoFile); var logvectorWodoList = new List <string>(logvectorWodoFile); logvectorWodoList.Remove(logvectorMeterList.First()); Console.WriteLine("Plik zawiera {0} rekordów z kodami RDSPP Wodomierzy", logvectorWodoList.Capacity); #endregion #region Parsowanie plików interfejsu GIS var listOfPreviousPoints = new List <Point>(); foreach (var item in logPreviousList) { string[] parameters = item.Split('|'); Point point = new Point(); point.UPW = Convert.ToInt32(parameters[0]); point.UPW_Kombit = Convert.ToInt32(parameters[1]); point.Typ_przelicznika = parameters[2]; point.WL_id = Convert.ToInt32(parameters[3]); point.Numer_przelicznika = parameters[4]; point.Cieplomierz_RDS_PP = parameters[5]; point.WWU1_numer = parameters[6]; point.WWU1_RDS_PP = parameters[7]; point.WWU2_numer = parameters[8]; point.WWU2_RDS_PP = parameters[9]; point.WCW_numer = parameters[10]; point.WCW_RDS_PP = parameters[11]; point.WCO_Numer = parameters[12]; point.WCO_RDS_PP = parameters[13]; point.adres_wf = parameters[14]; point.wskaznik_kontrolny = parameters[15]; listOfPreviousPoints.Add(point); } var listOfLatestPoints = new List <Point>(); foreach (var item in logLatestList) { string[] parameters = item.Split('|'); Point point = new Point(); point.UPW = Convert.ToInt32(parameters[0]); point.UPW_Kombit = Convert.ToInt32(parameters[1]); point.Typ_przelicznika = parameters[2]; point.WL_id = Convert.ToInt32(parameters[3]); point.Numer_przelicznika = parameters[4]; point.Cieplomierz_RDS_PP = parameters[5]; point.WWU1_numer = parameters[6]; point.WWU1_RDS_PP = parameters[7]; point.WWU2_numer = parameters[8]; point.WWU2_RDS_PP = parameters[9]; point.WCW_numer = parameters[10]; point.WCW_RDS_PP = parameters[11]; point.WCO_Numer = parameters[12]; point.WCO_RDS_PP = parameters[13]; point.adres_wf = parameters[14]; point.wskaznik_kontrolny = parameters[15]; int newCounter = 0; foreach (var prevPoint in listOfPreviousPoints) { if (prevPoint.UPW_Kombit == point.UPW_Kombit) { newCounter++; if (point.Cieplomierz_RDS_PP != prevPoint.Cieplomierz_RDS_PP || point.WWU1_RDS_PP != prevPoint.WWU1_RDS_PP || point.WWU2_RDS_PP != prevPoint.WWU2_RDS_PP || point.WCW_RDS_PP != prevPoint.WCW_RDS_PP || point.WCO_RDS_PP != prevPoint.WCO_RDS_PP ) { point.isChanged = true; } else { } } } if (newCounter == 0) { point.isNew = true; } else { } listOfLatestPoints.Add(point); } int numberOfChangedPoints = 0; foreach (var point in listOfLatestPoints) { if (point.isChanged) { numberOfChangedPoints++; } } Console.WriteLine("Liczba rekodrów w których RDSPP uleglo zmianie : {0}", numberOfChangedPoints); Console.WriteLine("Sa to nastepujace punkty sieci : "); foreach (var point in listOfLatestPoints) { if (point.isChanged) { Console.WriteLine(point.UPW_Kombit + " - " + point.adres_wf); } } int numberOfNewPoints = 0; foreach (var point in listOfLatestPoints) { if (point.isNew) { numberOfNewPoints++; } } Console.WriteLine("Liczba nowych rekodrów : {0}", numberOfNewPoints); Console.WriteLine("Sa to nastepujace punkty sieci : "); foreach (var point in listOfLatestPoints) { if (point.isNew) { Console.WriteLine(point.UPW_Kombit + " - " + point.adres_wf); } } #endregion #region Parsowanie plików z listą RDSPP Vectora //Ciepłomierze var listOfVectorMeters = new List <string>(); foreach (var item in logvectorMeterList) { string[] parameters = item.Split('|'); listOfVectorMeters.Add(parameters[7]); } //Wodomierze var listOfVectorWodo = new List <string>(); foreach (var item in logvectorWodoList) { string[] parameters = item.Split('|'); listOfVectorWodo.Add(parameters[8]); } #endregion #region Kodowanie nowych RDS PP Ciepłomierzy foreach (var point in listOfLatestPoints) { if (!(String.IsNullOrWhiteSpace(point.Cieplomierz_RDS_PP)) && point.isChanged == false && point.isNew == true) { Meter meter = new Meter(point.Cieplomierz_RDS_PP); if (listOfVectorMeters.Contains(meter.LicznikEnergii)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.LicznikEnergii); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.LicznikEnergii); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.LicznikEnergii); piServer.CreatePIPoint(meter.LicznikEnergii); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.LicznikEnergii); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "GJ"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.LicznikEnergii); } if (listOfVectorMeters.Contains(meter.LicznikObjetosciPrzeplywu)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.LicznikObjetosciPrzeplywu); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.LicznikObjetosciPrzeplywu); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.LicznikObjetosciPrzeplywu); piServer.CreatePIPoint(meter.LicznikObjetosciPrzeplywu); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.LicznikObjetosciPrzeplywu); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "m3"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.LicznikObjetosciPrzeplywu); } if (listOfVectorMeters.Contains(meter.MocChwilowa)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.MocChwilowa); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.MocChwilowa); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.MocChwilowa); piServer.CreatePIPoint(meter.MocChwilowa); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.MocChwilowa); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "kW"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.MocChwilowa); } if (listOfVectorMeters.Contains(meter.PrzeplywChwilowy)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.PrzeplywChwilowy); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.PrzeplywChwilowy); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.PrzeplywChwilowy); piServer.CreatePIPoint(meter.PrzeplywChwilowy); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.PrzeplywChwilowy); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "m3/h"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.PrzeplywChwilowy); } if (listOfVectorMeters.Contains(meter.TemperaturaZasilania)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.TemperaturaZasilania); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.TemperaturaZasilania); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.TemperaturaZasilania); piServer.CreatePIPoint(meter.TemperaturaZasilania); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.TemperaturaZasilania); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "°C"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.TemperaturaZasilania); } if (listOfVectorMeters.Contains(meter.TemperaturaPowrotu)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.TemperaturaPowrotu); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.TemperaturaPowrotu); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.TemperaturaPowrotu); piServer.CreatePIPoint(meter.TemperaturaPowrotu); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.TemperaturaPowrotu); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "°C"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.TemperaturaPowrotu); } if (listOfVectorMeters.Contains(meter.NumerFabryczny)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.NumerFabryczny); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.NumerFabryczny); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.NumerFabryczny); piServer.CreatePIPoint(meter.NumerFabryczny); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.NumerFabryczny); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "String"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, ""); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.NumerFabryczny); } if (listOfVectorMeters.Contains(meter.KodBledu)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.KodBledu); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.KodBledu); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.KodBledu); piServer.CreatePIPoint(meter.KodBledu); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.KodBledu); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Int32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, ""); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.KodBledu); } if (listOfVectorMeters.Contains(meter.GodzinyPracy)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.GodzinyPracy); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.GodzinyPracy); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.GodzinyPracy); piServer.CreatePIPoint(meter.GodzinyPracy); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, meter.GodzinyPracy); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Int32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "h"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + meter.GodzinyPracy); } } else { continue; } } #endregion #region Kodowanie nowych RDS PP Wodomierzy //WWU_1 foreach (var point in listOfLatestPoints) { if (!(String.IsNullOrWhiteSpace(point.WWU1_RDS_PP)) && point.isChanged == false && point.isNew == true) { Wodo WWU_1 = new Wodo(point.WWU1_RDS_PP); if (listOfVectorWodo.Contains(WWU_1.StanWodomierza)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WWU_1.StanWodomierza); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WWU_1.StanWodomierza); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WWU_1.StanWodomierza); piServer.CreatePIPoint(WWU_1.StanWodomierza); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WWU_1.StanWodomierza); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "m3"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WWU_1.StanWodomierza); } } else { continue; } } //WWU_2 foreach (var point in listOfLatestPoints) { if (!(String.IsNullOrWhiteSpace(point.WWU2_RDS_PP)) && point.isChanged == false && point.isNew == true) { Wodo WWU_2 = new Wodo(point.WWU2_RDS_PP); if (listOfVectorWodo.Contains(WWU_2.StanWodomierza)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WWU_2.StanWodomierza); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WWU_2.StanWodomierza); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WWU_2.StanWodomierza); piServer.CreatePIPoint(WWU_2.StanWodomierza); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WWU_2.StanWodomierza); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "m3"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WWU_2.StanWodomierza); } } else { continue; } } //WCW foreach (var point in listOfLatestPoints) { if (!(String.IsNullOrWhiteSpace(point.WCW_RDS_PP)) && point.isChanged == false && point.isNew == true) { Wodo WCW = new Wodo(point.WCW_RDS_PP); if (listOfVectorWodo.Contains(WCW.StanWodomierza)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WCW.StanWodomierza); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WCW.StanWodomierza); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WCW.StanWodomierza); piServer.CreatePIPoint(WCW.StanWodomierza); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WCW.StanWodomierza); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "m3"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WCW.StanWodomierza); } } else { continue; } } //WCO foreach (var point in listOfLatestPoints) { if (!(String.IsNullOrWhiteSpace(point.WCO_RDS_PP)) && point.isChanged == false && point.isNew == true) { Wodo WCO = new Wodo(point.WCO_RDS_PP); if (listOfVectorWodo.Contains(WCO.StanWodomierza)) { Console.WriteLine("JEST W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WCO.StanWodomierza); try { PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WCO.StanWodomierza); Console.WriteLine("JEST JUŻ W SYSTEM PI"); } catch (Exception) { Console.WriteLine("NIE znalazlem W SYSTEM PI więc tworzę : " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WCO.StanWodomierza); piServer.CreatePIPoint(WCO.StanWodomierza); PIPoint myPIPoint = PIPoint.FindPIPoint(piServer, WCO.StanWodomierza); myPIPoint.SetAttribute(PICommonPointAttributes.PointType, "Float32"); myPIPoint.SetAttribute(PICommonPointAttributes.Descriptor, ""); myPIPoint.SetAttribute(PICommonPointAttributes.DisplayDigits, "3"); myPIPoint.SetAttribute(PICommonPointAttributes.EngineeringUnits, "m3"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSource, "UFLOD"); myPIPoint.SetAttribute(PICommonPointAttributes.Archiving, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.Compressing, "1"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionDeviation, "0"); myPIPoint.SetAttribute(PICommonPointAttributes.CompressionMaximum, "28800"); myPIPoint.SetAttribute(PICommonPointAttributes.DataSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(w) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(w)"); myPIPoint.SetAttribute(PICommonPointAttributes.PointSecurity, "piadmin: A(r,w) | piadmins: A(r,w) | PIInterfaces: A(r,w) | PICoresightSRV: A(r) | PIAnalysisServices: A(r,w) | PILO_write: A(r) | PILO_read: A(r) | PILO_super: A(r,w) | PI_Buffers: A(r)"); myPIPoint.SaveAttributes(); Console.WriteLine("utworzono {0}", myPIPoint.Name); } } else { Console.WriteLine("NIE MA W VECTORZE! - " + point.UPW_Kombit + " - " + point.adres_wf + " - kod : " + WCO.StanWodomierza); } } else { continue; } } #endregion Console.WriteLine("Zakończono aktualizowanie tagów PI na podstawie referencji z GIS"); }