From 0efb99dc30b29d5db6cc573b9e055aab4ef3994d Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Thu, 14 Mar 2019 12:26:12 +0000 Subject: [PATCH] WIP Assisted tooling --- CMS_CORE_Application/Form1.cs | 2 +- CMS_CORE_Library/Fanuc/Nc_Fanuc.cs | 16 ++++++++++------ CMS_CORE_Library/Models/DataStructures.cs | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/CMS_CORE_Application/Form1.cs b/CMS_CORE_Application/Form1.cs index 576a2fe..e9afc85 100644 --- a/CMS_CORE_Application/Form1.cs +++ b/CMS_CORE_Application/Form1.cs @@ -154,7 +154,7 @@ namespace CMS_CORE_Application if ((200 - (int)sw.ElapsedMilliseconds) < 0) Debug.WriteLine("Ritardo " + sw.ElapsedMilliseconds); - Thread.Sleep(2000); + Thread.Sleep(50); } } diff --git a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs index 2992cb6..bd1aa5c 100644 --- a/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs +++ b/CMS_CORE_Library/Fanuc/Nc_Fanuc.cs @@ -1134,14 +1134,14 @@ namespace CMS_CORE_Library.Fanuc return cmsError; // Write strobe to start procedure - return PLC_WStrobe(ASSISTED_TOOLING_FINAL_VALUE, ASSISTED_TOOLING_STROBE_ACTIVE, 1); + return PLC_WStrobe(PLC_ASSISTED_TOOLING_STROBE, HMI_ASSISTED_TOOLING_STROBE, (uint)HMI_ASSISTED_TOOLING_STROBE.SubAddress + 1); } public override CmsError PLC_RAssistedToolingData(ref AssistedToolingModel data) { byte procFinalValue = 0; // Read procedure final value - CmsError cmsError = MEM_RWByte(R, 0, ASSISTED_TOOLING_FINAL_VALUE.MemType, ASSISTED_TOOLING_FINAL_VALUE.Address, 0, ref procFinalValue); + CmsError cmsError = MEM_RWByte(R, 0, PLC_ASSISTED_TOOLING_STROBE.MemType, PLC_ASSISTED_TOOLING_STROBE.Address, 0, ref procFinalValue); if (cmsError.IsError()) return cmsError; @@ -1167,7 +1167,7 @@ namespace CMS_CORE_Library.Fanuc data = new AssistedToolingModel() { - IsActive = GetBitValue(procFinalValue, 1), + IsActive = true, ToolId = values[0], MagazineId = values[1], PositionId = values[2], @@ -1181,7 +1181,9 @@ namespace CMS_CORE_Library.Fanuc public override CmsError PLC_WTerminateAssistedToolingProcedure() { // Terminate procedure with ACK-STROBE method - CmsError cmsError = PLC_WStrobe(ASSISTED_TOOLING_STROBE_ACTIVE, ASSISTED_TOOLING_FINAL_VALUE, 2); + CmsError cmsError = PLC_ManageActiveAck(PLC_ASSISTED_TOOLING_STROBE.Address, PLC_ASSISTED_TOOLING_STROBE.SubAddress, + HMI_ASSISTED_TOOLING_ACK.Address, HMI_ASSISTED_TOOLING_ACK.SubAddress, + PLC_ASSISTED_TOOLING_STROBE.MemType); if (cmsError.IsError()) return cmsError; @@ -4517,9 +4519,11 @@ namespace CMS_CORE_Library.Fanuc internal static MEMORY_CELL MAGAZINES_TOOLING_CMD = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4217, 4); internal static MEMORY_CELL ASSISTED_TOOLING_DATA = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4222, 7); - internal static MEMORY_CELL ASSISTED_TOOLING_STROBE_ACTIVE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4229, 1); + internal static MEMORY_CELL HMI_ASSISTED_TOOLING_STROBE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4229, 0, 1); + internal static MEMORY_CELL HMI_ASSISTED_TOOLING_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4229, 1, 1); - internal static MEMORY_CELL ASSISTED_TOOLING_FINAL_VALUE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4230, 1); + internal static MEMORY_CELL PLC_ASSISTED_TOOLING_ACK = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4230, 1, 1); + internal static MEMORY_CELL PLC_ASSISTED_TOOLING_STROBE = new MEMORY_CELL(MEMORY_TYPE.Fanuc_R, STARTING_ADDRESS + 4230, 1, 1); // Tool table indexes internal static MEMORY_CELL TOOL_TABLE_INDEX = new MEMORY_CELL(MEMORY_TYPE.Fanuc_D, 10000, 6900); diff --git a/CMS_CORE_Library/Models/DataStructures.cs b/CMS_CORE_Library/Models/DataStructures.cs index 2d502df..4b3773d 100644 --- a/CMS_CORE_Library/Models/DataStructures.cs +++ b/CMS_CORE_Library/Models/DataStructures.cs @@ -155,8 +155,8 @@ namespace CMS_CORE_Library.Models public enum ASSISTED_TOOLING_ACTION { NONE = 0, - UNLOAD = 1, - EXCHANGE = 2 + EXCHANGE = 1, + UNLOAD = 2 } public static IFormatProvider numberFormat = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();