diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index 59fe3c6b..7b3ae031 100644 Binary files a/Libs/CMS_CORE_Library.dll and b/Libs/CMS_CORE_Library.dll differ diff --git a/Step.Core/ThreadsFunctions.cs b/Step.Core/ThreadsFunctions.cs index a9c7946c..5281e239 100644 --- a/Step.Core/ThreadsFunctions.cs +++ b/Step.Core/ThreadsFunctions.cs @@ -664,6 +664,12 @@ public static class ThreadsFunctions ManageLibraryError(libraryError); MessageServices.Current.Publish(NC_MAGAZINE_IS_ACTIVE, null, status); + + libraryError = ncHandler.ReadAssistedToolingProcedure(out DTOAssistedToolingEndValueModel data); + if (libraryError.IsError()) + ManageLibraryError(libraryError); + + MessageServices.Current.Publish(ASSISTED_TOOLING_DATA, null, status); } else RestoreConnection(); @@ -775,7 +781,7 @@ public static class ThreadsFunctions // Try connection CmsError libraryError = ncHandler.Connect(); if (libraryError.errorCode != 0) - ManageLibraryError(libraryError); + ManageLibraryError(libraryError); while (true) { @@ -856,7 +862,7 @@ public static class ThreadsFunctions } else //MTC { - string stringVal = "Path_" + m154.Process + "_"; + string stringVal = "Path_0" + m154.Process + "_"; string val = ""; // Check if command is MTC diff --git a/Step.Model/Constants.cs b/Step.Model/Constants.cs index a6e7ee3b..46a648eb 100644 --- a/Step.Model/Constants.cs +++ b/Step.Model/Constants.cs @@ -197,6 +197,7 @@ namespace Step.Model public const string SEND_QUEUE_DATA = "SEND_QUEUE_DATA"; public const string SEND_M155_DATA = "SEND_M155_DATA"; public const string SEND_SCADA_DATA = "SEND_SCADA_DATA"; + public const string ASSISTED_TOOLING_DATA = "ASSISTED_TOOLING_DATA"; public const string BROADCAST_DATA = "BROADCAST_DATA"; diff --git a/Step.Model/DTOModels/DTOHeadModel.cs b/Step.Model/DTOModels/DTOHeadModel.cs index 4abf19ff..d114705d 100644 --- a/Step.Model/DTOModels/DTOHeadModel.cs +++ b/Step.Model/DTOModels/DTOHeadModel.cs @@ -60,7 +60,7 @@ public class DTOSpindleModel : DTOHeadModel { public int ActualSpeed; - public ushort Load; + public short Load; public ushort MountedTool; public DTOToolInSpindleModel ToolData; diff --git a/Step.Model/DTOModels/ToolModels/DTOAssistedToolingModel.cs b/Step.Model/DTOModels/ToolModels/DTOAssistedToolingModel.cs new file mode 100644 index 00000000..65fd560e --- /dev/null +++ b/Step.Model/DTOModels/ToolModels/DTOAssistedToolingModel.cs @@ -0,0 +1,37 @@ +using static CMS_CORE_Library.Models.DataStructures; + +namespace Step.Model.DTOModels.ToolModels +{ + public class DTOAssistedToolingModel + { + public ushort ToolId { get; set; } + public ushort MagazineId { get; set; } + public ushort PositionId { get; set; } + public ASSISTED_TOOLING_ACTION Action { get; set; } + } + + public class DTOAssistedToolingEndValueModel : AssistedToolingModel + { + public override bool Equals(object obj) + { + var item = obj as DTOAssistedToolingEndValueModel; + + if (IsActive != item.IsActive) + return false; + + if (ToolId != item.ToolId) + return false; + + if (MagazineId != item.MagazineId) + return false; + + if (PositionId != item.PositionId) + return false; + + if (Action != item.Action) + return false; + + return true; + } + } +} \ No newline at end of file diff --git a/Step.Model/Step.Model.csproj b/Step.Model/Step.Model.csproj index 3d048a37..22042050 100644 --- a/Step.Model/Step.Model.csproj +++ b/Step.Model/Step.Model.csproj @@ -112,6 +112,7 @@ + diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index 2baee191..ce262909 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -1350,7 +1350,7 @@ namespace Step.NC inAlarm = vacumValue >= configuredHead.AlarmLimit, OverrideEditable = head.OverrideEditable, ActualPressure = head.ActualSpeed_Pressure, - Abrasive = head.Load_Abrasive, + Abrasive = Convert.ToUInt16(head.Load_Abrasive), Vacum = vacumValue, Override = head.Override, IsActive = head.IsActive, @@ -1405,7 +1405,7 @@ namespace Step.NC return NO_ERROR; } - public CmsError GetM154Data(out List data, out bool MTCStatus) + public CmsError GetM154Data(out List data, out bool MTCStatus) { MTCStatus = false; data = new List(); @@ -1511,7 +1511,7 @@ namespace Step.NC if (cmsError.IsError()) return cmsError; - if (NcConfig.NcVendor != NC_VENDOR.SIEMENS) + if (NcConfig.NcVendor != NC_VENDOR.SIEMENS && NcConfig.NcVendor != NC_VENDOR.DEMO) { config.FamilyOptionActive = true; config.MultitoolOptionActive = true; @@ -2481,8 +2481,26 @@ namespace Step.NC return numericalControl.TOOLS_RMagazineStatus(ref status); } + public CmsError StartAssistedToolingProcedure(ushort toolId, ushort magazineId, ushort positionId, ASSISTED_TOOLING_ACTION action) + { + return numericalControl.PLC_WAssistedToolingCmd(toolId, magazineId, positionId, action); + } + + public CmsError ReadAssistedToolingProcedure(out DTOAssistedToolingEndValueModel data) + { + data = new DTOAssistedToolingEndValueModel(); + AssistedToolingModel tmpData = new AssistedToolingModel(); + CmsError cmsError = numericalControl.PLC_RAssistedToolingData(ref tmpData); + if (cmsError.IsError()) + return cmsError; + + data = tmpData as DTOAssistedToolingEndValueModel; + + return cmsError; + } + #endregion Osai/Fanuc Tools - + public CmsError ReadScadasData(List schemasToRead, out List scadas) { CmsError cmsError = NO_ERROR; diff --git a/Step/Controllers/WebApi/NcToolManagerController.cs b/Step/Controllers/WebApi/NcToolManagerController.cs index a24e6ceb..670ea173 100644 --- a/Step/Controllers/WebApi/NcToolManagerController.cs +++ b/Step/Controllers/WebApi/NcToolManagerController.cs @@ -874,6 +874,20 @@ namespace Step.Controllers.WebApi } } + [Route("assisted_tooling/"), HttpPost] + public IHttpActionResult StartAssistedTooling(DTOAssistedToolingModel data) + { + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + + CmsError cmsError = ncHandler.StartAssistedToolingProcedure(data.ToolId, data.MagazineId, data.PositionId, data.Action); + if (cmsError.IsError()) + return BadRequest(cmsError.localizationKey); + + return Ok(); + } + } private bool ToolIsInSpindle(int toolId) { diff --git a/Step/Listeners/Database/SignalRDatabaseHandler.cs b/Step/Listeners/Database/SignalRDatabaseHandler.cs index f19162cb..38f504ec 100644 --- a/Step/Listeners/Database/SignalRDatabaseHandler.cs +++ b/Step/Listeners/Database/SignalRDatabaseHandler.cs @@ -6,6 +6,7 @@ using Step.Model.DTOModels.ToolModels; using Step.NC; using System.Collections.Generic; using System.Linq; +using static CMS_CORE_Library.Models.DataStructures; using static Step.Listeners.SignalRStaticObjects; using static Step.Model.Constants; @@ -222,5 +223,15 @@ namespace Step.Listeners.Database } } } + + public static void ManageAssisedToolingProcedure(object assTool) + { + AssistedToolingModel assToolingData = assTool as AssistedToolingModel; + if(assToolingData != null) + { + + } + + } } } \ No newline at end of file diff --git a/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.ts b/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.ts index 15bf0130..6cd950d8 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.ts +++ b/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.ts @@ -271,9 +271,7 @@ export default class toolingEquipment extends Vue { this.enableAddEdge = true; } } - // else{ - // this.enableAddOffset(); - // } + history.pushState(null,"","/index.html#/tooling-equipment"); } @@ -301,16 +299,26 @@ export default class toolingEquipment extends Vue { public addTool() { let newTool = {}; - this.selectedTool = Object.assign({}, newTool) - this.enableToolCreation = true; + console.log("entro") - this.enableToolModify = false - this.enableOffsets = false - this.enableParameters = false - this.disableList = true - - this.newToolId = 1 - this.newFamilyId = 0 + if(!this.isSiemens){ + this.selectedTool = Object.assign({}, newTool) + this.enableToolCreation = true; + this.enableToolModify = false + this.enableOffsets = false + this.enableParameters = false + this.disableList = true + this.newToolId = 1 + this.newFamilyId = 0 + } + else { + this.fieldTool(newTool); + this.selectedTool = Object.assign({}, newTool) + this.enableToolModify = true + this.enableOffsets = false + this.enableParameters = true + this.disableList = true + } } public getDynamicFields(tooltype: string): Array { diff --git a/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.vue b/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.vue index 0a482d67..2483257b 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.vue +++ b/Step/wwwroot/src/app_modules/tooling/components/tooling-equipment.vue @@ -20,12 +20,27 @@ +
- +
- +