Compare commits

...

50 Commits

Author SHA1 Message Date
Samuele E. Locatelli 3b0dd98018 modifica meccanismo dispose FLIR 2021-03-19 10:11:43 +01:00
Samuele E. Locatelli 76fdf01d38 Merge branch 'new/ThermoCamManager' into develop 2021-03-18 11:49:36 +01:00
Samuele E. Locatelli 7918787ac6 new rel 2021-03-18 11:49:30 +01:00
Samuele E. Locatelli e797afabcb impostato in recipe current stesso comportamento di area 2021-03-18 11:48:46 +01:00
Samuele E. Locatelli c31edb94d5 Merge branch 'new/ThermoCamManager' into develop 2021-03-18 09:49:59 +01:00
Samuele E. Locatelli 86fd710aaa vers 182 2021-03-18 09:49:33 +01:00
Samuele E. Locatelli f1f8f3aa97 modifiche x evitare sovrapposizione chiamate lettura ricetta 2021-03-18 09:46:56 +01:00
Samuele E. Locatelli 83d6f40491 Merge branch 'develop' into new/ThermoCamManager 2021-03-17 19:06:03 +01:00
Samuele E. Locatelli 21cb4050b0 modifica DTO x upload stato connessione FLIR cam 2021-03-17 19:05:49 +01:00
Samuele E. Locatelli 027eed8770 Aggiunta gestione status camera connessa o meno (lettura) 2021-03-17 19:01:41 +01:00
Samuele E. Locatelli 43de959bca new rel number 2021-03-17 18:42:13 +01:00
Samuele E. Locatelli 5a56d53d90 fix thread thermo flir 2021-03-16 15:21:03 +01:00
Samuele E. Locatelli 89b0ce5f96 gestione conf XML server x abilitazione FLIR 2021-03-16 15:15:58 +01:00
Samuele E. Locatelli e57d16d690 vers 180 2021-03-15 17:09:26 +01:00
Samuele E. Locatelli fe25ae54e6 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-03-15 17:07:47 +01:00
Samuele E. Locatelli 614acd2e40 Fix scrittura nome IMG x thermo 2021-03-15 17:07:40 +01:00
Thermo_SIM d70474c01f Fix dashboard UI 2021-03-15 16:26:28 +01:00
Thermo_SIM 045dd808e5 Fix nebulizzatori 2021-03-15 15:55:07 +01:00
Thermo_SIM 92cb66d539 Fix thermoprophet view 2021-03-15 15:54:53 +01:00
Thermo_SIM 941535056d Fix Bitselect 2021-03-15 15:31:25 +01:00
Thermo_SIM f6d794d90c Fix UI 2021-03-15 15:05:17 +01:00
Thermo_SIM 1f769677d1 Added Backup features 2021-03-15 14:51:24 +01:00
Thermo_SIM 9de1286290 Fix Setup 2021-03-15 12:38:22 +01:00
Thermo_SIM 59bacaa1a6 Fix quote Frame 2021-03-15 08:31:48 +01:00
Thermo_SIM abc8564f2f Fix riscaldi 2021-03-12 17:34:59 +01:00
Thermo_SIM 8bfd294525 Merge remote-tracking branch 'origin/develop' into develop 2021-03-10 18:31:18 +01:00
Thermo_SIM 47119e7828 Implementato Assi 2021-03-10 18:30:25 +01:00
Samuele E. Locatelli a8dbf3d15d Merge remote-tracking branch 'origin/new/ThermoCamManager' into develop 2021-03-10 14:55:31 +01:00
Samuele E. Locatelli 7bbe807359 start new rel 178 2021-03-10 14:54:52 +01:00
Samuele E. Locatelli 5884f229b1 Merge remote-tracking branch 'origin/new/ThermoCamManager' into develop 2021-03-10 14:53:58 +01:00
Samuele E. Locatelli 8842111125 fix conf assi 2021-03-10 14:53:15 +01:00
Samuele E. Locatelli 7110d05782 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-03-10 14:40:01 +01:00
Thermo_SIM fa41a5f577 Fix visualizzazione assi 2021-03-10 10:46:50 +01:00
Samuele E. Locatelli e09ca359dd update version 2021-03-10 09:44:04 +01:00
Samuele E. Locatelli e01731685e Modifica stats x threads 2021-03-10 09:43:14 +01:00
Thermo_SIM 9a9fa64200 Fix translations 2021-03-09 18:05:53 +01:00
= 83492b3a00 Merge remote-tracking branch 'CMS/develop' into develop 2021-03-09 14:58:09 +01:00
= 954224c80f coolers bit selector 2021-03-09 14:57:59 +01:00
Thermo_SIM 64fbb2e106 Fix Under the hood + adv mode 2021-03-09 12:39:20 +01:00
Thermo_SIM 95559497af Added par "extraction_main_drawing_enabled" 2021-03-09 12:38:54 +01:00
Thermo_SIM 71667b87a9 Merge remote-tracking branch 'origin/new/ThermoCamManager' into develop 2021-03-09 12:07:10 +01:00
Samuele E. Locatelli 6919827661 Merge remote-tracking branch 'origin/new/ThermoCamManager' into new/ThermoCamManager 2021-03-09 11:22:19 +01:00
Samuele E. Locatelli 76044293af start new rel 2021-03-09 11:20:52 +01:00
Samuele E. Locatelli bc817fcbf6 fix decodifica comandi assi 2021-03-09 11:18:40 +01:00
Thermo_SIM 45e62c635f Fix Axis visible 2021-03-09 09:37:04 +01:00
Samuele E. Locatelli 0440202342 bozza metodi gestione AdvMode x assi 2021-03-05 07:39:24 +01:00
Samuele E. Locatelli 9a0705130a aggiunta preliminare metodo gen cmd/status assi 2021-03-04 17:25:57 +01:00
Samuele E. Locatelli bdf80680c2 new rel 175 2021-03-04 14:23:50 +01:00
= 729fa17209 Merge remote-tracking branch 'CMS/develop' into develop 2021-03-04 14:17:45 +01:00
= bf6e16a4d6 fix posizione valori x/y piastra 2021-03-04 14:17:28 +01:00
77 changed files with 1608 additions and 658 deletions
+4 -2
View File
@@ -253,7 +253,7 @@ if($outFile -eq "True")
if ($excludeNugetUpdate -ne 1) {
Write-Host "Update the Nuget Packages"
CheckNugetScm
ExecuteLog "nuget restore"
ExecuteLog "nuget restore Thermo.Active.sln "
}
if ($version -ne "") {
@@ -332,12 +332,14 @@ if ($zipOutput -eq 1) {
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\fonts"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\images"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\icons"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\svg"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\animations"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\styles\style.css"" -Destination ""view\Assets\styles"" "
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\styles\style.css.map"" -Destination ""view\Assets\styles"" "
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\styles\iziToast.min.css"" -Destination ""view\Assets\styles"" "
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\styles\vue2-datepicker.css"" -Destination ""view\Assets\styles"" "
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\index.html"" -Destination ""view"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\favicon.ico"" -Destination ""view"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\config.development.json"" -Destination ""view"" -Recurse"
Write-Host "Copy view in Zip file"
$outFile = Test-Path ".\View"
@@ -26,6 +26,7 @@ namespace Client2020.BrowserTools
private static Dictionary<string, IntPtr> _editorOpened = new Dictionary<string, IntPtr>();
public static string RECENT_FOLDER_KEY = "RECENT";
private const string THERMO_RECIPE_PATH = @"C:\CMS\Recipes";
private const string THERMO_RECIPE_FOLDER_NAME = @"Recipes";
private const string THERMO_SCREENSHOT_PATH = @"C:\CMS\Screenshots";
private const string CMS_PATH = @"C:\CMS";
@@ -313,6 +314,32 @@ namespace Client2020.BrowserTools
return JsonConvert.SerializeObject("");
}
public string backupSubRecipes(String p, String folder)
{
if (!Directory.Exists(p))
{
return (JsonConvert.SerializeObject(new ErrorContainer("path_not_exists")));
}
folder = folder.Remove(0,THERMO_RECIPE_FOLDER_NAME.Length);
try
{
string finalPath = p + "Backup_Recipes_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
Directory.CreateDirectory(finalPath);
this.CopyFilesRecursively(new DirectoryInfo(THERMO_RECIPE_PATH + folder), new DirectoryInfo(finalPath));
File.WriteAllText(finalPath + "\\data.json", JsonConvert.SerializeObject(new FolderBackup(folder)));
Process.Start(finalPath);
}
catch (Exception e)
{
return (JsonConvert.SerializeObject(new ErrorContainer("error_during_backup")));
}
return JsonConvert.SerializeObject("");
}
// Read all files in directory
public string getFileList(string p)
{
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
namespace Client2020.BrowserTools.Models
{
public class FolderBackup
{
public String AbsolutePath;
public FolderBackup(String Str)
{
this.AbsolutePath = Str;
}
}
}
+1
View File
@@ -76,6 +76,7 @@
<Compile Include="BrowserTools\Models\Drive.cs" />
<Compile Include="BrowserTools\Models\Errors\ErrorContainer.cs" />
<Compile Include="BrowserTools\Models\File.cs" />
<Compile Include="BrowserTools\Models\FolderBackup.cs" />
<Compile Include="BrowserTools\Models\InfoFile.cs" />
<Compile Include="BrowserTools\Models\JobToStep.cs" />
<Compile Include="BrowserTools\Models\MetadataToFile.cs" />
@@ -51,6 +51,14 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Flir.Atlas.Image, Version=2.0.14266.1000, Culture=neutral, PublicKeyToken=caa391fd8e07c76b, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\FLIR Systems\FLIR Atlas SDK 6\bin\x86\Flir.Atlas.Image.dll</HintPath>
</Reference>
<Reference Include="Flir.Atlas.Live, Version=2.0.14266.1000, Culture=neutral, PublicKeyToken=caa391fd8e07c76b, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\FLIR Systems\FLIR Atlas SDK 6\bin\x86\Flir.Atlas.Live.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
@@ -1,4 +1,5 @@
using System;
using Flir.Atlas.Live.Device;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -26,6 +27,11 @@ namespace Thermo.Active.Thermocamera
public static readonly string BASE_PATH = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
/// <summary>
/// Indica se la camera sia connessa
/// </summary>
public bool CameraIsConnected = false;
#endregion Public Fields
#region Public Constructors
@@ -33,12 +39,15 @@ namespace Thermo.Active.Thermocamera
/// <summary>
/// Init classe
/// </summary>
/// <param name="isLive">Indica aabilitazione alive straming vs load dati storici</param>
/// <param name="isLive">Indica aabilitazione a live straming vs load dati storici</param>
public ThermoCamComunicator(bool isLive)
{
// init classe controllo camera
TCamLive = new TCContr($"{Constants.WEBSITE_DIRECTORY}\\{Constants.THERMO_DATA_FOLDER}", $"{BASE_PATH}\\{Constants.CONFIG_DIRECTORY}");
// aggancio evento connesisone/disconnessione
TCamLive.eh_CameraConnStatusChanged += TCamLive_eh_CameraConnStatusChanged;
// avvio classe gestione thermocamera...
TCamLive.tryReloadConf();
@@ -49,6 +58,12 @@ namespace Thermo.Active.Thermocamera
}
}
private void TCamLive_eh_CameraConnStatusChanged(object sender, Flir.Atlas.Live.ConnectionStatusChangedEventArgs e)
{
// salvo stato connessione
CameraIsConnected = e.Status == ConnectionStatus.Connected;
}
#endregion Public Constructors
#region Protected Methods
@@ -308,6 +308,7 @@
"options_thermoregulator_9_setpoint": 0.0,
"options_thermoregulator_10_enabled": 0.0,
"options_thermoregulator_10_setpoint": 0.0
"extraction_main_drawing_enabled": 0.0
},
"ChannelSetpoints": {
"1": 0,
+52 -34
View File
@@ -1,37 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
enabledWord:
bit 0 : Move Absolute [Ack]
bit 1 : Jog inc + [Ack]
bit 2 : Jog inc - [Ack]
bit 3 : Allinea [Ack]
bit 4 : Probe (Ack)
bit 5 : SetSlavePosition (Ack)
bit 6 : Azzera (Ack)
bit 7 - bit14: not used
bit15 : Target pos
Asse slave : 6
Asse master gantry con proxy: 56
Asse master gantry senza proxy: 2152
Asse singolo con proxy: 16
Asse singolo senza proxy: 2112
-->
<axes>
<axis id="1" name="KI_Asse_W1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="2" name="KI_Asse_W2" type="LINEAR" enabled="true" master="1" enabledWord="6" />
<axis id="3" name="KI_Asse_W3" type="LINEAR" enabled="false" master="1" enabledWord="6" />
<axis id="4" name="KI_Asse_W4" type="LINEAR" enabled="false" master="1" enabledWord="6" />
<axis id="5" name="KI_Asse_Z1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="6" name="KI_Asse_Z2" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="7" name="KI_Asse_Z3" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="8" name="KI_Asse_Z4" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="9" name="KI_Asse_R1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="10" name="KI_Asse_R2" type="LINEAR" enabled="false" master="9" enabledWord="6" />
<axis id="11" name="KI_Asse_S1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="12" name="KI_Asse_S2" type="LINEAR" enabled="false" master="11" enabledWord="6" />
<axis id="13" name="KI_Asse_CZ1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="14" name="KI_Asse_CZ2" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="15" name="KI_Asse_CZ3" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="16" name="KI_Asse_CZ4" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="17" name="KI_Asse_U1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="18" name="KI_Asse_U2" type="LINEAR" enabled="true" master="17" enabledWord="6" />
<axis id="19" name="KI_Asse_P" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="20" name="KI_Asse_X" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="21" name="KI_Asse_CX1" type="LINEAR" enabled="true" master="0" enabledWord="72" />
<axis id="22" name="KI_Asse_CX2" type="LINEAR" enabled="true" master="21" enabledWord="6" />
<axis id="23" name="KI_Asse_CY1" type="LINEAR" enabled="true" master="0" enabledWord="72" />
<axis id="24" name="KI_Asse_CY2" type="LINEAR" enabled="true" master="24" enabledWord="6" />
<axis id="25" name="KI_Asse_F11" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="26" name="KI_Asse_F12" type="LINEAR" enabled="false" master="25" enabledWord="16" />
<axis id="27" name="KI_Asse_F21" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="28" name="KI_Asse_F22" type="LINEAR" enabled="false" master="27" enabledWord="16" />
<axis id="29" name="KI_Asse_F31" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="30" name="KI_Asse_F32" type="LINEAR" enabled="false" master="29" enabledWord="16" />
<axis id="31" name="KI_Asse_F41" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="32" name="KI_Asse_F42" type="LINEAR" enabled="false" master="31" enabledWord="16" />
<axis id="33" name="KI_Asse_E" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="34" name="KI_Asse_M" type="LINEAR" enabled="false" master="0" enabledWord="0" />
<axis id="1" name="W1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="2" name="W2" type="LINEAR" enabled="true" master="1" enabledWord="6" />
<axis id="3" name="W3" type="LINEAR" enabled="false" master="1" enabledWord="6" />
<axis id="4" name="W4" type="LINEAR" enabled="false" master="1" enabledWord="6" />
<axis id="5" name="Z1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="6" name="Z2" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="7" name="Z3" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="8" name="Z4" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="9" name="R1" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="10" name="R2" type="LINEAR" enabled="false" master="9" enabledWord="6" />
<axis id="11" name="S1" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="12" name="S2" type="LINEAR" enabled="false" master="11" enabledWord="6" />
<axis id="13" name="CZ1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="14" name="CZ2" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="15" name="CZ3" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="16" name="CZ4" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="17" name="U1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="18" name="U2" type="LINEAR" enabled="true" master="17" enabledWord="6" />
<axis id="19" name="P" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="20" name="X" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="21" name="CX1" type="LINEAR" enabled="true" master="0" enabledWord="2152" />
<axis id="22" name="CX2" type="LINEAR" enabled="true" master="21" enabledWord="6" />
<axis id="23" name="CY1" type="LINEAR" enabled="true" master="0" enabledWord="2152" />
<axis id="24" name="CY2" type="LINEAR" enabled="true" master="23" enabledWord="6" />
<axis id="25" name="F11" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="26" name="F12" type="LINEAR" enabled="false" master="25" enabledWord="6" />
<axis id="27" name="F21" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="28" name="F22" type="LINEAR" enabled="false" master="27" enabledWord="6" />
<axis id="29" name="F31" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="30" name="F32" type="LINEAR" enabled="false" master="29" enabledWord="6" />
<axis id="31" name="F41" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="32" name="F42" type="LINEAR" enabled="false" master="31" enabledWord="6" />
<axis id="33" name="E" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="34" name="M" type="LINEAR" enabled="false" master="0" enabledWord="0" />
</axes>
@@ -3902,4 +3902,15 @@
<scaleFactor>1</scaleFactor>
<numDec>1</numDec>
</parameter>
<parameter>
<id>307</id>
<category>Extraction</category>
<subCategory_1>Main</subCategory_1>
<subCategory_2></subCategory_2>
<name>Drawing_Enabled</name>
<description>Abilitazione valvola imbutitura</description>
<format>boolean</format>
<scaleFactor>1</scaleFactor>
<numDec>1</numDec>
</parameter>
</recipe>
+8 -3
View File
@@ -113,6 +113,10 @@
<key>RangeTempMax</key>
<value>100</value>
</entry>
<entry>
<key>EnableThermocam</key>
<value>true</value>
</entry>
</additionalParameters>
<unitOfMeasures>
<unitOfMeasure id="0" value="" />
@@ -129,7 +133,7 @@
<thread name="axis" value="200" />
<thread name="channelsIoFast" value="300" />
<thread name="channelsIoSlow" value="5000" />
<thread name="area" value="500" />
<thread name="area" value="2500" />
<thread name="confReq" value="2000" />
<thread name="expMan" value="30000" />
<thread name="functionEnab" value="300" />
@@ -141,12 +145,13 @@
<thread name="prodInfo" value="1000" />
<thread name="prodPanel" value="500" />
<thread name="modules" value="200" />
<thread name="recipe" value="4000" />
<thread name="recipe" value="1000" />
<thread name="scada" value="1000" />
<thread name="statusCommand" value="250" />
<thread name="FlirCamera" value="500" />
<thread name="userSK" value="250" />
<thread name="warmers" value="500" />
<thread name="warmers" value="2000" />
<thread name="watchdog" value="250" />
<thread name="stats" value="2000" />
</sampling>
</serverConfig>
@@ -129,7 +129,8 @@ namespace Thermo.Active.Config
Name = x.Attribute("name").Value,
MasterId = Convert.ToInt16(x.Attribute("master").Value),
EnabledWord = Convert.ToInt16(x.Attribute("enabledWord").Value),
Type = GetTActAxes_Type(x.Attribute("type").Value)
Type = GetTActAxes_Type(x.Attribute("type").Value),
IsVisible = Convert.ToBoolean(x.Attribute("enabled").Value)
})
.ToList();
}
+85 -60
View File
@@ -230,21 +230,35 @@ public static class ThreadsFunctions
internal static void StatThread()
{
int samplePeriod = samplMsec("stats") > 0 ? samplMsec("stats") : 1000;
while (true)
{
long totTime = 0;
foreach (var value in Counter)
{
if (ThreadsHandler.RunningThreadStatus.ContainsKey(value.Key) && Counter[value.Key] != 0)
{
ThreadsHandler.RunningThreadStatus[value.Key] = $"{(Timers[value.Key] / Counter[value.Key])} ms x {Counter[value.Key]}";
totTime += Timers[value.Key];
ThreadsHandler.RunningThreadStatus[value.Key] = $"{((double)Timers[value.Key] / samplePeriod):P1} | {(Timers[value.Key] / Counter[value.Key])} ms x {Counter[value.Key]}";
Timers[value.Key] = 0;
Counter[value.Key] = 0;
}
}
// aggiungo totale
string grandTotal = $"{((double)totTime / samplePeriod):P1} | {totTime} ms";
if (ThreadsHandler.RunningThreadStatus.ContainsKey(" TOTAL"))
{
ThreadsHandler.RunningThreadStatus[" TOTAL"] = grandTotal;
}
else
{
ThreadsHandler.RunningThreadStatus.Add(" TOTAL", grandTotal);
}
MessageServices.Current.Publish(SEND_THREADS_STATUS, null, ThreadsHandler.RunningThreadStatus);
Thread.Sleep(2000);
Thread.Sleep(samplePeriod);
}
}
@@ -325,77 +339,88 @@ public static class ThreadsFunctions
public static void ManageFlirCamera()
{
NcAdapter ncAdapter = new NcAdapter();
ThermoCamComunicator TCCom = new ThermoCamComunicator(true);
Stopwatch sw = new Stopwatch();
try
// verifica abilitazione thermocam
if (NcAdapter.EnableThermocam)
{
// Try connection
CmsError libraryError = ncAdapter.Connect();
if (libraryError.errorCode != 0)
ManageLibraryError(libraryError);
while (true)
// avvio oggetto thermocam
ThermoCamComunicator TCCom = new ThermoCamComunicator(true);
Stopwatch sw = new Stopwatch();
try
{
bool flirImageReq = false;
sw.Restart();
// Try connection
CmsError libraryError = ncAdapter.Connect();
if (libraryError.errorCode != 0)
ManageLibraryError(libraryError);
// Check if client is connected
if (ncAdapter.numericalControl.NC_IsConnected())
while (true)
{
// check if there is a photo request pending
libraryError = ncAdapter.checkFlirImageRequest(out flirImageReq);
if (libraryError.IsError())
ManageLibraryError(libraryError);
bool flirImageReq = false;
sw.Restart();
if (flirImageReq)
// Check if client is connected
if (ncAdapter.numericalControl.NC_IsConnected())
{
bool done = false;
// if requested --> give ack!
ncAdapter.ManageFlirStrobe();
// requesto photo from library
NcAdapter.lastThermoImage = TCCom.takePicture();
done = !string.IsNullOrEmpty(NcAdapter.lastThermoImage);
if (done)
// check if there is a photo request pending
libraryError = ncAdapter.checkFlirImageRequest(out flirImageReq);
if (libraryError.IsError())
ManageLibraryError(libraryError);
if (flirImageReq)
{
// init
List<Thermo.Cam.Utils.MeasurePoint> measuredpoints = new List<Thermo.Cam.Utils.MeasurePoint>();
Dictionary<int, double> actualTemp = new Dictionary<int, double>();
Dictionary<int, ThermoPoint> chPoints = new Dictionary<int, ThermoPoint>();
// recupero punti centrali resistenze
ncAdapter.GetWarmersChannelCenterPoints(out chPoints);
// richiesta temperature per i punti
done = TCCom.readMultiTemperatures("", chPoints, out measuredpoints);
// converto in actualTemp
foreach (var item in measuredpoints)
bool done = false;
// if requested --> give ack!
ncAdapter.ManageFlirStrobe();
// requesto photo from library
NcAdapter.lastThermoImage = TCCom.takePicture();
done = !string.IsNullOrEmpty(NcAdapter.lastThermoImage);
if (done)
{
actualTemp.Add(item.Id, item.Temperature);
// init
List<Thermo.Cam.Utils.MeasurePoint> measuredpoints = new List<Thermo.Cam.Utils.MeasurePoint>();
Dictionary<int, double> actualTemp = new Dictionary<int, double>();
Dictionary<int, ThermoPoint> chPoints = new Dictionary<int, ThermoPoint>();
// recupero punti centrali resistenze
ncAdapter.GetWarmersChannelCenterPoints(out chPoints);
// richiesta temperature per i punti
done = TCCom.readMultiTemperatures("", chPoints, out measuredpoints);
// converto in actualTemp
foreach (var item in measuredpoints)
{
actualTemp.Add(item.Id, item.Temperature);
}
// salvo dati temp sul PLC
ncAdapter.WriteRecipeWarmChTCamTempAct(actualTemp);
// give PLC strobe for uploaded Actual TEMP from image
ncAdapter.SendTCamImageReadyStrb();
}
// salvo dati temp sul PLC
ncAdapter.WriteRecipeWarmChTCamTempAct(actualTemp);
// give PLC strobe for uploaded Actual TEMP from image
ncAdapter.SendTCamImageReadyStrb();
}
// salvo status thermocam...
NcAdapter.cameraIsConnected = TCCom.CameraIsConnected;
}
else
RestoreConnection();
sw.Stop();
// Update thread timer
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
// Wait
Thread.Sleep(CalcSleepTime(samplMsec("FlirCamera"), (int)sw.ElapsedMilliseconds));
}
else
RestoreConnection();
sw.Stop();
// Update thread timer
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
// Wait
Thread.Sleep(CalcSleepTime(samplMsec("FlirCamera"), (int)sw.ElapsedMilliseconds));
}
}
catch (ThreadAbortException)
{
ncAdapter.Dispose();
}
finally
{
// chiudo thermocam
TCCom.Dispose();
catch (ThreadAbortException)
{
ncAdapter.Dispose();
// chiudo thermocam
TCCom.Dispose();
}
finally
{
ncAdapter.Dispose();
// chiudo thermocam
TCCom.Dispose();
}
}
}
@@ -8,6 +8,7 @@ namespace Thermo.Active.Model.ConfigModels
public int Id;
public string Name { get; set; }
public bool IsSelectable { get; set; } = true;
public bool IsVisible { get; set; }
public TACT_AXES_TYPE Type { get; set; }
public int MasterId { get; set; } = 0;
public int EnabledWord { get; set; } = 0;
@@ -18,6 +18,10 @@ namespace Thermo.Active.Model.DTOModels.ThAxes
/// </summary>
public string name { get; set; } = "";
/// <summary>
/// visible in the page
/// </summary>
public bool visible { get; set; } = false;
/// <summary>
/// Master (0--> is master, > 0 --> is slave)
/// </summary>
public int masterID { get; set; } = 0;
@@ -30,6 +30,11 @@ namespace Thermo.Active.Model.DTOModels.ThWarmers
/// </summary>
public bool ThermoCamOnOff { get; set; } = false;
/// <summary>
/// Stato connessione ThermoCamera (in rete)
/// </summary>
public bool ThermoCamConnected { get; set; } = false;
/// <summary>
/// Opzione ThermoCamera (set by PLC)
/// </summary>
+85 -13
View File
@@ -135,6 +135,11 @@ namespace Thermo.Active.NC
/// </summary>
public NcThermo numericalControl;
/// <summary>
/// Indica se la FLIR camera è connessa
/// </summary>
public static bool cameraIsConnected = false;
#endregion Public Fields
#region Public Constructors
@@ -523,7 +528,7 @@ namespace Thermo.Active.NC
{
CmsError libraryError = NO_ERROR;
currCycleLog = new DTOCycleLog();
// fix valori
from = from > 0 ? from - 1 : 0;
//selezione
@@ -551,7 +556,7 @@ namespace Thermo.Active.NC
// effettuo traduzione e riordino
foreach (var item in currLogCycleData.OrderByDescending(i => i.DtEvent))
{
machineLog.events.Add(new CycleEvent() { dtEvent=item.DtEvent, code= item.Code });
machineLog.events.Add(new CycleEvent() { dtEvent = item.DtEvent, code = item.Code });
}
// salvo
lastCycleLogData = machineLog;
@@ -582,31 +587,31 @@ namespace Thermo.Active.NC
break;
case AxisCommand.MoveAbsolute:
doWrite = true;
biteCommand = 0;
biteCommand = 1;
break;
case AxisCommand.JogIncPlus:
doWrite = true;
biteCommand = 1;
biteCommand = 2;
break;
case AxisCommand.JogIncMinus:
doWrite = true;
biteCommand = 2;
biteCommand = 3;
break;
case AxisCommand.Align:
doWrite = true;
biteCommand = 3;
biteCommand = 4;
break;
case AxisCommand.Probe:
doWrite = true;
biteCommand = 4;
biteCommand = 5;
break;
case AxisCommand.SetSlavePosition:
doWrite = true;
biteCommand = 5;
biteCommand = 6;
break;
case AxisCommand.Reset:
doWrite = true;
biteCommand = 6;
biteCommand = 7;
break;
case AxisCommand.Num07:
break;
@@ -1409,7 +1414,9 @@ namespace Thermo.Active.NC
// leggo la ricetta dal PLC!
var currRecipe = new Dictionary<string, DTORecipeParam>();
libraryError = ReadFullRecipe(out currRecipe);
//libraryError = ReadFullRecipe(out currRecipe);
libraryError = ReadRecipeData(true, true, out currRecipe);
if (libraryError.IsError())
return libraryError;
@@ -1680,7 +1687,7 @@ namespace Thermo.Active.NC
var currRecipe = new Dictionary<string, DTORecipeParam>();
// read recipe
libraryError = ReadRecipeData(false, true, out currRecipe);
libraryError = ReadRecipeData(true, true, out currRecipe);
if (libraryError.IsError())
return libraryError;
@@ -1930,7 +1937,8 @@ namespace Thermo.Active.NC
name = x.Name,
masterID = x.MasterId,
enabledWord = (AxisCommand)x.EnabledWord,
type = x.Type.ToString()
type = x.Type.ToString(),
visible = x.IsVisible
}).ToDictionary(x => x.ID, x => x);
// se ho valori in cache uso quelli, altrimenti init obj
@@ -1947,7 +1955,8 @@ namespace Thermo.Active.NC
name = x.Name,
masterID = x.MasterId,
enabledWord = (AxisCommand)x.EnabledWord,
type = x.Type.ToString()
type = x.Type.ToString(),
visible = x.IsVisible
}).ToDictionary(x => x.ID, x => x);
}
@@ -2501,6 +2510,11 @@ namespace Thermo.Active.NC
// save on DB! attenzione: RAW DATA perché salvo pezzo PRECEDENTE...
using (ProdInfoController prodInfoController = new ProdInfoController())
{
string imgName = string.IsNullOrEmpty(pInfoRaw.ThermoImage) ? "_last" : pInfoRaw.ThermoImage;
if (imgName == "_last")
{
imgName = "UNDEFINED";
}
prodInfoController.Create(pInfoRaw.NumTarget, pInfoRaw.NumDone, pInfoRaw.TimeWarm, pInfoRaw.TimeVent, pInfoRaw.TimeVacuum, pInfoRaw.TimeCycleGross, pInfoRaw.TimeCycleNet, pInfoRaw.MaterialTempEndWarm, pInfoRaw.MaterialTempEndVent, pInfoRaw.MoldTemp, pInfoRaw.VacuumReadVal, pInfoRaw.MouldEnergyOUT, pInfoRaw.MouldEnergyIN, false, pInfoRaw.ThermoImage);
// indico di rileggere il DB...
forceProdPanelDbReload = true;
@@ -3113,6 +3127,16 @@ namespace Thermo.Active.NC
return libraryError;
}
public static bool EnableThermocam
{
get
{
bool answ = false;
bool.TryParse(AdditionalParametersConfig["EnableThermocam"], out answ);
return answ;
}
}
public CmsError ReadTCamData(out DTOThermoCam currTCamData)
{
CmsError libraryError = NO_ERROR;
@@ -3146,6 +3170,8 @@ namespace Thermo.Active.NC
Min = minVal,
Max = maxVal
};
// controllo se connessa
currTCamData.ThermoCamConnected = cameraIsConnected;
}
return libraryError;
}
@@ -3478,6 +3504,52 @@ namespace Thermo.Active.NC
return NO_ERROR;
}
/// <summary>
/// Set AdvMode for AXES
/// </summary>
/// <param name="advMode">Boolean for advmode true/false</param>
/// <returns></returns>
public CmsError SetAxesAdvMode(bool advMode)
{
// solo x S7...
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
{
// scrivo!
CmsError libraryError = numericalControl.PLC_WAxisGeneralControl(advMode);
if (libraryError.IsError())
return libraryError;
}
else
{
return FUNCTION_NOT_ALLOWED_ERROR;
}
return NO_ERROR;
}
/// <summary>
/// Get AdvMode for AXES
/// </summary>
/// <param name="advMode">Boolean for advmode true/false</param>
/// <returns></returns>
public CmsError GetAxesAdvMode(out bool advMode)
{
advMode = false;
// solo x S7...
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
{
// scrivo!
CmsError libraryError = numericalControl.PLC_RAxisGeneralStatus(ref advMode);
if (libraryError.IsError())
return libraryError;
}
else
{
return FUNCTION_NOT_ALLOWED_ERROR;
}
return NO_ERROR;
}
public void WriteCandy(DateTime value, int machNumber)
{
long nDays;
+400 -400
View File
@@ -30,436 +30,436 @@ namespace Thermo.Active.UI
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerControlWindow));
this.StepNotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.NotifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.adminMachineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.passwordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.goBackToStandardModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.resetSpindleHoursToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetCountersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetMachineWorkingHoursToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.StopServerItem = new System.Windows.Forms.ToolStripMenuItem();
this.TXTstatus = new System.Windows.Forms.TextBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.stopServerButton = new System.Windows.Forms.Button();
this.openUiButton = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.label3 = new System.Windows.Forms.Label();
this.TXTVersion = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.TXTType = new System.Windows.Forms.Label();
this.CHNcConnected = new System.Windows.Forms.CheckBox();
this.label2 = new System.Windows.Forms.Label();
this.TXTMachId = new System.Windows.Forms.Label();
this.LISTThreadStatus = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.menuToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.closeCMSServerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.serviceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.passwordToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.goBackToStandardModeToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.resetSpindleHoursToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.resetCountersToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.resetMachineWorkingHoursToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.NotifyIconMenu.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// StepNotifyIcon
//
this.StepNotifyIcon.BalloonTipText = "Active";
this.StepNotifyIcon.ContextMenuStrip = this.NotifyIconMenu;
this.StepNotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("StepNotifyIcon.Icon")));
this.StepNotifyIcon.Text = "Active";
this.StepNotifyIcon.Visible = true;
this.StepNotifyIcon.DoubleClick += new System.EventHandler(this.NotifyIcon_Click);
//
// NotifyIconMenu
//
this.NotifyIconMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerControlWindow));
this.StepNotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.NotifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.adminMachineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.passwordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.goBackToStandardModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.resetSpindleHoursToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetCountersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetMachineWorkingHoursToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.StopServerItem = new System.Windows.Forms.ToolStripMenuItem();
this.TXTstatus = new System.Windows.Forms.TextBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.stopServerButton = new System.Windows.Forms.Button();
this.openUiButton = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.label3 = new System.Windows.Forms.Label();
this.TXTVersion = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.TXTType = new System.Windows.Forms.Label();
this.CHNcConnected = new System.Windows.Forms.CheckBox();
this.label2 = new System.Windows.Forms.Label();
this.TXTMachId = new System.Windows.Forms.Label();
this.LISTThreadStatus = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.menuToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.closeCMSServerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.serviceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.passwordToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.goBackToStandardModeToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.resetSpindleHoursToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.resetCountersToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.resetMachineWorkingHoursToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.NotifyIconMenu.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// StepNotifyIcon
//
this.StepNotifyIcon.BalloonTipText = "Active";
this.StepNotifyIcon.ContextMenuStrip = this.NotifyIconMenu;
this.StepNotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("StepNotifyIcon.Icon")));
this.StepNotifyIcon.Text = "Active";
this.StepNotifyIcon.Visible = true;
this.StepNotifyIcon.DoubleClick += new System.EventHandler(this.NotifyIcon_Click);
//
// NotifyIconMenu
//
this.NotifyIconMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.adminMachineToolStripMenuItem,
this.toolStripSeparator3,
this.StopServerItem});
this.NotifyIconMenu.Name = "NotifyIconMenu";
this.NotifyIconMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
this.NotifyIconMenu.Size = new System.Drawing.Size(175, 54);
//
// adminMachineToolStripMenuItem
//
this.adminMachineToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.NotifyIconMenu.Name = "NotifyIconMenu";
this.NotifyIconMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
this.NotifyIconMenu.Size = new System.Drawing.Size(175, 54);
//
// adminMachineToolStripMenuItem
//
this.adminMachineToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.passwordToolStripMenuItem,
this.goBackToStandardModeToolStripMenuItem,
this.toolStripSeparator,
this.resetSpindleHoursToolStripMenuItem,
this.resetCountersToolStripMenuItem,
this.resetMachineWorkingHoursToolStripMenuItem});
this.adminMachineToolStripMenuItem.Name = "adminMachineToolStripMenuItem";
this.adminMachineToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.adminMachineToolStripMenuItem.Text = "Service";
//
// passwordToolStripMenuItem
//
this.passwordToolStripMenuItem.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Lock_icon;
this.passwordToolStripMenuItem.Name = "passwordToolStripMenuItem";
this.passwordToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.passwordToolStripMenuItem.Text = "Password";
this.passwordToolStripMenuItem.Click += new System.EventHandler(this.passwordToolStripMenuItem_Click);
//
// goBackToStandardModeToolStripMenuItem
//
this.goBackToStandardModeToolStripMenuItem.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Unlock_icon;
this.goBackToStandardModeToolStripMenuItem.Name = "goBackToStandardModeToolStripMenuItem";
this.goBackToStandardModeToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.goBackToStandardModeToolStripMenuItem.Text = "Go back to standard mode";
this.goBackToStandardModeToolStripMenuItem.Visible = false;
this.goBackToStandardModeToolStripMenuItem.Click += new System.EventHandler(this.goBackToStandardModeToolStripMenuItem_Click);
//
// toolStripSeparator
//
this.toolStripSeparator.Name = "toolStripSeparator";
this.toolStripSeparator.Size = new System.Drawing.Size(231, 6);
this.toolStripSeparator.Visible = false;
//
// resetSpindleHoursToolStripMenuItem
//
this.resetSpindleHoursToolStripMenuItem.Name = "resetSpindleHoursToolStripMenuItem";
this.resetSpindleHoursToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.resetSpindleHoursToolStripMenuItem.Text = "Reset Spindle Active Time";
this.resetSpindleHoursToolStripMenuItem.Visible = false;
this.resetSpindleHoursToolStripMenuItem.Click += new System.EventHandler(this.resetSpindleHoursToolStripMenuItem_Click);
//
// resetCountersToolStripMenuItem
//
this.resetCountersToolStripMenuItem.Name = "resetCountersToolStripMenuItem";
this.resetCountersToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.resetCountersToolStripMenuItem.Text = "Reset CMS-Active Counters";
this.resetCountersToolStripMenuItem.Visible = false;
this.resetCountersToolStripMenuItem.Click += new System.EventHandler(this.resetCountersToolStripMenuItem_Click);
//
// resetMachineWorkingHoursToolStripMenuItem
//
this.resetMachineWorkingHoursToolStripMenuItem.Name = "resetMachineWorkingHoursToolStripMenuItem";
this.resetMachineWorkingHoursToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.resetMachineWorkingHoursToolStripMenuItem.Text = "Reset Machine Working Hours";
this.resetMachineWorkingHoursToolStripMenuItem.Visible = false;
this.resetMachineWorkingHoursToolStripMenuItem.Click += new System.EventHandler(this.resetMachineWorkingHoursToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(171, 6);
//
// StopServerItem
//
this.StopServerItem.Name = "StopServerItem";
this.StopServerItem.Size = new System.Drawing.Size(174, 22);
this.StopServerItem.Text = "Close Active Server";
this.StopServerItem.Click += new System.EventHandler(this.StopServerItem_Click);
//
// TXTstatus
//
this.TXTstatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
this.adminMachineToolStripMenuItem.Name = "adminMachineToolStripMenuItem";
this.adminMachineToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.adminMachineToolStripMenuItem.Text = "Service";
//
// passwordToolStripMenuItem
//
this.passwordToolStripMenuItem.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Lock_icon;
this.passwordToolStripMenuItem.Name = "passwordToolStripMenuItem";
this.passwordToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.passwordToolStripMenuItem.Text = "Password";
this.passwordToolStripMenuItem.Click += new System.EventHandler(this.passwordToolStripMenuItem_Click);
//
// goBackToStandardModeToolStripMenuItem
//
this.goBackToStandardModeToolStripMenuItem.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Unlock_icon;
this.goBackToStandardModeToolStripMenuItem.Name = "goBackToStandardModeToolStripMenuItem";
this.goBackToStandardModeToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.goBackToStandardModeToolStripMenuItem.Text = "Go back to standard mode";
this.goBackToStandardModeToolStripMenuItem.Visible = false;
this.goBackToStandardModeToolStripMenuItem.Click += new System.EventHandler(this.goBackToStandardModeToolStripMenuItem_Click);
//
// toolStripSeparator
//
this.toolStripSeparator.Name = "toolStripSeparator";
this.toolStripSeparator.Size = new System.Drawing.Size(231, 6);
this.toolStripSeparator.Visible = false;
//
// resetSpindleHoursToolStripMenuItem
//
this.resetSpindleHoursToolStripMenuItem.Name = "resetSpindleHoursToolStripMenuItem";
this.resetSpindleHoursToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.resetSpindleHoursToolStripMenuItem.Text = "Reset Spindle Active Time";
this.resetSpindleHoursToolStripMenuItem.Visible = false;
this.resetSpindleHoursToolStripMenuItem.Click += new System.EventHandler(this.resetSpindleHoursToolStripMenuItem_Click);
//
// resetCountersToolStripMenuItem
//
this.resetCountersToolStripMenuItem.Name = "resetCountersToolStripMenuItem";
this.resetCountersToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.resetCountersToolStripMenuItem.Text = "Reset CMS-Active Counters";
this.resetCountersToolStripMenuItem.Visible = false;
this.resetCountersToolStripMenuItem.Click += new System.EventHandler(this.resetCountersToolStripMenuItem_Click);
//
// resetMachineWorkingHoursToolStripMenuItem
//
this.resetMachineWorkingHoursToolStripMenuItem.Name = "resetMachineWorkingHoursToolStripMenuItem";
this.resetMachineWorkingHoursToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
this.resetMachineWorkingHoursToolStripMenuItem.Text = "Reset Machine Working Hours";
this.resetMachineWorkingHoursToolStripMenuItem.Visible = false;
this.resetMachineWorkingHoursToolStripMenuItem.Click += new System.EventHandler(this.resetMachineWorkingHoursToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(171, 6);
//
// StopServerItem
//
this.StopServerItem.Name = "StopServerItem";
this.StopServerItem.Size = new System.Drawing.Size(174, 22);
this.StopServerItem.Text = "Close Active Server";
this.StopServerItem.Click += new System.EventHandler(this.StopServerItem_Click);
//
// TXTstatus
//
this.TXTstatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.SetColumnSpan(this.TXTstatus, 2);
this.TXTstatus.Enabled = false;
this.TXTstatus.Location = new System.Drawing.Point(3, 435);
this.TXTstatus.Name = "TXTstatus";
this.TXTstatus.ReadOnly = true;
this.TXTstatus.Size = new System.Drawing.Size(438, 20);
this.TXTstatus.TabIndex = 8;
this.TXTstatus.Text = "...";
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.tableLayoutPanel1.SetColumnSpan(this.TXTstatus, 2);
this.TXTstatus.Enabled = false;
this.TXTstatus.Location = new System.Drawing.Point(3, 620);
this.TXTstatus.Name = "TXTstatus";
this.TXTstatus.ReadOnly = true;
this.TXTstatus.Size = new System.Drawing.Size(438, 20);
this.TXTstatus.TabIndex = 8;
this.TXTstatus.Text = "...";
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.stopServerButton, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.openUiButton, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.TXTstatus, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.LISTThreadStatus, 0, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 27);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 89F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 54F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(444, 457);
this.tableLayoutPanel1.TabIndex = 58;
//
// stopServerButton
//
this.stopServerButton.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.stopServerButton, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.openUiButton, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.TXTstatus, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.LISTThreadStatus, 0, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 27);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 89F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 54F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(444, 642);
this.tableLayoutPanel1.TabIndex = 58;
//
// stopServerButton
//
this.stopServerButton.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.stopServerButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.stopServerButton.Location = new System.Drawing.Point(225, 381);
this.stopServerButton.Name = "stopServerButton";
this.stopServerButton.Size = new System.Drawing.Size(216, 48);
this.stopServerButton.TabIndex = 3;
this.stopServerButton.TabStop = false;
this.stopServerButton.Text = "Close Active";
this.stopServerButton.Click += new System.EventHandler(this.StopServerButton_Click);
//
// openUiButton
//
this.openUiButton.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.stopServerButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.stopServerButton.Location = new System.Drawing.Point(225, 566);
this.stopServerButton.Name = "stopServerButton";
this.stopServerButton.Size = new System.Drawing.Size(216, 48);
this.stopServerButton.TabIndex = 3;
this.stopServerButton.TabStop = false;
this.stopServerButton.Text = "Close Active";
this.stopServerButton.Click += new System.EventHandler(this.StopServerButton_Click);
//
// openUiButton
//
this.openUiButton.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.openUiButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.openUiButton.Location = new System.Drawing.Point(3, 381);
this.openUiButton.Name = "openUiButton";
this.openUiButton.Size = new System.Drawing.Size(216, 48);
this.openUiButton.TabIndex = 58;
this.openUiButton.TabStop = false;
this.openUiButton.Text = "Open Active Client";
this.openUiButton.Click += new System.EventHandler(this.OpenUiButton_Click);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.openUiButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.openUiButton.Location = new System.Drawing.Point(3, 566);
this.openUiButton.Name = "openUiButton";
this.openUiButton.Size = new System.Drawing.Size(216, 48);
this.openUiButton.TabIndex = 58;
this.openUiButton.TabStop = false;
this.openUiButton.Text = "Open Active Client";
this.openUiButton.Click += new System.EventHandler(this.OpenUiButton_Click);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.SetColumnSpan(this.panel1, 2);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.TXTVersion);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.TXTType);
this.panel1.Controls.Add(this.CHNcConnected);
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.TXTMachId);
this.panel1.Location = new System.Drawing.Point(3, 292);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(438, 83);
this.panel1.TabIndex = 9;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(3, 49);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(78, 13);
this.label3.TabIndex = 59;
this.label3.Text = "Active Version:";
//
// TXTVersion
//
this.TXTVersion.AutoSize = true;
this.TXTVersion.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TXTVersion.Location = new System.Drawing.Point(87, 49);
this.TXTVersion.Name = "TXTVersion";
this.TXTVersion.Size = new System.Drawing.Size(19, 13);
this.TXTVersion.TabIndex = 58;
this.TXTVersion.Text = "---";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(3, 24);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(44, 13);
this.label1.TabIndex = 54;
this.label1.Text = "Vendor:";
//
// TXTType
//
this.TXTType.AutoSize = true;
this.TXTType.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TXTType.Location = new System.Drawing.Point(48, 24);
this.TXTType.Name = "TXTType";
this.TXTType.Size = new System.Drawing.Size(19, 13);
this.TXTType.TabIndex = 53;
this.TXTType.Text = "---";
//
// CHNcConnected
//
this.CHNcConnected.AutoCheck = false;
this.CHNcConnected.ForeColor = System.Drawing.SystemColors.ControlText;
this.CHNcConnected.Location = new System.Drawing.Point(340, 24);
this.CHNcConnected.Name = "CHNcConnected";
this.CHNcConnected.Size = new System.Drawing.Size(81, 20);
this.CHNcConnected.TabIndex = 52;
this.CHNcConnected.Text = "Connected";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(142, 24);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(63, 13);
this.label2.TabIndex = 57;
this.label2.Text = "Machine Id:";
//
// TXTMachId
//
this.TXTMachId.AutoSize = true;
this.TXTMachId.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TXTMachId.Location = new System.Drawing.Point(240, 24);
this.TXTMachId.Name = "TXTMachId";
this.TXTMachId.Size = new System.Drawing.Size(19, 13);
this.TXTMachId.TabIndex = 56;
this.TXTMachId.Text = "---";
//
// LISTThreadStatus
//
this.LISTThreadStatus.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.tableLayoutPanel1.SetColumnSpan(this.panel1, 2);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.TXTVersion);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.TXTType);
this.panel1.Controls.Add(this.CHNcConnected);
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.TXTMachId);
this.panel1.Location = new System.Drawing.Point(3, 477);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(438, 83);
this.panel1.TabIndex = 9;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(3, 49);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(78, 13);
this.label3.TabIndex = 59;
this.label3.Text = "Active Version:";
//
// TXTVersion
//
this.TXTVersion.AutoSize = true;
this.TXTVersion.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TXTVersion.Location = new System.Drawing.Point(87, 49);
this.TXTVersion.Name = "TXTVersion";
this.TXTVersion.Size = new System.Drawing.Size(19, 13);
this.TXTVersion.TabIndex = 58;
this.TXTVersion.Text = "---";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(3, 24);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(44, 13);
this.label1.TabIndex = 54;
this.label1.Text = "Vendor:";
//
// TXTType
//
this.TXTType.AutoSize = true;
this.TXTType.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TXTType.Location = new System.Drawing.Point(48, 24);
this.TXTType.Name = "TXTType";
this.TXTType.Size = new System.Drawing.Size(19, 13);
this.TXTType.TabIndex = 53;
this.TXTType.Text = "---";
//
// CHNcConnected
//
this.CHNcConnected.AutoCheck = false;
this.CHNcConnected.ForeColor = System.Drawing.SystemColors.ControlText;
this.CHNcConnected.Location = new System.Drawing.Point(340, 24);
this.CHNcConnected.Name = "CHNcConnected";
this.CHNcConnected.Size = new System.Drawing.Size(81, 20);
this.CHNcConnected.TabIndex = 52;
this.CHNcConnected.Text = "Connected";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(142, 24);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(63, 13);
this.label2.TabIndex = 57;
this.label2.Text = "Machine Id:";
//
// TXTMachId
//
this.TXTMachId.AutoSize = true;
this.TXTMachId.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TXTMachId.Location = new System.Drawing.Point(240, 24);
this.TXTMachId.Name = "TXTMachId";
this.TXTMachId.Size = new System.Drawing.Size(19, 13);
this.TXTMachId.TabIndex = 56;
this.TXTMachId.Text = "---";
//
// LISTThreadStatus
//
this.LISTThreadStatus.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1,
this.columnHeader2});
this.tableLayoutPanel1.SetColumnSpan(this.LISTThreadStatus, 2);
this.LISTThreadStatus.Dock = System.Windows.Forms.DockStyle.Fill;
this.LISTThreadStatus.HideSelection = false;
this.LISTThreadStatus.Location = new System.Drawing.Point(3, 3);
this.LISTThreadStatus.Name = "LISTThreadStatus";
this.LISTThreadStatus.Size = new System.Drawing.Size(438, 283);
this.LISTThreadStatus.TabIndex = 59;
this.LISTThreadStatus.UseCompatibleStateImageBehavior = false;
this.LISTThreadStatus.View = System.Windows.Forms.View.Details;
//
// columnHeader1
//
this.columnHeader1.Text = "Thread Name";
this.columnHeader1.Width = 328;
//
// columnHeader2
//
this.columnHeader2.Text = "Time";
this.columnHeader2.Width = 78;
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tableLayoutPanel1.SetColumnSpan(this.LISTThreadStatus, 2);
this.LISTThreadStatus.Dock = System.Windows.Forms.DockStyle.Fill;
this.LISTThreadStatus.HideSelection = false;
this.LISTThreadStatus.Location = new System.Drawing.Point(3, 3);
this.LISTThreadStatus.Name = "LISTThreadStatus";
this.LISTThreadStatus.Size = new System.Drawing.Size(438, 468);
this.LISTThreadStatus.TabIndex = 59;
this.LISTThreadStatus.UseCompatibleStateImageBehavior = false;
this.LISTThreadStatus.View = System.Windows.Forms.View.Details;
//
// columnHeader1
//
this.columnHeader1.Text = "Thread Name";
this.columnHeader1.Width = 200;
//
// columnHeader2
//
this.columnHeader2.Text = "Time";
this.columnHeader2.Width = 230;
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(468, 24);
this.menuStrip1.TabIndex = 59;
this.menuStrip1.Text = "menuStrip1";
//
// menuToolStripMenuItem
//
this.menuToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(468, 24);
this.menuStrip1.TabIndex = 59;
this.menuStrip1.Text = "menuStrip1";
//
// menuToolStripMenuItem
//
this.menuToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.closeCMSServerToolStripMenuItem,
this.toolStripSeparator2,
this.serviceToolStripMenuItem});
this.menuToolStripMenuItem.Name = "menuToolStripMenuItem";
this.menuToolStripMenuItem.Size = new System.Drawing.Size(50, 20);
this.menuToolStripMenuItem.Text = "Menu";
//
// closeCMSServerToolStripMenuItem
//
this.closeCMSServerToolStripMenuItem.Name = "closeCMSServerToolStripMenuItem";
this.closeCMSServerToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.closeCMSServerToolStripMenuItem.Text = "Close Active Server";
this.closeCMSServerToolStripMenuItem.Click += new System.EventHandler(this.closeCMSServerToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(171, 6);
//
// serviceToolStripMenuItem
//
this.serviceToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuToolStripMenuItem.Name = "menuToolStripMenuItem";
this.menuToolStripMenuItem.Size = new System.Drawing.Size(50, 20);
this.menuToolStripMenuItem.Text = "Menu";
//
// closeCMSServerToolStripMenuItem
//
this.closeCMSServerToolStripMenuItem.Name = "closeCMSServerToolStripMenuItem";
this.closeCMSServerToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.closeCMSServerToolStripMenuItem.Text = "Close Active Server";
this.closeCMSServerToolStripMenuItem.Click += new System.EventHandler(this.closeCMSServerToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(171, 6);
//
// serviceToolStripMenuItem
//
this.serviceToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.passwordToolStripMenuItem1,
this.goBackToStandardModeToolStripMenuItem1,
this.toolStripSeparator1,
this.resetSpindleHoursToolStripMenuItem1,
this.resetCountersToolStripMenuItem1,
this.resetMachineWorkingHoursToolStripMenuItem1});
this.serviceToolStripMenuItem.Name = "serviceToolStripMenuItem";
this.serviceToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.serviceToolStripMenuItem.Text = "Service";
//
// passwordToolStripMenuItem1
//
this.passwordToolStripMenuItem1.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Lock_icon;
this.passwordToolStripMenuItem1.Name = "passwordToolStripMenuItem1";
this.passwordToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.passwordToolStripMenuItem1.Text = "Password";
this.passwordToolStripMenuItem1.Click += new System.EventHandler(this.passwordToolStripMenuItem1_Click);
//
// goBackToStandardModeToolStripMenuItem1
//
this.goBackToStandardModeToolStripMenuItem1.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Unlock_icon;
this.goBackToStandardModeToolStripMenuItem1.Name = "goBackToStandardModeToolStripMenuItem1";
this.goBackToStandardModeToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.goBackToStandardModeToolStripMenuItem1.Text = "Go back to standard mode";
this.goBackToStandardModeToolStripMenuItem1.Visible = false;
this.goBackToStandardModeToolStripMenuItem1.Click += new System.EventHandler(this.goBackToStandardModeToolStripMenuItem1_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(231, 6);
this.toolStripSeparator1.Visible = false;
//
// resetSpindleHoursToolStripMenuItem1
//
this.resetSpindleHoursToolStripMenuItem1.Name = "resetSpindleHoursToolStripMenuItem1";
this.resetSpindleHoursToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.resetSpindleHoursToolStripMenuItem1.Text = "Reset Spindle Active Time";
this.resetSpindleHoursToolStripMenuItem1.Visible = false;
this.resetSpindleHoursToolStripMenuItem1.Click += new System.EventHandler(this.resetSpindleHoursToolStripMenuItem1_Click);
//
// resetCountersToolStripMenuItem1
//
this.resetCountersToolStripMenuItem1.Name = "resetCountersToolStripMenuItem1";
this.resetCountersToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.resetCountersToolStripMenuItem1.Text = "Reset CMS-Active Counters";
this.resetCountersToolStripMenuItem1.Visible = false;
this.resetCountersToolStripMenuItem1.Click += new System.EventHandler(this.resetCountersToolStripMenuItem1_Click);
//
// resetMachineWorkingHoursToolStripMenuItem1
//
this.resetMachineWorkingHoursToolStripMenuItem1.Name = "resetMachineWorkingHoursToolStripMenuItem1";
this.resetMachineWorkingHoursToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.resetMachineWorkingHoursToolStripMenuItem1.Text = "Reset Machine Working Hours";
this.resetMachineWorkingHoursToolStripMenuItem1.Visible = false;
this.resetMachineWorkingHoursToolStripMenuItem1.Click += new System.EventHandler(this.resetMachineWorkingHoursToolStripMenuItem1_Click);
//
// ServerControlWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(468, 496);
this.Controls.Add(this.menuStrip1);
this.Controls.Add(this.tableLayoutPanel1);
this.ForeColor = System.Drawing.SystemColors.ControlText;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.Margin = new System.Windows.Forms.Padding(2);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ServerControlWindow";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ServerControlWindow_FormClosing);
this.Load += new System.EventHandler(this.ServerControlWindow_Load);
this.NotifyIconMenu.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
this.serviceToolStripMenuItem.Name = "serviceToolStripMenuItem";
this.serviceToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.serviceToolStripMenuItem.Text = "Service";
//
// passwordToolStripMenuItem1
//
this.passwordToolStripMenuItem1.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Lock_icon;
this.passwordToolStripMenuItem1.Name = "passwordToolStripMenuItem1";
this.passwordToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.passwordToolStripMenuItem1.Text = "Password";
this.passwordToolStripMenuItem1.Click += new System.EventHandler(this.passwordToolStripMenuItem1_Click);
//
// goBackToStandardModeToolStripMenuItem1
//
this.goBackToStandardModeToolStripMenuItem1.Image = global::Thermo.Active.UI.Properties.Resources.Apps_Unlock_icon;
this.goBackToStandardModeToolStripMenuItem1.Name = "goBackToStandardModeToolStripMenuItem1";
this.goBackToStandardModeToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.goBackToStandardModeToolStripMenuItem1.Text = "Go back to standard mode";
this.goBackToStandardModeToolStripMenuItem1.Visible = false;
this.goBackToStandardModeToolStripMenuItem1.Click += new System.EventHandler(this.goBackToStandardModeToolStripMenuItem1_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(231, 6);
this.toolStripSeparator1.Visible = false;
//
// resetSpindleHoursToolStripMenuItem1
//
this.resetSpindleHoursToolStripMenuItem1.Name = "resetSpindleHoursToolStripMenuItem1";
this.resetSpindleHoursToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.resetSpindleHoursToolStripMenuItem1.Text = "Reset Spindle Active Time";
this.resetSpindleHoursToolStripMenuItem1.Visible = false;
this.resetSpindleHoursToolStripMenuItem1.Click += new System.EventHandler(this.resetSpindleHoursToolStripMenuItem1_Click);
//
// resetCountersToolStripMenuItem1
//
this.resetCountersToolStripMenuItem1.Name = "resetCountersToolStripMenuItem1";
this.resetCountersToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.resetCountersToolStripMenuItem1.Text = "Reset CMS-Active Counters";
this.resetCountersToolStripMenuItem1.Visible = false;
this.resetCountersToolStripMenuItem1.Click += new System.EventHandler(this.resetCountersToolStripMenuItem1_Click);
//
// resetMachineWorkingHoursToolStripMenuItem1
//
this.resetMachineWorkingHoursToolStripMenuItem1.Name = "resetMachineWorkingHoursToolStripMenuItem1";
this.resetMachineWorkingHoursToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);
this.resetMachineWorkingHoursToolStripMenuItem1.Text = "Reset Machine Working Hours";
this.resetMachineWorkingHoursToolStripMenuItem1.Visible = false;
this.resetMachineWorkingHoursToolStripMenuItem1.Click += new System.EventHandler(this.resetMachineWorkingHoursToolStripMenuItem1_Click);
//
// ServerControlWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(468, 681);
this.Controls.Add(this.menuStrip1);
this.Controls.Add(this.tableLayoutPanel1);
this.ForeColor = System.Drawing.SystemColors.ControlText;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.Margin = new System.Windows.Forms.Padding(2);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ServerControlWindow";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ServerControlWindow_FormClosing);
this.Load += new System.EventHandler(this.ServerControlWindow_Load);
this.NotifyIconMenu.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
+11 -9
View File
@@ -267,16 +267,18 @@ namespace Thermo.Active.UI
if (!isUpdatingThreads)
{
isUpdatingThreads = true;
Dictionary<String, String> Threads = new Dictionary<String, String>((Dictionary<String, String>)a);
//Begin the update
LISTThreadStatus.BeginUpdate();
//clear the List
LISTThreadStatus.Items.Clear();
//Add all items
foreach (KeyValuePair<string, String> Thr in Threads)
Dictionary<String, String> myThreads = new Dictionary<String, String>((Dictionary<String, String>)a);
//Begin the update
LISTThreadStatus.BeginUpdate();
//clear the List
LISTThreadStatus.Items.Clear();
//Add all items
foreach (KeyValuePair<string, String> Thr in myThreads)
{
LISTThreadStatus.Items.Add(new ListViewItem(new String[]{Thr.Key,Thr.Value }));
//End the update
LISTThreadStatus.EndUpdate();
}
//End the update
LISTThreadStatus.EndUpdate();
isUpdatingThreads = false;
}
});
+64 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Automatically generated by nicola.carminati: 2021-02-25 -->
<!-- Automatically generated by nicola.carminati: 2021-03-10 -->
<root>
<language_it>Italiano</language_it>
<header_maintainance_request>Effettuare manutenzione</header_maintainance_request>
@@ -358,8 +358,8 @@
<underthehood_label_val>Valore</underthehood_label_val>
<underthehood_label_force>Forzatura</underthehood_label_force>
<underthehood_label_io>Gestione IO</underthehood_label_io>
<underthehood_label_loga>Log - Lastre</underthehood_label_loga>
<underthehood_label_logm>Log - Ciclo automatico</underthehood_label_logm>
<underthehood_label_loga>Log - Ciclo automatico</underthehood_label_loga>
<underthehood_label_logm>Log - Lastre</underthehood_label_logm>
<underthehood_label_assi>Gestione assi</underthehood_label_assi>
<underthehood_label_riscaldi>Gestione riscaldi</underthehood_label_riscaldi>
<underthehood_btn_details>Dettagli</underthehood_btn_details>
@@ -368,6 +368,66 @@
<underthehood_label_channel>Canale</underthehood_label_channel>
<underthehood_label_board>Board</underthehood_label_board>
<underthehood_label_currenta>Corrente [A]</underthehood_label_currenta>
<underthehood_label_currentp>Corrente [%%]</underthehood_label_currentp>
<underthehood_label_currentp>Power [%%]</underthehood_label_currentp>
<underthehood_label_status>Stato</underthehood_label_status>
<underthehood_label_date>Data</underthehood_label_date>
<underthehood_label_message>Messaggio</underthehood_label_message>
<underthehood_btn_zero>Set Zero</underthehood_btn_zero>
<underthehood_label_axis_enabled>Abilitato</underthehood_label_axis_enabled>
<underthehood_label_axes>Asse</underthehood_label_axes>
<underthehood_label_position>Posizione</underthehood_label_position>
<underthehood_label_speed>Velocità</underthehood_label_speed>
<underthehood_label_torque>Carico</underthehood_label_torque>
<underthehood_label_errorcode>Cod. errore</underthehood_label_errorcode>
<underthehood_label_motion>Fase mot.</underthehood_label_motion>
<underthehood_btn_align>Allinea</underthehood_btn_align>
<underthehood_btn_probe>Set Probe</underthehood_btn_probe>
<underthehood_btn_setslaves>Set posizione slave</underthehood_btn_setslaves>
<cmsconnect_info_lbl_title>Gestione CMS-Connect</cmsconnect_info_lbl_title>
<cmsconnect_info_menu_conn_status>Stato connessione</cmsconnect_info_menu_conn_status>
<cmsconnect_info_menu_networkconfig>Configurazione rete</cmsconnect_info_menu_networkconfig>
<cmsconnect_info_menu_proxyconfig>Configurazione s. proxy</cmsconnect_info_menu_proxyconfig>
<cmsconnect_info_menu_activation>Attivazione</cmsconnect_info_menu_activation>
<cmsconnect_info_menu_messages>Messaggi</cmsconnect_info_menu_messages>
<cmsconnect_info_menu_reboot>Riavvio</cmsconnect_info_menu_reboot>
<cmsconnect_info_lbl_url>Url</cmsconnect_info_lbl_url>
<cmsconnect_info_lbl_port>Porta</cmsconnect_info_lbl_port>
<cmsconnect_info_btn_run_conn_test>Avvia test</cmsconnect_info_btn_run_conn_test>
<star_keyboard_softkeys>Softkey in console</star_keyboard_softkeys>
<footer_tooltip_under_hood>Sotto il cofano</footer_tooltip_under_hood>
<underthehood_btn_move>Muovi</underthehood_btn_move>
<modal_confirm_mode_manual>Confermi di voler passare alla modalità manuale?</modal_confirm_mode_manual>
<cmsconnect_info_lbl_dhcp>Dhcp</cmsconnect_info_lbl_dhcp>
<cmsconnect_info_lbl_netmask>Netmask</cmsconnect_info_lbl_netmask>
<cmsconnect_info_lbl_dgateway>Default Gateway</cmsconnect_info_lbl_dgateway>
<cmsconnect_info_lbl_dns>Server Dns</cmsconnect_info_lbl_dns>
<cmsconnect_info_lbl_pref>Prefissi</cmsconnect_info_lbl_pref>
<cmsconnect_info_lbl_pref_placeholder>aggiungi un prefisso in ogni linea</cmsconnect_info_lbl_pref_placeholder>
<cmsconnect_info_lbl_proxy>Proxy</cmsconnect_info_lbl_proxy>
<cmsconnect_info_lbl_ip>Ip</cmsconnect_info_lbl_ip>
<cmsconnect_info_lbl_username>Username</cmsconnect_info_lbl_username>
<cmsconnect_info_lbl_password>Password</cmsconnect_info_lbl_password>
<cmsconnect_info_lbl_proxy_filters>Filtri proxy</cmsconnect_info_lbl_proxy_filters>
<cmsconnect_info_lbl_dns_placeholder>aggiungi un indirizzo in ogni linea</cmsconnect_info_lbl_dns_placeholder>
<cmsconnect_info_btn_load>Carica</cmsconnect_info_btn_load>
<cmsconnect_info_btn_save>Salva</cmsconnect_info_btn_save>
<connect_qrcode_activation_title>Scansiona il codice QR</connect_qrcode_activation_title>
<connect_link_activation_title>E inserisci il codice:</connect_link_activation_title>
<messages_lbl_create_message>Messaggio</messages_lbl_create_message>
<cmsconnect_info_messages_duration>Durata</cmsconnect_info_messages_duration>
<cmsconnect_info_messages_department>Dipartimento</cmsconnect_info_messages_department>
<cmsconnect_info_messages_department_maintenance>Manutenzione</cmsconnect_info_messages_department_maintenance>
<cmsconnect_info_messages_department_production>Produzione</cmsconnect_info_messages_department_production>
<cmsconnect_info_btn_send_message>Invia messaggio</cmsconnect_info_btn_send_message>
<cmsconnect_info_btn_reboot>Riavvia</cmsconnect_info_btn_reboot>
<modal_axis_info>Info Asse</modal_axis_info>
<axis_info_id>Id:</axis_info_id>
<axis_info_name>Nome:</axis_info_name>
<axis_info_torque>In coppia:</axis_info_torque>
<axis_info_gantry>Gantry:</axis_info_gantry>
<axis_info_moving>In movimento:</axis_info_moving>
<axis_info_zero>Azzerato:</axis_info_zero>
<axis_info_position>In posizione:</axis_info_position>
<axis_info_error>In errore:</axis_info_error>
<axis_info_brakealm>Allarme test freno:</axis_info_brakealm>
</root>
+64 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Automatically generated by nicola.carminati: 2021-02-25 -->
<!-- Automatically generated by nicola.carminati: 2021-03-10 -->
<root>
<language_it>English</language_it>
<header_maintainance_request>Maintenance request</header_maintainance_request>
@@ -358,8 +358,8 @@
<underthehood_label_val>Value</underthehood_label_val>
<underthehood_label_force>Force</underthehood_label_force>
<underthehood_label_io>IO Manager</underthehood_label_io>
<underthehood_label_loga>Log - Sheets</underthehood_label_loga>
<underthehood_label_logm>Log - Automatic cycle</underthehood_label_logm>
<underthehood_label_loga>Log - Automatic cycle</underthehood_label_loga>
<underthehood_label_logm>Log - Sheets</underthehood_label_logm>
<underthehood_label_assi>Axes Manager</underthehood_label_assi>
<underthehood_label_riscaldi>Warmers Manager</underthehood_label_riscaldi>
<underthehood_btn_details>Details</underthehood_btn_details>
@@ -368,6 +368,66 @@
<underthehood_label_channel>Channel</underthehood_label_channel>
<underthehood_label_board>Board</underthehood_label_board>
<underthehood_label_currenta>Current [A]</underthehood_label_currenta>
<underthehood_label_currentp>Current [%%]</underthehood_label_currentp>
<underthehood_label_currentp>Power [%%]</underthehood_label_currentp>
<underthehood_label_status>Status</underthehood_label_status>
<underthehood_label_date>Date</underthehood_label_date>
<underthehood_label_message>Message</underthehood_label_message>
<underthehood_btn_zero>Zero</underthehood_btn_zero>
<underthehood_label_axis_enabled>Enabled</underthehood_label_axis_enabled>
<underthehood_label_axes>Axes</underthehood_label_axes>
<underthehood_label_position>Position</underthehood_label_position>
<underthehood_label_speed>Speed</underthehood_label_speed>
<underthehood_label_torque>Torque</underthehood_label_torque>
<underthehood_label_errorcode>Error Code</underthehood_label_errorcode>
<underthehood_label_motion>Motion Ph.</underthehood_label_motion>
<underthehood_btn_align>Align</underthehood_btn_align>
<underthehood_btn_probe>Probe</underthehood_btn_probe>
<underthehood_btn_setslaves>Set slaves position</underthehood_btn_setslaves>
<cmsconnect_info_lbl_title>CMS-Connect Manager</cmsconnect_info_lbl_title>
<cmsconnect_info_menu_conn_status>Connection status</cmsconnect_info_menu_conn_status>
<cmsconnect_info_menu_networkconfig>Network configuration</cmsconnect_info_menu_networkconfig>
<cmsconnect_info_menu_proxyconfig>Proxy configuration</cmsconnect_info_menu_proxyconfig>
<cmsconnect_info_menu_activation>Activation</cmsconnect_info_menu_activation>
<cmsconnect_info_menu_messages>Messages</cmsconnect_info_menu_messages>
<cmsconnect_info_menu_reboot>Reboot</cmsconnect_info_menu_reboot>
<cmsconnect_info_lbl_url>Url</cmsconnect_info_lbl_url>
<cmsconnect_info_lbl_port>Port</cmsconnect_info_lbl_port>
<cmsconnect_info_btn_run_conn_test>Run test</cmsconnect_info_btn_run_conn_test>
<star_keyboard_softkeys>Softkey in console</star_keyboard_softkeys>
<footer_tooltip_under_hood>Unther the Hood</footer_tooltip_under_hood>
<underthehood_btn_move>Move</underthehood_btn_move>
<modal_confirm_mode_manual>Are you sure you want to switch to manual mode?</modal_confirm_mode_manual>
<cmsconnect_info_lbl_dhcp>Dhcp</cmsconnect_info_lbl_dhcp>
<cmsconnect_info_lbl_netmask>Netmask</cmsconnect_info_lbl_netmask>
<cmsconnect_info_lbl_dgateway>Default Gateway</cmsconnect_info_lbl_dgateway>
<cmsconnect_info_lbl_dns>Dns</cmsconnect_info_lbl_dns>
<cmsconnect_info_lbl_pref>Prefixes</cmsconnect_info_lbl_pref>
<cmsconnect_info_lbl_pref_placeholder>add a prefix in a new line</cmsconnect_info_lbl_pref_placeholder>
<cmsconnect_info_lbl_proxy>Proxy</cmsconnect_info_lbl_proxy>
<cmsconnect_info_lbl_ip>Ip</cmsconnect_info_lbl_ip>
<cmsconnect_info_lbl_username>Username</cmsconnect_info_lbl_username>
<cmsconnect_info_lbl_password>Password</cmsconnect_info_lbl_password>
<cmsconnect_info_lbl_proxy_filters>Proxy filters</cmsconnect_info_lbl_proxy_filters>
<cmsconnect_info_lbl_dns_placeholder>add an address in a new line</cmsconnect_info_lbl_dns_placeholder>
<cmsconnect_info_btn_load>Load</cmsconnect_info_btn_load>
<cmsconnect_info_btn_save>Save</cmsconnect_info_btn_save>
<connect_qrcode_activation_title>Scan the QRCode</connect_qrcode_activation_title>
<connect_link_activation_title>and type the code:</connect_link_activation_title>
<messages_lbl_create_message>Message</messages_lbl_create_message>
<cmsconnect_info_messages_duration>Duration</cmsconnect_info_messages_duration>
<cmsconnect_info_messages_department>Department</cmsconnect_info_messages_department>
<cmsconnect_info_messages_department_maintenance>Maintenance</cmsconnect_info_messages_department_maintenance>
<cmsconnect_info_messages_department_production>Production</cmsconnect_info_messages_department_production>
<cmsconnect_info_btn_send_message>Send Message</cmsconnect_info_btn_send_message>
<cmsconnect_info_btn_reboot>Reboot</cmsconnect_info_btn_reboot>
<modal_axis_info>Axis Info</modal_axis_info>
<axis_info_id>Id:</axis_info_id>
<axis_info_name>Name:</axis_info_name>
<axis_info_torque>In Torque:</axis_info_torque>
<axis_info_gantry>Gantry:</axis_info_gantry>
<axis_info_moving>Is Moving:</axis_info_moving>
<axis_info_zero>Zeroed:</axis_info_zero>
<axis_info_position>In Position:</axis_info_position>
<axis_info_error>In Error:</axis_info_error>
<axis_info_brakealm>Brake Test Alarm:</axis_info_brakealm>
</root>
@@ -100,7 +100,8 @@ namespace Thermo.Active.Controllers.WebApi
}
// read recipe!
libraryError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> prevRecipe);
//libraryError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> prevRecipe);
libraryError = ncAdapter.ReadRecipeData(true, true, out Dictionary<string, DTORecipeParam> prevRecipe);
if (libraryError.IsError())
{
ThermoActiveLogger.LogError($"GetRecipeOverview error | {libraryError.exception}");
@@ -71,7 +71,6 @@ namespace Thermo.Active.Controllers.WebApi
// recupero dati paginati
libraryError = ncAdapter.GetCycleLog(from, to, out currCycleLog);
if (libraryError.IsError())
{
ThermoActiveLogger.LogError($"GetCycleLog error | {libraryError.exception}");
@@ -81,7 +80,34 @@ namespace Thermo.Active.Controllers.WebApi
return Ok(currCycleLog);
}
[ResponseType(typeof(DTOChannelsIO))]
[ResponseType(typeof(bool))]
[Route("GetAxesAdvMode"), HttpGet]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.MAINTENANCE, Action = ACTIONS.WRITE)]
public IHttpActionResult GetAxesAdvMode()
{
// Try connection
CmsError libraryError = ncAdapter.Connect();
if (libraryError.IsError())
{
ThermoActiveLogger.LogError($"NC Not connected! | ForceChAO | {libraryError.exception}");
return InternalServerError();
}
// chiamo scrittura
bool advMode = false;
libraryError = ncAdapter.GetAxesAdvMode(out advMode);
if (libraryError.IsError())
{
ThermoActiveLogger.LogError($"GetCycleLog error | {libraryError.exception}");
return BadRequest(libraryError.localizationKey);
}
// ritorno solo fatto!
return Ok(advMode);
}
[ResponseType(typeof(DTOChannelsIO))]
[Route("channels_io"), HttpGet]
public IHttpActionResult GetChannelsIO()
{
@@ -309,6 +335,25 @@ namespace Thermo.Active.Controllers.WebApi
}
}
[Route("SetAxesAdvMode"), HttpPut]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.MAINTENANCE, Action = ACTIONS.WRITE)]
public IHttpActionResult SetAxesAdvMode(bool value)
{
// Try connection
CmsError libraryError = ncAdapter.Connect();
if (libraryError.IsError())
{
ThermoActiveLogger.LogError($"NC Not connected! | ForceChAO | {libraryError.exception}");
return InternalServerError();
}
// chiamo scrittura
ncAdapter.SetAxesAdvMode(value);
// ritorno solo fatto!
return Ok();
}
[Route("io_sample_fast"), HttpPut]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.MAINTENANCE, Action = ACTIONS.WRITE)]
public IHttpActionResult SetFastSample(bool value)
+1 -1
View File
@@ -30,4 +30,4 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.1.174")]
[assembly: AssemblyVersion("1.1.184")]
+3 -4
View File
@@ -86,8 +86,7 @@ english.InstallingDotNet = Installing .Net
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone;
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone;
Name: startupicon; Description: {cm:CreateStartupIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone;
Name: sinumerikicons; Description: {cm:CreateSinumerikIcons}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone;
Name: startupicon; Description: {cm:CreateStartupIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone;
[Files]
Source: "{#MySourcePath}\Thermo.Active.exe"; DestDir: "{app}"; Flags: ignoreversion
@@ -98,8 +97,8 @@ Source: "{#MySourcePath}\*.config"; DestDir: "{app}"; Flags: ignoreversion;
Source: "{#MySourcePath}\Config\*.xml"; DestDir: "{app}\Config\"; Flags: ignoreversion;
; Languages
Source: "{#MySourcePath}\languages\*.*"; DestDir: "{app}\languages\"; Flags: ignoreversion;
; Libs
Source: "{#MySourcePath}\lib\*.*"; DestDir: "{app}\lib\"; Flags: ignoreversion;
; dll
Source: "{#MySourcePath}\dll\*.*"; DestDir: "{app}\dll\"; Flags: ignoreversion recursesubdirs;
; Client copy
Source: "{#MySourcePath}\Client\*.*"; DestDir: "{app}\Client\"; Flags: recursesubdirs ignoreversion; AfterInstall: DeleteLocalStorage
; WWWRoot Files
+3
View File
@@ -0,0 +1,3 @@
{
"lockfileVersion": 1
}
@@ -63,7 +63,7 @@
grid-template-columns: 50% 50%;
grid-template-rows: 70% 30%;
display: grid;
font-size: 18px;
font-size: 27px;
span {
grid-column-start: 1;
grid-column-end: -1;
@@ -71,12 +71,14 @@
}
small {
grid-row: 2;
padding-left: 5px;
font-size: 13px;
padding-left: 10px;
font-size: 15px;
padding-bottom: 5px;
&:last-of-type {
padding-left: 0px;
grid-column: 2;
text-align: right;
padding-right: 5px;
padding-right: 10px;
}
}
}
@@ -31,6 +31,16 @@
outline: 5px #1791ff auto;
}
}
.doing{
width: 100%;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
font-size: 4em;
height: calc(100% - 65px);
color: #4f4f4f;
}
.select_folder {
height: 48px;
+16 -4
View File
@@ -29,6 +29,16 @@
.setup .notes_textarea:focus {
outline: 5px #1791ff auto;
}
.setup .doing {
width: 100%;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
font-size: 4em;
height: calc(100% - 65px);
color: #4f4f4f;
}
.setup .select_folder {
height: 48px;
background-color: #fff;
@@ -4871,7 +4881,7 @@ article .box .body {
grid-template-columns: 50% 50%;
grid-template-rows: 70% 30%;
display: grid;
font-size: 18px;
font-size: 27px;
}
.warmers svg .resistance.id span {
grid-column-start: 1;
@@ -4880,13 +4890,15 @@ article .box .body {
}
.warmers svg .resistance.id small {
grid-row: 2;
padding-left: 5px;
font-size: 13px;
padding-left: 10px;
font-size: 15px;
padding-bottom: 5px;
}
.warmers svg .resistance.id small:last-of-type {
padding-left: 0px;
grid-column: 2;
text-align: right;
padding-right: 5px;
padding-right: 10px;
}
.warmers .icon {
font-size: 30px;
+1
View File
@@ -333,6 +333,7 @@ declare module Recipe {
options_thermoregulator_9_setpoint?: IValue,
options_thermoregulator_10_enabled?: IValue,
options_thermoregulator_10_setpoint?: IValue,
extraction_main_drawing_enabled?: IValue,
}
}
@@ -44,7 +44,6 @@ export default {
},
methods: {
sendMessage(){
console.log(this.department);
this.$emit("click", this.message, this.estimateTime, this.department);
}
},
@@ -14,7 +14,7 @@
</nav>
<section class="main">
<header>{{'star-keyboard-softkeys' | localize("Keyboard softkeys")}}</header>
<header>{{'star_keyboard_softkeys' | localize("Keyboard softkeys")}}</header>
<article>
<button class="softkey star" :disabled="keyb1==0" :click="keyb1click">
<span class="icon">
@@ -113,11 +113,13 @@ export default class Dashboard extends Vue {
let min = Math.min(this.lastItem.numDone, ... this.items.map(i => i.numDone));
let result = await prodService.History(min - 1, min - 1)
let result = await prodService.History(min - 1)
for (const i of result) {
this.itemsMap.set(i.numDone, i);
}
this.items = Array.from(this.itemsMap.values()).sort((a, b) => b.numDone - a.numDone);
console.log(this.items);
this.loading = false;
}
@@ -37,12 +37,12 @@
:current-time="gaugeData.timeAdv.value"
></gantt>
<div class="zoom-buttons">
<button class="btn">
<i class="fa fa-search-minus" @click="zoomFactor /= zoomStep"></i>
<button class="btn" @click="zoomFactor /= zoomStep">
<i class="fa fa-search-minus"></i>
</button>
<zoom :min="0" :max="2" :value="zoomFactor"></zoom>
<button class="btn">
<i class="fa fa-search-plus" @click="zoomFactor *= zoomStep"></i>
<button class="btn" @click="zoomFactor *= zoomStep">
<i class="fa fa-search-plus" ></i>
</button>
<button
class="realign"
@@ -15,13 +15,19 @@ export default class backupRecipe extends Vue {
@Prop()
deferred: Deferred<string>;
folderlist = [];
devicelist = [];
device = "";
folder = "";
canDo = false;
backupping = false;
mounted() {
if (typeof cmsClient != "undefined") {
this.devicelist = JSON.parse(cmsClient.getOSextDriveList());
this.folderlist = JSON.parse(cmsClient.getAllRecipeDirectories());
}
this.canDo = false;
}
@@ -29,13 +35,38 @@ export default class backupRecipe extends Vue {
@Watch("device")
valueCHange(){
this.canDo = this.device.trim() != "";
this.canDo = this.device.trim() != "" && this.folder.trim() != "";
}
@Watch("folder")
folderCHange(){
this.canDo = this.device.trim() != "" && this.folder.trim() != "";
}
run() {
if (typeof cmsClient != "undefined") {
this.canDo = false;
var obj = JSON.parse(cmsClient.backupRecipes(this.device));
this.backupping = true;
setTimeout(() => {
this.realBackup();
}, 300);
}
}
close() {
messageService.deleteChannel("esc_pressed");
this.deferred.reject();
ModalHelper.HideModal();
}
realBackup(){
if(this.folder == "ALL_SUBFOLDERS")
var obj = JSON.parse(cmsClient.backupRecipes(this.device));
else
var obj = JSON.parse(cmsClient.backupSubRecipes(this.device,this.folder));
this.backupping = false;
if (obj.error) {
(iziToast as any).error({
title: "error",
@@ -50,12 +81,5 @@ export default class backupRecipe extends Vue {
this.deferred.resolve();
ModalHelper.HideModal();
}
}
}
close() {
messageService.deleteChannel("esc_pressed");
this.deferred.reject();
ModalHelper.HideModal();
}
}
@@ -1,12 +1,22 @@
<template>
<div class="setup">
<modal type="save-as" :title="'modal_title_Backup' | localize('Backup Recipes folder')">
<header slot="header-buttons">
<div slot="header-buttons">
<button class="modal-close" @click="close()">
<i class="fa fa-remove"></i>
</button>
</header>
<div class="form-group">
</div>
<div v-if="backupping" class="doing">Backup...</div>
<div class="form-group" v-else>
<label>{{'select_folder_name' | localize('Cartella')}}</label>
<select v-model="folder" :placeholder="'folder_name' | localize('Nuova Cartella')" >
<optgroup :label="'select_folder_all' | localize('Tutte')">
<option value="ALL_SUBFOLDERS">{{'select_folder_all_folder' | localize('Tutte le cartelle')}}</option>
</optgroup>
<optgroup :label="'select_folder_sub' | localize('Sottocartelle')">
<option v-for="folder in folderlist" :value="folder">{{folder}}</option>
</optgroup>
</select>
<label>{{'select_devices' | localize('Select Devices')}}</label>
<select v-model="device" :placeholder="'select_devices' | localize('Select Devices')">
<option v-for="device in devicelist" :value="device.Path">{{device.Name}}</option>
@@ -4,20 +4,20 @@
<thead>
<tr>
<th></th>
<th width="200">{{axis.name | localize(axis.name)}}</th>
<th width="200">{{axis.name}}</th>
</tr>
</thead>
<tbody>
<tr>
<th>{{quoteLabel | localize(quoteLabel)}}</th>
<td>{{axis.position | round}} {{'axis-position-um' | localize("mm")}}</td>
<th>{{"underthehood_label_position" | localize(quoteLabel)}}</th>
<td>{{axis.position | round}} {{"mm"}}</td>
</tr>
<tr>
<th>{{speedLabel | localize(speedLabel)}}</th>
<td>{{axis.speed| round}} {{'axis-speed-um' | localize("mm/s")}}</td>
<th>{{"underthehood_label_speed" | localize(speedLabel)}}</th>
<td>{{axis.speed| round}} {{"mm/s"}}</td>
</tr>
<tr>
<th>{{loadLabel | localize(loadLabel)}}</th>
<th>{{"underthehood_label_torque" | localize(loadLabel)}}</th>
<td>{{axis.load| round(1)}} %</td>
</tr>
</tbody>
@@ -0,0 +1,59 @@
.bitSelect {
position: relative;
}
.bitSelect .form {
font-size: 18px;
font-weight: 500;
color: #6d6d6d;
min-width: 200px;
width: fit-content;
height: 48px;
border-radius: 2px;
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
border: none;
display: flex;
flex-flow: row nowrap;
padding: 0 10px;
align-items: center;
justify-content: stretch;
padding-right: 25px;
position: relative;
cursor: pointer;
}
.bitSelect .form i {
position: absolute;
right: 4px;
top: calc(50% - 7px);
font-size: 14px;
}
.bitSelect > section.bitsections {
position: absolute !important;
top: 48px;
right: 0;
z-index: 10;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
border: solid 1px #bbbcbc;
background-color: #fff;
padding: 0 !important;
display: grid !important;
grid-template-columns: 1fr 1fr;
overflow: hidden;
height: auto !important;
width: 500px !important;
}
.bitSelect > section.bitsections > article {
height: 70px !important;
display: grid !important;
grid-template-columns: 68px 1fr;
align-items: center;
justify-items: center;
border: 1px solid #979797;
}
.bitSelect > section.bitsections > article label {
width: 100%;
display: flex;
align-items: center;
height: 100%;
justify-content: flex-start;
cursor: pointer;
}
@@ -0,0 +1,63 @@
.bitSelect {
position: relative;
.form {
font-size: 18px;
font-weight: 500;
color: #6d6d6d;
min-width: 200px;
width: fit-content;
height: 48px;
border-radius: 2px;
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
border: none;
display: flex;
flex-flow: row nowrap;
padding: 0 10px;
align-items: center;
justify-content: stretch;
padding-right: 25px;
position: relative;
cursor: pointer;
i {
position: absolute;
right: 4px;
top: calc(50% - 7px);
font-size: 14px;
}
}
> section.bitsections {
position: absolute !important;
top: 48px;
right: 0;
z-index: 10;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
border: solid 1px #bbbcbc;
background-color: #fff;
padding: 0 !important;
display: grid !important;
grid-template-columns: 1fr 1fr;
overflow: hidden;
height: auto !important;
width: 500px !important;
> article {
height: 70px !important;
display: grid !important;
grid-template-columns: 68px 1fr;
align-items: center;
justify-items: center;
border: 1px solid #979797;
label {
width: 100%;
display: flex;
align-items: center;
height: 100%;
justify-content: flex-start;
cursor: pointer;
}
}
}
}
@@ -0,0 +1,69 @@
import Vue from "vue";
import Component from "vue-class-component";
import { Prop, Watch } from "vue-property-decorator";
@Component({})
export default class bitSelect extends Vue {
@Prop()
value: Recipe.IValue;
opened: boolean = false;
get Value() {
return this.value.setpointHMI;
}
get key() {
return this.value.key;
}
set Value(v) {
this.value.setpointHMI = v;
}
get currentValue() {
let result = []
for (let index = 0; index < this.bitSize; index++) {
if (this.bit_test(this.Value, index)) result.push(index + 1);
}
return result.join(", ");
}
bits: {} = [];
mounted() {
for (let i = 0; i < this.bitSize; i++) {
Vue.set(this.bits, i, this.bit_test(this.Value, i))
}
}
@Prop({ default: 16 })
bitSize: number;
bit_test(num, bit) {
let result = ((num >> bit) % 2 != 0)
return result;
}
bit_change(num, bit, value) {
if (value == true)
this.Value = this.bit_set(num, bit)
else
this.Value = this.bit_clear(num, bit);
}
bit_set(num, bit) {
return num | 1 << bit;
}
bit_clear(num, bit) {
return num & ~(1 << bit);
}
bit_visible(bit) {
return this.bit_test(this.value.range.max,bit-1);
}
}
@@ -0,0 +1,33 @@
<template>
<div class="bitSelect">
<div
class="form"
@click="opened = !opened"
:class="{'error': value && value.status && value.status.hasError, 'disabled': value && value.status && !value.status.enabled}"
>
{{currentValue}}
<i v-if="opened" class="fa fa-chevron-up" />
<i v-else class="fa fa-chevron-down" />
</div>
<section class="bitsections" v-if="opened" @mousedown.prevent.stop>
<template v-for="b in bitSize" >
<article v-if="bit_visible(b)" :key="b">
<div class="custom-checkbox" >
<input
type="checkbox"
v-model="bits[b-1]"
@input="bit_change(Value, b-1, !bits[b-1])"
:id="`cb-${b}`"
/>
<label :for="`cb-${b}`"></label>
</div>
<label :for="`cb-${b}`">{{`${key}_${b}` | localize((b).toString())}}</label>
</article>
</template>
</section>
</div>
</template>
<script src="./bitSelect.ts" lang="ts"></script>
<style lang="less" scoped>
@import url(./bitSelect.less);
</style>
@@ -31,6 +31,15 @@
</div>
<slider v-model="recipe.extraction_main_manual"></slider>
</template>
<template v-if="recipe.extraction_main_drawing_enabled.status.visible" >
<div class="input-area" style="margin-top: 30px;">
<label>{{'extraction_main_drawing_enabled'|localize('Drawing Enabled')}}</label>
<toggle-button
v-model="recipe.extraction_main_drawing_enabled.setpointHMI"
:status="recipe.extraction_main_drawing_enabled.status"
></toggle-button>
</div>
</template>
</div>
</div>
</aside>
@@ -51,7 +51,8 @@ export default class ShowEstrazioneInfo extends Vue {
(this.recipe.extraction_main_delay.status.visible && this.recipe.extraction_main_delay.status.hasError) ||
(this.recipe.extraction_main_1_chart_setpointx.status.visible && this.recipe.extraction_main_1_chart_setpointx.status.hasError) ||
(this.recipe.extraction_main_1_chart_setpointy.status.visible && this.recipe.extraction_main_1_chart_setpointy.status.hasError) ||
(this.recipe.extraction_main_manual.status.visible && this.recipe.extraction_main_manual.status.hasError);
(this.recipe.extraction_main_manual.status.visible && this.recipe.extraction_main_manual.status.hasError) ||
(this.recipe.extraction_main_drawing_enabled.status.visible && this.recipe.extraction_main_drawing_enabled.status.hasError);
}
get auxHasErrors() {
return (this.recipe.extraction_aux_enabled.status.visible && this.recipe.extraction_aux_enabled.status.hasError) ||
@@ -74,6 +75,7 @@ export default class ShowEstrazioneInfo extends Vue {
extraction_aux_1_chart_setpointx: this.recipe.extraction_aux_1_chart_setpointx,
extraction_aux_1_chart_setpointy: this.recipe.extraction_aux_1_chart_setpointy,
extraction_aux_manual: this.recipe.extraction_aux_manual,
extraction_main_drawing_enabled: this.recipe.extraction_main_drawing_enabled,
};
}
@@ -117,6 +119,7 @@ export default class ShowEstrazioneInfo extends Vue {
'extraction_main_1_chart_setpointx',
'extraction_main_1_chart_setpointy',
'extraction_main_manual',
'extraction_main_drawing_enabled',
)
}
@@ -1,20 +1,20 @@
<template>
<div class="svg-area">
<img src="assets/svg/disegno-cornice.svg" />
<div class="borded_label" id="quota1" v-focus-on:general_sizes_frame_dim_y>
<div>
<img src="assets/icons/png/quota.png" />
<span>{{recipe.general_sizes_frame_dim_y.valueAct}}</span>
<small>{{recipe.general_sizes_frame_dim_y.unitMeasure}}</small>
</div>
</div>
<div class="borded_label" id="quota2" v-focus-on:general_sizes_frame_dim_x>
<div class="borded_label" id="quota1" v-focus-on:general_sizes_frame_dim_x>
<div>
<img src="assets/icons/png/quota.png" />
<span>{{recipe.general_sizes_frame_dim_x.valueAct}}</span>
<small>{{recipe.general_sizes_frame_dim_x.unitMeasure}}</small>
</div>
</div>
<div class="borded_label" id="quota2" v-focus-on:general_sizes_frame_dim_y>
<div>
<img src="assets/icons/png/quota.png" />
<span>{{recipe.general_sizes_frame_dim_y.valueAct}}</span>
<small>{{recipe.general_sizes_frame_dim_y.unitMeasure}}</small>
</div>
</div>
</div>
</template>
<style scoped>
@@ -1,26 +1,26 @@
<template>
<div class="svg-area">
<img src="assets/svg/disegno-piastra-riduzione.svg" />
<div class="borded_label" id="quota1" v-focus-on:general_sizes_plate_dim_y>
<div>
<img src="assets/icons/png/quota.png" />
<span>{{recipe.general_sizes_plate_dim_y.valueAct}}</span>
<small>{{recipe.general_sizes_plate_dim_y.unitMeasure}}</small>
</div>
</div>
<div class="borded_label" id="quota2" v-focus-on:general_sizes_plate_dim_x>
<div class="borded_label" id="quota1" v-focus-on:general_sizes_plate_dim_x>
<div>
<img src="assets/icons/png/quota.png" />
<span>{{recipe.general_sizes_plate_dim_x.valueAct}}</span>
<small>{{recipe.general_sizes_plate_dim_x.unitMeasure}}</small>
</div>
</div>
<div class="borded_label" id="quota2" v-focus-on:general_sizes_plate_dim_y>
<div>
<img src="assets/icons/png/quota.png" />
<span>{{recipe.general_sizes_plate_dim_y.valueAct}}</span>
<small>{{recipe.general_sizes_plate_dim_y.unitMeasure}}</small>
</div>
</div>
</div>
</template>
<style scoped>
#quota1 {
top: 471px;
left: 118px;
top: 471px;
left: 118px;
}
#quota2 {
top: 496px;
@@ -2,10 +2,12 @@ import Vue from 'vue';
import Component from 'vue-class-component';
import {Prop} from 'vue-property-decorator';
import Slider from "@/app_modules_thermo/components/slider.vue";
import bitSelector from "@/app_modules_thermo/setup/components/bitSelect.vue";
@Component({name:"nebulizzatori",
components: {
slider:Slider
slider:Slider,
bitSelector
}
})
export default class Nebulizzatori extends Vue{
@@ -6,7 +6,7 @@
<template v-if="recipe.cooling_nebulizer_type.status.visible">
<div class="input-area">
<label>{{'cooling_nebulizer_type'|localize('Tipo')}}</label>
<combo v-model="recipe.cooling_nebulizer_type"></combo>
<bit-selector v-model="recipe.cooling_nebulizer_type"></bit-selector>
</div>
</template>
<template v-if="recipe.cooling_nebulizer_delay.status.visible">
@@ -1,16 +1,19 @@
import Vue from 'vue';
import Component from 'vue-class-component';
import {Prop} from 'vue-property-decorator';
import { Prop } from 'vue-property-decorator';
import Slider from "@/app_modules_thermo/components/slider.vue";
import bitSelector from "@/app_modules_thermo/setup/components/bitSelect.vue";
@Component({name:"ventilatori",
components: {
slider:Slider
}
@Component({
name: "ventilatori",
components: {
slider: Slider,
bitSelector
}
})
export default class Ventilatori extends Vue{
export default class Ventilatori extends Vue {
@Prop()
recipe:Recipe.IRecipe;
recipe: Recipe.IRecipe;
}
@@ -6,7 +6,8 @@
<template v-if="recipe.cooling_blowing_type.status.visible">
<div class="input-area">
<label>{{'cooling_blowing_type'|localize('Tipo')}}</label>
<combo v-model="recipe.cooling_blowing_type"></combo>
<!-- <combo v-model="recipe.cooling_blowing_type"></combo> -->
<bit-selector v-model="recipe.cooling_blowing_type"></bit-selector>
</div>
</template>
<template v-if="recipe.cooling_blowing_delay.status.visible">
@@ -10,13 +10,17 @@
:style="{backgroundColor:`rgba(${currentColor})`}"
>{{channel.setpointHMI}} %</div>
<div
class="resistance"
class="resistance id"
:key="selected"
v-else-if="mode == 0"
@click="click"
v-on:touchend="click"
:style="{backgroundColor:`rgba(${currentColor})`}"
>{{channel.tCamTempSet}}&nbsp;°C</div>
>
<span>{{channel.tCamTempSet}}&nbsp;°C</span>
<small>&nbsp;</small>
<small>{{channel.tCamTempAct}}&nbsp;°C</small>
</div>
<div
class="resistance"
:key="selected"
@@ -34,9 +38,9 @@
v-else
:style="{backgroundColor:`rgb(${currentColor})`}"
>
<span>ID: {{getOutput(channel.idChannel)}}</span>
<span>Id: {{res.idGroup}} </span>
<small>Bo: {{getBoard(channel.idChannel)}}</small>
<small>Ch: {{channel.idChannel}}</small>
<small>Out: {{getOutput(channel.idChannel)}}</small>
</div>
</div>
</template>
@@ -90,6 +90,7 @@ export default class Warmers extends Vue {
// Ottengo le resistenze per ogni riga
resistancesPerRow(row: number) {
console.log(row,this.resistances.filter(i => i.row == row))
return this.resistances.filter(i => i.row == row);
}
@@ -0,0 +1,13 @@
.labelOnOff {
display: flex;
flex-flow: row;
justify-content: center;
align-items: center;
color: #e8e8e8;
font-size: 18px;
}
.labelOnOff label {
width: 200px;
text-align: end;
padding-right: 10px;
}
@@ -1 +1,16 @@
@import "../../../variable.less";
.labelOnOff{
display: flex;
flex-flow: row;
justify-content: center;
align-items: center;
color: #e8e8e8;
font-size: 18px;
label{
width: 200px;
text-align: end;
padding-right: 10px;
}
}
@@ -2,8 +2,45 @@ import { Component, Vue } from "vue-property-decorator";
import Header from "../../../header/my-header.vue";
import MenuSx from "../../../menu-sx/menu-sx.vue";
import AssiTable from "../../../Assi/components/tables/assi-table/assi-table.vue";
import { underTheHoodService } from "@/services/underTheHoodService";
import { awaiter, messageService } from "@/_base";
import { Modal as modal, ModalHelper } from "@/components/modals";
@Component({
components: { Header, MenuSx, AssiTable }
})
export default class Assi extends Vue {}
export default class Assi extends Vue {
isEditable = false;
isComunicating = false;
async mounted(){
this.isComunicating = true;
this.isEditable = await awaiter (underTheHoodService.GetAxesAdvMode());
this.isComunicating = false;
}
async enableDisable(evt){
this.isComunicating = true;
evt.preventDefault();
if(!this.isEditable)
{
ModalHelper.AskConfirm( this.$options.filters.localize("modal_confirm_title", "Richiesta di conferma"),
this.$options.filters.localize("softkey_confirm", "Confirm?"),
async() => {
await awaiter (underTheHoodService.SetAxesAdvMode(!this.isEditable));
this.isEditable = !this.isEditable;
}, null, "modal");
}
else
{
await awaiter (underTheHoodService.SetAxesAdvMode(!this.isEditable));
this.isEditable = !this.isEditable;
}
this.isComunicating = false;
}
}
@@ -1,6 +1,21 @@
<template>
<div class="column-page-one-column">
<AssiTable></AssiTable>
<AssiTable :isEditable="isEditable"></AssiTable>
<div class="menu">
<div class="load">
</div>
<div class="toReload">
<div class="labelOnOff">
<label>{{'underthehood_label_axis_enabled' | localize('Enabled')}}</label>
<div class="togglebutton">
<label>
<input type="checkbox" :checked="isEditable" :disabled="this.isComunicating" @click='enableDisable'>
<span class="toggle">{{isEditable ?"ON":"OFF"}}</span>
</label>
</div>
</div>
</div>
</div>
</div>
</template>
<style lang="less">
@@ -3,6 +3,8 @@ import { AppModel } from "@/store";
import { underTheHoodService } from "@/services/underTheHoodService";
import { Prop, Watch } from "vue-property-decorator";
import { awaiter, messageService } from "@/_base";
import { ModalHelper } from "@/components/modals";
import { ModalInfoAxis } from "@/modules/base-components";
@Component({})
export default class AsseRowItem extends Vue {
@@ -19,8 +21,10 @@ export default class AsseRowItem extends Vue {
@Prop()
isSlave: boolean;
isSendingCMD = false;
@Prop()
isEditable: boolean;
isSendingCMD = false;
get forcedValue() { return { setpointHMI: this.item.axPos, range: { min: -32768, max: 32767 } }; }
@@ -33,14 +37,29 @@ export default class AsseRowItem extends Vue {
}
getNumber(value){
return value.toFixed(2);;
return value.toFixed(1);
}
hexNumber(num){
return num.toString(16);
}
openCollapse(){
this.$emit("openCollapse");
}
details() {
ModalHelper.selectedAxisModal.id = this.item.id;
ModalHelper.selectedAxisModal.name = this.item.name;
ModalHelper.selectedAxisModal.status = this.item.statusCode;
ModalHelper.ShowModal(ModalInfoAxis);
}
async sendCommand(cmd,ax){
if(!this.isEditable)
return;
this.isSendingCMD = true;
if(this.forcedValue.setpointHMI)
await awaiter (underTheHoodService.sendAxisCommand(ax.id,cmd,this.forcedValue.setpointHMI));
@@ -11,12 +11,14 @@
</td>
<td class="transp" v-else>&nbsp;</td>
<td>{{ item.name }}</td>
<td>{{ getNumber(item.position) }}</td>
<td>{{ getNumber(item.speed) }}</td>
<td>{{ getNumber(item.load) }}</td>
<td>{{ item.statusCode }}</td>
<td>{{ item.errorCode }}</td>
<td>{{ item.movPhase }}</td>
<td class="left">{{ getNumber(item.position) }}</td>
<td class="left">{{ getNumber(item.speed) }}</td>
<td class="left">{{ getNumber(item.load) }}</td>
<td class="left status" @click="details()" >
0x{{ hexNumber(item.statusCode) }} <button class="btn button-details small">?</button>
</td>
<td class="left">0x{{ hexNumber(item.errorCode) }}</td>
<td class="left">{{ item.movPhase }}</td>
<td>
<span class="buttons-container">
<numeric
@@ -24,31 +26,26 @@
v-model="forcedValue"
keyboard-position="left"
/>
<button v-if="isvisible(item.enabledWord,1)" @click="sendCommand('MoveAbsolute',item)" :disabled="isSendingCMD">
<button v-if="isvisible(item.enabledWord,1)" @click="sendCommand('MoveAbsolute',item)" :disabled="isSendingCMD || !isEditable">
<label>{{'underthehood_btn_move' | localize("Move")}}</label>
</button>
<button v-if="isvisible(item.enabledWord,8)" @click="sendCommand('Align',item)" :disabled="isSendingCMD">
<button v-if="isvisible(item.enabledWord,8)" @click="sendCommand('Align',item)" :disabled="isSendingCMD || !isEditable">
<label>{{'underthehood_btn_align' | localize("Align")}}</label>
</button>
<button v-if="isvisible(item.enabledWord,16)" @click="sendCommand('Probe',item)" :disabled="isSendingCMD">
<button v-if="isvisible(item.enabledWord,16)" @click="sendCommand('Probe',item)" :disabled="isSendingCMD || !isEditable">
<label>{{'underthehood_btn_probe' | localize("Probe")}}</label>
</button>
<button v-if="isvisible(item.enabledWord,32)" @click="sendCommand('SetSlavePosition',item)" :disabled="isSendingCMD">
<button v-if="isvisible(item.enabledWord,32)" @click="sendCommand('SetSlavePosition',item)" :disabled="isSendingCMD || !isEditable">
<label>{{'underthehood_btn_setslaves' | localize("Set slaves position")}}</label>
</button>
<button v-if="isvisible(item.enabledWord,64)" @click="sendCommand('Reset',item)" :disabled="isSendingCMD">
<button v-if="isvisible(item.enabledWord,64)" @click="sendCommand('Reset',item)" :disabled="isSendingCMD || !isEditable">
<label>{{'underthehood_btn_zero' | localize("Zero")}}</label>
</button>
<button v-if="isvisible(item.enabledWord,2)" @click="sendCommand('JogIncMinus',item)" :disabled="isSendingCMD">
<span class="controlli-icon pointer">
<img src="assets/icons/sotto-cofano/png/ico-bt-minus.png" />
</span>
<button v-if="isvisible(item.enabledWord,2)" @click="sendCommand('JogIncMinus',item)" :disabled="isSendingCMD || !isEditable">
<i class="fa fa-minus"></i>
</button>
<button v-if="isvisible(item.enabledWord,4)" @click="sendCommand('JogIncPlus',item)" :disabled="isSendingCMD">
<span class="controlli-icon pointer">
<img src="assets/icons/sotto-cofano/png/ico-bt-plus.png" />
</span>
<button v-if="isvisible(item.enabledWord,4)" @click="sendCommand('JogIncPlus',item)" :disabled="isSendingCMD || !isEditable">
<i class="fa fa-plus"></i>
</button>
</span>
</td>
@@ -22,6 +22,17 @@
.assi-table td.transp {
background-color: #657178;
}
.assi-table th.left,
.assi-table td.left {
text-align: end;
}
.assi-table th.status,
.assi-table td.status {
display: flex;
flex-flow: row;
align-items: center;
justify-content: flex-end;
}
.assi-table .transpRow {
background-color: #657178;
height: 10px;
@@ -59,6 +70,9 @@
font-size: 18px;
padding: 0 10px;
}
.assi-table .buttons-container > button i {
margin: 0px 10px;
}
.assi-table .buttons-container > button:disabled {
background-image: none;
background-color: #818a8f;
@@ -25,6 +25,15 @@
&.transp{
background-color: #657178;
}
&.left{
text-align: end;
}
&.status{
display: flex;
flex-flow: row;
align-items: center;
justify-content: flex-end;
}
}
.transpRow{
@@ -69,6 +78,9 @@
color: @very-light-pink;
font-size: 18px;
padding: 0 10px;
i{
margin: 0px 10px;
}
&:disabled{
background-image: none;
background-color: #818a8f;
@@ -1,12 +1,17 @@
import { Component, Vue } from "vue-property-decorator";
import { AppModel } from "@/store";
import { underTheHoodService } from "@/services/underTheHoodService";
import { Prop, Watch } from "vue-property-decorator";
import AsseRowItem from "./asse-row-item.vue";
@Component({
components: { AsseRowItem }
})
export default class AssiTable extends Vue {
@Prop()
isEditable: boolean;
groupVisible: string[] = [];
get axis() {
@@ -14,15 +19,15 @@ export default class AssiTable extends Vue {
}
get masters(){
return (<any>Object).values(this.axis).filter(ax => ax.masterID == 0);
return (<any>Object).values(this.axis).filter(ax => ax.masterID == 0 && ax.visible == true);
}
hasSlave(id){
return ((<any>Object).values(this.axis).filter(ax => ax.masterID == id).length > 0);
return ((<any>Object).values(this.axis).filter(ax => ax.masterID == id && ax.visible == true).length > 0);
}
salves(id){
return (<any>Object).values(this.axis).filter(ax => ax.masterID == id);
return (<any>Object).values(this.axis).filter(ax => ax.masterID == id && ax.visible == true);
}
openCollapse(group: string) {
@@ -31,5 +36,6 @@ export default class AssiTable extends Vue {
else this.groupVisible.push(group);
}
}
@@ -5,12 +5,12 @@
<tr>
<th class="assi-selector">&nbsp;</th>
<th class="assi-axis">{{'underthehood_label_axes' | localize("Asse")}}</th>
<th class="assi-position">{{'underthehood_label_position' | localize("Position")}}</th>
<th class="assi-velocity">{{'underthehood_label_speed' | localize("Velocity")}}</th>
<th class="assi-velocity">{{'underthehood_label_torque' | localize("Torque")}}</th>
<th class="assi-velocity">{{'underthehood_label_status' | localize("Status")}}</th>
<th class="assi-velocity">{{'underthehood_label_errorcode' | localize("Error Code")}}</th>
<th class="fase-motion">{{'underthehood_label_motion' | localize("Fase Motion")}}</th>
<th class="assi-position left">{{'underthehood_label_position' | localize("Position")}}</th>
<th class="assi-velocity left">{{'underthehood_label_speed' | localize("Velocity")}}</th>
<th class="assi-velocity left">{{'underthehood_label_torque' | localize("Torque")}}</th>
<th class="assi-velocity left">{{'underthehood_label_status' | localize("Status")}}</th>
<th class="assi-velocity left">{{'underthehood_label_errorcode' | localize("Error Code")}}</th>
<th class="assi-velocity left">{{'underthehood_label_motion' | localize("Fase Motion")}}</th>
<th class="assi-buttons"></th>
</tr>
</thead>
@@ -23,6 +23,7 @@
:hasSlave="hasSlave(item.id)"
:isSlave="false"
:isOpened="groupVisible.includes(item.id)"
:isEditable="isEditable"
@openCollapse="openCollapse(item.id)"
/>
@@ -34,6 +35,7 @@
:hasSlave="false"
:isSlave="true"
:isOpened="groupVisible.includes(item.id)"
:isEditable="isEditable"
@openCollapse="openCollapse(item.id)"
/>
</template>
@@ -27,8 +27,8 @@ export default class outputRow extends Vue {
async force(value: number) {
if(!this.item.isForced && (this.item.forcedValue === undefined || value != this.item.forcedValue))
{
ModalHelper.AskConfirm( this.$options.filters.localize("modal_confirm_title", "Richiesta di conferma"),
this.$options.filters.localize("softkey_confirm", "Confirm?"),
ModalHelper.AskConfirm( this.$options.filters.localize("Richiesta di conferma","modal_confirm_title"),
this.$options.filters.localize("Confirm?","softkey_confirm"),
async() => {
await underTheHoodService.forceChannel(this.group, this.item, value);
}, null, "modal");
@@ -1,3 +1,14 @@
.main-container .button-details {
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4) !important;
background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%) !important;
color: #e8e8e8 !important;
}
.main-container .button-details.small {
height: 24px;
width: 24px;
margin-right: 0;
padding: 0;
}
.main-container .log-ciclo-automatico-table tbody tr:nth-child(odd) {
background-color: #747f85;
}
@@ -9,6 +9,13 @@
#42494e 98%
) !important;
color: @very-light-pink !important;
&.small{
height: 24px;
width: 24px;
margin-right: 0;
padding: 0;
}
}
.log-ciclo-automatico-table {
@@ -14,6 +14,7 @@ export default class RiscaldiTable extends Vue {
}
getChannelInfo(id) {
console.log(store.state.warmers.channels.filter(i => i.idChannel == 5)[0]);
return store.state.warmers.channels.filter(i => i.idChannel == id)[0];
}
@@ -33,9 +33,8 @@ export default class Sottocofano extends Vue {
@Watch("isLifted")
@Watch("panel")
async liftedChanged() {
this.ioTimeout = await underTheHoodService.setFastSample(this.isLifted)
if(this.isLifted && this.panel== "io" ){
this.ioTimeout = await underTheHoodService.setFastSample(this.isLifted && this.panel == "io")
if(this.isLifted && this.panel == "io" ){
clearInterval(this.interval);
this.interval = setInterval(() => {
this.checkFastSample();
@@ -19,6 +19,12 @@ export class ModalHelper {
status: 0
};
public static selectedAxisModal = {
id: -1,
name: "--",
status: 0
};
public static loadDepotModal = {
positionId: 0,
positionType: 0,
@@ -1,7 +1,7 @@
<template>
<modal type="modal-confirm-delete" :title="title | localize(title)">
<modal type="modal-confirm-delete" :title="title">
<section class="modal-confirm-delete-body">
<span>{{content | localize(content)}}</span>
<span>{{content}}</span>
</section>
<footer class="modal-confirm-delete-footer">
<div class="pull-right">
@@ -23,6 +23,7 @@ import ModalMissingTools from "./modal-missing-tools.vue";
import ModalJobAddParameter from "./modal-job-add-parameter.vue";
import ModalNcContainer from "./modal-nc-container.vue";
import ModalInfoResistance from "./modal-info-resistance.vue";
import ModalInfoAxis from "./modal-info-axis.vue";
export {
@@ -45,5 +46,6 @@ export {
ModalMissingTools,
ModalJobAddParameter,
HistoryMaintenance,
ModalInfoResistance
ModalInfoResistance,
ModalInfoAxis
};
@@ -0,0 +1,39 @@
import Vue from "vue";
import { Factory, messageService } from 'src/_base';
import Component from "vue-class-component";
import { Deferred } from "../../services/Deferred";
import { Prop } from "vue-property-decorator";
import { relativeTimeThreshold } from "moment";
import { ModalHelper, Modal } from "@/components/modals";
@Component({
components: {
modal: Modal,
}
})
export default class ModalInfoAxis extends Vue {
@Prop()
deferred: Deferred<any>;
get axis(){
return ModalHelper.selectedAxisModal;
}
getBitVal(number){
if((this.axis.status & number) == number)
return true;
else
return false
}
close() {
messageService.deleteChannel("esc_pressed");
ModalHelper.HideModal();
};
};
@@ -0,0 +1,53 @@
<template>
<modal type="info-resistance" :title="'modal_axis_info' | localize('Info Asse')">
<button class="close" slot="header-buttons" @click="close()"><i class="fa fa-remove"></i></button>
<div class="details">
<hr/>
<div class="status"><span>{{'axis_info_id' | localize('ID:')}} </span>
<strong>{{axis.id}}</strong>
</div>
<div class="status"><span>{{'axis_info_name' | localize('Name:')}} </span>
<strong>{{axis.name}}</strong>
</div>
<hr/>
<div class="status"><span>{{'axis_info_torque' | localize('In coppia:')}} </span>
<strong v-if="getBitVal(1)"><i class="fa fa-check"></i></strong>
<strong v-else>-</strong>
</div>
<div class="status"><span>{{'axis_info_gantry' | localize('Gantry:')}} </span>
<strong v-if="getBitVal(2)"><i class="fa fa-check"></i></strong>
<strong v-else>-</strong>
</div>
<div class="status"><span>{{'axis_info_moving' | localize('In movimento:')}} </span>
<strong v-if="getBitVal(4)"><i class="fa fa-check"></i></strong>
<strong v-else>-</strong>
</div>
<div class="status"><span>{{'axis_info_zero' | localize('Azzerato:')}} </span>
<strong v-if="getBitVal(8)"><i class="fa fa-check"></i></strong>
<strong v-else>-</strong>
</div>
<div class="status"><span>{{'axis_info_position' | localize('In posizione:')}} </span>
<strong v-if="getBitVal(16)"><i class="fa fa-check"></i></strong>
<strong v-else>-</strong>
</div>
<hr/>
<div class="status"><span>{{'axis_info_error' | localize('In Error:')}} </span>
<strong v-if="getBitVal(32)"><i class="fa fa-exclamation-triangle"></i></strong>
<strong v-else><i class="fa fa-check"></i></strong>
</div>
<div class="status"><span>{{'axis_info_Brakealm' | localize('Brake test Alarm:')}} </span>
<strong v-if="getBitVal(64)"><i class="fa fa-exclamation-triangle"></i></strong>
<strong v-else><i class="fa fa-check"></i></strong>
</div>
</div>
</modal>
</template>
<script src="./modal-info-axis.ts" lang="ts">
</script>
+3 -1
View File
@@ -81,9 +81,11 @@ export class Hub {
console.log('SignalrAdapter: ' + error, exc);
};
/*
try { $.connection.hub.logging = true; } catch { }
try { $.connection.ncHub.logging = true; } catch { }
*/
try {
if (PRODUCTION) {
try { $.connection.hub.logging = false; } catch { }
@@ -7,12 +7,12 @@ export class LogsService extends baseRestService {
async getPage(from,to) {
let result = await this.Get((await this.BASE_URL()) + `CycleLog?from=${from}&to=${to}`) ;
let result = await this.Get((await this.BASE_URL()) + `CycleLog?from=${from}&to=${to}`, true) ;
return result;
}
async Update() {
let result = await this.Get((await this.BASE_URL()) + "CycleLogRefresh");
let result = await this.Get((await this.BASE_URL()) + "CycleLogRefresh", true);
return result;
}
@@ -6,32 +6,41 @@ import { baseRestService } from "@/_base/baseRestService";
export class UnderTheHoodService extends baseRestService {
BASE_URL = async () => (await CONFIGURATION).api.apiServerUrl;
async getChannels() {
let result = await this.Get<server.channels>((await this.BASE_URL()) + "/api/underthehood/channels_io");
let result = await this.Get<server.channels>((await this.BASE_URL()) + "/api/underthehood/channels_io", true);
underTheHoodActions.SetIOChannels(store, result);
return result;
}
async getChannelsConfig() {
let result = await this.Get<{ [id: string]: number[] }>((await this.BASE_URL()) + "/api/configuration/configIO");
let result = await this.Get<{ [id: string]: number[] }>((await this.BASE_URL()) + "/api/configuration/configIO", true);
underTheHoodActions.SetIOChannelsConfig(store, result);
return result;
}
async forceChannel(group: string, item: server.channel, value: number) {
await this.Put((await this.BASE_URL()) + `/api/underthehood/io_force_ch_${group}`, [{ id: item.id, value }]);
await this.Put((await this.BASE_URL()) + `/api/underthehood/io_force_ch_${group}`, [{ id: item.id, value }], true);
}
async resetChannel(group: string, item: server.channel) {
await this.Put((await this.BASE_URL()) + `/api/underthehood/io_reset_ch_${group}`, [item.id]);
await this.Put((await this.BASE_URL()) + `/api/underthehood/io_reset_ch_${group}`, [item.id], true);
}
async setFastSample(value: boolean) {
let result = await this.Put<Date>((await this.BASE_URL()) + `/api/underthehood/io_sample_fast?value=${value}`, {});
let result = await this.Put<Date>((await this.BASE_URL()) + `/api/underthehood/io_sample_fast?value=${value}`, {}, true);
return result;
}
async sendAxisCommand(axisId: number,currCommand: string ,axPos: number) {
await this.Put((await this.BASE_URL()) + `/api/underthehood/SendAxisCommand?AxisId=${axisId}&currCommand=${currCommand}&TargetPos=${axPos}`, {});
await this.Put((await this.BASE_URL()) + `/api/underthehood/SendAxisCommand?AxisId=${axisId}&currCommand=${currCommand}&TargetPos=${axPos}`, {}, true);
}
async SetAxesAdvMode(value: boolean) {
let result = await this.Put((await this.BASE_URL()) + `/api/underthehood/SetAxesAdvMode?value=${value}`, {}, true);
}
async GetAxesAdvMode() {
let result = await this.Get<boolean>((await this.BASE_URL()) + "/api/underthehood/GetAxesAdvMode", true);
return result;
}
}
@@ -53,7 +53,11 @@ export const warmersStore = {
intModel.setpointPLC = element.setpointPLC;
intModel.tCamActive = element.tCamActive;
intModel.tCamTempAct = element.tCamTempAct;
intModel.tCamTempSet = element.tCamTempSet;
intModel.tCamTempSet = element.tCamTempSet;
intModel.channelStatus = element.channelStatus;
intModel.actualCurrent = element.actualCurrent;
intModel.actualPerc = element.actualPerc;
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 682 KiB

After

Width:  |  Height:  |  Size: 684 KiB