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);