From e79d8b3df8c55a4c5c43e33ccca586913d76ae0e Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Fri, 21 Dec 2018 12:43:05 +0000 Subject: [PATCH] Fix fanuc indexes WIP scada --- CMS_CORE_Library/Demo/Nc_Demo.cs | 4 +-- CMS_CORE_Library/Fanuc/Nc_Fanuc.cs | 39 +++++++++++++------------- CMS_CORE_Library/Models/NcToolModel.cs | 2 -- CMS_CORE_Library/Nc.cs | 2 +- CMS_CORE_Library/Osai/Nc_Osai.cs | 4 +-- CMS_CORE_Library/Siemens/Nc_Siemens.cs | 2 +- 6 files changed, 26 insertions(+), 27 deletions(-) diff --git a/CMS_CORE_Library/Demo/Nc_Demo.cs b/CMS_CORE_Library/Demo/Nc_Demo.cs index 5f67f5d..0282166 100644 --- a/CMS_CORE_Library/Demo/Nc_Demo.cs +++ b/CMS_CORE_Library/Demo/Nc_Demo.cs @@ -877,7 +877,7 @@ namespace CMS_CORE_Library.Demo value = val; } - else if(memType == SCADA_MEM_TYPE.INT) + else if(memType == SCADA_MEM_TYPE.WORD) { // READ WORD ushort val = 0; CmsError cmsError = MEM_RWWord(R, 0, MEMORY_TYPE.Demo, Convert.ToInt32(index[0]), ref val); @@ -2859,7 +2859,7 @@ namespace CMS_CORE_Library.Demo return NO_ERROR; } - public override CmsError TOOLS_GetMagazinesStatus(ref MagazineActionModel magazineAction) + public override CmsError TOOLS_RMagazineAction(ref MagazineActionModel magazineAction) { // Check if the NC Demo is Connected CmsError cmsError = CheckConnection(); diff --git a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs index 49546be..701e630 100644 --- a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs +++ b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs @@ -2683,7 +2683,7 @@ namespace CMS_CORE_Library.Fanuc return NO_ERROR; } - public override CmsError TOOLS_GetMagazinesStatus(ref MagazineActionModel magazineAction) + public override CmsError TOOLS_RMagazineAction(ref MagazineActionModel magazineAction) { byte actionId = 0; CmsError cmsError = MEM_RWByte(R, 0, MAGAZINE_ACTION.MemType, MAGAZINE_ACTION.Address, 0, ref actionId); @@ -2740,7 +2740,7 @@ namespace CMS_CORE_Library.Fanuc // Read data -> 5 status word (10 byte), 10 magazine max position word List readShorts = new List(); - cmsError = MEM_RWWordList(R, 0, MAGAZINE_TYPES.MemType, MAGAZINE_TYPES.Address, 15, ref readShorts); + cmsError = MEM_RWWordList(R, 0, MAGAZINE_TYPES.MemType, MAGAZINE_TYPES.Address, 30, ref readShorts); if (cmsError.IsError()) return cmsError; @@ -2752,7 +2752,7 @@ namespace CMS_CORE_Library.Fanuc for (int i = 0; i < 10; i++) { // Check if there are positions (skip the 5 status word) - if (readShorts[i + 5] > 0) + if (readShorts[i + 10] > 0) config.Add(new NcMagazineConfigModel() { Id = (byte)(i + 1), @@ -4022,31 +4022,34 @@ namespace CMS_CORE_Library.Fanuc internal static MEMORY_CELL HEADS_STROBE_DECREMENT = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 52927, 4); // Tool manager areas - internal static MEMORY_CELL TOOL_MANAGER_COMMAND = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 53000, 2); + + internal static MEMORY_CELL MAGAZINE_ACTION = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54000, 16); - internal static MEMORY_CELL TOOL_MANAGER_STATUS = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 53002, 2); + internal static MEMORY_CELL TOOL_MANAGER_COMMAND = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54013, 2); - internal static MEMORY_CELL TOOL_MANAGER_OPTIONS = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 53004, 2); + internal static MEMORY_CELL TOOL_MANAGER_STATUS = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 45015, 2); - internal static MEMORY_CELL MAGAZINE_TYPES = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 53062, 4); - internal static MEMORY_CELL MAGAZINE_POSITIONS_NUMBER = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 53082, 4); + internal static MEMORY_CELL TOOL_MANAGER_OPTIONS = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54017, 2); + + internal static MEMORY_CELL MAGAZINE_TYPES = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54058, 0); + internal static MEMORY_CELL MAGAZINE_POSITIONS_NUMBER = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54078, 0); - internal static MEMORY_CELL MAGAZINES_ENABLED_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 53102, 2); - internal static MEMORY_CELL MAGAZINES_TOOLING_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 53106, 2); + internal static MEMORY_CELL MAGAZINES_ENABLED_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54118, 2); + internal static MEMORY_CELL MAGAZINES_TOOLING_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54122, 2); - internal static MEMORY_CELL TOOL_STATUS_UPDATED_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 13003, 2); - internal static MEMORY_CELL TOOL_LIFE_UPDATED_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 13005, 2); - internal static MEMORY_CELL TOOL_STATUS_UPDATED_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 13007, 2); - internal static MEMORY_CELL TOOL_LIFE_UPDATED_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 13009, 2); + internal static MEMORY_CELL TOOL_STATUS_UPDATED_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54037, 4); + internal static MEMORY_CELL TOOL_LIFE_UPDATED_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54041, 4); + internal static MEMORY_CELL TOOL_STATUS_UPDATED_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54045, 4); + internal static MEMORY_CELL TOOL_LIFE_UPDATED_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 54049, 4); - internal static MEMORY_CELL TOOL_STATUS_UPDATED_DATA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 13011, 10); - internal static MEMORY_CELL TOOL_LIFE_UPDATED_DATA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 13022, 40); + internal static MEMORY_CELL TOOL_STATUS_UPDATED_DATA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 0, 10); + internal static MEMORY_CELL TOOL_LIFE_UPDATED_DATA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 0, 40); // Tool table indexes internal static MEMORY_CELL TOOL_TABLE_INDEX = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 35000, 6900); internal static MEMORY_CELL FAMILY_TABLE_INDEX = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 42000, 7500); internal static MEMORY_CELL SHANK_TABLE_INDEX = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 49600, 2100); - internal static MEMORY_CELL MAG_POS_TABLE_INDEX = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 51800, 1200); + internal static MEMORY_CELL MAG_POS_TABLE_INDEX = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 53000, 1200); internal static MEMORY_CELL COUNTERS_DATA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 0, 64); internal static MEMORY_CELL COUNTERS_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 0, 2); @@ -4054,7 +4057,5 @@ namespace CMS_CORE_Library.Fanuc internal static MEMORY_CELL OPERATOR_INPUT_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 0, 1); internal static MEMORY_CELL MTCONNECT_DATA_NEEDED = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 0, 1); - - internal static MEMORY_CELL MAGAZINE_ACTION = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, 0, 16); } } \ No newline at end of file diff --git a/CMS_CORE_Library/Models/NcToolModel.cs b/CMS_CORE_Library/Models/NcToolModel.cs index b31cebb..f936995 100644 --- a/CMS_CORE_Library/Models/NcToolModel.cs +++ b/CMS_CORE_Library/Models/NcToolModel.cs @@ -175,8 +175,6 @@ namespace CMS_CORE_Library.Models public ushort PositionId { get; set; } public byte Type { get; set; } - - public byte Disabled { get; set; } } // If u need to order properties, use the code below diff --git a/CMS_CORE_Library/Nc.cs b/CMS_CORE_Library/Nc.cs index 58aa183..776a1dd 100644 --- a/CMS_CORE_Library/Nc.cs +++ b/CMS_CORE_Library/Nc.cs @@ -1608,7 +1608,7 @@ namespace CMS_CORE_Library * Returns an error when an internal or a library error occours **/ - public abstract CmsError TOOLS_GetMagazinesStatus(ref MagazineActionModel magazineAction); + public abstract CmsError TOOLS_RMagazineAction(ref MagazineActionModel magazineAction); #endregion Tool Table Siemens diff --git a/CMS_CORE_Library/Osai/Nc_Osai.cs b/CMS_CORE_Library/Osai/Nc_Osai.cs index 9575b6a..805b3eb 100644 --- a/CMS_CORE_Library/Osai/Nc_Osai.cs +++ b/CMS_CORE_Library/Osai/Nc_Osai.cs @@ -2544,7 +2544,7 @@ namespace CMS_CORE_Library.Osai return NO_ERROR; } - public override CmsError TOOLS_GetMagazinesStatus(ref MagazineActionModel magazineAction) + public override CmsError TOOLS_RMagazineAction(ref MagazineActionModel magazineAction) { return NO_ERROR; } @@ -3131,7 +3131,7 @@ namespace CMS_CORE_Library.Osai MagazineId = byte.Parse(x[0]), PositionId = byte.Parse(x[1]), Type = byte.Parse(x[2]), - Disabled = byte.Parse(x[3]) > 0 ? (byte)1 : (byte)0 + // Disabled = byte.Parse(x[3]) > 0 ? (byte)1 : (byte)0 }).ToList(); return NO_ERROR; diff --git a/CMS_CORE_Library/Siemens/Nc_Siemens.cs b/CMS_CORE_Library/Siemens/Nc_Siemens.cs index c53f578..54d1663 100644 --- a/CMS_CORE_Library/Siemens/Nc_Siemens.cs +++ b/CMS_CORE_Library/Siemens/Nc_Siemens.cs @@ -3598,7 +3598,7 @@ namespace CMS_CORE_Library.Siemens return null; } - public override CmsError TOOLS_GetMagazinesStatus(ref MagazineActionModel magazineAction) + public override CmsError TOOLS_RMagazineAction(ref MagazineActionModel magazineAction) { magazineAction = MagazineAction; return NO_ERROR;