Update progetto IOB-SHelly

This commit is contained in:
Samuele Locatelli
2025-02-12 15:30:39 +01:00
parent 4cd3c9642a
commit faca458b57
46 changed files with 3054 additions and 13 deletions
+9 -4
View File
@@ -5,10 +5,7 @@ using System.Collections.Generic;
namespace IOB_UT_NEXT
{
/// <summary>
/// This Configuration class is basically just a set of properties with a couple of static
/// methods to manage the serialization to and deserialization from a simple XML file.
///
/// ref: http://www.cambiaresearch.com/articles/33/how-can-i-easily-manage-an-xml-configuration-file-in-dotnet
/// Classe principale di configurazione di base per IOB, da cui derivano configurazioni + articolate x singoli IOB
/// </summary>
[Serializable]
public class IobConfiguration
@@ -22,6 +19,14 @@ namespace IOB_UT_NEXT
{
}
/// <summary>
/// Avvio configurazione da file di conf
/// </summary>
/// <param name="pathConfFile">File di conf json/yaml valido</param>
public IobConfiguration(string pathConfFile)
{
}
#endregion Public Constructors
#region Public Properties
+2 -2
View File
@@ -1,12 +1,12 @@
using IOB_UT_NEXT;
using IOB_WIN_PING.Iob;
using IOB_WIN_SHELLY.Iob;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_WIN_PING
namespace IOB_WIN_SHELLY
{
public class AdapterFormNext: IOB_WIN_FORM.AdapterForm
{
+1 -1
View File
@@ -1,6 +1,6 @@
using IOB_UT_NEXT;
namespace IOB_WIN_PING.Iob
namespace IOB_WIN_SHELLY.Iob
{
public class GenericNext : IOB_WIN_FORM.Iob.Generic
{
+2 -2
View File
@@ -1,12 +1,12 @@
using IOB_UT_NEXT;
using IOB_WIN_PING.Iob;
using IOB_WIN_SHELLY.Iob;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_WIN_PING
namespace IOB_WIN_SHELLY
{
public class MainFormNext : IOB_WIN_FORM.MainForm
{
+1 -1
View File
@@ -1,7 +1,7 @@
using System;
using System.Windows.Forms;
namespace IOB_WIN_PING
namespace IOB_WIN_SHELLY
{
internal static class Program
{
+2 -2
View File
@@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace IOB_WIN_PING.Properties
namespace IOB_WIN_SHELLY.Properties
{
@@ -44,7 +44,7 @@ namespace IOB_WIN_PING.Properties
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IOB_WIN_PING.Properties.Resources", typeof(Resources).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IOB_WIN_SHELLY.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
+1 -1
View File
@@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace IOB_WIN_PING.Properties
namespace IOB_WIN_SHELLY.Properties
{
+97
View File
@@ -0,0 +1,97 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.2.32505.173
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B52E3E86-1B82-4F4D-982C-0C8909CD2A28}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-UT-NEXT", "IOB-UT-NEXT\IOB-UT-NEXT.csproj", "{90512E12-29FC-460D-94CC-648C2A072DBD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-FORM", "IOB-WIN-FORM\IOB-WIN-FORM.csproj", "{9BA331BB-9BF1-40E0-AC03-74B43D73A097}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-PING", "IOB-WIN-PING\IOB-WIN-PING.csproj", "{6ADF1E82-124C-489C-99EF-A857C933D362}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-SHELLY", "IOB-WIN-SHELLY\IOB-WIN-SHELLY.csproj", "{7642AEAD-7A35-45A6-8761-81D97CD8905C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
Remote_DEBUG|Any CPU = Remote_DEBUG|Any CPU
Remote_DEBUG|x86 = Remote_DEBUG|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.Build.0 = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.ActiveCfg = Remote_DEBUG|x86
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.Build.0 = Remote_DEBUG|x86
{90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|x86.ActiveCfg = Debug|x86
{90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|x86.Build.0 = Debug|x86
{90512E12-29FC-460D-94CC-648C2A072DBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90512E12-29FC-460D-94CC-648C2A072DBD}.Release|Any CPU.Build.0 = Release|Any CPU
{90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.ActiveCfg = Release|x86
{90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.Build.0 = Release|x86
{90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU
{90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU
{90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|x86.ActiveCfg = Release|x86
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.ActiveCfg = Debug|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.Build.0 = Debug|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.Build.0 = Release|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.ActiveCfg = Release|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.Build.0 = Release|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU
{9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|x86.Build.0 = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|x86.ActiveCfg = Debug|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|x86.Build.0 = Debug|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Release|Any CPU.Build.0 = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Release|x86.ActiveCfg = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Release|x86.Build.0 = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|Any CPU.ActiveCfg = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|Any CPU.Build.0 = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU
{6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|x86.Build.0 = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Debug|x86.ActiveCfg = Debug|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Debug|x86.Build.0 = Debug|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Release|Any CPU.Build.0 = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Release|x86.ActiveCfg = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Release|x86.Build.0 = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Remote_DEBUG|Any CPU.ActiveCfg = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Remote_DEBUG|Any CPU.Build.0 = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU
{7642AEAD-7A35-45A6-8761-81D97CD8905C}.Remote_DEBUG|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {801DCDC5-B7D3-4EA5-B543-783D2C91765F}
EndGlobalSection
EndGlobal
+56
View File
@@ -0,0 +1,56 @@
using IOB_UT_NEXT;
using IOB_WIN_SHELLY.Iob;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_WIN_SHELLY
{
public class AdapterFormNext: IOB_WIN_FORM.AdapterForm
{
/// <summary>
/// Avvio MainForm
/// </summary>
/// <param name="codIOB"></param>
public AdapterFormNext(string codIOB): base(codIOB)
{
}
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
{
if (IOBConf != null)
{
switch (tipoScelto)
{
case tipoAdapter.PingWatchdog:
iobObj = new IOB_WIN_FORM.Iob.PingWatchDog(this, IOBConf);
btnStart.Enabled = true;
break;
case tipoAdapter.SIMULA:
case tipoAdapter.ND:
default:
iobObj = new IOB_WIN_FORM.Iob.Simula(this, IOBConf);
btnStart.Enabled = false;
break;
}
lblCncText = $"CNC: {IOBConf.tipoIob} [{IOBConf.cncIpAddr}:{IOBConf.cncPort}]";
lblSrvUrlText = $"SRV: {IOBConf.serverData.MPIP} | URL: {IOBConf.serverData.MPURL}{IOBConf.serverData.CMDBASE}";
// aggancio evento refresh
iobObj.eh_refreshed += IobObj_eh_refreshed;
// carico i default values su interfaccia
setDefaults();
displayTaskAndLog($"Caricata conf per adapter {tipoScelto}");
}
}
}
}
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations
see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="autoLoadConf" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
<!--<add key="DemoIn" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>-->
<!--<add key="DemoOut" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>-->
</appSettings>
</configuration>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations
see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="autoLoadConf" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
<add key="DemoIn" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
<add key="DemoOut" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
<add key="verbose" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
</appSettings>
</configuration>
+186
View File
@@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<appSettings>
<add key="appName" value="IOB-WIN-SHELLY" />
<add key="enableTest" value="false" />
<add key="enableContapezzi" value="true" />
<add key="enableMode" value="true" />
<add key="enableOverrides" value="false" />
<add key="enableTSVC" value="true" />
<add key="enableDynData" value="false" />
<add key="enableSysInfo" value="false" />
<add key="enableAlarms" value="true" />
<add key="doStartMemDump" value="false" />
<add key="doSampleMemory" value="false" />
<add key="basePrgMemPath" value="CNCMEMUSER" />
<add key="pingMsTimeout" value="1500" />
<add key="serverPingDisabled" value="false" />
<add key="urlCallTOut" value="9999" />
<add key="urlRandWait" value="200" />
<!-- ciclo corto x invio a server: ms -->
<add key="timerIntMs" value="10" />
<add key="fastCount" value="20" />
<add key="normCount" value="200" />
<add key="slowCount" value="500" />
<add key="verySlowCount" value="3000" />
<add key="sampleMemCount" value="6000" />
<add key="waitEndCycle" value="0" />
<add key="comCheckTOut" value="10" />
<!-- watchdog, ping, check disconnesso -->
<add key="nMaxSend" value="10" />
<add key="pingTestSec" value="5" />
<add key="watchdogMaxSec" value="90" />
<add key="disconMaxSec" value="30" />
<add key="defIOB" value="2999" />
<add key="pauseSendMSec" value="2000" />
<add key="sendStartFLog" value="false" />
<!--gestione coda-->
<add key="maxQueueFLog" value="16384" />
<add key="maxQueueRawTransf" value="1024" />
<!--gestione max num errori-->
<add key="maxAliveErrors" value="1000" />
<add key="maxErroriCheck" value="300" />
<add key="maxSendErrors" value="100" />
<add key="maxReadErrors" value="20" />
<!--parametri SIM-->
<add key="waitSimPar" value="30" />
<!--<add key="waitSimPar" value="45" />-->
<!--gestione REDIS-->
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false" />
<add key="redisDb" value="10" />
<!--gestione invio dati in blocchi Json-->
<add key="minJsonData" value="2" />
<add key="maxJsonData" value="100" />
<add key="maxJsonDataEv" value="25" />
<!--gestione multithread-->
<add key="sendDataByThread" value="false" />
<!--Modalità DEMO: DemoOUT indica che NON invia davvero al server e DemoIN che simula e NON legge da PLC-->
<add key="DemoIn" value="false" />
<add key="DemoInSample" value="false" />
<add key="DemoOut" value="false" />
<!--definizione invio dati molto variabili-->
<add key="SendAxPos" value="false" />
<add key="SendFeedSpeed" value="false" />
<!--Definizione avvio Adapter-->
<add key="autoLoadConf" value="true" />
<add key="autoStartOnLoad" value="true" />
<add key="startMinimized" value="false" />
<add key="windowCanMax" value="true" />
<add key="trayClose" value="true" />
<add key="autoSaveSec" value="60" />
<add key="waitRecMSec" value="60000" />
<add key="testCharSep" value="|" />
<add key="delayShowLogMs" value="500" />
<add key="vetoSeconds" value="5" />
<!--conf file-->
<add key="dataPath" value="DATA" />
<add key="dataConfPath" value="DATA\CONF" />
<add key="dataDatPath" value="DATA\DAT" />
<add key="resxPath" value="Resources" />
<add key="mainConfFile" value="MAIN.ini" />
<add key="defaultPersLayerFile" value="PersistData.dat" />
<!--<add key="simDataFile" value="SimData.dat" />-->
<!--<add key="memDumpFile" value="MemoryDump.dat" />-->
<add key="numSim" value="1" />
<add key="AUpdAsAdm" value="true" />
<add key="ConfToCloud" value="false" />
<add key="CacheConfToCloudDuratHour" value="24" />
<!--logging-->
<add key="recTime" value="true" />
<add key="verbose" value="false" />
<add key="logEvery" value="100" />
<add key="zipLogOldDay" value="1" />
<add key="maxLogDirSize" value="300" />
<add key="maxLogDays" value="400" />
<add key="numRowConsole" value="50" />
<add key="verboseLogTOut" value="60" />
<!--conf x FANUC-->
<add key="ClientSettingsProvider.ServiceUri" value="" />
<add key="pzCountDelay" value="2000" />
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib;libs" xmlns="urn:schemas-microsoft-com:asm.v1" />
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.1.0" newVersion="6.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.WebView2.WinForms" publicKeyToken="2a8ab48044d2601e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.2903.40" newVersion="1.0.2903.40" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.WebView2.Core" publicKeyToken="2a8ab48044d2601e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.2903.40" newVersion="1.0.2903.40" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.5.0" newVersion="4.1.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
</providers>
</roleManager>
</system.web>
</configuration>
+50
View File
@@ -0,0 +1,50 @@
;Configurazione IOB-WIN
[IOB]
CNCTYPE=FANUC
;IDXMACC=3001
[CNC]
; TEST TORNOS!
;IP=192.168.1.80
IP=172.16.199.10
PORT=8193
[SERVER]
MPIP=http://10.74.82.219
MPURL=/MP/IO
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
CMDREBO=/sendReboot.aspx?idxMacchina=
[MEMORY]
BITRED=Y8.4
BITYELLOW=Y8.5
BITGREEN=Y8.6
[BLINK]
;MAX_COUNTER_BLINK = 30
MAX_COUNTER_BLINK = 15
;bit0 = 0
;bit1 = 0
;bit2 = 1
;bit3 = 1
;bit4 = 1
;bit5 = 0
;bit6 = 0
;bit7 = 0
BLINK_FILT=0
;BLINK_FILT=28
[OPTPAR]
;PZCOUNT_MODE=STD|BIT
PZCOUNT_MODE=BIT
PZ_CAD_MADDR=1602
PZ_REQ_MADDR=1603
PZ_DONE_MADDR=1604
PZ_GTOT_MADDR=1605
[BRANCH]
NAME=master
+24
View File
@@ -0,0 +1,24 @@
;Configurazione IOB-WIN GENERALE
[BRANCH]
NAME=master
[SERVER]
; Server Steamware
MPIP=10.74.82.218
MPURL=/MP/IO
CMDREBO=/IOB/sendRebootGateway?GWIP=
CMDIOB2CALL=/IOB/getIob2call?GWIP=
;Client Install
CLI_INST=SteamWareSim
[IOB]
;--- TEST sul campo
; SIMULAZIONE verso server ufficio
;STARTLIST=SIMUL_01,SIMUL_02,SIMUL_03,SIMUL_04
;STARTLIST=SIMUL_01
STARTLIST=SHELLY_01
MAXCNC=10
+51
View File
@@ -0,0 +1,51 @@
;Configurazione IOB-WIN
[IOB]
CNCTYPE=PingWatchdog
PING_MS_TIMEOUT=500
;IOB_NAME=SIMUL_09
IOB_NAME=SIMUL_01
[MACHINE]
VENDOR=STEAMWARE
MODEL=WATCHDOG
[CNC]
IP=10.74.83.183
;IP=10.74.82.253
PORT=0000
[SERVER]
MPIP=http://10.74.82.218
MPURL=/MP/IO
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
CMDREBO=/sendReboot.aspx?idxMacchina=
CMD_ODL_STARTED=/IOB/getCurrOdlStart/
CMD_FORCLE_SPLIT_ODL=/IOB/forceSplitOdlFull/
CMD_IDLE_TIME=/IOB/getIdlePeriod/
[MEMORY]
[BLINK]
MAX_COUNTER_BLINK = 15
BLINK_FILT=0
[OPTPAR]
VETO_QUEUE_IN=15
AUTO_CHANGE_ODL=false
POWEROFF_TIMEOUT_SEC=60
DISABLE_PZCOUNT=TRUE
;; gestioni PING
;MAX_TRY_PING=3
;VETO_QUEUE_IN=4
;VETO_PING_SEC=4
;VETO_CHECKDIR_SEC=10
;MAX_ELAPSED_TIME_SEC=60
;VETO_SEND_SNAPSHOT=3
[BRANCH]
NAME=master
+120
View File
@@ -0,0 +1,120 @@
;Configurazione IOB-WIN
[IOB]
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
EnableRedisQueue=true
;IOB_NAME=TFT_RAMA_001
[MACHINE]
VENDOR=STEAMWARE
MODEL=DEMO_SIMULATOR
[CNC]
IP=127.0.0.1
PORT=0000
[SERVER]
MPIP=http://10.74.82.218
MPURL=/MP/IO
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
CMDREBO=/sendReboot.aspx?idxMacchina=
CMD_ODL_STARTED=/IOB/getCurrOdlStart/
CMD_FORCLE_SPLIT_ODL=/IOB/forceSplitOdlFull/
CMD_IDLE_TIME=/IOB/getIdlePeriod/
[MEMORY]
[BLINK]
MAX_COUNTER_BLINK = 15
BLINK_FILT=0
[OPTPAR]
DISABLE_SEND_WDST=TRUE
AUTO_CHANGE_ODL=true
AUTO_SNAPSHOT_DOSSIER=true
CHANGE_ODL_HOURS=24
CHANGE_ODL_IDLE_MIN=0
CHANGE_ODL_MODE=SIMUL
; gestione custom timer
timerIntMs=100
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
PZCOUNT_MODE=BIT
ENABLE_PZ_RESET=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MIN_SEND_PZC_BLOCK=0
MAX_SEND_PZC_BLOCK=100
; gestione cambio ODL automatico (minuti minimi durata)
MIN_DURATA_ODL=960
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
PER_BASE=10100
SIM_PZCNT=5|1
SIM_ALARM=100|10
SIM_MANU=50|6
; indica gestione e simulazione bit 5 --> slow
SIM_SLOW=3600|20
; indica gestione e simulazione bit 6 --> warmup/cooldown
SIM_WUCD=8000|20
; indica gestione e simulazione bit 7 --> emergenza
SIM_EMRG=4000|10
; indica simulazione delle funzionalità power ON/ OFF
SIM_POW_ON_OFF=true
T_ON=7
T_OFF=22
; indica simulazione controlli utente
SIM_RC=81|1
; indica simulazione registro scarti
SIM_RS=161|1
; indica simulazione dichiarazioni (note) utente
SIM_DICH=261|1
; indica matricola opr simulata
SIM_MATR_OPR=1
; test x datasync...
DATA_SYNC_AT_START=true
; test sim dossiers tipo Kepware
SIM_KWP=true
; gestione DynData simulati
ENABLE_DYN_DATA=TRUE
FORCE_DYN_DATA=TRUE
NEW_DYN_DATA=TRUE
; indica parametri gestione TcMan
TC_MAX_TC_FACTOR=3.9
TC_LAMBDA=0.4
TC_MAX_INCR=5
MAX_PZ_INCR_PERC=1000
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_01.json
ALARM_CONF=SIMUL_01_alarm.json
;test gestione logfile (eg: soitaab)
EnabelPodlManFull=true
CodGruppoIob=STEAMWARE-SIM-FASE-01
; invio flux alla lettura file
sendFluxOnRead=true
;conf test FTP
FTP_SERVER=ftp.steamware.net
FTP_USER=testftpuser
FTP_PWD=we4reFromB3rghem!
FTP_CERT=
FTP_SKIP=TRUE
FTP_LOC_DIR=temp\csv
FTP_REM_DIR=
CSV_ADD_HEADER=true
[BRANCH]
NAME=master
; Tags manuali
[TAGS]
Customer=Steamware
HostOS=WIN
HostName=IOB-WIN-SIMULA
HostAddr=10.74.82.76
+410
View File
@@ -0,0 +1,410 @@
{
"mMapWrite": {
"setArt": {
"name": "setArt",
"description": "Articolo",
"memAddr": "DB150.DBB12",
"tipoMem": "String",
"index": 12,
"size": 20,
"displOrdinal": 1
},
"setArtNum": {
"name": "setArtNum",
"description": "# Num Articolo",
"memAddr": "DB150.DBB112",
"tipoMem": "Int",
"index": 112,
"size": 4,
"displOrdinal": 1
},
"setComm": {
"name": "setComm",
"description": "Commessa",
"memAddr": "DB150.DBB32",
"tipoMem": "String",
"index": 32,
"size": 20,
"displOrdinal": 2
},
"setCommNum": {
"name": "setCommNum",
"description": "# NumCommessa",
"memAddr": "DB150.DBB132",
"tipoMem": "Int",
"index": 132,
"size": 4,
"displOrdinal": 2
},
"setPzComm": {
"name": "setPzComm",
"description": "Qta Richiesta",
"memAddr": "DB150.DBB8",
"tipoMem": "Int",
"index": 8,
"size": 4,
"displOrdinal": 3
},
"forceSetPzCount": {
"name": "forceSetPzCount",
"description": "Imposta Qta",
"memAddr": "DB150.DBB8",
"tipoMem": "Int",
"index": 8,
"size": 4,
"displOrdinal": 11
},
//"OPC_Set Point.Chain Spped": {
// "name": "OPC_Set Point.Chain Spped",
// "description": "Chain Spped",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Chain Spped",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Top Overfeeding": {
// "name": "OPC_Set Point.Top Overfeeding",
// "description": "Top Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Top Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Bottom Overfeeding": {
// "name": "OPC_Set Point.Bottom Overfeeding",
// "description": "Bottom Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Bottom Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Width Master": {
// "name": "OPC_Set Point.Width Master",
// "description": "Width Master",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Width Master",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Thermoset Time": {
// "name": "OPC_Set Point.Thermoset Time",
// "description": "Thermoset Time",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Thermoset Time",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Thermoset Temperature": {
// "name": "OPC_Set Point.Thermoset Temperature",
// "description": "Thermoset Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Thermoset Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Take Off Overfeeding": {
// "name": "OPC_Set Point.Take Off Overfeeding",
// "description": "Take Off Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Take Off Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Small Roller Overfeeding": {
// "name": "OPC_Set Point.Small Roller Overfeeding",
// "description": "Small Roller Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Small Roller Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Scroll Roller Overfeeding": {
// "name": "OPC_Set Point.Scroll Roller Overfeeding",
// "description": "Scroll Roller Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Scroll Roller Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Right Whell Overfeeding": {
// "name": "OPC_Set Point.Right Whell Overfeeding",
// "description": "Right Whell Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Right Whell Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Plaiter Overfeeding": {
// "name": "OPC_Set Point.Plaiter Overfeeding",
// "description": "Plaiter Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Plaiter Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Load cell Weight": {
// "name": "OPC_Set Point.Load cell Weight",
// "description": "Load cell Weight",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Load cell Weight",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Left Wheel Overfeeding": {
// "name": "OPC_Set Point.Left Wheel Overfeeding",
// "description": "Left Wheel Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Left Wheel Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 105A Speed": {
// "name": "OPC_Set Point.Fan 105A Speed",
// "description": "Fan 105A Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 105A Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 105 Speed": {
// "name": "OPC_Set Point.Fan 105 Speed",
// "description": "Fan 105 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 105 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 103A Speed": {
// "name": "OPC_Set Point.Fan 103A Speed",
// "description": "Fan 103A Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 103A Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 103 Speed": {
// "name": "OPC_Set Point.Fan 103 Speed",
// "description": "Fan 103 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 103 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 101A Speed": {
// "name": "OPC_Set Point.Fan 101A Speed",
// "description": "Fan 101A Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 101A Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 101 Speed": {
// "name": "OPC_Set Point.Fan 101 Speed",
// "description": "Fan 101 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 101 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Exhaust Fan 1 Speed": {
// "name": "OPC_Set Point.Exhaust Fan 1 Speed",
// "description": "Exhaust Fan 1 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Exhaust Fan 1 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 5": {
// "name": "OPC_Set Point.Differentiation Spindle 5",
// "description": "Differentiation Spindle 5",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 5",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 4": {
// "name": "OPC_Set Point.Differentiation Spindle 4",
// "description": "Differentiation Spindle 4",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 4",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 3": {
// "name": "OPC_Set Point.Differentiation Spindle 3",
// "description": "Differentiation Spindle 3",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 3",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 2": {
// "name": "OPC_Set Point.Differentiation Spindle 2",
// "description": "Differentiation Spindle 2",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 2",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 1": {
// "name": "OPC_Set Point.Differentiation Spindle 1",
// "description": "Differentiation Spindle 1",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 1",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Cooling Cell 1 Speed": {
// "name": "OPC_Set Point.Cooling Cell 1 Speed",
// "description": "Cooling Cell 1 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Cooling Cell 1 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 6 Temperature": {
// "name": "OPC_Set Point.Burner 6 Temperature",
// "description": "Burner 6 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 6 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 5 Temperature": {
// "name": "OPC_Set Point.Burner 5 Temperature",
// "description": "Burner 5 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 5 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 4 Temperature": {
// "name": "OPC_Set Point.Burner 4 Temperature",
// "description": "Burner 4 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 4 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 3 Temperature": {
// "name": "OPC_Set Point.Burner 3 Temperature",
// "description": "Burner 3 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 3 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 2 Temperature": {
// "name": "OPC_Set Point.Burner 2 Temperature",
// "description": "Burner 2 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 2 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 1 Temperature": {
// "name": "OPC_Set Point.Burner 1 Temperature",
// "description": "Burner 1 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 1 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Air Humidity Preset Esa 1": {
// "name": "OPC_Set Point.Air Humidity Preset Esa 1",
// "description": "Air Humidity Preset Esa 1",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Air Humidity Preset Esa 1",
// "index": 0,
// "size": 0
//}
},
"mMapRead": {
"TEMP_01": {
"name": "TEMP_01",
"description": "Temperatura 01",
"tipoMem": "Real",
"minVal": 18,
"maxVal": 24,
"displOrdinal": 4
},
"POWER_01": {
"name": "POWER_01",
"description": "Potenza impianto",
"tipoMem": "Int",
"minVal": 40,
"maxVal": 80,
"displOrdinal": 5
},
"FEED_OVER": {
"name": "FEED_OVER",
"description": "FEED override",
"tipoMem": "Int",
"minVal": 0,
"maxVal": 100,
"displOrdinal": 6
},
"RAPID_OVER": {
"name": "RAPID_OVER",
"description": "RAPID override",
"tipoMem": "Int",
"minVal": 50,
"maxVal": 120,
"displOrdinal": 7
},
"POS_X": {
"name": "POS_X",
"description": "Asse X",
"tipoMem": "Int",
"minVal": -2000,
"maxVal": 2000,
"displOrdinal": 8
},
"POS_Y": {
"name": "POS_Y",
"description": "Asse Y",
"tipoMem": "Int",
"minVal": 0,
"maxVal": 2000,
"displOrdinal": 9
},
"POS_Z": {
"name": "POS_Z",
"description": "Asse Z",
"tipoMem": "Int",
"minVal": 0,
"maxVal": 1500,
"displOrdinal": 10
}
},
"optKVP": {
"fluxLogReduce": true,
"fluxLogRedDeadBand": 1.5,
"fluxLogResendPeriod": 15,
"hasRecipe": true,
"maxPodlQty": 530,
"useLocalRecipe": true,
"path-locBase": "C:\\MesData\\",
"path-00-Arch": "ArchivioRicette\\FIMAT",
"path-01-Temp": "01-Temp\\FIMAT",
"path-02-Sent": "02-Inviate\\FIMAT",
"path-03-Recv": "03-Ricevute\\FIMAT",
"path-04-remReq": "Y:\\",
"path-05-remExe": "C:\\MesData\\Remote\\Dosed",
"path-06-remRec": "R:\\",
"path-outReport": "C:\\MesData\\Report",
"path-confSetup": "C:\\MesData\\Setup\\setupConsumi.json",
"replace-<Variant>": "<Variant>{{PODL}}",
"replace-<Info1>": "<Info1>Kg{{Qty}} | {{Note}}"
}, //,
//"BaseKeyTranslate": "ns=2;s=RamosaETN21.RamosaCJ2",
//"RecipeKeyTranslate": {
// "Present Value.General Fan": "Recipe.Chain Spped",
// "Present Value.Bottom Overfeeding": "Recipe.Bottom Overfeeding",
// "Present Value.Top Overfeeding": "Recipe.Top Overfeeding"
//}
"mMapWriteLink": {
"setArt": "setArtNum",
"setComm": "setCommNum"
}
}
@@ -0,0 +1,8 @@
<linker>
<assembly fullname="System.Diagnostics.DiagnosticSource">
<type fullname="System.Diagnostics.Metrics.MetricsEventSource">
<!-- Used by System.Private.CoreLib via reflection to init the EventSource -->
<method name="GetInstance" />
</type>
</assembly>
</linker>
+226
View File
@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{7642AEAD-7A35-45A6-8761-81D97CD8905C}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>IOB_WIN_SHELLY</RootNamespace>
<AssemblyName>IOB-WIN-SHELLY</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="EgwProxy.Shelly, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.Shelly.3.7.2502.1210\lib\EgwProxy.Shelly.dll</HintPath>
</Reference>
<Reference Include="Flurl, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Flurl.4.0.0\lib\net461\Flurl.dll</HintPath>
</Reference>
<Reference Include="Flurl.Http, Version=4.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Flurl.Http.4.0.2\lib\net461\Flurl.Http.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2411.518, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2411.518\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.9.0.0\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.4.7.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
</Reference>
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.9.0.0\lib\net462\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.0\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\VersGen\VersGen.cs">
<Link>VersGen.cs</Link>
</Compile>
<Compile Include="AdapterFormNext.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Iob\ShellyClient.cs" />
<Compile Include="Iob\GenericNext.cs" />
<Compile Include="MainFormNext.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="ILLink\ILLink.Descriptors.LibraryBuild.xml" />
<Content Include="Resources\STEAM-IOB-WIN.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\SteamWare.ico">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="App.Debug.config">
<DependentUpon>App.config</DependentUpon>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="App.Release.config">
<DependentUpon>App.config</DependentUpon>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\IOB.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\MAIN.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\PING.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\SHELLY_01.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\SHELLY_01.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="NLog.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
<None Include="postBuildTgt.bat" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Content Include="Resources\Start-IOB-WIN.bat">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Include="setupTgt.bat" />
<None Include="temp\.placeholder">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="App.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="logs\.placeholder.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Readme\ToDo.txt" />
<Content Include="Resources\ChangeLog.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\Circuit.ico" />
<Content Include="Resources\logoSteamware.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\manifest.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\Net.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\IOB-UT-NEXT\IOB-UT-NEXT.csproj">
<Project>{90512e12-29fc-460d-94cc-648c2a072dbd}</Project>
<Name>IOB-UT-NEXT</Name>
</ProjectReference>
<ProjectReference Include="..\IOB-WIN-FORM\IOB-WIN-FORM.csproj">
<Project>{9ba331bb-9bf1-40e0-ac03-74b43d73a097}</Project>
<Name>IOB-WIN-FORM</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
+13
View File
@@ -0,0 +1,13 @@
using IOB_UT_NEXT;
namespace IOB_WIN_SHELLY.Iob
{
public class GenericNext : IOB_WIN_FORM.Iob.Generic
{
public GenericNext(AdapterFormNext caller, IobConfiguration IOBConf): base((IOB_WIN_FORM.AdapterForm)caller, IOBConf)
{
}
}
}
File diff suppressed because it is too large Load Diff
+40
View File
@@ -0,0 +1,40 @@
using IOB_UT_NEXT;
using IOB_WIN_SHELLY.Iob;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_WIN_SHELLY
{
public class MainFormNext : IOB_WIN_FORM.MainForm
{
/// <summary>
/// Avvio MainForm
/// </summary>
/// <param name="args"></param>
public MainFormNext(string[] args) : base(args)
{
}
/// <summary>
/// Apre la finestra child con conf
/// </summary>
protected override void openChild(string IOB)
{
if (IOB == null)
{
throw new ArgumentNullException(nameof(IOB));
}
AdapterFormNext child = new AdapterFormNext(IOB);
child.MdiParent = this;
child.Text = IOB;
child.Show();
child.Shown += Child_Shown;
child.FormClosed += Child_FormClosed;
}
}
}
+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="logDir" value="${basedir}/logs"/>
<targets>
<target xsi:type="File"
name="f_base"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true} | ${message}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="90"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
<target xsi:type="File"
name="f_error"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}_err.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true} | ${message}${newline}${exception:format=tostring}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}_err.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="90"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
</targets>
<rules>
<!-- Logging Levels (Trace, Debug, Info, Warn, Error, Fatal)-->
<logger name="*" minlevel="Trace" maxlevel="Warn" final="true" writeTo="f_base" />
<logger name="*" minlevel="Error" writeTo="f_error" />
</rules>
</nlog>
+24
View File
@@ -0,0 +1,24 @@
using System;
using System.Windows.Forms;
namespace IOB_WIN_SHELLY
{
internal static class Program
{
#region Private Methods
/// <summary>
/// Punto di ingresso principale dell'applicazione.
/// <paramref name="args">Parametri di avvio</paramref>
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainFormNext(args));
}
#endregion Private Methods
}
}
+22
View File
@@ -0,0 +1,22 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("IOB-WIN-SHELLY")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("IOB-WIN-SHELLY")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("7642aead-7a35-45a6-8761-81d97cd8905c")]
+71
View File
@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace IOB_WIN_SHELLY.Properties
{
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IOB_WIN_SHELLY.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
+117
View File
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+30
View File
@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace IOB_WIN_SHELLY.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
+61
View File
@@ -0,0 +1,61 @@
-------------------------------------
- 2017.10.19
-------------------------------------
OK - da testare ora invio URL a MoonPro
OK - ALIVE
OK - ENABLED
OK - INPUT
OK - FARE lettura VERA da FANUC almeno della bitmap
OK - fare gestione come rPI-IOB, ovvero
OK - gestione QUEUE eventi
OK - salvataggio su file dello storico eventi rilevati
OK - gestione dei segnali ballerini (BITMASK!)
OK - gestione contapezzi CUSTOM
- fare gestione configurabile lettura FANUC
OK - gestione dati G43
OK - togliere dati F (E0 | 90)
- fare integrazione ALTRI varori FANUC, tra cui
- allarmi
OK - load/speed
OK - overrides (G12, G30)
OK - nuovo metodo chiamata x MP/IO (che dovrà avere nuovo comando x accettare queste chiamate e salvare su tabella SENZA processing, come eventi o come extra... evento NOTA?)
- verificare segnali: (vedi doc gsheet)
- F001.0: ALARM_PRESENT
- F001.7: CN_READY / POWER_ON
- STL000.5: AUTO (vers 1)
- STL000.7: AUTO (vers 2)
- Cambiare ordine valutazione eventi frequenza VLF-->VHF
- Azzerare I contatori quanto si arriva al più lento (quando si azzera lui ripartono comunque tutti...) -> in questo modo scatta un contatore QUANDO GENERAL_COUNTER MOD periodo_Ccntatore == 0
- rendere parametrica l'assegnazione delle funzioni al diverso ambito frequenza tra i 5 (VHF, HF, NF, LF, VLF)
- procedura x gestione dati REALTIME (da NON salvare su db ma al limite su REDIS, simil EQN con 2 tab x eliminare dati scaduti)
OK FINIRE SISTEMAZIONE JETCO:
OK - install servers
OK - install DB
OK - conf acquisitore togliendo parti abbozzate x contapezzi/fineciclo
OK - part program name MAIN con nuova funzione
CREARE NUOVO SW (o configurazione? o ramo alternativo a develop?) x mapping INIZIALE della macchina... ad esempio
- si collega a ns server
- chiede cosa deve fare (es mappa memorie D da 0 a 9999)
- effettua testing e poi fa upload risultati
- il ns sw fa i check/controlli modifica
in questo modo ad esmepio possiamo cercare i contapezzi, i segnali ceh cambiano con il fineciclo nelle aree Y, i contatori STANDARD nelle memorie D, ...
GESTIONE LIVE DATA
L'idea è ceh quando una macchina è "sotto osservazione" ovvero live viene aperta pagina questa debba inviare PIU' DATI di tipo realtime e mostrarli nel browser. Per farlo ci saranno questi elementi
- si apre una pagina di dettaglio macchina (da tablet? da SITE principale?)
- questo causa la modifica di una chiave su DB (e/o redis) di stato macchina, del tipo "OnAir=true", e potrebbe essere una chiave a tempo (30 sec poi scade?) e mentre la pagina è aperta e si aggiorna (ogni 1-2 sec oppure Signal-R) questo valore viene confermato (e prorigato)
- ogni IOB-WIN fa una chiamata "extra" all'URL dedicato al checl "OnAir", e se trova che è abilitato passa in modalità letture frequenti (1/2 al sec?) dei parametri LIVE (es: feed, speed, posizioni assi, load istantanei)
- se passa inq eusta modalità live invia DI CONTINUO il dato al server IO
- il server IO salva SU REDIS questi valori sia come "lastVal" che come serie storica
- le pagine che mostrano i dati si continuano ad aggiornare (da redis) con grafici (chartJs come PIC) e/o valori istantanei
- le serie storiche vengono ripulite periodicamente (ogni ora? valori + vecchi di 24h ad esempio?)
- struttura dati REDIS da creare SIMILE a struttura info URL...
- struttura dati LIVE: ../LIVE/COD_MACC/CURR_VAL (contiene TUTTI i dati LIVE, ultimi ricevuti...)
- struttura dati TimeSeries: ../LIVE/COD_MACC/DATA_NAME (contiene TUTTI i dati come timeseries, es SPEEDRATE, FEEDRATE, POS_X1, POS_X2, ...)
- operazione SAVE aggiorna SURR e accoda NUOVO valore...
- LOAD (rilettura9 POTREBBE fare pulizia se + vecchi di 24h...)
- la trasmissione verso IO deve avvenire con "multisend, nel
+120
View File
@@ -0,0 +1,120 @@
<body>
<h3>MAPO-IOB-WIN</h3>
<b>v: {{CURRENT-REL}}</b>
<br />
<i>Acquisitore MAPO-IOB per sistemi Windows</i>
<br />
Note di rilascio:
<ul>
<li>
<b>v.3.1.* &rarr; v.3.2.*</b>
<ul>
<li>Nuovi simulatori con gestione emergenza</li>
<li>Fix gestione invio dati Redis</li>
<li>Implementazione IOB Eurom63</li>
</ul>
</li>
<li>
<b>v.2.6.* &rarr; v.3.0.*</b>
<ul>
<li>revisione sistema metodi invio in blocco</li>
<li>Gestione invio contapezzi in step > 1</li>
<li>Gestione eventi in blocco (indipendente e prioritario su EvBlock)</li>
<li>Gestione limite eventi memorizzabili</li>
<li>Integrazione REDIS</li>
<li>Integrazione IOB-MAN</li>
</ul>
</li>
<li>
<b>v.2.5.* &rarr; v.2.6.*</b>
<ul>
<li>revisione sistema timeout Ping</li>
<li>Gestione AutoODL in prod generale (non solo SIM)</li>
</ul>
</li>
<li>
<b>v.2.4.* &rarr; v.2.5.*</b>
<ul>
<li>Aggiunto adapter MTConnect</li>
<li>Ottimizzazione gestione SIEMENS</li>
</ul>
</li>
<li>
<b>v.2.3.* &rarr; v.2.4.*</b>
<ul>
<li>inserita gestione conf json x Flog acquisiti</li>
<li>gestione invio Json blocchi dati FLog</li>
<li>ottimizzazioni varie adapter Siemens</li>
<li>ottimizzazione processo svuotamento code</li>
<li>riduzione interferenza e interblocchi in fase di PLC assente</li>
</ul>
</li>
<li>
<b>Ultime modifiche:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.1.18.* &rarr; v.2.3.*</b>
<ul>
<li>inserimento WPS x acontrolli WebPage human readable</li>
<li>fix gestione task2exe</li>
<li>aggiunte varie versioni PLC siemens</li>
<li>aggiunto PLC WPS x generiche web pages</li>
<li>revisitazione LOG ODL e contapezzi</li>
<li>modifica pagina presentazione dati (master) x resize</li>
<li>Attivazione IOB SIMULATOR per test di carico (sostituito type DEMO)</li>
<li>Aggiunto simulatore macchine MULTI pallet</li>
<li>Ottimizzazione simulatore</li>
<li>Ottimizzazioni PLC Siemens x riavvio post disconnessione (es spegnimento notturno)</li>
<li>Ottimizzazione processo chiusura in update applicazione</li>
<li>Aggiunta simulazione spegnimento con WU/CD</li>
</ul>
</li>
<li>
<b>v.1.11.* &rarr; v.1.18.*</b>
<ul>
<li>Inserimento controller SIEMENS con S7+ library</li>
<li>Inserimento nuove letture FANUC x programmi</li>
<li>Inserimento nuove letture FANUC x SysEx (informazioni sistema)</li>
<li>Inserimento invio FluxLog x parametri estesi (es SysEx, ProgName,...)</li>
<li>FIX visualizzazione dati FluxLog e URL inviati</li>
<li>FIX MAIN program da FANUC (non il current)</li>
<li>Inserita modalita' DUMP memoria (iniziale full + periodica)</li>
<li>Inserimento gestione contapezzi standard/checkBit in IOB.cfg</li>
<li>Inserimento contapezzi da area memoria X</li>
<li>NUOVA Gestione rami cliente e URL di update</li>
<li>Gestione modi CNC</li>
<li>Lettura dari dinamycs FANUC (feed, speed)</li>
<li> aggiunta gestione aree G0..G30 (overrides?)</li>
<li>fix errore disconnessione FANUC (allo spegnimento dl CNC) e memoria valori persistente a 1</li>
<li>fix globali x gestione log IN / FLOG + ottimizzaizone check FANUC (PING)</li>
<li>ottimizzazione fasi di restart in caso di assenza del server (evita reinvii inutili e migliora tempo ripartenza invio)</li>
<li>review procedure controllo connessione x FANUC (es Tornos II)</li>
<li>non richeide più privilegi admin x fare update</li>
<li> gestione segnali inverted</li>
<li>completata gestione configurabilità parametrica segnali (Tornos, CMZ, Biglia)</li>
<li>revisitazione LOG x distinguere processi IOB</li>
</ul>
</li>
<li>
<b>v.0.1.* &rarr; v.0.10.*</b>
<ul>
<li>Testato in produzione x update ad avvio e su richiesta</li>
<li>Testato in produzione x lettura dati da Fanuc</li>
<li>Inizio deploy con copia file su area IIS</li>
<li>Prima versione con autoupdate</li>
<li>Test PrettyBin x spostamento dll</li>
<li>Base acquisitore FANUC</li>
<li>Sistema base sw controllo in tray</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="logoSteamware.png" />
</div>
<div style="float: right;">
<a href="https://www.steamware.net/IOT" target="_blank">&copy; Steamware 2006-{{CURR-YEAR}}</a>
</div>
</div>
</body>
Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.
@@ -0,0 +1,15 @@
@ECHO OFF
SET EXEName=IOB-WIN.exe
SET EXEFullPath=C:\Steamware\IOB-WIN\IOB-WIN.exe
TASKLIST | FINDSTR /I "%EXEName%"
IF ERRORLEVEL 1 GOTO :StartIobWin
REM "Programma ancora in run, nessuna azione necessaria"
timeout /T 2
GOTO :EOF
:StartIobWin
START "" "%EXEFullPath%"
GOTO :EOF
Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.0.0</version>
<url>http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/{{BRANCHNAME}}/MAPO-IOB-WIN.zip</url>
<changelog>http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
+68
View File
@@ -0,0 +1,68 @@
{
"metadata": [
{
"src": [
{
"files": [
"*.csproj"
],
"cwd": ".",
"exclude": [
"**/obj/**",
"**/bin/**",
"_site/**"
]
}
],
"dest": "obj/api"
}
],
"build": {
"content": [
{
"files": [
"api/**.yml"
],
"cwd": "obj"
},
{
"files": [
"api/*.md",
"articles/**.md",
"toc.yml",
"*.md"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"resource": [
{
"files": [
"images/**"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"overwrite": [
{
"files": [
"apidoc/**.md"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"dest": "_site",
"template": [
"default"
]
}
}
+11
View File
@@ -0,0 +1,11 @@
# IOB-WIN-PING
Documentazione relativa all'applicativo IOB-WIN-PING
## Articles
Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles
## Api
Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation
+1
View File
@@ -0,0 +1 @@

+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EgwProxy.Shelly" version="3.7.2502.1210" targetFramework="net462" />
<package id="Flurl" version="4.0.0" targetFramework="net462" />
<package id="Flurl.Http" version="4.0.2" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2411.518" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.VisualStudio.SlowCheetah" version="4.0.50" targetFramework="net462" developmentDependency="true" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="4.7.0" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="9.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.6.0" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="9.0.0" targetFramework="net462" />
<package id="System.Text.Json" version="9.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="9.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.6.0" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
</packages>
+52
View File
@@ -0,0 +1,52 @@
@echo off
echo Inizio processing After Build: configurazione %1 , directory %2
if %1 == "Release" goto ReleaseExec
if %1 == Release goto ReleaseExec
if %1 == "Debug" goto DebugExec
if %1 == Debug goto DebugExec
if %1 == "Remote_DEBUG" goto RemoteDebugExec
if %1 == Remote_DEBUG goto RemoteDebugExec
:ReleaseExec
echo Release processing...
del /S %2"*.pdb""
del /S %2"*.xml""
del /S %2"lib/*.pdb""
echo Release: eliminato pdb + xml!!!
goto END
:DebugExec
echo Debug processing...
goto END
:RemoteDebugExec
echo Remote_DEBUG processing, effettuo copia script verso server remoto (ROBOCOPY)
REM copia script verso server remoto
REM echo Debug remoto: effettuo robocopy sync (verificare remote per cliente)
REM FINASSI
REM ROBOCOPY %2 \\10.150.0.1\Steamware\IOB-WIN-SHELLY-DEB /MIR
REM Baglietto
REM ROBOCOPY %2 \\192.168.60.15\Steamware\IOB-WIN-SHELLY-DEB /MIR
REM GIACOVELLI LOCOROTONDO
REM ROBOCOPY %2 \\192.168.1.93\Steamware\IOB-WIN-SHELLY-DEB /MIR
REM IMI Remosa
REM ROBOCOPY %2 \\192.168.0.12\Steamware\IOB-WIN-SHELLY-DEB /MIR
REM IOB-WIN-SIM
REM ROBOCOPY %2 \\IOB-WIN-SIMULA\Steamware\IOB-WIN-SHELLY-DEB /MIR
REM IOBVPN4MACHINE
REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-SHELLY-DEB /MIR
REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-SHELLY-DEB /MIR /log:RobocopyTransfer.log
REM ROBOCOPY %2 Z:\IOB-WIN-SHELLY-DEB /MIR
REM ROBOCOPY %2 \\10.51.90.10\Steamware\IOB-WIN-SHELLY-DEB /MIR
ROBOCOPY %2 \\10.51.90.9\Steamware\IOB-WIN-SHELLY-DEB /MIR
goto END
:END
echo Fatto!
+25
View File
@@ -0,0 +1,25 @@
@echo off
echo Effettua setup dei file specifici per i vari ambienti pre build installer: verifica da nome configurazione %1
if %1 == "Release" goto Release
if %1 == "Debug" goto Debug
if %1 == "Remote_DEBUG" goto RemoteDebug
:Release
echo Release: nulla da copiare
goto END
:Debug
echo Debug: copia file ini x simulazione Debug
REM del %2"DATA\CONF\EsaKvara.ini"
REM copy %2"Resources\SCM\EsaKvara_SIM.ini" %2"DATA\CONF\EsaKvara.ini"
goto END
:RemoteDebug
echo RemoteDebug: nulla da copiare
goto END
:END
echo Fatto!
+1
View File
@@ -0,0 +1 @@

+6
View File
@@ -0,0 +1,6 @@
- name: Articles
href: articles/
- name: API Documentation
href: obj/api/
homepage: api/index.md