From c0d9df06a883da28d2608cc35bc1f503e6a66af9 Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Thu, 30 Aug 2018 11:34:47 +0000 Subject: [PATCH] Added absolute path to fileManager --- CMS_CORE_Library/DataStructures.cs | 22 ++--- CMS_CORE_Library/Demo/Nc_Demo.cs | 2 + CMS_CORE_Library/Osai/Nc_Osai.cs | 111 ++++++++++++++----------- CMS_CORE_Library/Siemens/Nc_Siemens.cs | 18 ++-- 4 files changed, 86 insertions(+), 67 deletions(-) diff --git a/CMS_CORE_Library/DataStructures.cs b/CMS_CORE_Library/DataStructures.cs index 2180618..911b916 100644 --- a/CMS_CORE_Library/DataStructures.cs +++ b/CMS_CORE_Library/DataStructures.cs @@ -281,6 +281,7 @@ namespace CMS_CORE_Library public class PreviewFileModel { public string Name; + public string Path; public string AbsolutePath; public bool IsDirectory; } @@ -292,6 +293,7 @@ namespace CMS_CORE_Library public DateTime LastModDate; public List Content; public string PreviewBase64; + public string AbsolutePath; } public class ActiveProgramDataModel @@ -717,6 +719,7 @@ namespace CMS_CORE_Library public int MaxToolsPerFamily; public int MaxMultitools; public int MaxToolsPerMultitools; + public int MaxOffsets; public bool MultitoolOptionActive; public bool FamilyOptionActive; @@ -766,34 +769,33 @@ namespace CMS_CORE_Library public int Balluf { get; set; } - public byte MagazinePositionType { get; set; } - public byte MagazineId { get; set; } public byte PositionId { get; set; } + + public byte MagazinePositionType { get; set; } } public class NcToolModel { public int ToolId { get; set; } + + public int FamilyId { get; set; } + public int ShankId { get; set; } + + public byte Status { get; set; } public int OffsetLength { get; set; } public int ResidualLife { get; set; } - public int ResidualRevive { get; set; } - - public byte Status { get; set; } - - public int FamilyId { get; set; } - - public int ShankId { get; set; } - public int OffsetId1 { get; set; } public int OffsetId2 { get; set; } public int OffsetId3 { get; set; } + + public int ResidualRevive { get; set; } } public class NcFamilyModel diff --git a/CMS_CORE_Library/Demo/Nc_Demo.cs b/CMS_CORE_Library/Demo/Nc_Demo.cs index 9e82d71..cf87286 100644 --- a/CMS_CORE_Library/Demo/Nc_Demo.cs +++ b/CMS_CORE_Library/Demo/Nc_Demo.cs @@ -1807,6 +1807,8 @@ namespace CMS_CORE.Demo config.MultitoolOptionActive = demoConf.MultitoolOption; config.FamilyOptionActive = demoConf.FamilyOption; config.MagPositionOptionActive = demoConf.MagPositionOption; + config.MaxOffsets = 5; + config.EdgesConfiguration.EdgesAdditionalParamsConfiguration = new Dictionary>(); // Remove path and set only names diff --git a/CMS_CORE_Library/Osai/Nc_Osai.cs b/CMS_CORE_Library/Osai/Nc_Osai.cs index b97eae7..67b2816 100644 --- a/CMS_CORE_Library/Osai/Nc_Osai.cs +++ b/CMS_CORE_Library/Osai/Nc_Osai.cs @@ -38,8 +38,8 @@ namespace CMS_CORE.Osai private BasicHttpBinding HttpBinding; private static Dictionary PlcMessages; - // private const string TOOL_MANAGER_DIRECTORY_PATH = @"TEST\\SYS\\STEP\\"; - private const string TOOL_MANAGER_DIRECTORY_PATH = @"test\OEM\CMS\SYS\STEP\"; + private const string TOOL_MANAGER_DIRECTORY_PATH = @"TEST\\SYS\\STEP\\"; + // private const string TOOL_MANAGER_DIRECTORY_PATH = @"test\OEM\CMS\SYS\STEP\"; private const string NC_PROGRAM_PATH = @"CAMBIO\"; private const string NC_PROGRAM_UPLOAD_PATH = @"CAMBIO\UPLOADED_PP\"; private static List EXT_PP = new List() { "", "TXT", "CNC", "INI" }; @@ -1960,11 +1960,11 @@ namespace CMS_CORE.Osai { do { - files.Add(new PreviewFileModel() { Name = filesearch.FileName, - AbsolutePath = temppath + "\\" + filesearch.FileName, + Path = temppath + "\\" + filesearch.FileName, + AbsolutePath = NC_PROGRAM_PATH + temppath + "\\" + filesearch.FileName, IsDirectory = filesearch.FileAttributes == 16 }); @@ -1989,23 +1989,19 @@ namespace CMS_CORE.Osai public override CmsError FILES_RGetFileInfo(string path, ref InfoFile fileInfo) { ushort nReturn; - String temppath; - String fileContent = ""; + string fileContent = ""; List rows; - CmsError err; - uint findHandler; - FILEFINDDATA filesearch = new FILEFINDDATA(); + CmsError cmsError; //Check if the NC is Connected - CmsError cmsError = CheckConnection(); + cmsError = CheckConnection(); if (cmsError.IsError()) return cmsError; - //Fix the Path - temppath = path; - temppath = temppath.TrimStart('\\'); + // Set absolute path + fileInfo.AbsolutePath = path; - nReturn = OpenNC.LogFSFindFirst(NC_PROGRAM_PATH + "\\" + temppath, out filesearch, out findHandler, out uint errorClass, out uint errorNum); + nReturn = OpenNC.LogFSFindFirst(fileInfo.AbsolutePath, out FILEFINDDATA filesearch, out uint findHandler, out uint errorClass, out uint errorNum); //If there's an error if (errorClass != 0 || errorNum != 0 || nReturn == 0) return GetNCError(errorClass, errorNum); @@ -2019,9 +2015,9 @@ namespace CMS_CORE.Osai return GetNCError(errorClass, errorNum); //Read the program content - err = FILES_RProgram(NC_PROGRAM_PATH + "\\" + temppath, ref fileContent); - if (err != NO_ERROR) - return err; + cmsError = FILES_RProgram(fileInfo.AbsolutePath, ref fileContent); + if (cmsError != NO_ERROR) + return cmsError; //Setup the Lines rows = fileContent.Split('\n').ToList(); @@ -2051,18 +2047,18 @@ namespace CMS_CORE.Osai //Fix the Path temppath = filePath; temppath = temppath.TrimStart('\\'); - - Console.WriteLine(NC_PROGRAM_PATH + "\\" + temppath); + ushort nReturn; try { // select PP (using empty string) - nReturn = OpenNC.SelectPartProgramFromDrive((ushort)processId, NC_PROGRAM_PATH + "\\" + temppath, out uint errorClass, out uint errorNum); + nReturn = OpenNC.SelectPartProgramFromDrive((ushort)processId, temppath, out uint errorClass, out uint errorNum); //If there's an error launch exception if (errorClass != 0 || errorNum != 0 || nReturn == 0) return GetNCError(errorClass, errorNum); + cmsError = FILES_RActiveProgramData(processId, ref data); } catch (Exception ex) { @@ -2118,7 +2114,6 @@ namespace CMS_CORE.Osai //save into ref data data.IsoLines = lines; data.Path = path; - } catch (Exception ex) { @@ -2330,6 +2325,8 @@ namespace CMS_CORE.Osai config.ShanksConfiguration = NcShankFieldsConfig; config.MagazinePosConfiguration = NcMagazinePosFieldsConfig; config.EdgesConfiguration = NcOffsetFieldsConfiguration; + config.MagPositionOptionActive = true; + config.MaxOffsets = 10; // Setup magazine list List conf = new List(); @@ -2556,7 +2553,7 @@ namespace CMS_CORE.Osai // Convert int into to true/false array bits = IntToBool(status); // 1 = Non-editable tables, 2 = reading in progess - if (bits[1] || bits[2]) + if (!bits[1] || bits[2]) return MAGAZINE_BUSY_ERROR; // Write busy tool manager status @@ -2679,38 +2676,52 @@ namespace CMS_CORE.Osai string filePath = TOOL_MANAGER_DIRECTORY_PATH + "{0}.csv"; string backupFilePath = TOOL_MANAGER_BACKUP_DIRECTORY_PATH + "{0}.csv"; - + string fileContent = ""; // Restore tool manager backup - string fileContent = File.ReadAllText(string.Format(backupFilePath, FAMILIES_FILE_NAME)); - cmsError = FILES_WProgram(string.Format(filePath, FAMILIES_FILE_NAME), fileContent); - if (cmsError.IsError()) - return cmsError; + if (File.Exists(string.Format(backupFilePath, FAMILIES_FILE_NAME))) + { + fileContent = File.ReadAllText(string.Format(backupFilePath, FAMILIES_FILE_NAME)); + cmsError = FILES_WProgram(string.Format(filePath, FAMILIES_FILE_NAME), fileContent); + if (cmsError.IsError()) + return cmsError; + } + if (File.Exists(string.Format(backupFilePath, FAM_SIZE_FILE_NAME))) + { + fileContent = File.ReadAllText(string.Format(backupFilePath, FAM_SIZE_FILE_NAME)); + cmsError = FILES_WProgram(string.Format(filePath, FAM_SIZE_FILE_NAME), fileContent); + if (cmsError.IsError()) + return cmsError; + } - fileContent = File.ReadAllText(string.Format(backupFilePath, FAM_SIZE_FILE_NAME)); - cmsError = FILES_WProgram(string.Format(filePath, FAM_SIZE_FILE_NAME), fileContent); - if (cmsError.IsError()) - return cmsError; + if(File.Exists(string.Format(backupFilePath, MAG_POSITION_FILE_NAME))) + { + fileContent = File.ReadAllText(string.Format(backupFilePath, MAG_POSITION_FILE_NAME)); + cmsError = FILES_WProgram(string.Format(filePath, MAG_POSITION_FILE_NAME), fileContent); + if (cmsError.IsError()) + return cmsError; + } - fileContent = File.ReadAllText(string.Format(backupFilePath, MAG_POSITION_FILE_NAME)); - cmsError = FILES_WProgram(string.Format(filePath, MAG_POSITION_FILE_NAME), fileContent); - if (cmsError.IsError()) - return cmsError; + if (File.Exists(string.Format(backupFilePath, SHANKS_FILE_NAME))) + { + fileContent = File.ReadAllText(string.Format(backupFilePath, SHANKS_FILE_NAME)); + cmsError = FILES_WProgram(string.Format(filePath, SHANKS_FILE_NAME), fileContent); + if (cmsError.IsError()) + return cmsError; + } - fileContent = File.ReadAllText(string.Format(backupFilePath, SHANKS_FILE_NAME)); - cmsError = FILES_WProgram(string.Format(filePath, SHANKS_FILE_NAME), fileContent); - if (cmsError.IsError()) - return cmsError; - - fileContent = File.ReadAllText(string.Format(backupFilePath, TOOLS_FILE_NAME)); - cmsError = FILES_WProgram(string.Format(filePath, TOOLS_FILE_NAME), fileContent); - if (cmsError.IsError()) - return cmsError; + if (File.Exists(string.Format(backupFilePath, TOOLS_FILE_NAME))) + { + fileContent = File.ReadAllText(string.Format(backupFilePath, TOOLS_FILE_NAME)); + cmsError = FILES_WProgram(string.Format(filePath, TOOLS_FILE_NAME), fileContent); + if (cmsError.IsError()) + return cmsError; + } //cmsError = FILES_CopyProgram(string.Format(backupFilePath, FAMILIES_FILE_NAME), string.Format(filePath, FAMILIES_FILE_NAME), false); //if (cmsError.IsError()) // return cmsError; //// FamilySize - //cmsError = FILES_CopyProgram(string.Format(backupFilePath, FAM_SIZE_FILE_NAME), string.Format(filePath, FAM_SIZE_FILE_NAME), false); + //cmsError = \_CopyProgram(string.Format(backupFilePath, FAM_SIZE_FILE_NAME), string.Format(filePath, FAM_SIZE_FILE_NAME), false); //if (cmsError.IsError()) // return cmsError; //// Mag positions @@ -3422,7 +3433,7 @@ namespace CMS_CORE.Osai //Get Active PP Path - private CmsError PROC_RPPPath(ushort ProcNumber, ref string Path) + private CmsError PROC_RPPPath(ushort procNumber, ref string path) { //Check if the NC is Connected CmsError cmsError = CheckConnection(); @@ -3430,21 +3441,23 @@ namespace CMS_CORE.Osai return cmsError; ushort nReturn; ushort Level = 0; - String MainPath = ""; + String mainPath = ""; String SubPath = ""; //Try to get information try { //Execute the method - nReturn = OpenNC.GetActivePartProgramFullPath(ProcNumber, out Level, out MainPath, out SubPath, out uint errorClass, out uint errorNum); + nReturn = OpenNC.GetActivePartProgramFullPath(procNumber, out Level, out mainPath, out SubPath, out uint errorClass, out uint errorNum); //If there's an error launch exception if (errorClass != 0 || errorNum != 0 || nReturn == 0) return GetNCError(errorClass, errorNum); //Build the new String - Path = MainPath; + path = mainPath.Replace("\\Network", ""); + path = path.Replace("\\User\\", ""); + path = path.Replace("\\user\\", ""); } catch (Exception ex) { diff --git a/CMS_CORE_Library/Siemens/Nc_Siemens.cs b/CMS_CORE_Library/Siemens/Nc_Siemens.cs index 0026773..e4d980f 100644 --- a/CMS_CORE_Library/Siemens/Nc_Siemens.cs +++ b/CMS_CORE_Library/Siemens/Nc_Siemens.cs @@ -1851,7 +1851,7 @@ namespace CMS_CORE.Siemens { try { - string tmpPath = FormatPath(ref path); + string tmpPath = FormatPath(path); FileSvc fileSvc = new FileSvc(); // Preapare folder node @@ -1864,9 +1864,10 @@ namespace CMS_CORE.Siemens { files.Add(new PreviewFileModel() { - AbsolutePath = path + "\\" + element.Name, + Path = path + "\\" + element.Name, IsDirectory = element.IsDirNode, - Name = element.Name + Name = element.Name, + AbsolutePath = element.RealPath }); } } @@ -1882,12 +1883,12 @@ namespace CMS_CORE.Siemens { try { - string tmpPath = FormatPath(ref path); + string tmpPath = FormatPath(path); FileSvc fileSvc = new FileSvc(); // Preapare folder node - Node fileNode = new Node(BASE_FILE_PATH + tmpPath); + Node fileNode = new Node(tmpPath); fileInfo = new InfoFile() { @@ -1895,7 +1896,8 @@ namespace CMS_CORE.Siemens LastModDate = fileNode.Attributes.LastAccess, Name = fileNode.Name, Content = new List() { fileNode.LogicalPath }, - PreviewBase64 = FindImageBase64String(IMAGES_PATH, fileNode.Name) + PreviewBase64 = FindImageBase64String(IMAGES_PATH, fileNode.Name), + AbsolutePath = fileNode.RealPath }; } catch (Exception ex) @@ -1910,7 +1912,7 @@ namespace CMS_CORE.Siemens { try { - string ncPath = FormatPath(ref filePath); + string ncPath = FormatPath(filePath); FileSvc fileSvc = new FileSvc(); @@ -2104,7 +2106,7 @@ namespace CMS_CORE.Siemens } } - private string FormatPath(ref string path) + private string FormatPath(string path) { path = path.TrimStart('\\'); path = path.TrimEnd('\\');