diff --git a/Client/View/OpeningForm.cs b/Client/View/OpeningForm.cs index 9160ba04..7d177ce9 100644 --- a/Client/View/OpeningForm.cs +++ b/Client/View/OpeningForm.cs @@ -34,7 +34,11 @@ namespace CMS_Client.View //Constructor public OpeningForm() { - InitializeComponent(); + InitializeComponent(); + + //Setup The Browser + if (!SetupBrowser()) + return; //Set window Position this.Location = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2)); @@ -144,10 +148,6 @@ namespace CMS_Client.View //Set App Opacity setOpacity(1); - //Setup The Browser - if (!SetupBrowser()) - return; - //Close the Window closeWindow(); } diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index b6b94c4c..3a7c79f4 100644 Binary files a/Libs/CMS_CORE_Library.dll and b/Libs/CMS_CORE_Library.dll differ diff --git a/Step.Config/Config/toolManagerConfig.xml b/Step.Config/Config/toolManagerConfig.xml index 55ede02f..ac6973c9 100644 --- a/Step.Config/Config/toolManagerConfig.xml +++ b/Step.Config/Config/toolManagerConfig.xml @@ -1,7 +1,7 @@  - false + true false true false @@ -52,13 +52,15 @@ 1 - + true + Magazine 1 Magazzino 1 2 + true Magazine 2 Magazzino 2 @@ -66,6 +68,7 @@ 3 + true Magazine 3 Magazzino 3 diff --git a/Step.Config/Config/toolManagerConfigValidator.xsd b/Step.Config/Config/toolManagerConfigValidator.xsd index 3f78cb7f..b9432357 100644 --- a/Step.Config/Config/toolManagerConfigValidator.xsd +++ b/Step.Config/Config/toolManagerConfigValidator.xsd @@ -110,6 +110,7 @@ + @@ -118,7 +119,7 @@ - + diff --git a/Step.Database/Controllers/NcToolManagerController.cs b/Step.Database/Controllers/NcToolManagerController.cs index 48e13ee5..1644b5f5 100644 --- a/Step.Database/Controllers/NcToolManagerController.cs +++ b/Step.Database/Controllers/NcToolManagerController.cs @@ -484,7 +484,7 @@ namespace Step.Database.Controllers dbCtx.Shanks.Attach(shank); // Set ids with new positions shank.MagazineId = magazineId; - shank.PositionId = positionId; + //shank.PositionId = positionId; // Set original Ids shank.OriginMagazineId = magazineId; shank.OriginPositionId = positionId; @@ -520,7 +520,7 @@ namespace Step.Database.Controllers return GetShank(shankId); } - public DTONcShankModel UnloadToolFromShank(DbNcToolModel tool) + public DTONcShankModel UnloadToolFromShank(DbNcToolModel tool) { dbCtx.Tools.Attach(tool); int? shankId = tool.ShankId; diff --git a/Step.Model/ConfigModels/MagazineNamesModel.cs b/Step.Model/ConfigModels/MagazineNamesModel.cs index f36fb4bd..f71c4338 100644 --- a/Step.Model/ConfigModels/MagazineNamesModel.cs +++ b/Step.Model/ConfigModels/MagazineNamesModel.cs @@ -10,6 +10,8 @@ namespace Step.Model.ConfigModels { public int MagazineId { get; set; } + public bool AssistedTooling { get; set; } + public Dictionary LocalizedNames { get; set; } } } diff --git a/Step.Model/DTOModels/DTOHeadModel.cs b/Step.Model/DTOModels/DTOHeadModel.cs index d114705d..b46557e1 100644 --- a/Step.Model/DTOModels/DTOHeadModel.cs +++ b/Step.Model/DTOModels/DTOHeadModel.cs @@ -1,4 +1,6 @@ -namespace Step.Model.DTOModels +using static CMS_CORE_Library.Models.DataStructures; + +namespace Step.Model.DTOModels { public class DTOHeadModel { @@ -62,6 +64,8 @@ public int ActualSpeed; public short Load; public ushort MountedTool; + public bool Configured; + public ROTATION Rotation; public DTOToolInSpindleModel ToolData; public override bool Equals(object obj) @@ -82,6 +86,12 @@ if (MountedTool != item.MountedTool) return false; + if (Configured != item.Configured) + return false; + + if (Rotation != item.Rotation) + return false; + // Call Parent equals return base.Equals(item); } diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index c62542d2..35a2256c 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -150,7 +150,7 @@ namespace Step.NC else { string name = ""; - cmsError = numericalControl.PROC_RSelectedPPName(selectedProcess, ref name); + cmsError = numericalControl.PROC_RSelectedPPName(selectedProcess, ref name); if (cmsError.IsError()) return cmsError; @@ -1339,6 +1339,8 @@ namespace Step.NC IsActive = head.IsActive, IsSelected = head.IsSelected, AbrasiveIsActive = head.AbrasiveIsActive, + Configured = head.Configured, + Rotation = head.Rotation, ToolData = head.Tool == null ? null : new DTOToolInSpindleModel() { ChildId = head.Tool.ChildId, @@ -1520,13 +1522,23 @@ namespace Step.NC CmsError cmsError = numericalControl.TOOLS_RConfiguration(ref config); if (cmsError.IsError()) return cmsError; + + // Set magazine assisted tooling from config + foreach(var magConfig in ToolManagerConfig.MagazineNames) + { + var mag = config.Magazines.FirstOrDefault(x => magConfig.MagazineId == x.Id); + if (mag != null) + mag.AssistedToolingIsActive = magConfig.AssistedTooling; + } if (NcConfig.NcVendor != NC_VENDOR.SIEMENS && NcConfig.NcVendor != NC_VENDOR.DEMO) { + // Setup options config.FamilyOptionActive = true; config.MultitoolOptionActive = true; config.OffsetOptionActive = true; + // Add categories to be removed List categories = new List(); if (!ToolManagerConfig.ShankOpt) { @@ -1583,6 +1595,7 @@ namespace Step.NC if (!ToolManagerConfig.ReviveOpt) categories.Add("revive"); + // Remove category from configurations config.ToolsConfiguration = config.ToolsConfiguration.Where(x => !categories.Contains(x.Category)).ToList(); // Remove categories from familyConfig @@ -2490,9 +2503,9 @@ namespace Step.NC return numericalControl.TOOLS_RMagazineStatus(ref status); } - public CmsError StartAssistedToolingProcedure(ushort toolId, ushort magazineId, ushort positionId, ASSISTED_TOOLING_ACTION action) + public CmsError StartAssistedToolingProcedure(ushort toolId, ushort familyId, ushort shankId, ushort magazineId, ushort positionId, ASSISTED_TOOLING_ACTION action) { - return numericalControl.PLC_WAssistedToolingCmd(toolId, magazineId, positionId, action); + return numericalControl.PLC_WAssistedToolingCmd(toolId, familyId, shankId, magazineId, positionId, action); } public CmsError ReadAssistedToolingProcedure(out DTOAssistedToolingEndValueModel data) diff --git a/Step/Controllers/WebApi/ApiMaintenanceController.cs b/Step/Controllers/WebApi/ApiMaintenanceController.cs index 437e70df..2b4af1fa 100644 --- a/Step/Controllers/WebApi/ApiMaintenanceController.cs +++ b/Step/Controllers/WebApi/ApiMaintenanceController.cs @@ -342,6 +342,7 @@ namespace Step.Controllers.WebApi if (!File.Exists(MAINTENANCE_ATTACHMENT_PATH + attachment.LocalFileName)) return NotFound(); + return new FileResult(MAINTENANCE_ATTACHMENT_PATH + attachment.LocalFileName); } } diff --git a/Step/Controllers/WebApi/NcFileController.cs b/Step/Controllers/WebApi/NcFileController.cs index fda45f7a..417d2da3 100644 --- a/Step/Controllers/WebApi/NcFileController.cs +++ b/Step/Controllers/WebApi/NcFileController.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Net; +using System.Net; using System.Net.Http; using System.Threading.Tasks; using System.Web.Http; diff --git a/Step/Controllers/WebApi/NcToolManagerController.cs b/Step/Controllers/WebApi/NcToolManagerController.cs index 670ea173..0951c511 100644 --- a/Step/Controllers/WebApi/NcToolManagerController.cs +++ b/Step/Controllers/WebApi/NcToolManagerController.cs @@ -195,6 +195,7 @@ namespace Step.Controllers.WebApi } else { + defaultFamily.Id = toolId; // Add new family DbNcFamilyModel dbFam = toolsManager.AddFamily(defaultFamily); @@ -881,9 +882,16 @@ namespace Step.Controllers.WebApi { ncHandler.Connect(); - CmsError cmsError = ncHandler.StartAssistedToolingProcedure(data.ToolId, data.MagazineId, data.PositionId, data.Action); - if (cmsError.IsError()) - return BadRequest(cmsError.localizationKey); + using(NcToolManagerController toolsManager = new NcToolManagerController()) + { + var tool = toolsManager.FindTool(data.ToolId); + if (tool == null) + return BadRequest(); + + CmsError cmsError = ncHandler.StartAssistedToolingProcedure(data.ToolId, (ushort)tool.FamilyId, (ushort)tool.ShankId, data.MagazineId, data.PositionId, data.Action); + if (cmsError.IsError()) + return BadRequest(cmsError.localizationKey); + } return Ok(); } diff --git a/Step/wwwroot/src/@types/tooling.d.ts b/Step/wwwroot/src/@types/tooling.d.ts index 51b59b39..9a836b47 100644 --- a/Step/wwwroot/src/@types/tooling.d.ts +++ b/Step/wwwroot/src/@types/tooling.d.ts @@ -80,6 +80,7 @@ declare module server { type: number, name: string, loadingIsActive: boolean, + assistedToolingIsActive: boolean // signalRLoadingIsActive: boolean } diff --git a/Step/wwwroot/src/app_modules/production/components/head-production.vue b/Step/wwwroot/src/app_modules/production/components/head-production.vue index f2df9537..52ee4b87 100644 --- a/Step/wwwroot/src/app_modules/production/components/head-production.vue +++ b/Step/wwwroot/src/app_modules/production/components/head-production.vue @@ -4,7 +4,7 @@
{{title}}
- + @@ -84,7 +84,8 @@ export default { abrasiveIsActive: { default: true }, isActive: {default:false}, isSelected: {default:false}, - title: { default: "head 1"} + title: { default: "head 1"}, + rotation: { default: 0} }, // // data: function(){ // // return{ diff --git a/Step/wwwroot/src/app_modules/production/components/production.vue b/Step/wwwroot/src/app_modules/production/components/production.vue index 51fa44d0..77af5144 100644 --- a/Step/wwwroot/src/app_modules/production/components/production.vue +++ b/Step/wwwroot/src/app_modules/production/components/production.vue @@ -63,6 +63,8 @@ :tool="getHeadsProperty(h.id).mountedTool" :toolName="getHeadstoolName(h.id)" :toolDuplo="getHeadstoolChild(h.id)" + :rotation="getHeadsProperty(h.id).rotation" + :configured="getHeadsProperty(h.id).configured" @click="selectHead(h)" @overridePlus="overridePlus(h.id)" @overrideMinus="overrideMinus(h.id)">
diff --git a/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts b/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts index 7575f67c..68fd33d6 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts +++ b/Step/wwwroot/src/app_modules/tooling/components/load-depot.ts @@ -16,7 +16,8 @@ export default { positionId: null, magazineId: null, magInfo: null, - fitInPosition: true + fitInPosition: true, + action: "LOAD" } }, computed: { @@ -40,6 +41,7 @@ export default { this.magazineId = ModalHelper.loadDepotModal.magazineId; this.positionId = ModalHelper.loadDepotModal.positionId; + this.action = ModalHelper.loadDepotModal.action; if(this.magazineId) this.magInfo = (this.$store.state as AppModel).tooling.magazines.find(d => d.id == this.magazineId); @@ -66,11 +68,24 @@ export default { }); } else{ - new DepotService().AddToolToDepotNc(this.magazineId, this.positionId, { shankId: this.toolSelected.id }).then(response => { - Factory.Get(MessageService).deleteChannel("esc_pressed"); - toolingActions.updateBusyStatusPositions(store,this.magInfo.type,(this.$store.state as AppModel).depot.depotNc); - ModalHelper.HideModal(); - }); + if (this.action == "LOAD") { + new DepotService().AddToolToDepotNc(this.magazineId, this.positionId, { shankId: this.toolSelected.id }).then(response => { + Factory.Get(MessageService).deleteChannel("esc_pressed"); + toolingActions.updateBusyStatusPositions(store,this.magInfo.type,(this.$store.state as AppModel).depot.depotNc); + ModalHelper.HideModal(); + }) + } + else { + let act = 2; // Unload + if (this.action == "EXCHANGE") + act = 1; + + new DepotService().StartAssistedToolingProcedure(this.toolSelected.id, this.magazineId, this.positionId, act).then(response => { + Factory.Get(MessageService).deleteChannel("esc_pressed"); + toolingActions.updateBusyStatusPositions(store, this.magInfo.type, (this.$store.state as AppModel).depot.depotNc); + ModalHelper.HideModal(); + }) + } } }, calcItemName(shank) { diff --git a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts index ae85909a..f87c706b 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts +++ b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.ts @@ -199,6 +199,7 @@ export default class depot extends Vue { public magazines: server.MagazineModel[] = (this.$store.state as AppModel).tooling.magazines; public enableModify: any = false; public magazineType: any = 0; + public assistedToolingIsActive : boolean = false public checked: any = true; @@ -307,6 +308,13 @@ export default class depot extends Vue { toolingActions.updateBusyStatusPositions(store,this.magazineType,this.depotNc); this.onLoading = false; + + // Set assistedTooling procedure + if(this.magazines){ + var mag = this.magazines.find(x => x.id == this.depotId) + if(mag) + this.assistedToolingIsActive = mag.assistedToolingIsActive + } } @@ -587,11 +595,23 @@ export default class depot extends Vue { } } - public openModalLoadDepot(positionId, positionType) { - ModalHelper.loadDepotModal.positionType = positionType; - ModalHelper.loadDepotModal.positionId = positionId; - ModalHelper.loadDepotModal.magazineId = this.depotId; - ModalHelper.ShowModal(LoadDepot); + public openModalLoadDepot(action, positionId, positionType) { + console.log("AZIONE", action, positionId, positionType) + if(action == "UNLOAD") { // Unload case + // Call assisted unload api + const tool = this.ncToolAtPosition(positionId) + new DepotService().StartAssistedToolingProcedure(tool.id, Number(this.depotId), positionId, 2).then(response => { + console.log(response) + }); + } + else { + // Open moadal in order to select new tool + ModalHelper.loadDepotModal.positionType = positionType; + ModalHelper.loadDepotModal.positionId = positionId; + ModalHelper.loadDepotModal.action = action; + ModalHelper.loadDepotModal.magazineId = this.depotId; + ModalHelper.ShowModal(LoadDepot); + } } // SIEMENS diff --git a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue index 9cbe0cb1..147bff92 100644 --- a/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue +++ b/Step/wwwroot/src/app_modules/tooling/components/tooling-depot.vue @@ -12,6 +12,7 @@ +
{{'depot_label_search' | localize("Seleziona un utensile e trascinalo nel magazzino corrispondente:")}} @@ -44,6 +45,7 @@
+
@@ -55,7 +57,19 @@
- +
+
@@ -167,7 +182,17 @@
- + - +
@@ -250,14 +275,9 @@
- +