diff --git a/Step.Config/Config/areasConfigValidator.xsd b/Step.Config/Config/areasConfigValidator.xsd
index ae2b4dbf..633c4878 100644
--- a/Step.Config/Config/areasConfigValidator.xsd
+++ b/Step.Config/Config/areasConfigValidator.xsd
@@ -11,7 +11,7 @@
-
+
@@ -21,7 +21,7 @@
-
+
@@ -51,7 +51,7 @@
-
+
@@ -61,7 +61,7 @@
-
+
diff --git a/Step.Config/ServerConfig.cs b/Step.Config/ServerConfig.cs
index d0c84edd..e7dd5927 100644
--- a/Step.Config/ServerConfig.cs
+++ b/Step.Config/ServerConfig.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Step.Model.ConfigModels;
using Step.Model.DatabaseModels;
+using Step.Model.DTOModels;
namespace Step.Config
{
@@ -16,6 +17,7 @@ namespace Step.Config
public static List MaintenancesConfig;
public static List FunctionsAccessConfig;
+ public static List AllFunctionalityDisabled;
public static AreasConfigModel ProductionConfig;
public static AreasConfigModel ToolingConfig;
diff --git a/Step.Database/Controllers/FunctionsAccessController.cs b/Step.Database/Controllers/FunctionsAccessController.cs
index af1bdc4c..00126c7e 100644
--- a/Step.Database/Controllers/FunctionsAccessController.cs
+++ b/Step.Database/Controllers/FunctionsAccessController.cs
@@ -55,6 +55,20 @@ namespace Step.Database.Controllers
.ToList();
}
+ public List FindAllFunctionsAndDisableAll()
+ {
+ return dbCtx
+ .FunctionsAccess
+ .Select( x => new DTORuntimeFunctionalityModel()
+ {
+ Id = x.FunctionAccessId,
+ Area = x.Area,
+ Name = x.Name,
+ Enabled = false
+ })
+ .ToList();
+ }
+
public List GetFunctionsMappedWithPlc(List functionalityList)
{
return FunctionsAccessConfig // Find all function access
diff --git a/Step.Database/DatabaseContext.cs b/Step.Database/DatabaseContext.cs
index 4610909f..610615f3 100644
--- a/Step.Database/DatabaseContext.cs
+++ b/Step.Database/DatabaseContext.cs
@@ -66,6 +66,7 @@ namespace Step.Database
using (FunctionsAccessController functionsAccess = new FunctionsAccessController())
{
FunctionsAccessConfig = functionsAccess.FindAll();
+ AllFunctionalityDisabled = functionsAccess.FindAllFunctionsAndDisableAll();
}
}
catch (MySql.Data.MySqlClient.MySqlException ex)
diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs
index ad1c519b..210de57f 100644
--- a/Step.NC/NcHandler.cs
+++ b/Step.NC/NcHandler.cs
@@ -283,7 +283,7 @@ namespace Step.NC
CmsError cmsError = numericalControl.NC_RProcessesNum(ref maxProcNumber);
if (cmsError.errorCode != 0)
return cmsError;
-
+ PROC_STATUS status = PROC_STATUS.IDLE;
// For each process get info
for (ushort i = 1; i <= maxProcNumber; i++)
{
@@ -298,11 +298,12 @@ namespace Step.NC
// Check if there are running process
if (!processesData.isRunning)
{
- PROC_STATUS status = PROC_STATUS.IDLE;
// Get process status
cmsError = numericalControl.PROC_RStatus(i, ref status);
- if (status == PROC_STATUS.RUN)
+ if (status == PROC_STATUS.RUN || status == PROC_STATUS.HOLD)
processesData.isRunning = true;
+ else
+ status = PROC_STATUS.IDLE;
}
}
diff --git a/Step/Listeners/SignalR/SignalRListener.cs b/Step/Listeners/SignalR/SignalRListener.cs
index 38cb6413..e854a81a 100644
--- a/Step/Listeners/SignalR/SignalRListener.cs
+++ b/Step/Listeners/SignalR/SignalRListener.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNet.SignalR;
+using Step.Config;
using Step.Controllers.SignalR;
using Step.Model.DTOModels;
using System.Collections.Generic;
@@ -52,7 +53,7 @@ namespace Step.Listeners.SignalR
LastProcessesData = new DTOProcessDataModel();
LastExpiredMaintenances = new List(); ;
LastPowerOnData = new DTOPowerOnDataModel();
- LastRuntimeFunctionality = new List();
+ LastRuntimeFunctionality = ServerConfig.AllFunctionalityDisabled;
LastIsNcConnected = (bool)ncStatus;
BroadcastData();
}