From cdc4ef205801097f6a3fed2453f5eee596942e0b Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Fri, 31 May 2019 10:37:49 +0000 Subject: [PATCH] Added MDI function --- CMS_CORE_Application/Form1.cs | 12 ++---------- CMS_CORE_Library/Demo/Nc_Demo.cs | 5 +++++ CMS_CORE_Library/Fanuc/Nc_Fanuc.cs | 15 ++++++++++++++- CMS_CORE_Library/Nc.cs | 2 ++ CMS_CORE_Library/Osai/Nc_Osai.cs | 14 ++++++++++++++ CMS_CORE_Library/Siemens/Nc_Siemens.cs | 19 +++++++++++++++++++ 6 files changed, 56 insertions(+), 11 deletions(-) diff --git a/CMS_CORE_Application/Form1.cs b/CMS_CORE_Application/Form1.cs index ece207a..f1045ae 100644 --- a/CMS_CORE_Application/Form1.cs +++ b/CMS_CORE_Application/Form1.cs @@ -78,13 +78,7 @@ namespace CMS_CORE_Application MessageBox.Show(cmsError.localizationKey); cmsError = N.NC_RModelName(ref ModelName); List val = new List(); - N.MEM_RWDWordList(false, 0, Nc.MEMORY_TYPE.Demo, 1, 2, ref val); - cmsError = N.NC_WLanguage(new System.Globalization.CultureInfo("it")); - PROGRAM_TYPE_ENUM enuma = PROGRAM_TYPE_ENUM.JOB; - cmsError = N.FILES_RGetProgramType(ref enuma); - SelectedProcessData dt = new SelectedProcessData(); - cmsError = N.PROC_RSelectedProcessData(1, ref dt); bool error = false; string serial = ""; @@ -124,10 +118,8 @@ namespace CMS_CORE_Application ////////////////////////////////////////////////////////////// TEST Stopwatch st = new Stopwatch(); sw.Restart(); - CultureInfo info = new CultureInfo("en"); - N.NC_RLanguage(ref info); - string a = ""; - cmsError = N.NC_RUnitOfMeasure(ref a); + + cmsError = N.NC_WMDICommand(1, "X0"); sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); diff --git a/CMS_CORE_Library/Demo/Nc_Demo.cs b/CMS_CORE_Library/Demo/Nc_Demo.cs index b78579d..c5dcbb1 100644 --- a/CMS_CORE_Library/Demo/Nc_Demo.cs +++ b/CMS_CORE_Library/Demo/Nc_Demo.cs @@ -335,6 +335,11 @@ namespace CMS_CORE_Library.Demo return NO_ERROR; } + public override CmsError NC_WMDICommand(int processId, string mdiString) + { + return NO_ERROR; + } + #endregion High level methods /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs index 8c8577c..53ce562 100644 --- a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs +++ b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs @@ -482,6 +482,20 @@ namespace CMS_CORE_Library.Fanuc return NO_ERROR; } + public override CmsError NC_WMDICommand(int processId, string mdiString) + { + //Check if the NC is Connected + CmsError cmsError = CheckConnection(); + if (cmsError.IsError()) + return cmsError; + + short nReturn = Focas1.cnc_wrmdiprog(nLibHandle[processId - 1], (short)mdiString.Count(), mdiString.ToArray()); + if (nReturn != 0) + return GetNcError(nReturn); + + return NO_ERROR; + } + #endregion High level methods /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -813,7 +827,6 @@ namespace CMS_CORE_Library.Fanuc return NO_ERROR; } - public override CmsError PLC_RWorkedTimeHead(int head, ref uint time) { int index = (head - 1) * 4; diff --git a/CMS_CORE_Library/Nc.cs b/CMS_CORE_Library/Nc.cs index 4336dee..42dc494 100644 --- a/CMS_CORE_Library/Nc.cs +++ b/CMS_CORE_Library/Nc.cs @@ -359,6 +359,8 @@ namespace CMS_CORE_Library public abstract CmsError NC_RParam(short Index, ref double Value); + public abstract CmsError NC_WMDICommand(int processId, string mdiString); + #endregion NC Low-level data (to override) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/CMS_CORE_Library/Osai/Nc_Osai.cs b/CMS_CORE_Library/Osai/Nc_Osai.cs index b2c7737..6fbe32a 100644 --- a/CMS_CORE_Library/Osai/Nc_Osai.cs +++ b/CMS_CORE_Library/Osai/Nc_Osai.cs @@ -457,6 +457,20 @@ namespace CMS_CORE_Library.Osai } } + public override CmsError NC_WMDICommand(int processId, string mdiString) + { + //Check if the NC is Connected + CmsError cmsError = CheckConnection(); + if (cmsError.IsError()) + return cmsError; + + ushort nReturn = OpenNC.SetMdiString((ushort)processId, mdiString, out uint errorClass, out uint errorNum); + if (errorClass != 0 || errorNum != 0 || nReturn == 0) + return GetNCError(errorClass, errorNum); + + return NO_ERROR; + } + #endregion High-level Methods /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/CMS_CORE_Library/Siemens/Nc_Siemens.cs b/CMS_CORE_Library/Siemens/Nc_Siemens.cs index e7d9b89..b5b849b 100644 --- a/CMS_CORE_Library/Siemens/Nc_Siemens.cs +++ b/CMS_CORE_Library/Siemens/Nc_Siemens.cs @@ -655,6 +655,25 @@ namespace CMS_CORE_Library.Siemens return NO_ERROR; } + public override CmsError NC_WMDICommand(int processId, string mdiString) + { + // Check if the NC is Connected + CmsError cmsError = CheckConnection(); + if (cmsError.IsError()) + return cmsError; + try + { + FileSvc fileSvc = new FileSvc(); + fileSvc.WriteMdaBuffer(processId, mdiString); + } + catch(Exception ex) + { + return ManageException(ex); + } + + return NO_ERROR; + } + #endregion High level methods ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////