Osai & Siemens loading

This commit is contained in:
Lucio Maranta
2018-08-29 10:29:33 +00:00
parent c15266a056
commit 6c3f978aa6
6 changed files with 78 additions and 57 deletions
+1 -1
View File
@@ -393,7 +393,7 @@ namespace CMS_CORE_Library
public static readonly string[] VALID_PP_FORMATS = { ".txt", ".cnc", ".ini" };
public static readonly string[] VALID_IMAGE_FORMATS = { ".jpg", ".jpeg", ".png" };
public static readonly string IMAGES_PATH = @"C:/CMS/STEP/attachment/prg_images/";
public static readonly string IMAGES_PATH = @"C:/CMS/STEP/pp_img/";
public const int USER_SOFTKEYS_NUMBER = 128;
public const int NC_SOFTKEYS_NUMBER = 32;
+5
View File
@@ -1662,6 +1662,11 @@ namespace CMS_CORE.Demo
return NO_ERROR;
}
public override CmsError FILES_UploadPartProgram(string localPath, string name, ref string newFilePath)
{
return NO_ERROR;
}
public override CmsError FILES_RActiveProgramData(int processId, ref ActiveProgramDataModel data)
{
// Check if the NC Demo is Connected
+9 -2
View File
@@ -1577,6 +1577,11 @@ namespace CMS_CORE.Fanuc
return NO_ERROR;
}
public override CmsError FILES_UploadPartProgram(string localPath, string name, ref string newFilePath)
{
return NO_ERROR;
}
public override CmsError FILES_RProgramToFile(string partProgramPath, FileStream localFile)
{
string partProgramContent = "";
@@ -1821,6 +1826,7 @@ namespace CMS_CORE.Fanuc
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region Nc Tool Manager
public override CmsError TOOLS_RMagazineConfig(ref List<NcMagazineConfigModel> config)
{
return NO_ERROR;
@@ -1850,6 +1856,7 @@ namespace CMS_CORE.Fanuc
{
return NO_ERROR;
}
public override CmsError TOOLS_WUpdateTools(List<NcToolModel> list)
{
return NO_ERROR;
@@ -1859,8 +1866,7 @@ namespace CMS_CORE.Fanuc
{
return NO_ERROR;
}
public override CmsError TOOLS_WUpdateShanks(List<NcShankModel> list)
{
return NO_ERROR;
@@ -1880,6 +1886,7 @@ namespace CMS_CORE.Fanuc
{
return NO_ERROR;
}
public override CmsError TOOLS_WRestoreBackup()
{
return NO_ERROR;
+2
View File
@@ -1266,6 +1266,8 @@ namespace CMS_CORE
public abstract CmsError FILES_WDeactivateProgram(int processId);
public abstract CmsError FILES_UploadPartProgram(string localPath, string name, ref string newFilePath);
/**
* <summary>Read active program on <paramref name="processId"/> data
* <para>
+45 -51
View File
@@ -17,6 +17,7 @@ using static CMS_CORE.Nc;
using static CMS_CORE.Osai.MEMORY_ADDRESS;
using static CMS_CORE_Library.DataStructures;
using static CMS_CORE_Library.ToolConfigurations;
using static CMS_CORE.Utils.Nc_Utils;
namespace CMS_CORE.Osai
{
@@ -39,9 +40,8 @@ namespace CMS_CORE.Osai
// 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 PROGRAM_DIRECTORY_PATH = @"CAMBIO\";
private const string PROGRAM_UPLOAD_DIRECTORY_PATH = @"CAMBIO\UPLOADED_PP\";
private const string LOCAL_IMAGES_DIRECTORY_PATH = @"C:\CMS\STEP\IMGPP\";
private const string NC_PROGRAM_PATH = @"CAMBIO\";
private const string NC_PROGRAM_UPLOAD_PATH = @"CAMBIO\UPLOADED_PP\";
private static List<string> EXT_PP = new List<string>() { "", "TXT", "CNC", "INI" };
private static List<string> EXT_IMG = new List<string>() { "PNG", "JPG", "JPEG" };
private const uint MAX_ROWS_FILE_PREVIEW = 10; // massimo 10 righe
@@ -1949,7 +1949,7 @@ namespace CMS_CORE.Osai
temppath = path;
temppath = temppath.TrimStart('\\');
nReturn = OpenNC.LogFSFindFirst(PROGRAM_DIRECTORY_PATH + temppath + "\\*", out filesearch, out findHandler, out uint errorClass, out uint errorNum);
nReturn = OpenNC.LogFSFindFirst(NC_PROGRAM_PATH + temppath + "\\*", out filesearch, out findHandler, out uint errorClass, out uint errorNum);
//If there's an error
if (errorClass != 0 || errorNum != 0 || nReturn == 0)
@@ -2004,28 +2004,13 @@ namespace CMS_CORE.Osai
temppath = path;
temppath = temppath.TrimStart('\\');
nReturn = OpenNC.LogFSFindFirst(PROGRAM_DIRECTORY_PATH + "\\" + temppath, out filesearch, out findHandler, out uint errorClass, out uint errorNum);
nReturn = OpenNC.LogFSFindFirst(NC_PROGRAM_PATH + "\\" + temppath, out filesearch, out findHandler, out uint errorClass, out uint errorNum);
//If there's an error
if (errorClass != 0 || errorNum != 0 || nReturn == 0)
return GetNCError(errorClass, errorNum);
//Search the file, for infos
if (findHandler != 0xFFFFFFFF)
{
//Setup the name
fileInfo.Name = filesearch.FileName;
fileInfo.PreviewBase64 = FindImageBase64String(IMAGES_PATH, fileInfo.Name);
//Setup the dates
fileInfo.CreationDate = DateTime.FromFileTime((((long)filesearch.HighDateCreationTime) << 32) | filesearch.LowDateCreationTime);
fileInfo.LastModDate = DateTime.FromFileTime((((long)filesearch.HighDateLastWriteTime) << 32) | filesearch.LowDateLastWriteTime);
//Read the program image
err = FILE_PPImage(fileInfo.Name + "_" + fileInfo.CreationDate.Year + fileInfo.CreationDate.Month + fileInfo.CreationDate.Day + fileInfo.CreationDate.Hour + fileInfo.CreationDate.Minute + fileInfo.CreationDate.Second,
ref fileInfo.PreviewBase64);
if (err != NO_ERROR)
return err;
}
nReturn = OpenNC.LogFSFindClose(findHandler, out errorClass, out errorNum);
//If there's an error
@@ -2033,7 +2018,7 @@ namespace CMS_CORE.Osai
return GetNCError(errorClass, errorNum);
//Read the program content
err = FILES_RProgram(PROGRAM_DIRECTORY_PATH + "\\" + temppath, ref fileContent);
err = FILES_RProgram(NC_PROGRAM_PATH + "\\" + temppath, ref fileContent);
if (err != NO_ERROR)
return err;
@@ -2066,12 +2051,12 @@ namespace CMS_CORE.Osai
temppath = filePath;
temppath = temppath.TrimStart('\\');
Console.WriteLine(PROGRAM_DIRECTORY_PATH + "\\" + temppath);
Console.WriteLine(NC_PROGRAM_PATH + "\\" + temppath);
ushort nReturn;
try
{
// select PP (using empty string)
nReturn = OpenNC.SelectPartProgramFromDrive((ushort)processId, PROGRAM_DIRECTORY_PATH + "\\" + temppath, out uint errorClass, out uint errorNum);
nReturn = OpenNC.SelectPartProgramFromDrive((ushort)processId, NC_PROGRAM_PATH + "\\" + temppath, out uint errorClass, out uint errorNum);
//If there's an error launch exception
if (errorClass != 0 || errorNum != 0 || nReturn == 0)
@@ -2142,6 +2127,21 @@ namespace CMS_CORE.Osai
return NO_ERROR;
}
public override CmsError FILES_UploadPartProgram(string localPath, string name, ref string newFilePath)
{
// Open file
FileStream fileStream = new FileStream(localPath + "\\" + name, FileMode.Open);
newFilePath = NC_PROGRAM_UPLOAD_PATH + "\\" + name;
// Transfer file on NC
CmsError cmsError = FILES_WProgramFromFile(NC_PROGRAM_UPLOAD_PATH + newFilePath, fileStream);
if (cmsError.IsError())
return cmsError;
fileStream.Close();
return NO_ERROR;
}
public override CmsError FILES_RProgramToFile(string partProgramPath, FileStream localFile)
{
string partProgramContent = "";
@@ -2214,7 +2214,7 @@ namespace CMS_CORE.Osai
//Setup the name if is empty
if (string.IsNullOrEmpty(partProgramPath))
partProgramPath = PROGRAM_UPLOAD_DIRECTORY_PATH + localFile.Name;
partProgramPath = NC_PROGRAM_UPLOAD_PATH + localFile.Name;
// Write/Overwrite Nc file
return FILES_WProgram(partProgramPath, partProgramContent);
@@ -3431,36 +3431,30 @@ namespace CMS_CORE.Osai
}
//Get Image files
private CmsError FILE_PPImage(string PP_Name, ref string base64Image)
{
base64Image = "";
//Check if exists the directory
if (!Directory.Exists(LOCAL_IMAGES_DIRECTORY_PATH))
Directory.CreateDirectory(LOCAL_IMAGES_DIRECTORY_PATH);
//Check if exists the file
DirectoryInfo DirToSearch = new DirectoryInfo(LOCAL_IMAGES_DIRECTORY_PATH);
FileInfo[] filesInDir = DirToSearch.GetFiles(PP_Name + ".*");
foreach (FileInfo foundFile in filesInDir)
{
if(EXT_IMG.Contains(foundFile.Extension.TrimStart('.').ToUpper()))
{
base64Image = "data:image/" + foundFile.Extension + ";base64," + Convert.ToBase64String(System.IO.File.ReadAllBytes(foundFile.FullName));
break;
}
}
////Get Image files
//private CmsError FILE_PPImage(string PP_Name, ref string base64Image)
//{
// base64Image = "";
return NO_ERROR;
}
// //Check if exists the file
// DirectoryInfo DirToSearch = new DirectoryInfo(IMAGES_PATH);
// FileInfo[] filesInDir = DirToSearch.GetFiles(PP_Name + ".*");
// foreach (FileInfo foundFile in filesInDir)
// {
// if(EXT_IMG.Contains(foundFile.Extension.TrimStart('.').ToUpper()))
// {
// base64Image = "data:image/" + foundFile.Extension + ";base64," + Convert.ToBase64String(System.IO.File.ReadAllBytes(foundFile.FullName));
// break;
// }
// }
// return NO_ERROR;
//}
//Get Program Path without extension
private string getFilepathWithoutExt(string path)
private string GetFilepathWithoutExt(string path)
{
String name = path.Split('\\').LastOrDefault();
String ext = name.Split('.').LastOrDefault();
+16 -3
View File
@@ -111,6 +111,7 @@ namespace CMS_CORE.Siemens
public static uint multitoolsNumber = 0;
public const string BASE_FILE_PATH = "//NC/";
public const string NC_FILE_PATH = "MPF.DIR";
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1919,7 +1920,6 @@ namespace CMS_CORE.Siemens
fileSvc.Select(selectedNode, processId);
return FILES_RActiveProgramData(processId, ref data);
}
catch (Exception ex)
{
@@ -1980,7 +1980,6 @@ namespace CMS_CORE.Siemens
return NO_ERROR;
}
private IEnumerable<string> GetLinesFromString(string text)
{
string line;
@@ -1992,6 +1991,20 @@ namespace CMS_CORE.Siemens
}
}
}
public override CmsError FILES_UploadPartProgram(string localPath, string name, ref string newFilePath)
{
// Open file
FileStream fileStream = new FileStream(localPath + "\\" + name, FileMode.Open);
newFilePath = NC_FILE_PATH + "/" + name;
// Transfer file on NC
CmsError cmsError = FILES_WProgramFromFile(BASE_FILE_PATH + newFilePath, fileStream);
if (cmsError.IsError())
return cmsError;
fileStream.Close();
return NO_ERROR;
}
public override CmsError FILES_CopyProgram(string partProgramPath, string newPartProgramPath, bool failIfExist)
{
@@ -3536,7 +3549,7 @@ namespace CMS_CORE.Siemens
private void MagazineAction_OnChange(Guid guid, Item item, DataSvcStatus status)
{
if(Int32.TryParse(item.Value.ToString(), out int action))
if (Int32.TryParse(item.Value.ToString(), out int action))
switch (action)
{
case 1: