diff --git a/Client/View/MainForm.cs b/Client/View/MainForm.cs index 1c428ebe..a23cb81e 100644 --- a/Client/View/MainForm.cs +++ b/Client/View/MainForm.cs @@ -179,6 +179,8 @@ namespace CMS_Client.View Browser.LoadHandler.OnLoadError += BrowserLoadsError; Browser.KeyboardHandler.OnKeyEvent += BrowserKeyPress; Browser.ContextMenuHandler.OnBeforeContextMenu += BrowserContextMenu; + Browser.DisplayHandler.OnConsoleMessage += BrowserConsoleMessage; + } #endregion @@ -354,6 +356,13 @@ namespace CMS_Client.View e.Model.Clear(); } + + //Override Javascript Console Message + private void BrowserConsoleMessage(object sender, CfxOnConsoleMessageEventArgs e) + { + e.SetReturnValue(true); + } + #endregion /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Client/View/NcWindow.cs b/Client/View/NcWindow.cs index af1efa7f..f73cb80c 100644 --- a/Client/View/NcWindow.cs +++ b/Client/View/NcWindow.cs @@ -280,7 +280,6 @@ namespace CMS_Client.View public static void SetState(NcState St) { state = St; - CaptureHMI(); } @@ -374,7 +373,6 @@ namespace CMS_Client.View //Start the Hook if (MainViewHandle != IntPtr.Zero && ncprocess.MainWindowHandle != IntPtr.Zero && MainProcessPID != 0 && NcProcessPID != 0 && windowstarted) { - CaptureHMI(); //Detach the hook if (hhook != IntPtr.Zero) UnhookWinEvent(hhook); @@ -383,11 +381,11 @@ namespace CMS_Client.View procDelegate = new WinEventDelegate(WinEventProc); hhook = SetWinEventHook(EVENT_OBJECT_FOCUS, EVENT_OBJECT_FOCUS, IntPtr.Zero, procDelegate, 0, 0, WINEVENT_OUTOFCONTEXT); - //Start the new Thread of Image Captutre - if (CaptureThread != null) - CaptureThread.Abort(); - CaptureThread = new Thread(new ThreadStart(CaptureCycle)); - CaptureThread.Start(); + //Start the new Thread of Image Captutre - in Standby (NICOLA CARMINATI 25/01/2018) + //if (CaptureThread != null) + // CaptureThread.Abort(); + //CaptureThread = new Thread(new ThreadStart(CaptureCycle)); + //CaptureThread.Start(); //Start the new Thread of Follow-NC-Window if (Config.VendorHmiConfig.FollowNcWindow) @@ -449,15 +447,13 @@ namespace CMS_Client.View HideTaskBar(); //Resize the Popup opened on Nc Window - if (ActualPID != LastHookedPID) - { - //get the Handle of the Popup - PopupHandle = GetLastActivePopup(ncprocess.MainWindowHandle); - if (PopupHandle != ncprocess.MainWindowHandle) - { - ResizeOutofBoundWindow(ncprocess.MainWindowHandle, PopupHandle); - } - } + //if (ActualPID != LastHookedPID) + //{ + // //get the Handle of the Popup + // PopupHandle = GetLastActivePopup(ncprocess.MainWindowHandle); + // if (PopupHandle != ncprocess.MainWindowHandle) + // ResizeOutofBoundWindow(ncprocess.MainWindowHandle, PopupHandle); + //} } diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index fa42ebde..8083bfd0 100644 Binary files a/Libs/CMS_CORE_Library.dll and b/Libs/CMS_CORE_Library.dll differ diff --git a/Step.Config/ServerConfigController.cs b/Step.Config/ServerConfigController.cs index 351ef3c6..da446201 100644 --- a/Step.Config/ServerConfigController.cs +++ b/Step.Config/ServerConfigController.cs @@ -100,7 +100,8 @@ namespace Step.Config { Name = element.Name.ToString(), Enabled = Convert.ToBoolean(element.Element("enabled").Value), - AllowExternalBrowser = Convert.ToBoolean(element.Element("allowExternalBrowser").Value) + AllowExternalBrowser = Convert.ToBoolean(element.Element("allowExternalBrowser").Value), + NcNeeded = Convert.ToBoolean(element.Element("ncNeeded").Value) }; } diff --git a/Step.Config/serverConfig.xml b/Step.Config/serverConfig.xml index 62608464..8cff7f97 100644 --- a/Step.Config/serverConfig.xml +++ b/Step.Config/serverConfig.xml @@ -16,30 +16,37 @@ true false + true false false + true true true + true false true + false true false + true true false + false false true + true \ No newline at end of file diff --git a/Step.Config/serverConfigValidator.xsd b/Step.Config/serverConfigValidator.xsd index f2e4610b..71d875c4 100644 --- a/Step.Config/serverConfigValidator.xsd +++ b/Step.Config/serverConfigValidator.xsd @@ -14,6 +14,7 @@ + @@ -23,6 +24,7 @@ + @@ -31,6 +33,7 @@ + @@ -40,6 +43,7 @@ + @@ -49,6 +53,7 @@ + @@ -58,6 +63,7 @@ + @@ -67,6 +73,7 @@ + @@ -76,6 +83,7 @@ + @@ -85,6 +93,7 @@ + diff --git a/Step.Database/Migrations/Configuration.cs b/Step.Database/Migrations/Configuration.cs index ebdb1c8a..3f406166 100644 --- a/Step.Database/Migrations/Configuration.cs +++ b/Step.Database/Migrations/Configuration.cs @@ -10,8 +10,6 @@ namespace Step.Database.Migrations public sealed class Configuration : DbMigrationsConfiguration { - private readonly bool _pendingMigrations; - public Configuration() { AutomaticMigrationsEnabled = true; diff --git a/Step.Model/ConfigModels/AreasConfigModel.cs b/Step.Model/ConfigModels/AreasConfigModel.cs index 82cbb662..fbc7e723 100644 --- a/Step.Model/ConfigModels/AreasConfigModel.cs +++ b/Step.Model/ConfigModels/AreasConfigModel.cs @@ -11,5 +11,6 @@ namespace Step.Model.ConfigModels public string Name { get; set; } public bool Enabled { get; set; } public bool AllowExternalBrowser { get; set; } + public bool NcNeeded { get; set; } } } diff --git a/Step.Model/DTOModels/DTOAlarmsModel.cs b/Step.Model/DTOModels/DTOAlarmsModel.cs index 0066b590..671965ba 100644 --- a/Step.Model/DTOModels/DTOAlarmsModel.cs +++ b/Step.Model/DTOModels/DTOAlarmsModel.cs @@ -54,7 +54,7 @@ namespace Step.Model.DTOModels public DTOAlarmsModel IntersectModels(DTOAlarmsModel newAlarms) { DTOAlarmsModel result = new DTOAlarmsModel(); - // Get common data + // Get common data from Obj1 and Obj2 result.NcAlarms = NcAlarms.Where(x => newAlarms.NcAlarms.Contains(x as GenericAlarmModel)).ToList(); // Concat common data + new data result.NcAlarms = result.NcAlarms.Concat( @@ -82,7 +82,9 @@ namespace Step.Model.DTOModels public class GenericAlarmModel { - public string alarmMessage; + public uint id; + public string message; + public bool isWarning; public DateTime dateTime; public override bool Equals(object obj) @@ -92,7 +94,7 @@ namespace Step.Model.DTOModels if (item == null) return false; - if (item.alarmMessage == alarmMessage) + if (item.id == id) return true; else return false; @@ -101,8 +103,10 @@ namespace Step.Model.DTOModels public class ProcessAlarmModel { - public string alarmMessage; - public ushort process; + public uint id; + public string message; + public int process; + public bool isWarning; public DateTime dateTime; public override bool Equals(object obj) @@ -112,40 +116,10 @@ namespace Step.Model.DTOModels if (item == null) return false; - if (item.process == process && item.alarmMessage == alarmMessage ) + if (item.process == process && item.id == id ) return true; else return false; } } - class DTOAlarmsModelComparer : IEqualityComparer - { - public bool Equals(DTOAlarmsModel x, DTOAlarmsModel y) - { - if (x == null) - return false; - - if (x.NcAlarms.Count != y.NcAlarms.Count || x.PlcAlarms.Count != y.PlcAlarms.Count || x.ProcessAlarms.Count != y.ProcessAlarms.Count) - return false; - - bool isEqual = x.NcAlarms.All(y.NcAlarms.Contains); - if (!isEqual) - return false; - - isEqual = x.PlcAlarms.All(y.PlcAlarms.Contains); - if (!isEqual) - return false; - - isEqual = x.ProcessAlarms.All(y.ProcessAlarms.Contains); - if (!isEqual) - return false; - - return true; - } - - public int GetHashCode(DTOAlarmsModel obj) - { - throw new NotImplementedException(); - } - } } diff --git a/Step.Model/DTOModels/DTOPowerOnData.cs b/Step.Model/DTOModels/DTOPowerOnData.cs deleted file mode 100644 index a8f31883..00000000 --- a/Step.Model/DTOModels/DTOPowerOnData.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using static CMS_CORE_Library.DataStructures; - -namespace Step.Model.DTOModels -{ - public class DTOPowerOnData - { - public PrePowerOnModel prePowerOn; - - public DTOPowerOnData() - { - prePowerOn = new PrePowerOnModel(); - } - } -} diff --git a/Step.Model/Step.Model.csproj b/Step.Model/Step.Model.csproj index 83aa6ed2..900fb179 100644 --- a/Step.Model/Step.Model.csproj +++ b/Step.Model/Step.Model.csproj @@ -79,7 +79,6 @@ DTOLanguageModel.cs.d.ts - @@ -114,7 +113,6 @@ - - + XCOPY $(ProjectDir)*.d.ts $(SolutionDir)Step\wwwroot\src\@types /C /Y /O \ No newline at end of file diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index f89a9a47..bcd269f8 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -115,7 +115,7 @@ namespace Step.NC public CmsError GetNcAlarms(out DTOAlarmsModel alarms) { alarms = new DTOAlarmsModel(); - List tmpAlarms = new List(); + List tmpAlarms = new List(); // Read NC active alarms CmsError cmsError = numericalControl.NC_RActiveAlarms(ref tmpAlarms); @@ -123,11 +123,13 @@ namespace Step.NC return cmsError; // Create response list from strings - foreach (string alarmMessage in tmpAlarms) + foreach (AlarmModel ncAlarm in tmpAlarms) { alarms.NcAlarms.Add(new GenericAlarmModel() { - alarmMessage = alarmMessage, + id = ncAlarm.id, + message = ncAlarm.message, + isWarning = ncAlarm.isWarning, dateTime = DateTime.Now }); } @@ -144,12 +146,14 @@ namespace Step.NC // Get process active alarms numericalControl.PROC_RActiveAlarms(i, ref tmpAlarms); // Create response list from strings - foreach (string alarmMessage in tmpAlarms) + foreach (AlarmModel processAlarm in tmpAlarms) { alarms.ProcessAlarms.Add(new ProcessAlarmModel() { - alarmMessage = alarmMessage, - process = i, + id = processAlarm.id, + message = processAlarm.message, + process = processAlarm.process, + isWarning = processAlarm.isWarning, dateTime = DateTime.Now }); } @@ -160,12 +164,14 @@ namespace Step.NC if (cmsError.errorCode != 0) return cmsError; - // Formatting response list from strings - foreach (string alarmMessage in tmpAlarms) + // Formatting response list from library alarm model + foreach (AlarmModel plcAlarm in tmpAlarms) { - alarms.PlcAlarms.Add(new GenericAlarmModel() + alarms.NcAlarms.Add(new GenericAlarmModel() { - alarmMessage = alarmMessage, + id = plcAlarm.id, + message = plcAlarm.message, + isWarning = plcAlarm.isWarning, dateTime = DateTime.Now }); } @@ -199,7 +205,6 @@ namespace Step.NC public CmsError GetAxesPositionsByProcess(ushort processNum, out DTOAxesModel axes) { - axes = new DTOAxesModel(); CmsError cmsError = numericalControl.AXES_RInterpPosition(processNum, ref axes.interpolated); @@ -223,10 +228,10 @@ namespace Step.NC return cmsError; } - public CmsError GetPowerOnData(out DTOPowerOnData powerOnData) + public CmsError GetPowerOnData(out PreAndPostPowerOnModel powerOnData) { - powerOnData = new DTOPowerOnData(); - CmsError cmsError = numericalControl.Nc_RWPrePowerOnFunctions(R, ref powerOnData.prePowerOn); + powerOnData = new PreAndPostPowerOnModel(); + CmsError cmsError = numericalControl.Nc_RPowerOnData(ref powerOnData); return cmsError; } diff --git a/Step.Tasks/ThreadsFunctions.cs b/Step.Tasks/ThreadsFunctions.cs index 5bceb9e9..5ee21889 100644 --- a/Step.Tasks/ThreadsFunctions.cs +++ b/Step.Tasks/ThreadsFunctions.cs @@ -42,8 +42,9 @@ public static class ThreadsFunctions libraryError = ncHandler.GetNcAlarms(out DTOAlarmsModel alarms); if (libraryError.errorCode != 0) ManageLibraryError(libraryError); - // Send through signalR - MessageServices.Current.Publish(SEND_ALARMS, null, alarms); + else + // Send through signalR + MessageServices.Current.Publish(SEND_ALARMS, null, alarms); } sw.Stop(); @@ -55,7 +56,7 @@ public static class ThreadsFunctions Thread.Sleep(200); } } - catch (ThreadAbortException ex) + catch (ThreadAbortException) { ncHandler.Dispose(); } @@ -94,7 +95,7 @@ public static class ThreadsFunctions Thread.Sleep(1000); } } - catch (ThreadAbortException ex) + catch (ThreadAbortException) { ncHandler.Dispose(); } @@ -121,8 +122,9 @@ public static class ThreadsFunctions libraryError = ncHandler.GetAxesPositions(out List genericData); if (libraryError.errorCode != 0) ManageLibraryError(libraryError); - // Send through signalR - MessageServices.Current.Publish(SEND_AXES, null, genericData); + else + // Send through signalR + MessageServices.Current.Publish(SEND_AXES, null, genericData); } sw.Stop(); @@ -133,7 +135,7 @@ public static class ThreadsFunctions Thread.Sleep(200); } } - catch (ThreadAbortException ex) + catch (ThreadAbortException) { ncHandler.Dispose(); } @@ -157,11 +159,12 @@ public static class ThreadsFunctions if (ncHandler.numericalControl.NC_IsConnected()) { // Get Data from NC - libraryError = ncHandler.GetPowerOnData(out DTOPowerOnData powerOnData); + libraryError = ncHandler.GetPowerOnData(out PreAndPostPowerOnModel powerOnData); if (libraryError.errorCode != 0) ManageLibraryError(libraryError); - // Send through signalR - MessageServices.Current.Publish(SEND_POWER_ON_DATA, null, powerOnData); + else + // Send through signalR + MessageServices.Current.Publish(SEND_POWER_ON_DATA, null, powerOnData); } sw.Stop(); @@ -173,7 +176,7 @@ public static class ThreadsFunctions Thread.Sleep(400); } } - catch (ThreadAbortException ex) + catch (ThreadAbortException) { ncHandler.Dispose(); } @@ -196,16 +199,14 @@ public static class ThreadsFunctions // Try reconnection CmsError cmsError = ncHandler.Connect(); if (cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_ENVIRONMENT_NOT_FOUND || cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_HMI_NOT_RUNNING) - { ManageLibraryError(cmsError); - } else if (cmsError.errorCode != CMS_ERROR_CODES.OK) ncHandler.Dispose(); Thread.Sleep(1000); // Send status to UI - MessageServices.Current.Publish(MVVM_NC_STATUS, null, ncHandler.numericalControl.NC_IsConnected()); + MessageServices.Current.Publish(SEND_NC_STATUS, null, ncHandler.numericalControl.NC_IsConnected()); } // Start/Restart NC threads ThreadsHandler.StartWorkers(); @@ -292,7 +293,7 @@ public static class ThreadsFunctions ReadPowerOnTimes = 0; } - MessageServices.Current.Publish(MVVM_NC_THREADS, null, ThreadsHandler.RunningThreadStatus); + MessageServices.Current.Publish(SEND_THREADS_STATUS, null, ThreadsHandler.RunningThreadStatus); Thread.Sleep(2000); } diff --git a/Step.Tasks/ThreadsHandler.cs b/Step.Tasks/ThreadsHandler.cs index 09eb2366..b7ee9743 100644 --- a/Step.Tasks/ThreadsHandler.cs +++ b/Step.Tasks/ThreadsHandler.cs @@ -29,7 +29,6 @@ namespace Step.Core }; private volatile static List RunningThreadsList = new List(); internal volatile static Dictionary RunningThreadStatus = new Dictionary(); - private static Thread StatThread; public static void Start() { @@ -38,8 +37,8 @@ namespace Step.Core public static void StartWorkers() { - lock (RunningThreadStatus) - RunningThreadStatus.Clear(); + + RunningThreadStatus.Clear(); // For each function run in the list a thread ThreadFunctionsList.ForEach(threadFunction => @@ -53,12 +52,11 @@ namespace Step.Core lock (RunningThreadsList) RunningThreadsList.Add(t); - lock (RunningThreadStatus) - if (!RunningThreadStatus.ContainsKey(threadFunction.Method.Name)) - RunningThreadStatus.Add(threadFunction.Method.Name, "---"); + + RunningThreadStatus.Add(threadFunction.Method.Name, "---"); }); - MessageServices.Current.Publish(MVVM_NC_THREADS, null, RunningThreadStatus); + MessageServices.Current.Publish(SEND_THREADS_STATUS, null, RunningThreadStatus); } public static void Stop() @@ -75,12 +73,9 @@ namespace Step.Core lock (RunningThreadsList) RunningThreadsList.Clear(); - lock (RunningThreadStatus) - { - RunningThreadStatus.Clear(); - RunningThreadStatus.Add("TryNcConnection", "---"); - } - MessageServices.Current.Publish(MVVM_NC_THREADS, null, RunningThreadStatus); + RunningThreadStatus.Clear(); + RunningThreadStatus.Add("TryNcConnection", "---"); + MessageServices.Current.Publish(SEND_THREADS_STATUS, null, RunningThreadStatus); } } } diff --git a/Step.UI/ServerControlWindow.Designer.cs b/Step.UI/ServerControlWindow.Designer.cs index 89e4b2ea..6c186ca3 100644 --- a/Step.UI/ServerControlWindow.Designer.cs +++ b/Step.UI/ServerControlWindow.Designer.cs @@ -482,7 +482,6 @@ namespace Step.UI this.metroLabel1.TabIndex = 34; this.metroLabel1.Text = "Vendor:"; this.metroLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.metroLabel1.Click += new System.EventHandler(this.metroLabel1_Click); // // ThreadsInfo // diff --git a/Step.UI/ServerControlWindow.cs b/Step.UI/ServerControlWindow.cs index 49325f68..1cd410db 100644 --- a/Step.UI/ServerControlWindow.cs +++ b/Step.UI/ServerControlWindow.cs @@ -80,7 +80,7 @@ namespace Step.UI private void StopServerButton_Click(object sender, EventArgs e) { // Send message to listeners and close server - MessageServices.Current.Publish(MVVM_STOP_SERVER); + MessageServices.Current.Publish(SEND_STOP_SERVER); } private void NotifyIcon_Click(object sender, EventArgs e) @@ -123,7 +123,7 @@ namespace Step.UI private void InitializeMessageListeners() { - MessageServices.Current.Subscribe(MVVM_SEND_MESSAGE, (a, b) => + MessageServices.Current.Subscribe(SEND_MESSAGE, (a, b) => { // Cast object to ErrorMessageModel ErrorMessageModel message = (ErrorMessageModel)a; @@ -133,7 +133,7 @@ namespace Step.UI StepNotifyIcon.ShowBalloonTip(1000, message.Title, message.Message, (ToolTipIcon)message.ErrorLevel); }); - MessageServices.Current.Subscribe(MVVM_NC_STATUS, (a, b) => + MessageServices.Current.Subscribe(SEND_NC_STATUS, (a, b) => { bool newNcStatus = (bool)a; @@ -186,7 +186,7 @@ namespace Step.UI }); - MessageServices.Current.Subscribe(MVVM_NC_THREADS, (a, b) => + MessageServices.Current.Subscribe(SEND_THREADS_STATUS, (a, b) => { //Other type this.Invoke((MethodInvoker)delegate () { @@ -225,10 +225,5 @@ namespace Step.UI }); } - - private void metroLabel1_Click(object sender, EventArgs e) - { - - } } } diff --git a/Step.Utils/Constants.cs b/Step.Utils/Constants.cs index 27d0323a..a6e14d9b 100644 --- a/Step.Utils/Constants.cs +++ b/Step.Utils/Constants.cs @@ -61,13 +61,13 @@ namespace Step.Utils public static string LANGUAGE_PACK_DIRECTORY = BASE_PATH + "\\languages\\"; public static string LANGUAGE_SCHEMA_PATH = BASE_PATH + "\\LanguageValidator.xsd"; - // MVVM Messages names - public const string MVVM_STOP_SERVER = "STOP_SERVER"; - public const string MVVM_SEND_MESSAGE = "SEND_MESSAGE"; - public const string MVVM_NC_STATUS = "NC_STATUS"; - public const string MVVM_NC_THREADS = "THREAD_STATUS"; + // MVVM Messages to server UI + public const string SEND_STOP_SERVER = "STOP_SERVER"; + public const string SEND_MESSAGE = "SEND_MESSAGE"; + public const string SEND_NC_STATUS = "NC_STATUS"; + public const string SEND_THREADS_STATUS = "THREAD_STATUS"; - // MVVM Messages tasks names + // MVVM Messages to signalR tasks public const string SEND_ALARMS = "SEND_ALARMS"; public const string SEND_POWER_ON_DATA = "SEND_POWER_ON_DATA"; public const string SEND_GENERIC_DATA = "SEND_GENERIC_DATA"; diff --git a/Step.Utils/ExceptionManager.cs b/Step.Utils/ExceptionManager.cs index c0efa7cb..fb3c9f13 100644 --- a/Step.Utils/ExceptionManager.cs +++ b/Step.Utils/ExceptionManager.cs @@ -102,7 +102,7 @@ namespace Step.Utils else { // Notify user - MessageServices.Current.Publish(MVVM_SEND_MESSAGE, null, error); + MessageServices.Current.Publish(SEND_MESSAGE, null, error); } } diff --git a/Step/Listeners/ListenersHandler.cs b/Step/Listeners/ListenersHandler.cs index 78b77cc7..cf7e6e4c 100644 --- a/Step/Listeners/ListenersHandler.cs +++ b/Step/Listeners/ListenersHandler.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using Step.Listeners.Database; using Step.Listeners.SignalR; +using Step.Model.DTOModels; using TeamDev.SDK.MVVM; using static Step.Utils.Constants; @@ -24,23 +25,28 @@ namespace Step.Listeners infos.Add(MessageServices.Current.Subscribe(SEND_ALARMS, async (a, b) => { - SignalRListener.SendAlarmsToClient(a); + SignalRListener.SendAlarmsToClient(a as DTOAlarmsModel); })); infos.Add(MessageServices.Current.Subscribe(SEND_GENERIC_DATA, async (a, b) => { - SignalRListener.SendNcInfoToClient(a); + SignalRListener.SendNcInfoToClient(a as DTONcGenericDataModel); })); infos.Add(MessageServices.Current.Subscribe(SEND_AXES, async (a, b) => { - SignalRListener.SendAxesToClient(a); + SignalRListener.SendAxesToClient(a as DTOAxesModel); })); infos.Add(MessageServices.Current.Subscribe(SEND_POWER_ON_DATA, async (a, b) => { SignalRListener.SendPowerOnDataToClient(a); })); + + infos.Add(MessageServices.Current.Subscribe(SEND_NC_STATUS, async (a, b) => + { + SignalRListener.SendNcNetworkStatus(a); + })); } public static void Stop() diff --git a/Step/Listeners/SignalR/SignalRListener.cs b/Step/Listeners/SignalR/SignalRListener.cs index 02d27d60..c8c9c23a 100644 --- a/Step/Listeners/SignalR/SignalRListener.cs +++ b/Step/Listeners/SignalR/SignalRListener.cs @@ -1,10 +1,6 @@ -using System; -using System.Diagnostics; -using System.Threading; -using Microsoft.AspNet.SignalR; +using Microsoft.AspNet.SignalR; using Step.Controllers.SignalR; using Step.Model.DTOModels; -using TeamDev.SDK.MVVM; namespace Step.Listeners.SignalR { @@ -13,25 +9,25 @@ namespace Step.Listeners.SignalR private static DTOAlarmsModel alarms = new DTOAlarmsModel(); private static DTOAxesModel axes = new DTOAxesModel(); - public static void SendNcInfoToClient(object taskName) + public static void SendNcInfoToClient(DTONcGenericDataModel taskName) { var context = GlobalHost.ConnectionManager.GetHubContext(); context.Clients.Group("ncData").machineInfo(taskName); } - public static void SendAlarmsToClient(object newAlarmsData) + public static void SendAlarmsToClient(DTOAlarmsModel newAlarmsData) { var context = GlobalHost.ConnectionManager.GetHubContext(); //if (!alarms.Equals(newAlarmsData)) //{ // Intersect old alarms data with new data - alarms = alarms.IntersectModels(newAlarmsData as DTOAlarmsModel); - context.Clients.Group("ncData").alarms(alarms); + alarms = alarms.IntersectModels(newAlarmsData as DTOAlarmsModel); + context.Clients.Group("ncData").alarms(alarms); //} } - public static void SendAxesToClient(object newAxesData) + public static void SendAxesToClient(DTOAxesModel newAxesData) { var context = GlobalHost.ConnectionManager.GetHubContext(); context.Clients.Group("ncData").axes(newAxesData); @@ -42,5 +38,14 @@ namespace Step.Listeners.SignalR var context = GlobalHost.ConnectionManager.GetHubContext(); context.Clients.Group("ncData").powerOn(newAxesData); } + + public static void SendNcNetworkStatus(object ncStatus) + { + if ((bool)ncStatus == false) + { + var context = GlobalHost.ConnectionManager.GetHubContext(); + context.Clients.Group("ncData").ncNetworkStatus(new { connected = false}); + } + } } } diff --git a/Step/program.cs b/Step/program.cs index 3c9bfe09..87b3eac1 100644 --- a/Step/program.cs +++ b/Step/program.cs @@ -31,7 +31,7 @@ namespace Step string configuredUri = "http://*:" + ServerStartupConfig.ServerPort.ToString(); // Register listener to "close application" messages - MessageServices.Current.Subscribe(MVVM_STOP_SERVER, (a, b) => + MessageServices.Current.Subscribe(SEND_STOP_SERVER, (a, b) => { StopRequest.Set(); }); diff --git a/Step/wwwroot/assets/images/Fanuc_Placeholder.JPG b/Step/wwwroot/assets/images/Fanuc_Placeholder.JPG new file mode 100644 index 00000000..f0f5a028 Binary files /dev/null and b/Step/wwwroot/assets/images/Fanuc_Placeholder.JPG differ diff --git a/Step/wwwroot/assets/images/Osai_Placeholder.JPG b/Step/wwwroot/assets/images/Osai_Placeholder.JPG new file mode 100644 index 00000000..bc99dd3d Binary files /dev/null and b/Step/wwwroot/assets/images/Osai_Placeholder.JPG differ diff --git a/Step/wwwroot/assets/images/Siemens_Placeholder.JPG b/Step/wwwroot/assets/images/Siemens_Placeholder.JPG new file mode 100644 index 00000000..d90a285d Binary files /dev/null and b/Step/wwwroot/assets/images/Siemens_Placeholder.JPG differ diff --git a/Step/wwwroot/assets/styles/base/nc.less b/Step/wwwroot/assets/styles/base/nc.less index cbc1427e..27735eba 100644 --- a/Step/wwwroot/assets/styles/base/nc.less +++ b/Step/wwwroot/assets/styles/base/nc.less @@ -17,6 +17,7 @@ height: 768px; width: 1024px; border: none; + background-image: url('../images/Osai_Placeholder.JPG') } #nc-softkeys-container{ diff --git a/Step/wwwroot/src/App.vue b/Step/wwwroot/src/App.vue index 67f0ef83..1dbc93d3 100644 --- a/Step/wwwroot/src/App.vue +++ b/Step/wwwroot/src/App.vue @@ -5,7 +5,7 @@
- +
 
 
@@ -71,14 +71,7 @@ export default { this.$forceUpdate(); }); - ms.subscribeToChannel("HMI-start-render", args => { - let NEWsrc = cmsClient.getScreenBase64(true); - if(this.HMIsrc != NEWsrc) - this.HMIsrc = NEWsrc; - else - Factory.Get(MessageService).publishToChannel("HMI-end-render"); - }); - + let _this = this; Factory.Get(LoginService) .getUserInfo() @@ -124,9 +117,6 @@ export default { Factory.Get(MessageService).publishToChannel("HMI-hide"); } }, - HMIsrc: function() { - this.$nextTick(() => {Factory.Get(MessageService).publishToChannel("HMI-end-render")}); - }, loadingOperations: function(n, o) { if (o == 0 && n > 0) { iziToast.show({ @@ -187,8 +177,7 @@ export default { return { state: this.$store.state, applyBlur: false, - loadingOperations: 0, - HMIsrc: "" + loadingOperations: 0 }; } }; diff --git a/Step/wwwroot/src/app.business-logic.ts b/Step/wwwroot/src/app.business-logic.ts index ed0d8c13..0eb277e2 100644 --- a/Step/wwwroot/src/app.business-logic.ts +++ b/Step/wwwroot/src/app.business-logic.ts @@ -149,10 +149,10 @@ if (typeof cmsClient != "undefined") { }); - Factory.Get(MessageService).subscribeToChannel("HMI-end-render", args => { +/* Factory.Get(MessageService).subscribeToChannel("HMI-end-render", args => { clearTimeout(RerenderInterval); RerenderInterval = setTimeout(ElaborateHMIStatus, 15); - }); + }); */ } @@ -185,19 +185,23 @@ function stopDrag(){ * */ function HideHmi() { HMIvisible = false; - Factory.Get(MessageService).publishToChannel("HMI-start-render"); + ElaborateHMIStatus(); + //Factory.Get(MessageService).publishToChannel("HMI-start-render"); } function showAlarms() { HMIAlarmsVisible = true; - Factory.Get(MessageService).publishToChannel("HMI-start-render"); + ElaborateHMIStatus(); + //Factory.Get(MessageService).publishToChannel("HMI-start-render"); } function showModal() { HMIModalsVisible = true; - Factory.Get(MessageService).publishToChannel("HMI-start-render"); + ElaborateHMIStatus(); + //Factory.Get(MessageService).publishToChannel("HMI-start-render"); } function startDrag() { HMIDragging = true; - Factory.Get(MessageService).publishToChannel("HMI-start-render"); + ElaborateHMIStatus(); + //Factory.Get(MessageService).publishToChannel("HMI-start-render"); } //Private function for elaborate status diff --git a/Step/wwwroot/src/services/hub.ts b/Step/wwwroot/src/services/hub.ts index a8298110..6066bda1 100644 --- a/Step/wwwroot/src/services/hub.ts +++ b/Step/wwwroot/src/services/hub.ts @@ -25,9 +25,7 @@ export class Hub { // replace all alarms with the current ones - let tempList = alarms.NcAlarms - .concat(alarms.PlcAlarms) - .concat(alarms.ProcessAlarms); + let tempList = alarms.NcAlarms.concat(alarms.PlcAlarms).concat(alarms.ProcessAlarms); let _warnings = tempList.filter(v => v.isWarning); let _alarms = tempList.filter(v => !v.isWarning);