Merge branch 'develop' into SDK/MultiCnc
This commit is contained in:
+1
-1
@@ -36,7 +36,7 @@ variables:
|
||||
.version-fix: &version-fix
|
||||
- |
|
||||
$env:NEW_REL = $env:VERS_MAIN+"."+(get-date –format yyMM)+"."+(get-date –format ddHH)
|
||||
$env:NUM_REL = $env:VERS_MAIN+"."+(get-date –format yyMM)+"."+(get-date –format ddHH)
|
||||
$env:NUM_REL = $env:VERS_MAIN+"."+(get-date –format yyMM)+"."+(get-date –format dHH)
|
||||
$env:NUM_DEB = $env:VERS_MAIN+"."+(get-date –format yyMM)+"-beta."+(get-date –format dHH)
|
||||
$env:NEW_COPYRIGHT = "EgalWare @ 2006-" + (get-date -format yyyy)
|
||||
$contenuto = Get-Content -path 'VersGen\VersGen.cs' -Raw
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
SELECT *
|
||||
FROM DettagliConferimentoMES
|
||||
where FillingId = 31729
|
||||
order by PackId
|
||||
|
||||
|
||||
/*
|
||||
Numero lotto = sigla giorno
|
||||
sigla lotto: incrementale giornaliero
|
||||
|
||||
in particoalre x il prodotto grosso --> seleziono da + fornitori (es fornitori grossi)
|
||||
|
||||
PackId = id univoco scatoletta
|
||||
FillingId / FillingRow NON USATI: li posso ignorare, si applicano al caso "travaso" da bins ingresso / bins uscita "tipizzati" --> serve x precalibrare
|
||||
scaricoId = operazione di scannerizzazione ( è il barcode letto)
|
||||
codice a barre è letto x ogni etichetta di conferimento
|
||||
codice e nome fornitore = grower
|
||||
codice e descrizione prodotto : sono il GREZZO specifico
|
||||
cdice prodotto grezzo è il "ceppo" / famiglia
|
||||
sigla e numero lotto: colonna di entrata ciliegie (frontiera)
|
||||
idem x data e qta entrata
|
||||
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,16 @@
|
||||
SELECT *
|
||||
FROM DettagliConfezioniMES
|
||||
|
||||
|
||||
/*
|
||||
pack id = singola cassetta/scatola/cartone
|
||||
ean = barcode in uscita
|
||||
batch id / batch name = dati tracciabilità, legato ai lotti in entrata sul sizer
|
||||
lane [1/2]sizerBatchId = lotti del sizer
|
||||
pesoDecigram = peso netto confezionato (tolleranza +/-10g...20gr)
|
||||
|
||||
tabella scritta dal momento in cui arriva il cartone/cassetta per iniziare riempimento
|
||||
|
||||
dati live li vediamo dal sizer
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,19 @@
|
||||
select top 100 *
|
||||
from ProductsTotals
|
||||
|
||||
/*
|
||||
SizerBatch id = id del batch da WS SOAP
|
||||
Index = indice di prodotto FINITO, di cui ho il NOME
|
||||
- prodotti da matrice: colonne = gradi, righe = taglie(sizes)
|
||||
- grado a colore rosso
|
||||
- do il nome prodotto rosse 26- (che sono da 22 a 26 in grado A)
|
||||
- colonna qualities = è la "somma dei qualities" ovvero le colonne che passano nelcontrollo prodotto
|
||||
- codice in 3 parametri, che sono a,b,c
|
||||
- a = qualità interna (SEMPRE NULL x le ciliegie)
|
||||
- b grado = qualità esterna del frutto, es rosse, nere, con stelo... ricircolo = scarto per cattiva disposizione
|
||||
- c : calibri che mi definiscono la dimensione, tipicamente 22..32
|
||||
|
||||
|
||||
si scrive tutto quando è chiuso il lotto
|
||||
inizialmente 1 solo lotto x entrambe le linee
|
||||
*/
|
||||
@@ -0,0 +1,23 @@
|
||||
/****** Script for SelectTopNRows command from SSMS ******/
|
||||
SELECT TOP (1000) [ID_CHIAVE]
|
||||
,[CODBARRE]
|
||||
,[CODICE_FORNITORE]
|
||||
,[CODICE_LUOGO_PRODUZIONE]
|
||||
,[NOME_FORNITORE]
|
||||
,[INDIRIZZO_FORNITORE]
|
||||
,[COMUNE_FORNITORE]
|
||||
,[NOME_LUOGO_PRODUZIONE]
|
||||
,[INDIRIZZO_LUOGO_PRODUZIONE]
|
||||
,[COMUNE_LUOGO_PRODUZIONE]
|
||||
,[CODICE_PRODOTTO]
|
||||
,[DESCRIZIONE_PRODOTTO]
|
||||
,[CODICE_PRODOTTO_GREZZO]
|
||||
,[DESCRIZIONE_PRODOTTO_GREZZO]
|
||||
,[SIGLA_LOTTO]
|
||||
,[NUMERO_LOTTO]
|
||||
,[DATA_ENTRATA]
|
||||
,[QUANTITA_ENTRATA]
|
||||
FROM [frontiera].[dbo].[ENTRATACILIEGIE]
|
||||
|
||||
|
||||
-- utilizzare codice e descrizione prodotto...
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</configSections>
|
||||
<entityFramework>
|
||||
<providers>
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<connectionStrings>
|
||||
<add name="EntrataFrontiera" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||
<add name="ExportIcoel" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=IcoelExport;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||
<add name="TrackerLotti" connectionString="data source=192.168.250.250\sqlexpress;initial catalog=TrackerLotti3;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||
<add name="SyncState" connectionString="data source=localhost\sqlexpress;initial catalog=MoonPro_ISF;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.1" newVersion="4.0.5.1" />
|
||||
</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>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -0,0 +1,132 @@
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
/*------------------------------------------------
|
||||
* Aggiunto fix come da link seguente:
|
||||
*
|
||||
* https://stackoverflow.com/questions/14033193/entity-framework-provider-type-could-not-be-loaded
|
||||
*
|
||||
* I solved this by adding an using stament on top of my DBContext class, like so:
|
||||
* using SqlProviderServices= System.Data.Entity.SqlServer.SqlProviderServices;
|
||||
*
|
||||
*/
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// Controller accesso dati DB vari x ICOEL
|
||||
/// </summary>
|
||||
public class DbController : IDisposable
|
||||
{
|
||||
#if false
|
||||
private static EntrataDbContext dbEntrataCtx;
|
||||
private static ExportDbContext dbExportCtx;
|
||||
private static TrackerDbContext dbTrackerCtx;
|
||||
#endif
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Avvio dell'oggetto gestione DB con stringa di connessione specifica
|
||||
/// </summary>
|
||||
/// <param name="connSyncState">Connessione DB locale di SYNC</param>
|
||||
public DbController(string connSyncState)
|
||||
{
|
||||
dbSyncStateCtx = new SyncStateDbContext(connSyncState);
|
||||
Log.Info("Avviata classe dbSyncStateCtx");
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Recupera la tab di CurrData corrente
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<DatabaseModels.CurrDataModel> CurrDataGetAll()
|
||||
{
|
||||
List<DatabaseModels.CurrDataModel> dbResult = new List<DatabaseModels.CurrDataModel>();
|
||||
|
||||
dbResult = dbSyncStateCtx
|
||||
.DbSetCurrData
|
||||
.ToList();
|
||||
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dispose classe
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
// Clear database context
|
||||
#if false
|
||||
dbEntrataCtx.Dispose();
|
||||
dbExportCtx.Dispose();
|
||||
dbTrackerCtx.Dispose();
|
||||
#endif
|
||||
dbSyncStateCtx.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi
|
||||
/// restitusice in output la tab di SyncState x verificare lo stato
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<DatabaseModels.SyncStateModel> SyncStateDoExportAll()
|
||||
{
|
||||
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
||||
|
||||
dbResult = dbSyncStateCtx
|
||||
.Database
|
||||
.SqlQuery<DatabaseModels.SyncStateModel>("EXEC stp_ExportAll")
|
||||
.ToList();
|
||||
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi
|
||||
/// restitusice in output la tab di SyncState x verificare lo stato
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<DatabaseModels.SyncStateModel> SyncStateDoImportAll()
|
||||
{
|
||||
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
||||
|
||||
dbResult = dbSyncStateCtx
|
||||
.Database
|
||||
.SqlQuery<DatabaseModels.SyncStateModel>("EXEC stp_ImportAll")
|
||||
.ToList();
|
||||
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// recupera la tab di SyncState corrente
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<DatabaseModels.SyncStateModel> SyncStateGetAll()
|
||||
{
|
||||
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
||||
|
||||
dbResult = dbSyncStateCtx
|
||||
.DbSetSyncState
|
||||
.ToList();
|
||||
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private static SyncStateDbContext dbSyncStateCtx;
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.Spatial;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||
{
|
||||
|
||||
[Table("CurrData")]
|
||||
public partial class CurrDataModel
|
||||
{
|
||||
[Key]
|
||||
[StringLength(50)]
|
||||
public string Topic { get; set; }
|
||||
|
||||
public decimal CurrVal { get; set; } = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.Spatial;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||
{
|
||||
|
||||
[Table("DettagliConferimentoMES")]
|
||||
public partial class DettConferimentoModel
|
||||
{
|
||||
[Key]
|
||||
[Column(Order = 0)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public long PackId { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 1)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public long FillingId { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 2)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int FilligRow { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 3)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public long ScaricoId { get; set; }
|
||||
|
||||
public string CODBARRE { get; set; }
|
||||
|
||||
public string CODICE_FORNITORE { get; set; }
|
||||
|
||||
public string NOME_FORNITORE { get; set; }
|
||||
|
||||
public string CODICE_PRODOTTO { get; set; }
|
||||
|
||||
public string DESCRIZIONE_PRODOTTO { get; set; }
|
||||
|
||||
public string CODICE_PRODOTTO_GREZZO { get; set; }
|
||||
|
||||
public string DESCRIZIONE_PRODOTTO_GREZZO { get; set; }
|
||||
|
||||
public string SIGLA_LOTTO { get; set; }
|
||||
|
||||
public string NUMERO_LOTTO { get; set; }
|
||||
|
||||
public string DATA_ENTRATA { get; set; }
|
||||
|
||||
public string QUANTITA_ENTRATA { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.Spatial;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||
{
|
||||
|
||||
[Table("DettagliConfezioniMES")]
|
||||
public partial class DettConfezioniModel
|
||||
{
|
||||
[Key]
|
||||
[Column("Pack Id", Order = 0)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public long Pack_Id { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string EAN { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column("Batch Id", Order = 1)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public long Batch_Id { get; set; }
|
||||
|
||||
public string BatchName { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 2)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int Lane1SizerBatchId { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 3)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int Lane2SizerBatchId { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column("End Time", Order = 4, TypeName = "datetime2")]
|
||||
public DateTime End_Time { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 5)]
|
||||
public Guid SizerProductGUID { get; set; }
|
||||
|
||||
[Column("Product Name")]
|
||||
public string Product_Name { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 6)]
|
||||
public Guid SizerPackGUID { get; set; }
|
||||
|
||||
[Column("Pack Name")]
|
||||
[StringLength(50)]
|
||||
public string Pack_Name { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 7)]
|
||||
public decimal PesoDecigram { get; set; }
|
||||
|
||||
[StringLength(10)]
|
||||
public string FillingMode { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 8)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int Quantity { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.Spatial;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||
{
|
||||
|
||||
[Table("ENTRATACILIEGIE")]
|
||||
public partial class EntrataModel
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public long ID_CHIAVE { get; set; }
|
||||
|
||||
[StringLength(20)]
|
||||
public string CODBARRE { get; set; }
|
||||
|
||||
public double? CODICE_FORNITORE { get; set; }
|
||||
|
||||
[StringLength(5)]
|
||||
public string CODICE_LUOGO_PRODUZIONE { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string NOME_FORNITORE { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string INDIRIZZO_FORNITORE { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string COMUNE_FORNITORE { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string NOME_LUOGO_PRODUZIONE { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string INDIRIZZO_LUOGO_PRODUZIONE { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string COMUNE_LUOGO_PRODUZIONE { get; set; }
|
||||
|
||||
[StringLength(10)]
|
||||
public string CODICE_PRODOTTO { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string DESCRIZIONE_PRODOTTO { get; set; }
|
||||
|
||||
[StringLength(10)]
|
||||
public string CODICE_PRODOTTO_GREZZO { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string DESCRIZIONE_PRODOTTO_GREZZO { get; set; }
|
||||
|
||||
[StringLength(50)]
|
||||
public string SIGLA_LOTTO { get; set; }
|
||||
|
||||
[StringLength(10)]
|
||||
public string NUMERO_LOTTO { get; set; }
|
||||
|
||||
[Column(TypeName = "datetime2")]
|
||||
public DateTime? DATA_ENTRATA { get; set; }
|
||||
|
||||
public double? QUANTITA_ENTRATA { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.Spatial;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||
{
|
||||
|
||||
[Table("ProductsTotals")]
|
||||
public partial class ProductsTotalsModel
|
||||
{
|
||||
[Key]
|
||||
[Column(Order = 0)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int SizerBatchId { get; set; }
|
||||
|
||||
[Key]
|
||||
[Column(Order = 1)]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int Index { get; set; }
|
||||
|
||||
public string Nome { get; set; }
|
||||
|
||||
public string Qualities { get; set; }
|
||||
|
||||
public string Grado { get; set; }
|
||||
|
||||
public string Calibro { get; set; }
|
||||
|
||||
public int NumeroFrutti { get; set; }
|
||||
|
||||
public string Decigrammi { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.Spatial;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer.DatabaseModels
|
||||
{
|
||||
|
||||
[Table("SyncState")]
|
||||
public partial class SyncStateModel
|
||||
{
|
||||
[Key]
|
||||
[StringLength(50)]
|
||||
public string TableName { get; set; }
|
||||
|
||||
public long LastIdx { get; set; }
|
||||
|
||||
public long LastIdxIn { get; set; }
|
||||
|
||||
public long LastIdxOut { get; set; }
|
||||
|
||||
public long NumRec { get; set; }
|
||||
|
||||
public long NumRecIn { get; set; }
|
||||
|
||||
public long NumRecOut { get; set; }
|
||||
|
||||
public DateTime LastUpdate { get; set; } = DateTime.Today;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer
|
||||
{
|
||||
public static class DbConfig
|
||||
{
|
||||
#region Public Fields
|
||||
|
||||
public static string DATABASE_NAME = "EgtBwDb";
|
||||
|
||||
public static int DATABASE_PROCESS_TIMEOUT = 5;
|
||||
public static string DATABASE_PWD = "viacremasca";
|
||||
|
||||
// Database config
|
||||
public static string DATABASE_SERV = "127.0.0.1";
|
||||
|
||||
public static string DATABASE_USER = "EgtUser";
|
||||
|
||||
#endregion Public Fields
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// DB Connection string per azioni amministrative
|
||||
/// </summary>
|
||||
public static string ADMIN_CONNECTION_STRING { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// DB Connection string
|
||||
/// </summary>
|
||||
public static string CONNECTION_STRING { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Metodo di init standard per DB in rete con Master_Key
|
||||
/// </summary>
|
||||
/// <param name="server">Indirizzo del server (tipicamente indirizzo di rete)</param>
|
||||
/// <param name="nKey">Numero chiave</param>
|
||||
/// <param name="sKey">Codice/pwd associato a chaive</param>
|
||||
/// <param name="masterKey">Numero di chiave master con cui è creato il DB</param>
|
||||
public static void InitDb(string server, string nKey, string sKey, string masterKey = "")
|
||||
{
|
||||
// se nulla metto amster come nKey...
|
||||
masterKey = string.IsNullOrEmpty(masterKey) ? nKey : masterKey;
|
||||
DATABASE_SERV = server;
|
||||
DATABASE_NAME = $"EgtBwDb_{masterKey}";
|
||||
DATABASE_USER = $"user_{nKey}";
|
||||
DATABASE_PWD = $"pwd_{sKey}";
|
||||
CONNECTION_STRING = $"server={DATABASE_SERV};port=3306;database={DATABASE_NAME};uid={DATABASE_USER};pwd={DATABASE_PWD};sslmode=None";
|
||||
// stringa admin con utente root egalware...
|
||||
ADMIN_CONNECTION_STRING = $"server={DATABASE_SERV};port=3306;database=mysql;uid=root;pwd=Egalware_24068!;sslmode=None;CHARSET=utf8";
|
||||
}
|
||||
|
||||
#if false
|
||||
public static bool CheckUser(string nKey, string sKey, bool isNetwork)
|
||||
{
|
||||
// esecuzione script di install locale
|
||||
return Controllers.DbController.man.checkCreateUser(DATABASE_USER, DATABASE_PWD, isNetwork);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,199 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
|
||||
<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>{E36544CB-D699-48D8-9F81-C2758E7C7D19}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>EgwProxy.Icoel.DataLayer</RootNamespace>
|
||||
<AssemblyName>EgwProxy.Icoel.DataLayer</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<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' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Azure.Core, Version=1.6.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Azure.Core.1.6.0\lib\net461\Azure.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Azure.Identity, Version=1.3.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Azure.Identity.1.3.0\lib\netstandard2.0\Azure.Identity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Data.SqlClient, Version=4.1.0.0, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Data.SqlClient.4.1.0\lib\net461\Microsoft.Data.SqlClient.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Identity.Client, Version=4.22.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Identity.Client.4.22.0\lib\net461\Microsoft.Identity.Client.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Identity.Client.Extensions.Msal, Version=2.16.5.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Identity.Client.Extensions.Msal.2.16.5\lib\net45\Microsoft.Identity.Client.Extensions.Msal.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=6.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.6.8.0\lib\net461\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=6.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Logging.6.8.0\lib\net461\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Protocols, Version=6.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Protocols.6.8.0\lib\net461\Microsoft.IdentityModel.Protocols.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect, Version=6.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Protocols.OpenIdConnect.6.8.0\lib\net461\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=6.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.6.8.0\lib\net461\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.4.7.9\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Configuration.ConfigurationManager, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Configuration.ConfigurationManager.5.0.0\lib\net461\System.Configuration.ConfigurationManager.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.OracleClient" />
|
||||
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.6.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.IdentityModel" />
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=6.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.6.8.0\lib\net461\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.6.0\lib\netstandard2.0\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>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.Security" />
|
||||
<Reference Include="System.Security.AccessControl, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.AccessControl.5.0.0\lib\net461\System.Security.AccessControl.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.ProtectedData, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.ProtectedData.4.5.0\lib\net461\System.Security.Cryptography.ProtectedData.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Permissions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Permissions.5.0.0\lib\net461\System.Security.Permissions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Text.Encodings.Web, Version=4.0.5.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encodings.Web.4.7.2\lib\net461\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Json.4.6.0\lib\net461\System.Text.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Transactions" />
|
||||
<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.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Controllers\DbController.cs" />
|
||||
<Compile Include="DatabaseModels\EntrataModel.cs" />
|
||||
<Compile Include="DatabaseModels\DettConferimentoModel.cs" />
|
||||
<Compile Include="DatabaseModels\DettConfezioniModel.cs" />
|
||||
<Compile Include="DatabaseModels\CurrDataModel.cs" />
|
||||
<Compile Include="EntrataDbContext.cs" />
|
||||
<Compile Include="ExportDbContext.cs" />
|
||||
<Compile Include="DatabaseModels\ProductsTotalsModel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="DatabaseModels\SyncStateModel.cs" />
|
||||
<Compile Include="SyncStateDbContext.cs" />
|
||||
<Compile Include="TrackerDbContext.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
|
||||
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Data.SqlClient.SNI.4.0.0\build\net46\Microsoft.Data.SqlClient.SNI.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Data.SqlClient.SNI.4.0.0\build\net46\Microsoft.Data.SqlClient.SNI.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
|
||||
<Import Project="..\packages\Microsoft.Data.SqlClient.SNI.4.0.0\build\net46\Microsoft.Data.SqlClient.SNI.targets" Condition="Exists('..\packages\Microsoft.Data.SqlClient.SNI.4.0.0\build\net46\Microsoft.Data.SqlClient.SNI.targets')" />
|
||||
</Project>
|
||||
@@ -0,0 +1,46 @@
|
||||
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer
|
||||
{
|
||||
/// <summary>
|
||||
/// Classe per accesso dati accettazione merce Agrimatica (via ICOEL)
|
||||
/// </summary>
|
||||
public partial class EntrataDbContext : DbContext
|
||||
{
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore implicito
|
||||
/// </summary>
|
||||
public EntrataDbContext() : base("name=EntrataFrontiera")
|
||||
{
|
||||
Log.Info("Init 01 EntrataDbContext - DONE");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore da connectionString
|
||||
/// </summary>
|
||||
/// <param name="connectionString"></param>
|
||||
public EntrataDbContext(string connectionString) : base(connectionString)
|
||||
{
|
||||
Log.Info("Init 02 EntrataDbContext - DONE");
|
||||
}
|
||||
/// <summary>
|
||||
/// DbSet record entrata merce
|
||||
/// </summary>
|
||||
public virtual DbSet<EntrataModel> DbSetEntrataMerce { get; set; }
|
||||
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<EntrataModel>()
|
||||
.Property(e => e.DATA_ENTRATA)
|
||||
.HasPrecision(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer
|
||||
{
|
||||
/// <summary>
|
||||
/// Classe per accesso dati Tacker ICOEL
|
||||
/// </summary>
|
||||
public partial class ExportDbContext : DbContext
|
||||
{
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore implicito
|
||||
/// </summary>
|
||||
public ExportDbContext() : base("name=ExportIcoel")
|
||||
{
|
||||
Log.Info("Init 01 ExportDbContext - DONE");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore da connectionString
|
||||
/// </summary>
|
||||
/// <param name="connectionString"></param>
|
||||
public ExportDbContext(string connectionString) : base(connectionString)
|
||||
{
|
||||
Log.Info("Init 02 ExportDbContext - DONE");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DbSet dati prodotti
|
||||
/// </summary>
|
||||
public virtual DbSet<ProductsTotalsModel> DbSetProductsTotals { get; set; }
|
||||
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer
|
||||
{
|
||||
public class MainDbContext : DbContext
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
// Il contesto è stato configurato per utilizzare una stringa di connessione 'BBMModel' dal file di configurazione
|
||||
// dell'applicazione (App.config o Web.config). Per impostazione predefinita, la stringa di connessione è destinata al
|
||||
// database 'BBMModel' nell'istanza di LocalDb.
|
||||
//
|
||||
// Per destinarla a un database o un provider di database differente, modificare la stringa di connessione 'BBMModel'
|
||||
// nel file di configurazione dell'applicazione.
|
||||
[Obsolete("This constructor should never be used directly, and is only needed to generate entityframework stuff. Connection string can be adapted as pleased.")]
|
||||
//public DatabaseContext() : base("BBMModel")
|
||||
public MainDbContext() : base("Data Source=SQLSTEAM;Initial Catalog=SHERPA.BBM;User ID=sa;Password=keyhammer;integrated security=False;MultipleActiveResultSets=True;App=EntityFramework")
|
||||
{
|
||||
}
|
||||
|
||||
public MainDbContext(string connectionString) : base(connectionString)
|
||||
{
|
||||
Log.Info($"init MainDbContext - start");
|
||||
|
||||
try
|
||||
{
|
||||
Database.CreateIfNotExists();
|
||||
Log.Error("CreateIfNotExists - DONE");
|
||||
|
||||
//Database.SetInitializer(new MigrateDatabaseToLatestVersion<StratonLocalizerDatabase, Migrations.Configuration>());
|
||||
Database.SetInitializer<MainDbContext>(null);
|
||||
Database.Initialize(false);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in fase init MainDbContext, connectionString: {connectionString}{Environment.NewLine}{exc}");
|
||||
}
|
||||
Log.Error("init MainDbContext - DONE");
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
// Aggiungere DbSet per ogni tipo di entità che si desidera includere nel modello. Per ulteriori informazioni
|
||||
// sulla configurazione e sull'utilizzo di un modello Code, vedere http://go.microsoft.com/fwlink/?LinkId=390109.
|
||||
|
||||
#region Public Properties
|
||||
|
||||
public virtual DbSet<DatabaseModels.BasketsModel> DbSetBaskets { get; set; }
|
||||
public virtual DbSet<DatabaseModels.CompanyModel> DbSetCompanies { get; set; }
|
||||
public virtual DbSet<DatabaseModels.FluxCountersModel> DbSetCounters { get; set; }
|
||||
public virtual DbSet<DatabaseModels.CustomersModel> DbSetCustomers { get; set; }
|
||||
public virtual DbSet<DatabaseModels.DocsModel> DbSetDocs { get; set; }
|
||||
|
||||
public virtual DbSet<DatabaseModels.Fatt2DocModel> DbSetFatt2Doc { get; set; }
|
||||
|
||||
public virtual DbSet<DatabaseModels.ItemsModel> DbSetItems { get; set; }
|
||||
|
||||
public virtual DbSet<DatabaseModels.NegotiationsModel> DbSetNegotiations { get; set; }
|
||||
|
||||
public virtual DbSet<DatabaseModels.ResourcesModel> DbSetResources { get; set; }
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
// Precision attribute for decimals
|
||||
Precision.ConfigureModelBuilder(modelBuilder);
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Le informazioni generali relative a un assembly sono controllate dal seguente
|
||||
// set di attributi. Modificare i valori di questi attributi per modificare le informazioni
|
||||
// associate a un assembly.
|
||||
[assembly: AssemblyTitle("EgwProxy.Icoel.DataLayer")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("EgwProxy.Icoel.DataLayer")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili
|
||||
// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da
|
||||
// COM, impostare su true l'attributo ComVisible per tale tipo.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi
|
||||
[assembly: Guid("e36544cb-d699-48d8-9f81-c2758e7c7d19")]
|
||||
|
||||
// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori:
|
||||
//
|
||||
// Versione principale
|
||||
// Versione secondaria
|
||||
// Numero di build
|
||||
// Revisione
|
||||
//
|
||||
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
|
||||
// usando l'asterisco '*' come illustrato di seguito:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,48 @@
|
||||
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer
|
||||
{
|
||||
/// <summary>
|
||||
/// Classe per accesso dati SyncState del DB
|
||||
/// </summary>
|
||||
public partial class SyncStateDbContext : DbContext
|
||||
{
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore implicito
|
||||
/// </summary>
|
||||
public SyncStateDbContext() : base("name=SyncState")
|
||||
{
|
||||
Log.Info("Init 01 SyncStateDbContext - DONE");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore da connectionString
|
||||
/// </summary>
|
||||
/// <param name="connectionString"></param>
|
||||
public SyncStateDbContext(string connectionString) : base(connectionString)
|
||||
{
|
||||
Log.Info("Init 02 SyncStateDbContext - DONE");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DbSet dei dati stato sync DB esterni <--> locale
|
||||
/// </summary>
|
||||
public virtual DbSet<SyncStateModel> DbSetSyncState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DbSet CurrData
|
||||
/// </summary>
|
||||
public virtual DbSet<CurrDataModel> DbSetCurrData { get; set; }
|
||||
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
using SqlProviderServices = System.Data.Entity.SqlServer.SqlProviderServices;
|
||||
|
||||
namespace EgwProxy.Icoel.DataLayer
|
||||
{
|
||||
/// <summary>
|
||||
/// Classe per accesso dati Tacker ICOEL
|
||||
/// </summary>
|
||||
public partial class TrackerDbContext : DbContext
|
||||
{
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore implicito
|
||||
/// </summary>
|
||||
public TrackerDbContext() : base("name=TrackerLotti")
|
||||
{
|
||||
Log.Info("Init 01 TrackerDbContext - DONE");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Costruttore da connectionString
|
||||
/// </summary>
|
||||
/// <param name="connectionString"></param>
|
||||
public TrackerDbContext(string connectionString) : base(connectionString)
|
||||
{
|
||||
Log.Info("Init 02 TrackerDbContext - DONE");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DbSet dai dati conferimento <--> pack di uscita
|
||||
/// </summary>
|
||||
public virtual DbSet<DettConferimentoModel> DbSetConferimento { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DbSet dai dati conferimento <--> confezioni
|
||||
/// </summary>
|
||||
public virtual DbSet<DettConfezioniModel> DbSetConfezioni { get; set; }
|
||||
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Azure.Core" version="1.6.0" targetFramework="net462" />
|
||||
<package id="Azure.Identity" version="1.3.0" targetFramework="net462" />
|
||||
<package id="EntityFramework" version="6.4.4" targetFramework="net462" />
|
||||
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.0.0" targetFramework="net462" />
|
||||
<package id="Microsoft.Data.SqlClient" version="4.1.0" targetFramework="net462" />
|
||||
<package id="Microsoft.Data.SqlClient.SNI" version="4.0.0" targetFramework="net462" />
|
||||
<package id="Microsoft.Identity.Client" version="4.22.0" targetFramework="net462" />
|
||||
<package id="Microsoft.Identity.Client.Extensions.Msal" version="2.16.5" targetFramework="net462" />
|
||||
<package id="Microsoft.IdentityModel.JsonWebTokens" version="6.8.0" targetFramework="net462" />
|
||||
<package id="Microsoft.IdentityModel.Logging" version="6.8.0" targetFramework="net462" />
|
||||
<package id="Microsoft.IdentityModel.Protocols" version="6.8.0" targetFramework="net462" />
|
||||
<package id="Microsoft.IdentityModel.Protocols.OpenIdConnect" version="6.8.0" targetFramework="net462" />
|
||||
<package id="Microsoft.IdentityModel.Tokens" version="6.8.0" targetFramework="net462" />
|
||||
<package id="NLog" version="4.7.9" targetFramework="net462" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
|
||||
<package id="System.Configuration.ConfigurationManager" version="5.0.0" targetFramework="net462" />
|
||||
<package id="System.Diagnostics.DiagnosticSource" version="4.6.0" targetFramework="net462" />
|
||||
<package id="System.IdentityModel.Tokens.Jwt" version="6.8.0" targetFramework="net462" />
|
||||
<package id="System.IO" version="4.3.0" targetFramework="net462" />
|
||||
<package id="System.Memory" version="4.5.4" targetFramework="net462" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0" targetFramework="net462" />
|
||||
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
|
||||
<package id="System.Security.AccessControl" version="5.0.0" targetFramework="net462" />
|
||||
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
|
||||
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
|
||||
<package id="System.Security.Cryptography.ProtectedData" version="4.5.0" targetFramework="net462" />
|
||||
<package id="System.Security.Permissions" version="5.0.0" targetFramework="net462" />
|
||||
<package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net462" />
|
||||
<package id="System.Text.Encodings.Web" version="4.7.2" targetFramework="net462" />
|
||||
<package id="System.Text.Json" version="4.6.0" targetFramework="net462" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.2" targetFramework="net462" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||
</packages>
|
||||
@@ -1,24 +1,73 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
|
||||
</startup>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<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>
|
||||
<entityFramework>
|
||||
<providers>
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<appSettings>
|
||||
<add key="IndirizzoIpSizer" value="192.168.137.50" />
|
||||
<add key="SizerTcpPort" value="8001" />
|
||||
<add key="EntrataFrontiera" value="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||
<add key="ExportIcoel" value="data source=192.168.137.10\sqlexpress;initial catalog=IcoelExport;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||
<add key="TrackerLotti" value="data source=192.168.250.250\sqlexpress;initial catalog=TrackerLotti3;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||
<add key="SyncState" value="data source=localhost\sqlexpress;initial catalog=MoonPro_ISF;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" />
|
||||
</appSettings>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<netNamedPipeBinding>
|
||||
<binding name="NetNamedPipeBinding_ISizerService">
|
||||
<security mode="None"/>
|
||||
<security mode="None" />
|
||||
</binding>
|
||||
</netNamedPipeBinding>
|
||||
<wsHttpBinding>
|
||||
<binding name="WSHttpBinding_ISizerService" maxReceivedMessageSize="2147483647">
|
||||
<security mode="None"/>
|
||||
<security mode="None" />
|
||||
</binding>
|
||||
</wsHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService"/>
|
||||
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService"/>
|
||||
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />
|
||||
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
<!--
|
||||
<connectionStrings>
|
||||
<add name="EntrataFrontiera" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||
<add name="ExportIcoel" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=IcoelExport;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||
<add name="TrackerLotti" connectionString="data source=192.168.250.250\sqlexpress;initial catalog=TrackerLotti3;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||
<add name="SyncState" connectionString="data source=localhost\sqlexpress;initial catalog=MoonPro_ISF;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=IOB-WIN-NEXT" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
-->
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.1" newVersion="4.0.5.1" />
|
||||
</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>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
@@ -43,9 +44,6 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="INI\BatchDetails.cs" />
|
||||
<Compile Include="INI\IniFileCs.cs" />
|
||||
<Compile Include="INI\Settaggi.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
@@ -59,10 +57,17 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\EgwProxy.Icoel.DataLayer\EgwProxy.Icoel.DataLayer.csproj">
|
||||
<Project>{E36544CB-D699-48D8-9F81-C2758E7C7D19}</Project>
|
||||
<Name>EgwProxy.Icoel.DataLayer</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\EgwProxy.Icoel\EgwProxy.Icoel.csproj">
|
||||
<Project>{c45f5e6e-866b-4a34-a598-29aab2d178ad}</Project>
|
||||
<Name>EgwProxy.Icoel</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="INI\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,7 +1,10 @@
|
||||
using EgwProxy.Icoel.SizerService;
|
||||
using EgwProxy.Icoel.Test.INI;
|
||||
using EgwProxy.Icoel.DataLayer.DatabaseModels;
|
||||
using EgwProxy.Icoel.SizerService;
|
||||
//using EgwProxy.Icoel.Test.INI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace EgwProxy.Icoel.Test
|
||||
{
|
||||
@@ -9,6 +12,33 @@ namespace EgwProxy.Icoel.Test
|
||||
{
|
||||
#region Internal Methods
|
||||
|
||||
/// <summary>
|
||||
/// Mostra tutte le metriche di performance ricevute
|
||||
/// </summary>
|
||||
/// <param name="perfMeter"></param>
|
||||
internal static void DisplayPerfMeter(Dictionary<string, double> perfMeter)
|
||||
{
|
||||
// mostra tutti i parametri rilevati...
|
||||
foreach (var item in perfMeter)
|
||||
{
|
||||
Console.WriteLine($"{item.Key} | {item.Value:N2}");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Mostra tutte le metriche di performance ricevute
|
||||
/// </summary>
|
||||
/// <param name="currData"></param>
|
||||
internal static void DisplayCurrBatch(Dictionary<string, string> currData)
|
||||
{
|
||||
// mostra tutti i parametri rilevati...
|
||||
foreach (var item in currData)
|
||||
{
|
||||
Console.WriteLine($"{item.Key} | {item.Value}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Generazione di una list di info sui dati variety
|
||||
/// </summary>
|
||||
@@ -175,6 +205,26 @@ namespace EgwProxy.Icoel.Test
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// legge conf in formato stringa
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
protected static string ReadSetting(string key)
|
||||
{
|
||||
string answ = "";
|
||||
try
|
||||
{
|
||||
answ = $"{ConfigurationManager.AppSettings[key]}" ?? "";
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.Write("Eccezione in ReadSettings");
|
||||
Console.Write(exc.Message);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Programma principale
|
||||
/// </summary>
|
||||
@@ -183,15 +233,67 @@ namespace EgwProxy.Icoel.Test
|
||||
{
|
||||
// leggo conf da file ini (ip/port)
|
||||
Console.WriteLine("Loading Files...");
|
||||
Settaggi setup = new Settaggi();
|
||||
setup.Load();
|
||||
string userInput = "";
|
||||
// oggetto x connessione
|
||||
Connector IcoelSizer = new Connector(setup.IndirizzoIpSizer, setup.SizerTcpPort);
|
||||
|
||||
Console.WriteLine("------------ Test DB ------------");
|
||||
EgwProxy.Icoel.DbProxy dbProxy = new DbProxy(ReadSetting("SyncState"));
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("--- SyncState ---");
|
||||
bool needRedo = true;
|
||||
int numTry = 1;
|
||||
//int numTry = 3;
|
||||
var elencoSyncState = dbProxy.DataController.SyncStateGetAll();
|
||||
while (needRedo && numTry >= 0)
|
||||
{
|
||||
Console.WriteLine(" --- PRE --- ");
|
||||
if (elencoSyncState != null)
|
||||
{
|
||||
foreach (var item in elencoSyncState)
|
||||
{
|
||||
Console.WriteLine($"TAB: {item.TableName} | IdxIN / IdxLocal {item.LastIdxIn} / {item.LastIdx} | NumIn / NumLocal {item.NumRecIn} / {item.NumRec}");
|
||||
// verifico se serva redo..
|
||||
}
|
||||
}
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Premere un tasto x continuare...");
|
||||
Console.ReadKey();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
elencoSyncState = dbProxy.DataController.SyncStateDoImportAll();
|
||||
sw.Stop();
|
||||
Console.WriteLine($" process time: {sw.ElapsedMilliseconds} ms ");
|
||||
Console.WriteLine(" --- POST --- ");
|
||||
if (elencoSyncState != null)
|
||||
{
|
||||
foreach (var item in elencoSyncState)
|
||||
{
|
||||
Console.WriteLine($"TAB: {item.TableName} | IdxIN / IdxLocal {item.LastIdxIn} / {item.LastIdx} | NumIn / NumLocal {item.NumRecIn} / {item.NumRec}");
|
||||
// verifico se serva redo..
|
||||
}
|
||||
}
|
||||
// processo
|
||||
needRedo = testNeedRedo(elencoSyncState);
|
||||
numTry--;
|
||||
}
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Premere un tasto x continuare...");
|
||||
Console.ReadKey();
|
||||
|
||||
// oggetto x connessione al sizer icoel
|
||||
Connector IcoelSizer = new Connector(ReadSetting("IndirizzoIpSizer"), ReadSetting("SizerTcpPort"));
|
||||
//Connector IcoelSizer = new Connector(setup.IndirizzoIpSizer, setup.SizerTcpPort);
|
||||
|
||||
Console.WriteLine("------------ Parametri CurrBatch rilevati ------------");
|
||||
var cBatch = IcoelSizer.GetCurrBatchData();
|
||||
if (cBatch != null)
|
||||
{
|
||||
DisplayCurrBatch(cBatch);
|
||||
}
|
||||
|
||||
// ora effettua un pò di letture/scritture
|
||||
try
|
||||
{
|
||||
|
||||
Console.WriteLine("------------ TUTTE variety ------------");
|
||||
var varList = IcoelSizer.GetVarietyList(false);
|
||||
var varietyData = IcoelSizer.GetLayoutForVarietyList(varList);
|
||||
@@ -203,6 +305,17 @@ namespace EgwProxy.Icoel.Test
|
||||
Console.WriteLine("Premere un tasto x continuare...");
|
||||
userInput = Console.ReadLine();
|
||||
|
||||
|
||||
Console.WriteLine("------------ Parametri velocità rilevati ------------");
|
||||
var perfMeter = IcoelSizer.GetPerfMeters();
|
||||
if (perfMeter != null)
|
||||
{
|
||||
DisplayPerfMeter(perfMeter);
|
||||
}
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Premere un tasto x continuare...");
|
||||
userInput = Console.ReadLine();
|
||||
|
||||
// solo attive
|
||||
Console.WriteLine("------------ solo attive ------------");
|
||||
varList = IcoelSizer.GetVarietyList();
|
||||
@@ -250,6 +363,22 @@ namespace EgwProxy.Icoel.Test
|
||||
Console.ReadKey();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Verifico necessità di rifare sync
|
||||
/// </summary>
|
||||
/// <param name="elencoSyncState"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
private static bool testNeedRedo(List<SyncStateModel> elencoSyncState)
|
||||
{
|
||||
bool answ = false;
|
||||
foreach (var item in elencoSyncState)
|
||||
{
|
||||
answ = answ || (item.NumRecIn > item.NumRec || item.LastIdxIn > item.LastIdx);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Icoel", "EgwProxy.
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Icoel.Test", "EgwProxy.Icoel.Test\EgwProxy.Icoel.Test.csproj", "{A655A6AC-5997-46F9-9752-8C621B80516C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Icoel.DataLayer", "EgwProxy.Icoel.DataLayer\EgwProxy.Icoel.DataLayer.csproj", "{E36544CB-D699-48D8-9F81-C2758E7C7D19}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -21,6 +23,10 @@ Global
|
||||
{A655A6AC-5997-46F9-9752-8C621B80516C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A655A6AC-5997-46F9-9752-8C621B80516C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A655A6AC-5997-46F9-9752-8C621B80516C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E36544CB-D699-48D8-9F81-C2758E7C7D19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E36544CB-D699-48D8-9F81-C2758E7C7D19}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E36544CB-D699-48D8-9F81-C2758E7C7D19}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E36544CB-D699-48D8-9F81-C2758E7C7D19}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
+58
-23
@@ -1,24 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
|
||||
</startup>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<netNamedPipeBinding>
|
||||
<binding name="NetNamedPipeBinding_ISizerService">
|
||||
<security mode="None"/>
|
||||
</binding>
|
||||
</netNamedPipeBinding>
|
||||
<wsHttpBinding>
|
||||
<binding name="WSHttpBinding_ISizerService" maxReceivedMessageSize="2147483647">
|
||||
<security mode="None"/>
|
||||
</binding>
|
||||
</wsHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService"/>
|
||||
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService"/>
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
</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>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<netNamedPipeBinding>
|
||||
<binding name="NetNamedPipeBinding_ISizerService">
|
||||
<security mode="None" />
|
||||
</binding>
|
||||
</netNamedPipeBinding>
|
||||
<wsHttpBinding>
|
||||
<binding name="WSHttpBinding_ISizerService" maxReceivedMessageSize="2147483647">
|
||||
<security mode="None" />
|
||||
</binding>
|
||||
</wsHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />
|
||||
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
<entityFramework>
|
||||
<providers>
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<connectionStrings>
|
||||
<add name="EntrataFrontiera" connectionString="data source=192.168.137.10\sqlexpress;initial catalog=frontiera;persist security info=True;user id=egalware;password=egalware2022;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.1" newVersion="4.0.5.1" />
|
||||
</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>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -0,0 +1,107 @@
|
||||
# Appunti impiego connesisoni ICOEL
|
||||
|
||||
## Icoel SOAP
|
||||
|
||||
Oltre ai metodi legati al batch, ci sono questi metodi x recuperare informazioni specifiche di produttività
|
||||
|
||||
| Metodo | Descrizione |
|
||||
| ---------- | ---------- |
|
||||
| GetMachineTonnesPH() | valore tonnellate/ora di velocità impianto |
|
||||
| GetMachineTotalFPM() | valore frutti per minuto |
|
||||
| GetMachineRodsPM() | velocità catena (carrellini / minuto) |
|
||||
| GetMachineCupfill() | percentuale riempimento carrellini (100% = 1 frutto x ogni carrellino) |
|
||||
|
||||
|
||||
## Icoel DB
|
||||
|
||||
Appunti sulla gestione tabelle di frontiera
|
||||
|
||||
### Products total
|
||||
|
||||
/****** Script for SelectTopNRows command from SSMS ******/
|
||||
SELECT TOP (1000) [SizerBatchId]
|
||||
,[Index]
|
||||
,[Nome]
|
||||
,[Qualities]
|
||||
,[Grado]
|
||||
,[Calibro]
|
||||
,[NumeroFrutti]
|
||||
,[Decigrammi]
|
||||
FROM [IcoelExport].[dbo].[ProductsTotals]
|
||||
|
||||
|
||||
### Entrata Ciliegie
|
||||
|
||||
SELECT *
|
||||
FROM [frontiera].[dbo].[ENTRATACILIEGIE]
|
||||
|
||||
|
||||
-- utilizzare codice e descrizione prodotto...
|
||||
|
||||
### Fine lavorazione
|
||||
select top 100 *
|
||||
from ProductsTotals
|
||||
|
||||
/*
|
||||
SizerBatch id = id del batch da WS SOAP
|
||||
Index = indice di prodotto FINITO, di cui ho il NOME
|
||||
- prodotti da matrice: colonne = gradi, righe = taglie(sizes)
|
||||
- grado a colore rosso
|
||||
- do il nome prodotto rosse 26- (che sono da 22 a 26 in grado A)
|
||||
- colonna qualities = è la "somma dei qualities" ovvero le colonne che passano nelcontrollo prodotto
|
||||
- codice in 3 parametri, che sono a,b,c
|
||||
- a = qualità interna (SEMPRE NULL x le ciliegie)
|
||||
- b grado = qualità esterna del frutto, es rosse, nere, con stelo... ricircolo = scarto per cattiva disposizione
|
||||
- c : calibri che mi definiscono la dimensione, tipicamente 22..32
|
||||
|
||||
|
||||
si scrive tutto quando è chiuso il lotto
|
||||
inizialmente 1 solo lotto x entrambe le linee
|
||||
*/
|
||||
|
||||
### Conferimento MES
|
||||
|
||||
<code>
|
||||
SELECT *
|
||||
FROM DettagliConferimentoMES
|
||||
where FillingId = 31729
|
||||
order by PackId
|
||||
</code>
|
||||
|
||||
/*
|
||||
Numero lotto = sigla giorno
|
||||
sigla lotto: incrementale giornaliero
|
||||
|
||||
in particoalre x il prodotto grosso --> seleziono da + fornitori (es fornitori grossi)
|
||||
|
||||
PackId = id univoco scatoletta
|
||||
FillingId / FillingRow NON USATI: li posso ignorare, si applicano al caso "travaso" da bins ingresso / bins uscita "tipizzati" --> serve x precalibrare
|
||||
scaricoId = operazione di scannerizzazione ( è il barcode letto)
|
||||
codice a barre è letto x ogni etichetta di conferimento
|
||||
codice e nome fornitore = grower
|
||||
codice e descrizione prodotto : sono il GREZZO specifico
|
||||
cdice prodotto grezzo è il "ceppo" / famiglia
|
||||
sigla e numero lotto: colonna di entrata ciliegie (frontiera)
|
||||
idem x data e qta entrata
|
||||
|
||||
|
||||
*/
|
||||
|
||||
### Confezioni Mes
|
||||
|
||||
<code>
|
||||
SELECT *
|
||||
FROM DettagliConfezioniMES
|
||||
</code>
|
||||
|
||||
pack id = singola cassetta/scatoal/cartone
|
||||
ean = barcode in uscita
|
||||
batch id / batch name = dati tracciabilità, legato ai lotti in entrata sul sizer
|
||||
lane [1/2]sizerBatchId = lotti del sizer
|
||||
pesoDecigram = peso netto confezionato (tolleranza +/-10g...20gr)
|
||||
|
||||
tabella scritta dal momento in cui arriva il cartone/cassetta per iniziare riempimento
|
||||
|
||||
dati live li vediamo dal sizer
|
||||
|
||||
*/
|
||||
@@ -1,5 +1,6 @@
|
||||
using EgwProxy.Icoel.SizerService;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
using System.ServiceModel;
|
||||
|
||||
@@ -174,6 +175,31 @@ namespace EgwProxy.Icoel.Compac
|
||||
SSClient.AddBatch(batch);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera elenco parametri performance impianto
|
||||
/// </summary>
|
||||
/// <returns>Dizionario delle variabili di performance dell'impianto in formato Dictionary<string,double></returns>
|
||||
internal Dictionary<string, double> GetPerfMeters()
|
||||
{
|
||||
Dictionary<string, double> answ = new Dictionary<string, double>();
|
||||
// velocità processo indicata in tonnellate /oOra
|
||||
double velTonnOra = SSClient.GetMachineTonnesPH();
|
||||
// velocità espressa in frutti/minuto
|
||||
double velFruttiMinuto = SSClient.GetMachineTotalFPM();
|
||||
// percentuale riempimento carrellini
|
||||
double percRiemp = SSClient.GetMachineCupfill();
|
||||
// Numero confezioni/ora
|
||||
double numPackOra = SSClient.GetMachinePacksPH();
|
||||
|
||||
// accodo i valori ricavati
|
||||
answ.Add("NumPacksOra", numPackOra);
|
||||
answ.Add("PercRiemp", percRiemp);
|
||||
answ.Add("VelFruttiMinuto", velFruttiMinuto);
|
||||
answ.Add("VelTonnOra", velTonnOra);
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
#endregion Internal Methods
|
||||
|
||||
#region Private Properties
|
||||
|
||||
@@ -38,6 +38,38 @@ namespace EgwProxy.Icoel
|
||||
Client.CheckGrower(GrowerData.GrowerCode, GrowerData.GrowerName);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupera array varie velocità rilevate
|
||||
/// </summary>
|
||||
/// <returns>Dictionary<string, double> delle velocità rilevate sul sizer</returns>
|
||||
public Dictionary<string, double> GetPerfMeters()
|
||||
{
|
||||
Dictionary<string, double> answ = new Dictionary<string, double>();
|
||||
using (var Client = new ComClient(ipAddress, tcpPort))
|
||||
{
|
||||
answ = Client.GetPerfMeters();
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Recupera array dei batch sulle 2 linee: ID batch + layout + varietà x ogni linea...
|
||||
/// </summary>
|
||||
/// <returns>Dictionary<string, string> dei dati correnti x linea (batch, layout, variety) rilevate sul sizer</returns>
|
||||
public Dictionary<string, string> GetCurrBatchData()
|
||||
{
|
||||
Dictionary<string, string> answ = new Dictionary<string, string>();
|
||||
var batchData = GetCurrentBatch();
|
||||
foreach (var item in batchData)
|
||||
{
|
||||
answ.Add($"L{item.Key}_Batch", $"{item.Value.Id} | {item.Value.Name} | {item.Value.StartTime}");
|
||||
answ.Add($"L{item.Key}_Grower", $"{item.Value.GrowerCode}");
|
||||
answ.Add($"L{item.Key}_Layout", $"{item.Value.LayoutId} | {item.Value.LayoutName}");
|
||||
answ.Add($"L{item.Key}_Variety", $"{item.Value.VarietyId} | {item.Value.VarietyName}");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invia un lotto in coda produzione sul sizer
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
using EgwProxy.Icoel.DataLayer.Controllers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace EgwProxy.Icoel
|
||||
{
|
||||
/// <summary>
|
||||
/// Proxy connessione DB
|
||||
/// </summary>
|
||||
public class DbProxy
|
||||
{
|
||||
/// <summary>
|
||||
/// Controller DB esposto
|
||||
/// </summary>
|
||||
public DbController DataController { get; set; }
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Inizializzazione proxy
|
||||
/// </summary>
|
||||
/// <param name="connEntrata">stringa connesisone DB Entrata</param>
|
||||
/// <param name="connTracker">stringa connesisone DB Tracker</param>
|
||||
/// <param name="connExport">stringa connesisone DB Export</param>
|
||||
/// <param name="connSyncState">Connessione DB locale di SYNC</param>
|
||||
public DbProxy(string connEntrata, string connTracker, string connExport, string connSyncState)
|
||||
{
|
||||
DataController = new DbController(connEntrata, connTracker, connExport, connSyncState);
|
||||
}
|
||||
#endif
|
||||
/// <summary>
|
||||
/// Inizializzazione proxy
|
||||
/// </summary>
|
||||
/// <param name="connSyncState">Connessione DB locale di SYNC</param>
|
||||
public DbProxy(string connSyncState)
|
||||
{
|
||||
DataController = new DbController(connSyncState);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,12 +39,17 @@
|
||||
<StartupObject />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.4.7.9\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
@@ -54,6 +59,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Compac\ComClient.cs" />
|
||||
<Compile Include="DbProxy.cs" />
|
||||
<Compile Include="GrowerInfo.cs" />
|
||||
<Compile Include="Connected Services\SizerService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
@@ -135,6 +141,7 @@
|
||||
</None>
|
||||
<None Include="docfx.json" />
|
||||
<None Include="index.md" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="toc.yml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -155,5 +162,11 @@
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\EgwProxy.Icoel.DataLayer\EgwProxy.Icoel.DataLayer.csproj">
|
||||
<Project>{e36544cb-d699-48d8-9f81-c2758e7c7d19}</Project>
|
||||
<Name>EgwProxy.Icoel.DataLayer</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NLog" version="4.7.9" targetFramework="net462" />
|
||||
</packages>
|
||||
@@ -1098,7 +1098,8 @@ Namespace CNC
|
||||
Dim sz_routine As String = "-", sz_temp As String = "", d As Double = 0.0
|
||||
|
||||
Try
|
||||
If nVar >= &H8000 Then ' if var like 98xxx then use the other read routine .... ( :(( no comment )
|
||||
If nVar >= 10000 Then ' if var like 98xxx then use the other read routine .... ( :(( no comment )
|
||||
'If nVar >= &H8000 Then ' if var like 98xxx then use the other read routine .... ( :(( no comment )
|
||||
|
||||
n_ret_code = Focas1.cnc_rdmacror3(nLibHandle(1), nVar, ONE_DATA_ONLY, MacroInfo3)
|
||||
|
||||
|
||||
+8
-4
@@ -43,7 +43,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -51,7 +51,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-0.30.0.0" newVersion="0.30.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-0.31.0.0" newVersion="0.31.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -59,7 +59,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.2" newVersion="6.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -67,7 +67,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<probing privatePath="lib;libs" />
|
||||
<probing privatePath="lib;libs" xmlns="" />
|
||||
@@ -95,6 +95,10 @@
|
||||
<assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-106.15.0.0" newVersion="106.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<system.web>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---------------------------------------------------------------
|
||||
------- SteamWareLib SDK -------
|
||||
------- SteamWare SDK -------
|
||||
---------------------------------------------------------------
|
||||
|
||||
Libreria di utility base di SteamWare.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+44
-47
@@ -38,42 +38,38 @@
|
||||
<ApplicationIcon>IobManIcon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DnsClient, Version=1.5.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DnsClient.1.5.0\lib\net45\DnsClient.dll</HintPath>
|
||||
<Reference Include="DnsClient, Version=1.6.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DnsClient.1.6.0\lib\net45\DnsClient.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.3.11, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpZipLib.1.3.3\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MapoSDK, Version=6.14.2109.2809, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MapoSDK.6.14.2109.2809\lib\net40\MapoSDK.dll</HintPath>
|
||||
<Reference Include="MapoSDK, Version=6.14.2204.2616, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MapoSDK.6.14.2204.2616\lib\MapoSDK.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Bson, Version=2.13.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Bson.2.13.2\lib\net452\MongoDB.Bson.dll</HintPath>
|
||||
<Reference Include="MongoDB.Bson, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Bson.2.15.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Driver, Version=2.13.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.2.13.2\lib\net452\MongoDB.Driver.dll</HintPath>
|
||||
<Reference Include="MongoDB.Driver, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.2.15.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Driver.Core, Version=2.13.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.Core.2.13.2\lib\net452\MongoDB.Driver.Core.dll</HintPath>
|
||||
<Reference Include="MongoDB.Driver.Core, Version=2.15.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.Core.2.15.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Libmongocrypt, Version=1.2.3.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.3\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
|
||||
<Reference Include="MongoDB.Libmongocrypt, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Libmongocrypt.1.3.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.4.7.12\lib\net45\NLog.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\NLog.4.7.15\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.2\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="RestSharp, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll</HintPath>
|
||||
@@ -81,23 +77,20 @@
|
||||
<Reference Include="RestSharp.Serializers.NewtonsoftJson, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\RestSharp.Serializers.NewtonsoftJson.106.15.0\lib\net452\RestSharp.Serializers.NewtonsoftJson.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SharpCompress, Version=0.30.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpCompress.0.30.0\lib\net461\SharpCompress.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
|
||||
<Reference Include="SharpCompress, Version=0.31.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpCompress.0.31.0\lib\net461\SharpCompress.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\StackExchange.Redis.2.2.79\lib\net461\StackExchange.Redis.dll</HintPath>
|
||||
<HintPath>..\packages\StackExchange.Redis.2.5.61\lib\net461\StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare.IO, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.IO.5.1.2109.1716\lib\net462\SteamWare.IO.dll</HintPath>
|
||||
<Reference Include="SteamWare.IO, Version=5.2.2205.1719, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.IO.5.2.2205.1719\lib\net462\SteamWare.IO.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare.Logger, Version=5.1.2109.1716, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.Logger.5.1.2109.1716\lib\net462\SteamWare.Logger.dll</HintPath>
|
||||
<Reference Include="SteamWare.Logger, Version=5.2.2205.1719, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.Logger.5.2.2205.1719\lib\net462\SteamWare.Logger.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Steamware.Scheduler, Version=5.1.2109.1716, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Steamware.Scheduler.5.1.2109.1716\lib\net462\Steamware.Scheduler.dll</HintPath>
|
||||
<Reference Include="SteamWare.Scheduler, Version=5.2.2205.1719, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.Scheduler.5.2.2205.1719\lib\net462\SteamWare.Scheduler.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
@@ -105,8 +98,8 @@
|
||||
</Reference>
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Diagnostics.PerformanceCounter, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
|
||||
<Reference Include="System.Diagnostics.PerformanceCounter, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.6.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
|
||||
@@ -114,8 +107,8 @@
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.IO.Pipelines, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll</HintPath>
|
||||
<Reference Include="System.IO.Pipelines, Version=6.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Pipelines.6.0.2\lib\net461\System.IO.Pipelines.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||
@@ -129,8 +122,8 @@
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\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>
|
||||
@@ -159,11 +152,11 @@
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Text.Encoding.CodePages, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encoding.CodePages.5.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
|
||||
<Reference Include="System.Text.Encoding.CodePages, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encoding.CodePages.6.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
|
||||
<Reference Include="System.Threading.Channels, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Channels.6.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
@@ -236,6 +229,10 @@
|
||||
</None>
|
||||
<None Include="CONF\license.json" />
|
||||
<None Include="CONF\process.json" />
|
||||
<None Include="Core\Compression\Snappy\lib\linux\libsnappy64.so" />
|
||||
<None Include="Core\Compression\Snappy\lib\osx\libsnappy64.dylib" />
|
||||
<None Include="Core\Compression\Zstandard\lib\linux\libzstd.so" />
|
||||
<None Include="Core\Compression\Zstandard\lib\osx\libzstd.dylib" />
|
||||
<None Include="logs\.placeholder">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
@@ -276,13 +273,13 @@
|
||||
</ItemGroup>
|
||||
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
|
||||
</Target>
|
||||
<Import Project="..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets')" />
|
||||
<Import Project="..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
<ErrorText>Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.3\build\MongoDB.Libmongocrypt.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.13.2\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.13.2\build\MongoDB.Driver.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\MongoDB.Driver.Core.2.13.2\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.13.2\build\MongoDB.Driver.Core.targets')" />
|
||||
<Import Project="..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.15.0\build\MongoDB.Driver.Core.targets')" />
|
||||
</Project>
|
||||
@@ -2,7 +2,7 @@
|
||||
using Newtonsoft.Json;
|
||||
using RestSharp;
|
||||
using RestSharp.Serializers.NewtonsoftJson;
|
||||
using Steamware.Scheduler;
|
||||
using SteamWare.Scheduler;
|
||||
using SteamWare.IO;
|
||||
using SteamWare.Logger;
|
||||
using System;
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@
|
||||
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}.{###}.zip"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveAboveSize="10240000"
|
||||
maxArchiveFiles="60"
|
||||
@@ -23,7 +23,7 @@
|
||||
name="f_error"
|
||||
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
|
||||
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}${newline}${exception:format=tostring}"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.zip"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveAboveSize="10240000"
|
||||
maxArchiveFiles="60"
|
||||
|
||||
+127
-120
@@ -29,6 +29,16 @@ namespace IOB_MAN
|
||||
/// </summary>
|
||||
public float counterMAC { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Ultimo stato noto dei parametri in memoria letti dalla macchina
|
||||
/// </summary>
|
||||
public Dictionary<string, string> currParams { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// Note (libere) da child a controller
|
||||
/// </summary>
|
||||
public string freeNotes { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Tipo IOB
|
||||
/// </summary>
|
||||
@@ -39,6 +49,11 @@ namespace IOB_MAN
|
||||
/// </summary>
|
||||
public DateTime lastDataIn { get; set; } = DateTime.Now.AddMinutes(-1);
|
||||
|
||||
/// <summary>
|
||||
/// DataOra ultima comunicazione OUT (con MP Server)
|
||||
/// </summary>
|
||||
public DateTime lastDataOut { get; set; } = DateTime.Now.AddDays(-1);
|
||||
|
||||
/// <summary>
|
||||
/// DataOra ultima comunicazione OUT (con MP Server)
|
||||
/// </summary>
|
||||
@@ -49,21 +64,6 @@ namespace IOB_MAN
|
||||
/// </summary>
|
||||
public bool online { get; set; } = false;
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Indica se sia correntemente in setup
|
||||
/// </summary>
|
||||
public bool inSetup { get; set; } = false;
|
||||
/// <summary>
|
||||
/// Semaforo IN (IOB-PLC)
|
||||
/// </summary>
|
||||
public Semaforo SemIn { get; set; } = Semaforo.ND;
|
||||
/// <summary>
|
||||
/// Semaforo OUT (IOB-MPserver)
|
||||
/// </summary>
|
||||
public Semaforo SemOut { get; set; } = Semaforo.ND;
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Lungh coda ALLARMI in uscita
|
||||
/// </summary>
|
||||
@@ -84,73 +84,26 @@ namespace IOB_MAN
|
||||
/// </summary>
|
||||
public int queueMsLen { get; set; } = 0;
|
||||
|
||||
#endregion Public Properties
|
||||
/// <summary>
|
||||
/// Semaforo IN (IOB-Macchina)
|
||||
/// </summary>
|
||||
public string semIn { get; set; } = "ND";
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// DataOra ultima comunicazione OUT (con MP Server)
|
||||
/// </summary>
|
||||
public DateTime lastDataOut { get; set; } = DateTime.Now.AddDays(-1);
|
||||
/// <summary>
|
||||
/// Ultimo stato noto dei parametri in memoria letti da PLC
|
||||
/// </summary>
|
||||
public Dictionary<string, string> currParams { get; set; } = null;
|
||||
#endif
|
||||
/// <summary>
|
||||
/// Semaforo OUT (IOB-MPServer)
|
||||
/// </summary>
|
||||
public string semOut { get; set; } = "ND";
|
||||
|
||||
/// <summary>
|
||||
/// Parametri configurazione (es IP target, porta, ...)
|
||||
/// </summary>
|
||||
public Dictionary<string, string> setupParams { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
public class RedisIobCache
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConn = utils.CRS("RedisConn");
|
||||
if (string.IsNullOrEmpty(RedisConn))
|
||||
{
|
||||
RedisConn = "localhost,abortConnect=false,ssl=false";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConn);
|
||||
});
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnectionAdmin = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConnAdmin = utils.CRS("RedisConnAdmin");
|
||||
if (string.IsNullOrEmpty(RedisConnAdmin))
|
||||
{
|
||||
RedisConnAdmin = "localhost,abortConnect=false,ssl=false,allowAdmin=true";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConnAdmin);
|
||||
});
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
/// <summary>
|
||||
/// Cod IOB
|
||||
/// </summary>
|
||||
protected string CodIob = "000";
|
||||
|
||||
/// <summary>
|
||||
/// Hash redis x dati IOB
|
||||
/// </summary>
|
||||
protected string redIobKey = "";
|
||||
|
||||
/// <summary>
|
||||
/// Hash redis x dati server
|
||||
/// </summary>
|
||||
protected string redServKey = "";
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
/// <summary>
|
||||
@@ -225,15 +178,6 @@ namespace IOB_MAN
|
||||
|
||||
#endregion Public Enums
|
||||
|
||||
#region Private Properties
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto currentDb locale
|
||||
/// </summary>
|
||||
private IDatabase _currDB { get; set; }
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
@@ -385,36 +329,11 @@ namespace IOB_MAN
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP ASC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKey(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return x.Key.CompareTo(y.Key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP DESC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKeyDesc(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return y.Key.CompareTo(x.Key);
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Nome della variabile HASH da utilizzare (dato CodModulo / Server / DB impiegato da funzionalita' DbConfig) + keyName richiesto...
|
||||
/// Nome della variabile HASH da utilizzare (dato CodModulo / Server / DB impiegato da
|
||||
/// funzionalita' DbConfig) + keyName richiesto...
|
||||
/// </summary>
|
||||
public static string redHash(string keyName)
|
||||
{
|
||||
@@ -556,8 +475,7 @@ namespace IOB_MAN
|
||||
public int redCountKey(string keyPattern)
|
||||
{
|
||||
int answ = 0;
|
||||
// cerco se ci sia valore in redis...
|
||||
// se vuoto = ALL...
|
||||
// cerco se ci sia valore in redis... se vuoto = ALL...
|
||||
keyPattern = string.IsNullOrEmpty(keyPattern) ? "**" : keyPattern;
|
||||
try
|
||||
{
|
||||
@@ -607,8 +525,7 @@ namespace IOB_MAN
|
||||
public bool redFlushKey(string keyPattern)
|
||||
{
|
||||
bool answ = false;
|
||||
// cerco se ci sia valore in redis...
|
||||
// se vuoto = ALL...
|
||||
// cerco se ci sia valore in redis... se vuoto = ALL...
|
||||
keyPattern = string.IsNullOrEmpty(keyPattern) ? "**" : keyPattern;
|
||||
try
|
||||
{
|
||||
@@ -895,7 +812,9 @@ namespace IOB_MAN
|
||||
/// </summary>
|
||||
/// <param name="hashKey">chiave</param>
|
||||
/// <param name="hashFields">valori</param>
|
||||
/// <param name="expireSeconds">scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)</param>
|
||||
/// <param name="expireSeconds">
|
||||
/// scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public bool redSaveHash(string hashKey, KeyValuePair<string, string>[] hashFields, double expireSeconds = -1)
|
||||
{
|
||||
@@ -953,7 +872,9 @@ namespace IOB_MAN
|
||||
/// </summary>
|
||||
/// <param name="hashKey">chiave</param>
|
||||
/// <param name="hashFields">valori</param>
|
||||
/// <param name="expireSeconds">scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)</param>
|
||||
/// <param name="expireSeconds">
|
||||
/// scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public bool redSaveHashDict(string hashKey, Dictionary<string, string> hashFields, double expireSeconds = -1)
|
||||
{
|
||||
@@ -1109,7 +1030,7 @@ namespace IOB_MAN
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Salva un set KVP (Key Value Pair) in RedisCache
|
||||
/// Salva un set KVP (Key Value Pair) in RedisCache
|
||||
/// </summary>
|
||||
/// <param name="valori">Set KVP chiave-valore da salvare</param>
|
||||
/// <returns></returns>
|
||||
@@ -1174,6 +1095,92 @@ namespace IOB_MAN
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
/// <summary>
|
||||
/// Cod IOB
|
||||
/// </summary>
|
||||
protected string CodIob = "000";
|
||||
|
||||
/// <summary>
|
||||
/// Hash redis x dati IOB
|
||||
/// </summary>
|
||||
protected string redIobKey = "";
|
||||
|
||||
/// <summary>
|
||||
/// Hash redis x dati server
|
||||
/// </summary>
|
||||
protected string redServKey = "";
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConn = utils.CRS("RedisConn");
|
||||
if (string.IsNullOrEmpty(RedisConn))
|
||||
{
|
||||
RedisConn = "localhost,abortConnect=false,ssl=false";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConn);
|
||||
});
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnectionAdmin = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConnAdmin = utils.CRS("RedisConnAdmin");
|
||||
if (string.IsNullOrEmpty(RedisConnAdmin))
|
||||
{
|
||||
RedisConnAdmin = "localhost,abortConnect=false,ssl=false,allowAdmin=true";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConnAdmin);
|
||||
});
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto currentDb locale
|
||||
/// </summary>
|
||||
private IDatabase _currDB { get; set; }
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP ASC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKey(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return x.Key.CompareTo(y.Key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP DESC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKeyDesc(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return y.Key.CompareTo(x.Key);
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -48,12 +48,12 @@
|
||||
name="f"
|
||||
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
|
||||
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}|${exception:format=tostring}"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.zip"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveEvery="Day"
|
||||
archiveOldFileOnStartup="true"
|
||||
maxArchiveFiles="90"
|
||||
enableArchiveFileCompression="true"
|
||||
enableArchiveFileCompression="false"
|
||||
keepFileOpen="true"
|
||||
/>-->
|
||||
<!--<target name="fAsync" xsi:type="AsyncWrapper" queueLimit="5" overflowAction="Discard">
|
||||
@@ -61,12 +61,12 @@
|
||||
keepFileOpen="true"
|
||||
fileName="${basedir}/logs/${shortdate}_${var:codIOB:default=0000}.log"
|
||||
layout="${longdate}|${uppercase:${level}}|${var:codIOB:default=0000}|${callsite}|${message}|${exception:format=tostring}"
|
||||
archiveFileName="${basedir}/logs/${shortdate}_${var:codIOB:default=0000}.{###}.zip"
|
||||
archiveFileName="${basedir}/logs/${shortdate}_${var:codIOB:default=0000}.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveEvery="Day"
|
||||
archiveOldFileOnStartup="true"
|
||||
maxArchiveFiles="0"
|
||||
enableArchiveFileCompression="true"
|
||||
enableArchiveFileCompression="false"
|
||||
/>
|
||||
</target>-->
|
||||
</targets>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
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}.{###}.zip"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveAboveSize="10240000"
|
||||
maxArchiveFiles="60"
|
||||
@@ -23,7 +23,7 @@
|
||||
name="f_error"
|
||||
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
|
||||
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}${newline}${exception:format=tostring}"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.zip"
|
||||
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveAboveSize="10240000"
|
||||
maxArchiveFiles="60"
|
||||
@@ -33,7 +33,7 @@
|
||||
</targets>
|
||||
<rules>
|
||||
<!-- Logging Levels (Trace, Debug, Info, Warn, Error, Fatal)-->
|
||||
<logger name="*" minlevel="{{minLevel}}" maxlevel="Warn" final="true" writeTo="f_base" />
|
||||
<logger name="*" minlevel="{{minLevel}}" maxlevel="Warn" final="true" writeTo="f_base" />
|
||||
<logger name="*" minlevel="Error" writeTo="f_error" />
|
||||
</rules>
|
||||
</nlog>
|
||||
|
||||
+19
-21
@@ -1,43 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net461" />
|
||||
<package id="DnsClient" version="1.5.0" targetFramework="net462" />
|
||||
<package id="MapoSDK" version="6.14.2109.2809" targetFramework="net462" />
|
||||
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Bson" version="2.13.2" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver" version="2.13.2" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver.Core" version="2.13.2" targetFramework="net462" />
|
||||
<package id="MongoDB.Libmongocrypt" version="1.2.3" targetFramework="net462" />
|
||||
<package id="DnsClient" version="1.6.0" targetFramework="net462" />
|
||||
<package id="MapoSDK" version="6.14.2204.2616" targetFramework="net462" />
|
||||
<package id="Microsoft.Bcl.AsyncInterfaces" version="6.0.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Bson" version="2.15.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver" version="2.15.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver.Core" version="2.15.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Libmongocrypt" version="1.3.0" targetFramework="net462" />
|
||||
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
|
||||
<package id="NLog" version="4.7.12" targetFramework="net462" />
|
||||
<package id="NLog" version="4.7.15" targetFramework="net462" />
|
||||
<package id="NLog.Config" version="4.7.12" targetFramework="net462" />
|
||||
<package id="NLog.Schema" version="4.7.12" targetFramework="net462" />
|
||||
<package id="Pipelines.Sockets.Unofficial" version="2.2.0" targetFramework="net462" />
|
||||
<package id="Pipelines.Sockets.Unofficial" version="2.2.2" targetFramework="net462" />
|
||||
<package id="PrettyBin" version="1.1.0" targetFramework="net461" />
|
||||
<package id="RestSharp" version="106.15.0" targetFramework="net462" />
|
||||
<package id="RestSharp.Serializers.NewtonsoftJson" version="106.15.0" targetFramework="net462" />
|
||||
<package id="SharpCompress" version="0.30.0" targetFramework="net462" />
|
||||
<package id="SharpCompress" version="0.31.0" targetFramework="net462" />
|
||||
<package id="SharpZipLib" version="1.3.3" targetFramework="net462" />
|
||||
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net461" />
|
||||
<package id="StackExchange.Redis" version="2.2.79" targetFramework="net462" />
|
||||
<package id="SteamWare.IO" version="5.1.2109.1716" targetFramework="net462" />
|
||||
<package id="SteamWare.Logger" version="5.1.2109.1716" targetFramework="net462" />
|
||||
<package id="Steamware.Scheduler" version="5.1.2109.1716" targetFramework="net462" />
|
||||
<package id="StackExchange.Redis" version="2.5.61" targetFramework="net462" />
|
||||
<package id="SteamWare.IO" version="5.2.2205.1719" targetFramework="net462" />
|
||||
<package id="SteamWare.Logger" version="5.2.2205.1719" targetFramework="net462" />
|
||||
<package id="SteamWare.Scheduler" version="5.2.2205.1719" targetFramework="net462" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
|
||||
<package id="System.Diagnostics.PerformanceCounter" version="5.0.1" targetFramework="net462" />
|
||||
<package id="System.Diagnostics.PerformanceCounter" version="6.0.1" targetFramework="net462" />
|
||||
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||
<package id="System.IO.Pipelines" version="5.0.1" targetFramework="net462" />
|
||||
<package id="System.IO.Pipelines" version="6.0.2" targetFramework="net462" />
|
||||
<package id="System.Memory" version="4.5.4" targetFramework="net462" />
|
||||
<package id="System.Net.Http" version="4.3.4" targetFramework="net462" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net462" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net462" />
|
||||
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net461" />
|
||||
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
|
||||
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net462" />
|
||||
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
|
||||
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net462" />
|
||||
<package id="System.Text.Encoding.CodePages" version="5.0.0" targetFramework="net462" />
|
||||
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
|
||||
<package id="System.Text.Encoding.CodePages" version="6.0.0" targetFramework="net462" />
|
||||
<package id="System.Threading.Channels" version="6.0.0" targetFramework="net462" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||
</packages>
|
||||
@@ -6,20 +6,6 @@ namespace IOB_UT_NEXT
|
||||
{
|
||||
public class BinaryUtils : IFormatProvider, ICustomFormatter
|
||||
{
|
||||
#region Private Methods
|
||||
|
||||
private string HandleOtherFormats(string format, object arg)
|
||||
{
|
||||
if (arg is IFormattable)
|
||||
return ((IFormattable)arg).ToString(format, CultureInfo.CurrentCulture);
|
||||
else if (arg != null)
|
||||
return arg.ToString();
|
||||
else
|
||||
return String.Empty;
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
// Format number in binary (B), octal (O), or hexadecimal (H).
|
||||
@@ -29,8 +15,7 @@ namespace IOB_UT_NEXT
|
||||
int baseNumber;
|
||||
// Handle null or empty format string, string with precision specifier.
|
||||
string thisFmt = String.Empty;
|
||||
// Extract first character of format string (precision specifiers
|
||||
// are not supported).
|
||||
// Extract first character of format string (precision specifiers are not supported).
|
||||
if (!String.IsNullOrEmpty(format))
|
||||
thisFmt = format.Length > 1 ? format.Substring(0, 1) : format;
|
||||
|
||||
@@ -140,5 +125,19 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private string HandleOtherFormats(string format, object arg)
|
||||
{
|
||||
if (arg is IFormattable)
|
||||
return ((IFormattable)arg).ToString(format, CultureInfo.CurrentCulture);
|
||||
else if (arg != null)
|
||||
return arg.ToString();
|
||||
else
|
||||
return String.Empty;
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
+16
-53
@@ -1,6 +1,4 @@
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
@@ -309,6 +307,11 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
MODBUS_TCP_CEDAX,
|
||||
|
||||
/// <summary>
|
||||
/// Adapter ModBus TCP versione Centerfrigo (Giacovelli)
|
||||
/// </summary>
|
||||
MODBUS_TCP_CENTERFRIGO,
|
||||
|
||||
/// <summary>
|
||||
/// Adapter ModBus TCP versione HAM (Pizzaferri)
|
||||
/// </summary>
|
||||
@@ -439,6 +442,11 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
SIEMENS_LASCO,
|
||||
|
||||
/// <summary>
|
||||
/// Adapter SIEMENS, interfaccia versione NWSE (Giacovelli, impianto filtrazione NWS)
|
||||
/// </summary>
|
||||
SIEMENS_NWSE,
|
||||
|
||||
/// <summary>
|
||||
/// Adapter SIEMENS, interfaccia versione PRESSOIL + CEI (Valvital, Pressa Idraulica)
|
||||
/// </summary>
|
||||
@@ -470,35 +478,6 @@ namespace IOB_UT_NEXT
|
||||
WPS
|
||||
}
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Enumerazione tipi di semaforo
|
||||
/// </summary>
|
||||
public enum Semaforo
|
||||
{
|
||||
/// <summary>
|
||||
/// Stato non definito
|
||||
/// </summary>
|
||||
ND,
|
||||
/// <summary>
|
||||
/// Verde
|
||||
/// </summary>
|
||||
SV,
|
||||
/// <summary>
|
||||
/// Giallo
|
||||
/// </summary>
|
||||
SG,
|
||||
/// <summary>
|
||||
/// Rosso
|
||||
/// </summary>
|
||||
SR,
|
||||
/// <summary>
|
||||
/// Grigio/Spento
|
||||
/// </summary>
|
||||
SS
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Enumerazione tipi di tipi di URL x invio
|
||||
/// </summary>
|
||||
@@ -514,30 +493,14 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
SignIN,
|
||||
|
||||
/// <summary>
|
||||
/// Salvataggio RawTransf (valori raw da decodificare a valle)
|
||||
/// </summary>
|
||||
RawTransf,
|
||||
|
||||
/// <summary>
|
||||
/// Salvataggio UserLog (valori log attività utente)
|
||||
/// </summary>
|
||||
ULog
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tipologia dato Raw Transfer (derivare da MapoSdk e togliere qui)
|
||||
/// </summary>
|
||||
/// serializzazione Native
|
||||
/// [JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
/// serializzazione Newtonsoft json
|
||||
/// [JsonConverter(typeof(StringEnumConverter))]
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public enum rawTransfType
|
||||
{
|
||||
ND = 0,
|
||||
/// <summary>
|
||||
/// Icoel: Batch info
|
||||
/// </summary>
|
||||
IcoelBatch,
|
||||
/// <summary>
|
||||
/// Icoel: Variety + layout info relative
|
||||
/// </summary>
|
||||
IcoelVarInfo
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
@@ -39,7 +36,8 @@ namespace IOB_UT_NEXT
|
||||
TimeSet,
|
||||
|
||||
/// <summary>
|
||||
/// Verificato il canale di comunicazione è OK, fatta pulizia con AbortAll, NON ci sono report attivi
|
||||
/// Verificato il canale di comunicazione è OK, fatta pulizia con AbortAll, NON ci sono
|
||||
/// report attivi
|
||||
/// </summary>
|
||||
ChannelOk,
|
||||
|
||||
@@ -135,7 +133,8 @@ namespace IOB_UT_NEXT
|
||||
public int PzPallet { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// Indica se sia possibile impostare i pezzi pallet dal server, ed in tal caso moltiplica i pezzi letti dalla macchina per il valore pzPallet (vedi sopra)
|
||||
/// Indica se sia possibile impostare i pezzi pallet dal server, ed in tal caso
|
||||
/// moltiplica i pezzi letti dalla macchina per il valore pzPallet (vedi sopra)
|
||||
/// </summary>
|
||||
public bool SetPzPalletFromSrv { get; set; } = false;
|
||||
|
||||
@@ -170,7 +169,8 @@ namespace IOB_UT_NEXT
|
||||
public List<FileTask> FileList { get; set; } = new List<FileTask>();
|
||||
|
||||
/// <summary>
|
||||
/// Numero MAX di esecuzioni da mantenere in HIST prima di eliminare i + vecchi (fare folder HIST\SESSnnnn)
|
||||
/// Numero MAX di esecuzioni da mantenere in HIST prima di eliminare i + vecchi (fare
|
||||
/// folder HIST\SESSnnnn)
|
||||
/// </summary>
|
||||
public int Max2Keep { get; set; } = 50;
|
||||
|
||||
@@ -190,7 +190,7 @@ namespace IOB_UT_NEXT
|
||||
public string RespOk { get; set; } = "PROCESSED";
|
||||
|
||||
/// <summary>
|
||||
/// Seconds before do a new retry (default = 0 --> no veto)
|
||||
/// Seconds before do a new retry (default = 0 --> no veto)
|
||||
/// </summary>
|
||||
public double RetrySec { get; set; } = 0;
|
||||
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.1.9, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpZipLib.1.3.1\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MapoSDK, Version=6.14.2204.2616, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MapoSDK.6.14.2204.2616\lib\MapoSDK.dll</HintPath>
|
||||
<Reference Include="MapoSDK, Version=6.14.2205.2808, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MapoSDK.6.14.2205.2808\lib\MapoSDK.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
@@ -123,6 +123,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Eurom63.cs" />
|
||||
<Compile Include="IobWinStatus.cs" />
|
||||
<Compile Include="TCMan.cs" />
|
||||
<Compile Include="ToMapo.cs" />
|
||||
<Compile Include="baseUtils.cs" />
|
||||
@@ -134,7 +135,6 @@
|
||||
<Compile Include="Objects.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="RedisMan.cs" />
|
||||
<Compile Include="val.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="ExtLib\krcc.dll" />
|
||||
|
||||
+67
-24
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Globalization;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
@@ -16,9 +16,6 @@ namespace IOB_UT_NEXT
|
||||
|
||||
#endregion Public Fields
|
||||
|
||||
// INI filename
|
||||
|
||||
// import windows dll functions
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
@@ -33,25 +30,6 @@ namespace IOB_UT_NEXT
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Private Methods
|
||||
|
||||
[DllImport("kernel32")]
|
||||
private static extern int GetPrivateProfileInt(string section, string key, int def, string filePath);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
private static extern int GetPrivateProfileSection(string section, IntPtr retVal, uint size, string filePath);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
|
||||
|
||||
[DllImport("kernel32")]
|
||||
private static extern bool WritePrivateProfileSection(string section, string value, string filePath);
|
||||
|
||||
[DllImport("kernel32", CharSet = CharSet.Auto, BestFitMapping = false)]
|
||||
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
@@ -149,7 +127,9 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
/// <param name="Section"></param>
|
||||
/// Section name
|
||||
/// <returns>restituisce delle stringhe keys=values da suddividere appunto come key/val successivamente</returns>
|
||||
/// <returns>
|
||||
/// restituisce delle stringhe keys=values da suddividere appunto come key/val successivamente
|
||||
/// </returns>
|
||||
public string[] ReadSection(string Section)
|
||||
{
|
||||
const int bufferSize = 2048; // max is 32767
|
||||
@@ -270,5 +250,68 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Methods
|
||||
|
||||
|
||||
// INI filename
|
||||
|
||||
/// <summary>
|
||||
/// GetPrivateProfileInt: import windows dll functions
|
||||
/// </summary>
|
||||
/// <param name="section"></param>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="def"></param>
|
||||
/// <param name="filePath"></param>
|
||||
/// <returns></returns>
|
||||
[DllImport("kernel32")]
|
||||
private static extern int GetPrivateProfileInt(string section, string key, int def, string filePath);
|
||||
|
||||
/// <summary>
|
||||
/// GetPrivateProfileSection: import windows dll functions
|
||||
/// </summary>
|
||||
/// <param name="section"></param>
|
||||
/// <param name="retVal"></param>
|
||||
/// <param name="size"></param>
|
||||
/// <param name="filePath"></param>
|
||||
/// <returns></returns>
|
||||
[DllImport("kernel32")]
|
||||
private static extern int GetPrivateProfileSection(string section, IntPtr retVal, uint size, string filePath);
|
||||
|
||||
/// <summary>
|
||||
/// GetPrivateProfileString: import windows dll functions
|
||||
/// </summary>
|
||||
/// <param name="section"></param>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="def"></param>
|
||||
/// <param name="retVal"></param>
|
||||
/// <param name="size"></param>
|
||||
/// <param name="filePath"></param>
|
||||
/// <returns></returns>
|
||||
[DllImport("kernel32")]
|
||||
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
|
||||
|
||||
/// <summary>
|
||||
/// WritePrivateProfileSection: import windows dll functions
|
||||
/// </summary>
|
||||
/// <param name="section"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <param name="filePath"></param>
|
||||
/// <returns></returns>
|
||||
[DllImport("kernel32")]
|
||||
private static extern bool WritePrivateProfileSection(string section, string value, string filePath);
|
||||
|
||||
/// <summary>
|
||||
/// WritePrivateProfileString: import windows dll functions
|
||||
/// </summary>
|
||||
/// <param name="section"></param>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="val"></param>
|
||||
/// <param name="filePath"></param>
|
||||
/// <returns></returns>
|
||||
[DllImport("kernel32", CharSet = CharSet.Auto, BestFitMapping = false)]
|
||||
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
/// <summary>
|
||||
/// Rappresentazione dello stato corrente dell'IOB
|
||||
/// </summary>
|
||||
public class IobWinStatus
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// ID univoco
|
||||
/// </summary>
|
||||
public string CodIob { get; set; } = "0";
|
||||
|
||||
/// <summary>
|
||||
/// Contatore IOB
|
||||
/// </summary>
|
||||
public float counterIOB { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Contatore Macchina
|
||||
/// </summary>
|
||||
public float counterMAC { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Ultimo stato noto dei parametri in memoria letti dalla macchina
|
||||
/// </summary>
|
||||
public Dictionary<string, string> currParams { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// Note (libere) da child a controller
|
||||
/// </summary>
|
||||
public string freeNotes { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Tipo IOB
|
||||
/// </summary>
|
||||
public string IobType { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// DataOra ultima comunicazione IN (con PLC)
|
||||
/// </summary>
|
||||
public DateTime lastDataIn { get; set; } = DateTime.Now.AddMinutes(-1);
|
||||
|
||||
/// <summary>
|
||||
/// DataOra ultima comunicazione OUT (con MP Server)
|
||||
/// </summary>
|
||||
public DateTime lastDataOut { get; set; } = DateTime.Now.AddDays(-1);
|
||||
|
||||
/// <summary>
|
||||
/// DataOra ultima comunicazione OUT (con MP Server)
|
||||
/// </summary>
|
||||
public DateTime lastUpdate { get; set; } = DateTime.Now.AddDays(-1);
|
||||
|
||||
/// <summary>
|
||||
/// Status del SINGOLO IOB
|
||||
/// </summary>
|
||||
public bool online { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Lungh coda ALLARMI in uscita
|
||||
/// </summary>
|
||||
public int queueAlLen { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Lunghezza coda EVENTI in uscita
|
||||
/// </summary>
|
||||
public int queueEvLen { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Lunghezza coda FluxLog in uscita
|
||||
/// </summary>
|
||||
public int queueFlLen { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Lungh coda MESSAGGI in uscita
|
||||
/// </summary>
|
||||
public int queueMsLen { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Lungh coda UserLog in uscita
|
||||
/// </summary>
|
||||
public int queueRawTransfLen { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Lungh coda UserLog in uscita
|
||||
/// </summary>
|
||||
public int queueUlLen { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Semaforo IN (IOB-Macchina)
|
||||
/// </summary>
|
||||
public string semIn { get; set; } = "ND";
|
||||
|
||||
/// <summary>
|
||||
/// Semaforo OUT (IOB-MPServer)
|
||||
/// </summary>
|
||||
public string semOut { get; set; } = "ND";
|
||||
|
||||
/// <summary>
|
||||
/// Parametri configurazione (es IP target, porta, ...)
|
||||
/// </summary>
|
||||
public Dictionary<string, string> setupParams { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Override metodo di equality
|
||||
/// </summary>
|
||||
/// <param name="obj"></param>
|
||||
/// <returns></returns>
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is IobWinStatus item))
|
||||
return false;
|
||||
|
||||
if (online != item.online)
|
||||
return false;
|
||||
// controllo se sia ALMENO 1 sec...
|
||||
if (lastDataIn != item.lastDataIn)
|
||||
{
|
||||
if (lastDataIn.Subtract(item.lastDataIn).TotalSeconds > 1)
|
||||
return false;
|
||||
}
|
||||
// controllo se sia ALMENO 1 sec...
|
||||
if (lastDataOut != item.lastDataOut)
|
||||
{
|
||||
if (lastDataOut.Subtract(item.lastDataOut).TotalSeconds > 1)
|
||||
return false;
|
||||
}
|
||||
if (semIn != item.semIn)
|
||||
return false;
|
||||
if (semOut != item.semOut)
|
||||
return false;
|
||||
//if (!currParams.Equals(item.currParams))
|
||||
// return false;
|
||||
if (counterIOB != item.counterIOB)
|
||||
return false;
|
||||
if (counterMAC != item.counterMAC)
|
||||
return false;
|
||||
if (queueAlLen != item.queueAlLen)
|
||||
return false;
|
||||
if (queueEvLen != item.queueEvLen)
|
||||
return false;
|
||||
if (queueFlLen != item.queueFlLen)
|
||||
return false;
|
||||
if (queueMsLen != item.queueMsLen)
|
||||
return false;
|
||||
if (queueRawTransfLen != item.queueRawTransfLen)
|
||||
return false;
|
||||
if (queueUlLen != item.queueUlLen)
|
||||
return false;
|
||||
if (freeNotes != item.freeNotes)
|
||||
return false;
|
||||
//if (setupParams != item.setupParams)
|
||||
// return false;
|
||||
if (IobType != item.IobType)
|
||||
return false;
|
||||
if (CodIob != item.CodIob)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,10 @@
|
||||
using NLog;
|
||||
using NLog.Config;
|
||||
using NLog.Targets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{/// <summary>
|
||||
/// Classe helper x LOG basata su NLog
|
||||
/// </summary>
|
||||
/// Classe helper x LOG basata su NLog </summary>
|
||||
public static class Logging
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
+8
-28
@@ -117,32 +117,6 @@ namespace IOB_UT_NEXT
|
||||
#endregion Public Methods
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe di base per trasferimento informazioni di tipo RawTransfer FixMe Todo Fare !!!
|
||||
/// elimnare usando SDK MAPO
|
||||
/// </summary>
|
||||
public class BaseRawTransf
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Data-Ora riferimento (x ordinamento fifo)
|
||||
/// </summary>
|
||||
public DateTime dataRif { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// Messaggio in modalità raw/stringa
|
||||
/// </summary>
|
||||
public object mesContent { get; set; } = null;
|
||||
|
||||
/// <summary>
|
||||
/// Tipo di messaggio trasmesso
|
||||
/// </summary>
|
||||
public rawTransfType mesType { get; set; } = rawTransfType.ND;
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cache a tempo valori INT
|
||||
/// </summary>
|
||||
@@ -231,6 +205,7 @@ namespace IOB_UT_NEXT
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Rappresentazione dello stato corrente dell'IOB
|
||||
/// </summary>
|
||||
@@ -305,6 +280,8 @@ namespace IOB_UT_NEXT
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Override metodo di equality
|
||||
/// </summary>
|
||||
@@ -333,7 +310,7 @@ namespace IOB_UT_NEXT
|
||||
return false;
|
||||
if (queueRawTransfLen != item.queueRawTransfLen)
|
||||
return false;
|
||||
if (queueUlLen!= item.queueUlLen)
|
||||
if (queueUlLen != item.queueUlLen)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@@ -343,7 +320,10 @@ namespace IOB_UT_NEXT
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Elenco oggetti del monitoraggio (DynData, Status) per WPS
|
||||
|
||||
+190
-109
@@ -2,68 +2,12 @@
|
||||
using StackExchange.Redis;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
public class RedisIobCache
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConn = baseUtils.CRS("RedisConn");
|
||||
if (string.IsNullOrEmpty(RedisConn))
|
||||
{
|
||||
RedisConn = "localhost,abortConnect=false,ssl=false";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConn);
|
||||
});
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnectionAdmin = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConnAdmin = baseUtils.CRS("RedisConnAdmin");
|
||||
if (string.IsNullOrEmpty(RedisConnAdmin))
|
||||
{
|
||||
RedisConnAdmin = "localhost,abortConnect=false,ssl=false,allowAdmin=true";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConnAdmin);
|
||||
});
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
/// <summary>
|
||||
/// Cod IOB
|
||||
/// </summary>
|
||||
protected string currCodIob = "000";
|
||||
/// <summary>
|
||||
/// Tipo IOB
|
||||
/// </summary>
|
||||
protected string currIobType = "ND";
|
||||
|
||||
/// <summary>
|
||||
/// Hash redis x dati IOB
|
||||
/// </summary>
|
||||
protected string redIobKey = "";
|
||||
|
||||
/// <summary>
|
||||
/// Hash redis x dati server
|
||||
/// </summary>
|
||||
protected string redServKey = "";
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
/// <summary>
|
||||
@@ -97,7 +41,7 @@ namespace IOB_UT_NEXT
|
||||
IobWinStatus newIobStatus = new IobWinStatus()
|
||||
{
|
||||
CodIob = currCodIob,
|
||||
IobType= currIobType,
|
||||
IobType = currIobType,
|
||||
online = false
|
||||
};
|
||||
// salvo in area REDIS
|
||||
@@ -137,15 +81,6 @@ namespace IOB_UT_NEXT
|
||||
|
||||
#endregion Public Enums
|
||||
|
||||
#region Private Properties
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto currentDb locale
|
||||
/// </summary>
|
||||
private IDatabase _currDB { get; set; }
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
@@ -216,7 +151,7 @@ namespace IOB_UT_NEXT
|
||||
answ = new IobWinStatus()
|
||||
{
|
||||
CodIob = currCodIob,
|
||||
IobType=currIobType,
|
||||
IobType = currIobType,
|
||||
online = false
|
||||
};
|
||||
// salvo serializzando...
|
||||
@@ -233,7 +168,32 @@ namespace IOB_UT_NEXT
|
||||
set
|
||||
{
|
||||
string rawData = JsonConvert.SerializeObject(value);
|
||||
setRSV(redIobKey, rawData);
|
||||
saveAndSendMessage(redIobKey, redIobChannel, rawData);
|
||||
//setRSV(redIobKey, rawData);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// MEssage Dispatcher: oggetto comunicazione pub/sub via REDIS channels corrente
|
||||
/// </summary>
|
||||
public ISubscriber messageDisp
|
||||
{
|
||||
get
|
||||
{
|
||||
ISubscriber answ;
|
||||
// se già valorizzato uso oggetto private...
|
||||
if (_currSub != null)
|
||||
{
|
||||
answ = _currSub;
|
||||
}
|
||||
else
|
||||
{
|
||||
// init DB (sullo 0)
|
||||
answ = connRedis.GetSubscriber();
|
||||
_currSub = answ;
|
||||
}
|
||||
// restituisco oggetto DB
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -298,39 +258,6 @@ namespace IOB_UT_NEXT
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP ASC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKey(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return x.Key.CompareTo(y.Key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP DESC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKeyDesc(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return y.Key.CompareTo(x.Key);
|
||||
}
|
||||
|
||||
private void initHashKeys()
|
||||
{
|
||||
// init dati di base...
|
||||
redServKey = redHash($"MP");
|
||||
redIobKey = redHash($"IOB:{currCodIob}");
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
@@ -477,8 +404,7 @@ namespace IOB_UT_NEXT
|
||||
public int redCountKey(string keyPattern)
|
||||
{
|
||||
int answ = 0;
|
||||
// cerco se ci sia valore in redis...
|
||||
// se vuoto = ALL...
|
||||
// cerco se ci sia valore in redis... se vuoto = ALL...
|
||||
keyPattern = string.IsNullOrEmpty(keyPattern) ? "**" : keyPattern;
|
||||
try
|
||||
{
|
||||
@@ -528,8 +454,7 @@ namespace IOB_UT_NEXT
|
||||
public bool redFlushKey(string keyPattern)
|
||||
{
|
||||
bool answ = false;
|
||||
// cerco se ci sia valore in redis...
|
||||
// se vuoto = ALL...
|
||||
// cerco se ci sia valore in redis... se vuoto = ALL...
|
||||
keyPattern = string.IsNullOrEmpty(keyPattern) ? "**" : keyPattern;
|
||||
try
|
||||
{
|
||||
@@ -702,7 +627,8 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Nome della variabile HASH da utilizzare (dato CodModulo / Server / DB impiegato da funzionalita' DbConfig) + keyName richiesto...
|
||||
/// Nome della variabile HASH da utilizzare (dato CodModulo / Server / DB impiegato da
|
||||
/// funzionalita' DbConfig) + keyName richiesto...
|
||||
/// </summary>
|
||||
public string redHash(string keyName)
|
||||
{
|
||||
@@ -834,7 +760,9 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
/// <param name="hashKey">chiave</param>
|
||||
/// <param name="hashFields">valori</param>
|
||||
/// <param name="expireSeconds">scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)</param>
|
||||
/// <param name="expireSeconds">
|
||||
/// scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public bool redSaveHash(string hashKey, KeyValuePair<string, string>[] hashFields, double expireSeconds = -1)
|
||||
{
|
||||
@@ -891,7 +819,9 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
/// <param name="hashKey">chiave</param>
|
||||
/// <param name="hashFields">valori</param>
|
||||
/// <param name="expireSeconds">scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)</param>
|
||||
/// <param name="expireSeconds">
|
||||
/// scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public bool redSaveHashDict(string hashKey, Dictionary<string, string> hashFields, double expireSeconds = -1)
|
||||
{
|
||||
@@ -992,6 +922,43 @@ namespace IOB_UT_NEXT
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invia un messaggio tramite notify channel + salva in cache (se scaduto periodo veto)
|
||||
/// </summary>
|
||||
/// <param name="memKey"></param>
|
||||
/// <param name="notifyChannel"></param>
|
||||
/// <param name="message"></param>
|
||||
/// <returns></returns>
|
||||
public bool saveAndSendMessage(string memKey, string notifyChannel, string message)
|
||||
{
|
||||
bool fatto = false;
|
||||
// effettuo la scrittura nell'area di memoria indicata SE passato intervallo minimo
|
||||
bool doSave = true;
|
||||
if (LastKeySave.ContainsKey(memKey))
|
||||
{
|
||||
if (DateTime.Now.Subtract(LastKeySave[memKey]).TotalSeconds < 1)
|
||||
{
|
||||
doSave = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LastKeySave.Add(memKey, DateTime.Now);
|
||||
}
|
||||
if (doSave)
|
||||
{
|
||||
cache.StringSet(memKey, message);
|
||||
LastKeySave[memKey] = DateTime.Now;
|
||||
Logging.Instance.Trace($"Redis Cache Key: {memKey}");
|
||||
}
|
||||
|
||||
// invio notifica tramite il canale richiesto
|
||||
messageDisp.Publish(notifyChannel, message);
|
||||
fatto = true;
|
||||
// restituisco!
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializzazione di un oggetto generico
|
||||
/// </summary>
|
||||
@@ -1058,7 +1025,7 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Salva un set KVP (Key Value Pair) in RedisCache
|
||||
/// Salva un set KVP (Key Value Pair) in RedisCache
|
||||
/// </summary>
|
||||
/// <param name="valori">Set KVP chiave-valore da salvare</param>
|
||||
/// <returns></returns>
|
||||
@@ -1123,5 +1090,119 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
/// <summary>
|
||||
/// Cod IOB
|
||||
/// </summary>
|
||||
protected string currCodIob = "000";
|
||||
|
||||
/// <summary>
|
||||
/// Tipo IOB
|
||||
/// </summary>
|
||||
protected string currIobType = "ND";
|
||||
|
||||
/// <summary>
|
||||
/// Hash REDIS x dati IOB
|
||||
/// </summary>
|
||||
protected string redIobKey = "";
|
||||
|
||||
/// <summary>
|
||||
/// Nome del channel REDIS x dati IOB
|
||||
/// </summary>
|
||||
protected string redIobChannel = "IobChannel";
|
||||
|
||||
/// <summary>
|
||||
/// Hash REDIS x dati server
|
||||
/// </summary>
|
||||
protected string redServKey = "";
|
||||
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Dizionario delle ultime scritture in cache redis dei messaggi
|
||||
/// </summary>
|
||||
private Dictionary<string, DateTime> LastKeySave = new Dictionary<string, DateTime>();
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConn = baseUtils.CRS("RedisConn");
|
||||
if (string.IsNullOrEmpty(RedisConn))
|
||||
{
|
||||
RedisConn = "localhost,abortConnect=false,ssl=false";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConn);
|
||||
});
|
||||
|
||||
/// <summary>
|
||||
/// Connessione lazy a redis...
|
||||
/// </summary>
|
||||
private Lazy<ConnectionMultiplexer> lazyConnectionAdmin = new Lazy<ConnectionMultiplexer>(() =>
|
||||
{
|
||||
string RedisConnAdmin = baseUtils.CRS("RedisConnAdmin");
|
||||
if (string.IsNullOrEmpty(RedisConnAdmin))
|
||||
{
|
||||
RedisConnAdmin = "localhost,abortConnect=false,ssl=false,allowAdmin=true";
|
||||
}
|
||||
|
||||
return ConnectionMultiplexer.Connect(RedisConnAdmin);
|
||||
});
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto currentDb REDIS locale
|
||||
/// </summary>
|
||||
private IDatabase _currDB { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto subscriber x pubblicazione/sottoscrizione canali REDIS
|
||||
/// </summary>
|
||||
private ISubscriber _currSub { get; set; }
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP ASC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKey(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return x.Key.CompareTo(y.Key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua comaprazione x CHIAVE in KVP DESC
|
||||
/// </summary>
|
||||
/// <param name="x"></param>
|
||||
/// <param name="y"></param>
|
||||
/// <returns></returns>
|
||||
private int CompareKeyDesc(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||
{
|
||||
return y.Key.CompareTo(x.Key);
|
||||
}
|
||||
|
||||
private void initHashKeys()
|
||||
{
|
||||
// init dati di base...
|
||||
redServKey = redHash($"MP");
|
||||
redIobKey = redHash($"IOB:{currCodIob}");
|
||||
redIobChannel = $"IobChannel_{currCodIob}";
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
+44
-47
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
@@ -27,50 +24,6 @@ namespace IOB_UT_NEXT
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
/// <summary>
|
||||
/// Fattore lambda (innovazione) per calcolo EWMA valore TCiclo corrente
|
||||
/// </summary>
|
||||
protected double _lambda { get; set; } = 0.4;
|
||||
|
||||
/// <summary>
|
||||
/// Ultimo TCiclo osservato in SECONDI
|
||||
/// </summary>
|
||||
protected double _lastTC { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// ULTIMO Contapezzi IOB VALIDO
|
||||
/// </summary>
|
||||
protected int _lastValidPzCountIOB { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// ULTIMO Contapezzi PLC VALIDO
|
||||
/// </summary>
|
||||
protected int _lastValidPzCountPLC { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Fattore massimo ammesso di delay x il TCiclo
|
||||
/// </summary>
|
||||
protected double _maxDelayFactor { get; set; } = 1.2;
|
||||
|
||||
/// <summary>
|
||||
/// Incremento amssimo pezzi per cui fare calcolo del tempociclo attuale
|
||||
/// </summary>
|
||||
protected double _maxIncrPz { get; set; } = 2;
|
||||
|
||||
/// <summary>
|
||||
/// Contapezzi IOB
|
||||
/// </summary>
|
||||
protected int _pzCountIOB { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Contapezzi PLC
|
||||
/// </summary>
|
||||
protected int _pzCountPLC { get; set; } = 0;
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
@@ -171,5 +124,49 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
/// <summary>
|
||||
/// Fattore lambda (innovazione) per calcolo EWMA valore TCiclo corrente
|
||||
/// </summary>
|
||||
protected double _lambda { get; set; } = 0.4;
|
||||
|
||||
/// <summary>
|
||||
/// Ultimo TCiclo osservato in SECONDI
|
||||
/// </summary>
|
||||
protected double _lastTC { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// ULTIMO Contapezzi IOB VALIDO
|
||||
/// </summary>
|
||||
protected int _lastValidPzCountIOB { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// ULTIMO Contapezzi PLC VALIDO
|
||||
/// </summary>
|
||||
protected int _lastValidPzCountPLC { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Fattore massimo ammesso di delay x il TCiclo
|
||||
/// </summary>
|
||||
protected double _maxDelayFactor { get; set; } = 1.2;
|
||||
|
||||
/// <summary>
|
||||
/// Incremento amssimo pezzi per cui fare calcolo del tempociclo attuale
|
||||
/// </summary>
|
||||
protected double _maxIncrPz { get; set; } = 2;
|
||||
|
||||
/// <summary>
|
||||
/// Contapezzi IOB
|
||||
/// </summary>
|
||||
protected int _pzCountIOB { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Contapezzi PLC
|
||||
/// </summary>
|
||||
protected int _pzCountPLC { get; set; } = 0;
|
||||
|
||||
#endregion Protected Properties
|
||||
}
|
||||
}
|
||||
+143
-130
@@ -1,11 +1,7 @@
|
||||
using MapoSDK;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
@@ -14,7 +10,23 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public class BaseAlarmConf
|
||||
{
|
||||
#region Public Fields
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Elenco dei contatori blink x gestione caso fronte salita/discesa segnale che blinka
|
||||
/// </summary>
|
||||
public int[] alarmsBlinkCounter { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// BitMask 16bit (1 = valido, 0 = filtro) degli allarmi silenziati/disabilitati (se
|
||||
/// iniziano per ##) come valore da sottrarre x check
|
||||
/// </summary>
|
||||
public uint[] alarmsMask { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Array dei valori allarme correnti
|
||||
/// </summary>
|
||||
public uint[] alarmsState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// valore di partenza x un segnale di blink in caso di fine variazione (fronte discesa)
|
||||
@@ -26,25 +38,6 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public int blinkUpVal { get; set; } = 3;
|
||||
|
||||
#endregion Public Fields
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Elenco dei contatori blink x gestione caso fronte salita/discesa segnale che blinka
|
||||
/// </summary>
|
||||
public int[] alarmsBlinkCounter { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// BitMask 16bit (1 = valido, 0 = filtro) degli allarmi silenziati/disabilitati (se iniziano per ##) come valore da sottrarre x check
|
||||
/// </summary>
|
||||
public uint[] alarmsMask { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Array dei valori allarme correnti
|
||||
/// </summary>
|
||||
public uint[] alarmsState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Descrizione area allarmi
|
||||
/// </summary>
|
||||
@@ -177,7 +170,8 @@ namespace IOB_UT_NEXT
|
||||
alarmsState = new uint[size / 2];
|
||||
alarmsMask = new uint[size / 2];
|
||||
|
||||
// una volta inizializzata la classe di base sistemo vettori allarmi disabilitati ed il contatore blink dei fronti di discesa
|
||||
// una volta inizializzata la classe di base sistemo vettori allarmi disabilitati ed il
|
||||
// contatore blink dei fronti di discesa
|
||||
alarmsBlinkCounter = new int[messages.Count];
|
||||
int idx = 0;
|
||||
int bank = 0;
|
||||
@@ -217,7 +211,8 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe gestione configurazione parametri di base x configuraizone estesa (es MTConnect, OPC-UA, ...)
|
||||
/// Classe gestione configurazione parametri di base x configuraizone estesa (es MTConnect,
|
||||
/// OPC-UA, ...)
|
||||
/// </summary>
|
||||
public class BaseParamConf
|
||||
{
|
||||
@@ -229,14 +224,13 @@ namespace IOB_UT_NEXT
|
||||
public List<diCheckCondition> condWork { get; set; } = new List<diCheckCondition>();
|
||||
|
||||
/// <summary>
|
||||
/// Indica se l'emergenza armata va riportata verso Mapo come bit a TRUE
|
||||
/// True --> armata = 1 / triggered = 0
|
||||
/// False --> triggered = 1 / armata = 0
|
||||
/// Indica se l'emergenza armata va riportata verso Mapo come bit a TRUE True --> armata
|
||||
/// = 1 / triggered = 0 False --> triggered = 1 / armata = 0
|
||||
/// </summary>
|
||||
public bool emergencyArmedTrue { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// Elenco items FILTRATI da invio come dynData --> FluxLog (events o samples)
|
||||
/// Elenco items FILTRATI da invio come dynData --> FluxLog (events o samples)
|
||||
/// </summary>
|
||||
public List<string> fluxLogVeto { get; set; } = new List<string>();
|
||||
|
||||
@@ -309,7 +303,8 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe per rappresentare una lista di oggetti chiave/valore target x controlo condizioni multiple + indicazione modalità di controllo (AND/OR/...)
|
||||
/// Classe per rappresentare una lista di oggetti chiave/valore target x controlo condizioni
|
||||
/// multiple + indicazione modalità di controllo (AND/OR/...)
|
||||
/// </summary>
|
||||
public class diCheckCondSetup
|
||||
{
|
||||
@@ -326,13 +321,75 @@ namespace IOB_UT_NEXT
|
||||
public boolCheckMode checkMode { get; set; } = boolCheckMode.AND;
|
||||
|
||||
/// <summary>
|
||||
/// indica se il check vada NEGATO (esempio se cerco la condizione opposta, esempio num allarmi 0 --> se true NEGO la condizione HO ALLARMI)
|
||||
/// indica se il check vada NEGATO (esempio se cerco la condizione opposta, esempio num
|
||||
/// allarmi 0 --> se true NEGO la condizione HO ALLARMI)
|
||||
/// </summary>
|
||||
public bool negateValue { get; set; } = false;
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe x definizione delle azioni in fase di setup macchina
|
||||
/// </summary>
|
||||
public class MachineSetupAction
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Indica se vada disabilitato il contapezzi quando la condizione NotEqual sia soddisfatta
|
||||
/// </summary>
|
||||
public bool DisablePzCountNotEqual { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Parametro target dell'azione
|
||||
/// </summary>
|
||||
public string TargetParam { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// parametro da impostare SE il check da esito EQUAL
|
||||
/// </summary>
|
||||
public int TargetValEqual { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// parametro da impostare SE il check da esito NOT EQUAL
|
||||
/// </summary>
|
||||
public int TargetValNotEqual { get; set; } = 1;
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Definizione parametri di setup incrociato...
|
||||
/// </summary>
|
||||
public class MachineSetupConf
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Dizionario dei parametri di corrispondenza tra variabili MES e variabili Macchina MES =
|
||||
/// scritte dal MES Macchina = scritte da macchina
|
||||
/// </summary>
|
||||
public Dictionary<string, string> checkParList { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// Abilitazione gestione Setup Avanzato (= scrittura)
|
||||
/// </summary>
|
||||
public bool EnableAdvSetup { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Modalità gestione setup
|
||||
/// </summary>
|
||||
public MachineSetupMode SetupMode { get; set; } = MachineSetupMode.ND;
|
||||
|
||||
/// <summary> Dizionario dei parametri da scrivere quando si rilevano differenze tra i
|
||||
/// parametri MES/Macchina string (key) --> memoria da scrivere tuple<int isEqual,int
|
||||
/// notEqual> --> valori da scrivere quando uguali o diversi </summary>
|
||||
public List<MachineSetupAction> writeParAction { get; set; } = new List<MachineSetupAction>();
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// COnfigurazione blocchi x accesso memoria ottimizzato
|
||||
/// </summary>
|
||||
@@ -360,84 +417,6 @@ namespace IOB_UT_NEXT
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Definizione parametri watchdog
|
||||
/// </summary>
|
||||
public class WatchDogConf
|
||||
{
|
||||
/// <summary>
|
||||
/// Abilitazione WatchDog
|
||||
/// </summary>
|
||||
public bool IsEnabled { get; set; } = false;
|
||||
/// <summary>
|
||||
/// Conf memoria x lettura WatchDog (ToMes), se !="" è gestito
|
||||
/// </summary>
|
||||
public string MemConfRead { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Conf memoria x scrittura WatchDog (FromMes), se !="" è gestito
|
||||
/// </summary>
|
||||
public string MemConfWrite { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Valore max contatore prima di resettare
|
||||
/// </summary>
|
||||
public int MaxVal { get; set; } = 9999;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Definizione parametri di setup incrociato...
|
||||
/// </summary>
|
||||
public class MachineSetupConf
|
||||
{
|
||||
/// <summary>
|
||||
/// Modalità gestione setup
|
||||
/// </summary>
|
||||
public MachineSetupMode SetupMode { get; set; } = MachineSetupMode.ND;
|
||||
|
||||
/// <summary>
|
||||
/// Abilitazione gestione Setup Avanzato (= scrittura)
|
||||
/// </summary>
|
||||
public bool EnableAdvSetup { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Dizionario dei parametri di corrispondenza tra variabili MES e variabili Macchina
|
||||
/// MES = scritte dal MES
|
||||
/// Macchina = scritte da macchina
|
||||
/// </summary>
|
||||
public Dictionary<string, string> checkParList { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// Dizionario dei parametri da scrivere quando si rilevano differenze tra i parametri MES/Macchina
|
||||
/// string (key) --> memoria da scrivere
|
||||
/// tuple<int isEqual,int notEqual> --> valori da scrivere quando uguali o diversi
|
||||
/// </summary>
|
||||
public List<MachineSetupAction> writeParAction { get; set; } = new List<MachineSetupAction>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe x definizione delle azioni in fase di setup macchina
|
||||
/// </summary>
|
||||
public class MachineSetupAction
|
||||
{
|
||||
/// <summary>
|
||||
/// Parametro target dell'azione
|
||||
/// </summary>
|
||||
public string TargetParam { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// parametro da impostare SE il check da esito EQUAL
|
||||
/// </summary>
|
||||
public int TargetValEqual { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// parametro da impostare SE il check da esito NOT EQUAL
|
||||
/// </summary>
|
||||
public int TargetValNotEqual { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// Indica se vada disabilitato il contapezzi quando la condizione NotEqual sia soddisfatta
|
||||
/// </summary>
|
||||
public bool DisablePzCountNotEqual { get; set; } = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe gestione configurazione parametri specifici OPC-UA da BaseParamConf
|
||||
/// </summary>
|
||||
@@ -470,12 +449,6 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public diCheckCondSetup condError { get; set; } = new diCheckCondSetup();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione Errore
|
||||
/// </summary>
|
||||
public diCheckCondSetup condWorkOpc { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione Emergenza
|
||||
/// </summary>
|
||||
@@ -496,6 +469,11 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public diCheckCondSetup condReady { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione Setup
|
||||
/// </summary>
|
||||
public diCheckCondSetup condSetup { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione WarmUp - CoolDown
|
||||
/// </summary>
|
||||
@@ -505,16 +483,19 @@ namespace IOB_UT_NEXT
|
||||
/// Struttura dati x check condizione Warning
|
||||
/// </summary>
|
||||
public diCheckCondSetup condWarning { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione Setup
|
||||
/// Struttura dati x check condizione Errore
|
||||
/// </summary>
|
||||
public diCheckCondSetup condSetup { get; set; } = new diCheckCondSetup();
|
||||
public diCheckCondSetup condWorkOpc { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Elenco dei NodeId da ignorare intesi come interi rami (se vuoto NON filtro)
|
||||
/// </summary>
|
||||
public List<string> filterItemsNodeId { get; set; } = new List<string>();
|
||||
|
||||
public UserIdent Identity { get; set; } = new UserIdent();
|
||||
|
||||
/// <summary>
|
||||
/// Aree di memoria lettura
|
||||
/// </summary>
|
||||
@@ -525,34 +506,66 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public Dictionary<string, dataConf> mMapWrite { get; set; } = new Dictionary<string, dataConf>();
|
||||
|
||||
/// <summary>
|
||||
/// Elenco dei SOLI item sottoscritti (se vuoto TUTTI)
|
||||
/// </summary>
|
||||
public List<string> subscribedItems { get; set; } = new List<string>();
|
||||
|
||||
/// <summary>
|
||||
/// Elenco item RAW sottoscritti e relative configurazioni di decodifica da byte[]
|
||||
/// </summary>
|
||||
public Dictionary<string, string> rawSubscribedItemsConf { get; set; } = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// Conf Gestione WatchDog
|
||||
/// </summary>
|
||||
public WatchDogConf WatchDog { get; set; } = new WatchDogConf();
|
||||
|
||||
/// <summary>
|
||||
/// Conf gestione setup macchina
|
||||
/// </summary>
|
||||
public MachineSetupConf SetupConf { get; set; } = new MachineSetupConf();
|
||||
|
||||
public UserIdent Identity { get; set; } = new UserIdent();
|
||||
/// <summary>
|
||||
/// Elenco dei SOLI item sottoscritti (se vuoto TUTTI)
|
||||
/// </summary>
|
||||
public List<string> subscribedItems { get; set; } = new List<string>();
|
||||
|
||||
/// <summary>
|
||||
/// Conf Gestione WatchDog
|
||||
/// </summary>
|
||||
public WatchDogConf WatchDog { get; set; } = new WatchDogConf();
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
public class UserIdent
|
||||
{
|
||||
public string UserName { get; set; } = "";
|
||||
#region Public Properties
|
||||
|
||||
public string Passwd { get; set; } = "";
|
||||
public string UserName { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Definizione parametri watchdog
|
||||
/// </summary>
|
||||
public class WatchDogConf
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Abilitazione WatchDog
|
||||
/// </summary>
|
||||
public bool IsEnabled { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Valore max contatore prima di resettare
|
||||
/// </summary>
|
||||
public int MaxVal { get; set; } = 9999;
|
||||
|
||||
/// <summary>
|
||||
/// Conf memoria x lettura WatchDog (ToMes), se !="" è gestito
|
||||
/// </summary>
|
||||
public string MemConfRead { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Conf memoria x scrittura WatchDog (FromMes), se !="" è gestito
|
||||
/// </summary>
|
||||
public string MemConfWrite { get; set; } = "";
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
}
|
||||
+31
-38
@@ -1,4 +1,3 @@
|
||||
using MapoSDK;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections;
|
||||
@@ -49,35 +48,6 @@ namespace IOB_UT_NEXT
|
||||
|
||||
#endregion Public Fields
|
||||
|
||||
#if false
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.servStatus.dtVetoPing;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.servStatus;
|
||||
currData.dtVetoPing = value;
|
||||
redisMan.servStatus = currData;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto WebClient BASE da riutilizzare
|
||||
/// </summary>
|
||||
protected static WebClientWT client { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto WebClient con PAYLOAD da riutilizzare
|
||||
/// </summary>
|
||||
protected static WebClientWT clientPayload { get; set; }
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
@@ -89,10 +59,10 @@ namespace IOB_UT_NEXT
|
||||
{
|
||||
// parto dal dato std di veto per pauseSendMSec
|
||||
int answ = CRI("pauseSendMSec");
|
||||
// aggiungo NOISE... +/- 33%
|
||||
// aggiungo NOISE... +/- 50%
|
||||
Random rnd = new Random();
|
||||
int noise = rnd.Next(1, answ / 3);
|
||||
answ += noise - (answ / 6);
|
||||
int noise = rnd.Next(1, answ / 2);
|
||||
answ += noise - (answ / 4);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
@@ -117,6 +87,7 @@ namespace IOB_UT_NEXT
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// formatta un numero in forma binaria 0/1
|
||||
/// </summary>
|
||||
@@ -409,7 +380,9 @@ namespace IOB_UT_NEXT
|
||||
/// number will be formatted as a 32-character binary number in two's compliment.
|
||||
/// </summary>
|
||||
/// <param name="theNumber">self-explanatory</param>
|
||||
/// <param name="minimumDigits">if binary number contains fewer characters leading zeros are added</param>
|
||||
/// <param name="minimumDigits">
|
||||
/// if binary number contains fewer characters leading zeros are added
|
||||
/// </param>
|
||||
/// <returns>string as described above</returns>
|
||||
public static string IntToBinStr(int theNumber, int minimumDigits)
|
||||
{
|
||||
@@ -420,7 +393,9 @@ namespace IOB_UT_NEXT
|
||||
/// verifica se un dato bit sia alzato (come flag di strobe)
|
||||
/// </summary>
|
||||
/// <param name="value">valore da testare</param>
|
||||
/// <param name="flag">valore cercato, può essere un singolo valore o un insieme in modalità AND</param>
|
||||
/// <param name="flag">
|
||||
/// valore cercato, può essere un singolo valore o un insieme in modalità AND
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public static bool IsSetAll(StFlag32 value, StFlag32 flag)
|
||||
{
|
||||
@@ -431,7 +406,9 @@ namespace IOB_UT_NEXT
|
||||
/// verifica se un dato bit sia alzato (come flag di strobe)
|
||||
/// </summary>
|
||||
/// <param name="value">valore da testare</param>
|
||||
/// <param name="flag">valore cercato, può essere un singolo valore o un insieme in modalità OR</param>
|
||||
/// <param name="flag">
|
||||
/// valore cercato, può essere un singolo valore o un insieme in modalità OR
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public static bool IsSetAny(StFlag32 value, StFlag32 flag)
|
||||
{
|
||||
@@ -586,7 +563,8 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb
|
||||
/// provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare
|
||||
/// a dim inferiori a _logMaxMb
|
||||
/// </summary>
|
||||
public static void shrinkDir(string dirPath)
|
||||
{
|
||||
@@ -616,7 +594,8 @@ namespace IOB_UT_NEXT
|
||||
// inizio con eliminare file + vecchi della data indicata...
|
||||
int maxLogDays = CRI("maxLogDays");
|
||||
fileMover.obj.deleteOlderThan(maxLogDays);
|
||||
// ora controllo SE sia superata la dim max della directory --> in tal caso cancello dal + vecchio...
|
||||
// ora controllo SE sia superata la dim max della directory --> in tal caso cancello dal
|
||||
// + vecchio...
|
||||
dirSizeMb = fileMover.obj.totalMb();
|
||||
int maxLogDirSize = CRI("maxLogDirSize");
|
||||
int maxTry = 100;
|
||||
@@ -723,6 +702,20 @@ namespace IOB_UT_NEXT
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto WebClient BASE da riutilizzare
|
||||
/// </summary>
|
||||
protected static WebClientWT client { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto WebClient con PAYLOAD da riutilizzare
|
||||
/// </summary>
|
||||
protected static WebClientWT clientPayload { get; set; }
|
||||
|
||||
#endregion Protected Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="MapoSDK" version="6.14.2204.2616" targetFramework="net462" />
|
||||
<package id="MapoSDK" version="6.14.2205.2808" targetFramework="net462" />
|
||||
<package id="Microsoft.Bcl.AsyncInterfaces" version="6.0.0" targetFramework="net462" />
|
||||
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
|
||||
<package id="NLog" version="4.7.13" targetFramework="net462" />
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace IOB_UT_NEXT
|
||||
{
|
||||
internal class val
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -122,7 +122,7 @@ namespace IOB_WIN_NEXT
|
||||
|
||||
// inizializzo orologi
|
||||
firstStart = DateTime.Now;
|
||||
lastStartTry = DateTime.Now;
|
||||
lastStartTry = DateTime.Now.AddHours(-1);
|
||||
|
||||
initDatamonitor();
|
||||
|
||||
@@ -274,7 +274,7 @@ namespace IOB_WIN_NEXT
|
||||
protected int maxFlQueue { get; set; }
|
||||
|
||||
protected int maxMsQueue { get; set; }
|
||||
|
||||
|
||||
protected int maxRwTrQueue { get; set; }
|
||||
|
||||
protected int maxUlQueue { get; set; }
|
||||
@@ -286,7 +286,7 @@ namespace IOB_WIN_NEXT
|
||||
protected int qFlLen { get; set; }
|
||||
|
||||
protected int qMsLen { get; set; }
|
||||
|
||||
|
||||
protected int qRTrLen { get; set; }
|
||||
|
||||
protected int qUlLen { get; set; }
|
||||
@@ -1168,7 +1168,7 @@ namespace IOB_WIN_NEXT
|
||||
cpuType = fIni.ReadString("CNC", "CPUTYPE", ""),
|
||||
rack = (short)fIni.ReadInteger("CNC", "RACK", 0),
|
||||
slot = (short)fIni.ReadInteger("CNC", "SLOT", 0),
|
||||
serverData = new serverMapo(fIni.ReadString("SERVER", "MPIP", "::1"), fIni.ReadString("SERVER", "MPURL", "/MP/IO"), fIni.ReadString("SERVER", "CMDBASE", "/IOB/input/"), fIni.ReadString("SERVER", "CMDFLOG", "/IOB/flog/"), fIni.ReadString("SERVER", "CMDULOG", "/IOB/ulog/"), fIni.ReadString("SERVER", "CMDALIVE", "/"), fIni.ReadString("SERVER", "CMDENABLED", "/"), fIni.ReadString("SERVER", "CMDREBO", "/"), fIni.ReadString("SERVER", "CMD_ODL_STARTED", "/IOB/getCurrOdlStart/"), fIni.ReadString("SERVER", "CLI_INST", "SW_CLI"), fIni.ReadString("SERVER", "CMD_FORCLE_SPLIT_ODL", "/IOB/forceSplitOdlFull/")),
|
||||
serverData = new serverMapo(fIni.ReadString("SERVER", "MPIP", "::1"), fIni.ReadString("SERVER", "MPURL", "/MP/IO"), fIni.ReadString("SERVER", "CMDBASE", "/IOB/input/"), fIni.ReadString("SERVER", "CMDFLOG", "/IOB/flog/"), fIni.ReadString("SERVER", "CMDULOG", "/IOB/ulog/"), fIni.ReadString("SERVER", "CMDALIVE", "/"), fIni.ReadString("SERVER", "CMDENABLED", "/"), fIni.ReadString("SERVER", "CMDREBO", "/"), fIni.ReadString("SERVER", "CMD_ODL_STARTED", "/IOB/getCurrOdlStart/"), fIni.ReadString("SERVER", "CLI_INST", "SW_CLI"), fIni.ReadString("SERVER", "CMD_FORCLE_SPLIT_ODL", "/IOB/forceSplitOdlFull/"), fIni.ReadString("SERVER", "CMDRAWTRANSF", "/IOB/rawTransfJson/")),
|
||||
MAX_COUNTER_BLINK = Convert.ToInt32(fIni.ReadString("BLINK", "MAX_COUNTER_BLINK", "1")),
|
||||
BLINK_FILT = Convert.ToInt32(fIni.ReadString("BLINK", "BLINK_FILT", "0")),
|
||||
TCMaxDelayFactor = Convert.ToDouble(fIni.ReadString("OPTPAR", "TC_MAX_TC_FACTOR", "1.2").Replace(".", ",")),
|
||||
@@ -1243,6 +1243,7 @@ namespace IOB_WIN_NEXT
|
||||
iobObj = new IobIcoelDb(this, IOBConf);
|
||||
start.Enabled = true;
|
||||
break;
|
||||
|
||||
case tipoAdapter.IcoelSoap:
|
||||
iobObj = new IobIcoelSoap(this, IOBConf);
|
||||
start.Enabled = true;
|
||||
@@ -1258,6 +1259,11 @@ namespace IOB_WIN_NEXT
|
||||
start.Enabled = true;
|
||||
break;
|
||||
|
||||
case tipoAdapter.MODBUS_TCP_CENTERFRIGO:
|
||||
iobObj = new IobModbusTCPCenterfrigo(this, IOBConf);
|
||||
start.Enabled = true;
|
||||
break;
|
||||
|
||||
case tipoAdapter.MODBUS_TCP_HAM:
|
||||
iobObj = new IobModbusTCPHam(this, IOBConf);
|
||||
start.Enabled = true;
|
||||
@@ -1377,6 +1383,11 @@ namespace IOB_WIN_NEXT
|
||||
start.Enabled = true;
|
||||
break;
|
||||
|
||||
case tipoAdapter.SIEMENS_NWSE:
|
||||
iobObj = new IobSiemensNWSE(this, IOBConf);
|
||||
start.Enabled = true;
|
||||
break;
|
||||
|
||||
case tipoAdapter.SIEMENS_PRESSOIL_CEI:
|
||||
iobObj = new IobSiemensPressoilCei(this, IOBConf);
|
||||
start.Enabled = true;
|
||||
@@ -1492,6 +1503,10 @@ namespace IOB_WIN_NEXT
|
||||
// aggiorno labels counters...
|
||||
counterIob = $"pz IOB {iobObj.contapezziIOB}";
|
||||
counterMac = $"pz PLC {iobObj.contapezziPLC}";
|
||||
Dictionary<string, string> setPar = new Dictionary<string, string>();
|
||||
setPar.Add("IP", iobObj.cIobConf.cncIpAddr);
|
||||
setPar.Add("PORT", iobObj.cIobConf.cncPort);
|
||||
string note = $"DT ultimo avvio: {iobObj.dtAvvioAdp}";
|
||||
// verifico IOB status
|
||||
IobWinStatus currIobStatus = new IobWinStatus()
|
||||
{
|
||||
@@ -1507,7 +1522,10 @@ namespace IOB_WIN_NEXT
|
||||
counterMAC = iobObj.contapezziPLC,
|
||||
lastUpdate = lastIobStatus.lastUpdate,
|
||||
online = utils.IOB_Online,
|
||||
lastDataIn = iobObj.lastReadPLC
|
||||
lastDataIn = iobObj.lastReadPLC,
|
||||
lastDataOut = iobObj.lastIobOnline,
|
||||
setupParams = setPar,
|
||||
freeNotes = note
|
||||
};
|
||||
// se diverso SALVO!
|
||||
if (!lastIobStatus.Equals(currIobStatus))
|
||||
|
||||
+172
-162
@@ -1,164 +1,174 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||
</startup>
|
||||
<appSettings>
|
||||
<add key="appName" value="IOB-WIN-NEXT" />
|
||||
<!--<add key="appVers" value="develop" />-->
|
||||
<add key="enableTest" value="true" />
|
||||
<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="1000" />
|
||||
<!--gestione coda-->
|
||||
<add key="maxQueueFLog" value="16384" />
|
||||
<!--gestione max num errori-->
|
||||
<add key="maxAliveErrors" value="1000" />
|
||||
<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="MMapR" value="MMapR.map" />
|
||||
<add key="MMapW" value="MMapW.map" />
|
||||
<add key="AUpdAsAdm" value="true" />
|
||||
<add key="ConfToCloud" value="true" />
|
||||
<!--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="120" />
|
||||
<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" />
|
||||
<probing privatePath="lib;libs" xmlns="" />
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.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>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<basicHttpBinding>
|
||||
<binding name="OPENcontrol" />
|
||||
</basicHttpBinding>
|
||||
<netNamedPipeBinding>
|
||||
<binding name="NetNamedPipeBinding_ISizerService">
|
||||
<security mode="None"/>
|
||||
</binding>
|
||||
</netNamedPipeBinding>
|
||||
<wsHttpBinding>
|
||||
<binding name="WSHttpBinding_ISizerService" maxReceivedMessageSize="2147483647">
|
||||
<security mode="None"/>
|
||||
</binding>
|
||||
</wsHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://192.168.20.2:8080" binding="basicHttpBinding" bindingConfiguration="OPENcontrol" contract="OpenControl.OPENcontrolPortType" name="OPENcontrol" />
|
||||
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService"/>
|
||||
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService"/>
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
</configuration>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<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-NEXT" />
|
||||
<!--<add key="appVers" value="develop" />-->
|
||||
<add key="enableTest" value="true" />
|
||||
<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" />
|
||||
<!--gestione coda-->
|
||||
<add key="maxQueueFLog" value="16384" />
|
||||
<add key="maxQueueRawTransf" value="1024" />
|
||||
<!--gestione max num errori-->
|
||||
<add key="maxAliveErrors" value="1000" />
|
||||
<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="MMapR" value="MMapR.map" />
|
||||
<add key="MMapW" value="MMapW.map" />
|
||||
<add key="AUpdAsAdm" value="true" />
|
||||
<add key="ConfToCloud" value="true" />
|
||||
<!--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" />
|
||||
<probing privatePath="lib;libs" xmlns="" />
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.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>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<basicHttpBinding>
|
||||
<binding name="OPENcontrol" />
|
||||
</basicHttpBinding>
|
||||
<netNamedPipeBinding>
|
||||
<binding name="NetNamedPipeBinding_ISizerService">
|
||||
<security mode="None" />
|
||||
</binding>
|
||||
</netNamedPipeBinding>
|
||||
<wsHttpBinding>
|
||||
<binding name="WSHttpBinding_ISizerService" maxReceivedMessageSize="2147483647">
|
||||
<security mode="None" />
|
||||
</binding>
|
||||
</wsHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://192.168.20.2:8080" binding="basicHttpBinding" bindingConfiguration="OPENcontrol" contract="OpenControl.OPENcontrolPortType" name="OPENcontrol" />
|
||||
<endpoint address="http://localhost:8001/SizerService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISizerService" contract="SizerService.ISizerService" name="WSHttpBinding_ISizerService" />
|
||||
<endpoint address="net.pipe://localhost/Compac/8001/SizerService" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_ISizerService" contract="SizerService.ISizerService" name="NetNamedPipeBinding_ISizerService" />
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
<entityFramework>
|
||||
<providers>
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
</configuration>
|
||||
@@ -26,7 +26,7 @@ CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
; Red: Y31.4 | Yellow: Y31.5 | Green Y31.6 | riscaldamento Y7.4 ???
|
||||
;BIT0=CONN
|
||||
BIT1=Y31.6
|
||||
BIT2=PZCOUNT.PAR.6711
|
||||
BIT2=STD.MACRO.10100
|
||||
BIT3=Y31.4
|
||||
BIT4=Y31.5
|
||||
BIT5=Y7.4
|
||||
@@ -59,7 +59,10 @@ BLINK_FILT=0
|
||||
|
||||
[OPTPAR]
|
||||
;PZCOUNT_MODE=STD|BIT
|
||||
PZCOUNT_MODE=STD.PAR.6711
|
||||
;PZCOUNT_MODE=STD.PAR.6711
|
||||
;PZREQ_MODE=STD.PAR.6713
|
||||
PZCOUNT_MODE=STD.MACRO.10100
|
||||
PZREQ_MODE=STD.MACRO.10000
|
||||
PZGTOT_MODE=STD.PAR.6712
|
||||
PZREQ_MODE=STD.PAR.6713
|
||||
;PZCAD_MODE=STD.D.6408.DW
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
},
|
||||
"PPM": {
|
||||
"name": "PPM",
|
||||
"description": "Velocità espressa come Pacchi Per Minuto",
|
||||
"description": "Velocit� espressa come Pacchi Per Minuto",
|
||||
"memAddr": "41106",
|
||||
"tipoMem": "Real",
|
||||
"index": 1106,
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Impianto Cedax di Turi (test) - Giacovelli
|
||||
CNCTYPE=MODBUS_TCP_CEDAX
|
||||
PING_MS_TIMEOUT=1000
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=CEDAX
|
||||
MODEL=CEDAX Hydrocooler
|
||||
|
||||
[CNC]
|
||||
IP=192.168.2.60
|
||||
PORT=502
|
||||
|
||||
[SERVER]
|
||||
MPIP=http://192.168.1.14
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
|
||||
[MEMORY]
|
||||
ADDR_READ=41001
|
||||
ADDR_WRITE=41021
|
||||
SIZE_READ=20
|
||||
SIZE_WRITE=0
|
||||
HR_BASE_ADDR=40000
|
||||
|
||||
|
||||
[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.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=STD.DB85.DBRE16
|
||||
DISABLE_PZCOUNT=TRUE
|
||||
ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
; GEST DATI DYN
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
; gestione delta minimo accettabile tra min/MAX
|
||||
DELTA_VAL=0.1
|
||||
|
||||
; clock base (da 10ms)
|
||||
timerIntMs=10
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
PARAM_CONF=GIACO_CEDAX_001.json
|
||||
|
||||
NO_PING=FALSE
|
||||
; conf blocchi memoria x READ
|
||||
MEM_BLOCK=GIACO_CEDAX_001_MBlock.json
|
||||
; conf aree allarme
|
||||
ALARM_CONF=GIACO_CEDAX_001_alarm.json
|
||||
|
||||
; rimozione check limiti min/max dynData
|
||||
disDynDataRangeCheck=true
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
@@ -0,0 +1,258 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
"Dose_Staz_1": {
|
||||
"name": "Dose_Staz_1",
|
||||
"description": "Dose Stazione 1",
|
||||
"memAddr": "40024",
|
||||
"tipoMem": "Int",
|
||||
"index": 24,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_2": {
|
||||
"name": "Dose_Staz_2",
|
||||
"description": "Dose Stazione 2",
|
||||
"memAddr": "40025",
|
||||
"tipoMem": "Int",
|
||||
"index": 25,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_3": {
|
||||
"name": "Dose_Staz_3",
|
||||
"description": "Dose Stazione 3",
|
||||
"memAddr": "40026",
|
||||
"tipoMem": "Int",
|
||||
"index": 26,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_4": {
|
||||
"name": "Dose_Staz_4",
|
||||
"description": "Dose Stazione 4",
|
||||
"memAddr": "40027",
|
||||
"tipoMem": "Int",
|
||||
"index": 27,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"Stag_H2O": {
|
||||
"name": "Stag_H2O",
|
||||
"description": "Totale H2O Stagione",
|
||||
"memAddr": "41001",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1001,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Stag_Prod1": {
|
||||
"name": "Stag_Prod1",
|
||||
"description": "Totale Prodotto 1 Stagione",
|
||||
"memAddr": "41003",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1003,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Stag_Prod2": {
|
||||
"name": "Stag_Prod2",
|
||||
"description": "Totale Prodotto 2 Stagione",
|
||||
"memAddr": "41005",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1005,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Stag_Prod3": {
|
||||
"name": "Stag_Prod3",
|
||||
"description": "Totale Prodotto 3 Stagione",
|
||||
"memAddr": "41007",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1007,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Stag_Prod4": {
|
||||
"name": "Stag_Prod4",
|
||||
"description": "Totale Prodotto 4 Stagione",
|
||||
"memAddr": "41009",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1009,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Giorno_H2O": {
|
||||
"name": "Giorno_H2O",
|
||||
"description": "Totale H2O Giorno",
|
||||
"memAddr": "41011",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1011,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Giorno_Prod1": {
|
||||
"name": "Giorno_Prod1",
|
||||
"description": "Totale Prodotto 1 Giorno",
|
||||
"memAddr": "41013",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1013,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Giorno_Prod2": {
|
||||
"name": "Giorno_Prod2",
|
||||
"description": "Totale Prodotto 2 Giorno",
|
||||
"memAddr": "41015",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1015,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Giorno_Prod3": {
|
||||
"name": "Giorno_Prod3",
|
||||
"description": "Totale Prodotto 3 Giorno",
|
||||
"memAddr": "41017",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1017,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Giorno_Prod4": {
|
||||
"name": "Giorno_Prod4",
|
||||
"description": "Totale Prodotto 4 Giorno",
|
||||
"memAddr": "41019",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1019,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Dose_Staz_1": {
|
||||
"name": "Dose_Staz_1",
|
||||
"description": "Dose Stazione 1",
|
||||
"memAddr": "40024",
|
||||
"tipoMem": "Int",
|
||||
"index": 24,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_2": {
|
||||
"name": "Dose_Staz_2",
|
||||
"description": "Dose Stazione 2",
|
||||
"memAddr": "40025",
|
||||
"tipoMem": "Int",
|
||||
"index": 25,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_3": {
|
||||
"name": "Dose_Staz_3",
|
||||
"description": "Dose Stazione 3",
|
||||
"memAddr": "40026",
|
||||
"tipoMem": "Int",
|
||||
"index": 26,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_4": {
|
||||
"name": "Dose_Staz_4",
|
||||
"description": "Dose Stazione 4",
|
||||
"memAddr": "40027",
|
||||
"tipoMem": "Int",
|
||||
"index": 27,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"ReadBlocks": {
|
||||
"40016": 16,
|
||||
"40999": 32
|
||||
}
|
||||
}
|
||||
+10
-9
@@ -6,23 +6,21 @@ PING_MS_TIMEOUT=1000
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=CEDAX
|
||||
MODEL=CEDAX
|
||||
MODEL=CEDAX Scarico
|
||||
|
||||
[CNC]
|
||||
IP=10.74.82.65
|
||||
IP=192.168.2.61
|
||||
PORT=502
|
||||
|
||||
[SERVER]
|
||||
MPIP=https://iis01.egalware.com
|
||||
;MPIP=https://gwms.egalware.com
|
||||
MPIP=http://192.168.1.14
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/IOB/sendReboot?idxMacchina=
|
||||
;CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
|
||||
[MEMORY]
|
||||
ADDR_READ=41001
|
||||
@@ -63,13 +61,16 @@ DELTA_VAL=0.1
|
||||
timerIntMs=10
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
PARAM_CONF=GIACO_CEDAX_01.json
|
||||
PARAM_CONF=GIACO_CEDAX_002.json
|
||||
|
||||
NO_PING=TRUE
|
||||
; conf blocchi memoria x READ
|
||||
MEM_BLOCK=GIACO_CEDAX_01_MBlock.json
|
||||
MEM_BLOCK=GIACO_CEDAX_002_MBlock.json
|
||||
; conf aree allarme
|
||||
ALARM_CONF=GIACO_CEDAX_01_alarm.json
|
||||
ALARM_CONF=GIACO_CEDAX_002_alarm.json
|
||||
|
||||
; rimozione check limiti min/max dynData
|
||||
disDynDataRangeCheck=true
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
@@ -0,0 +1,286 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
"Dose_Staz_1": {
|
||||
"name": "Dose_Staz_1",
|
||||
"description": "Dose Stazione 1",
|
||||
"memAddr": "40024",
|
||||
"tipoMem": "Int",
|
||||
"index": 24,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_2": {
|
||||
"name": "Dose_Staz_2",
|
||||
"description": "Dose Stazione 2",
|
||||
"memAddr": "40025",
|
||||
"tipoMem": "Int",
|
||||
"index": 25,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_3": {
|
||||
"name": "Dose_Staz_3",
|
||||
"description": "Dose Stazione 3",
|
||||
"memAddr": "40026",
|
||||
"tipoMem": "Int",
|
||||
"index": 26,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_4": {
|
||||
"name": "Dose_Staz_4",
|
||||
"description": "Dose Stazione 4",
|
||||
"memAddr": "40027",
|
||||
"tipoMem": "Int",
|
||||
"index": 27,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"A_Stag_H2O": {
|
||||
"name": "A_Stag_H2O",
|
||||
"description": "Linea A Totale H2O Stagione",
|
||||
"memAddr": "41001",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1001,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"A_Stag_Prod1": {
|
||||
"name": "A_Stag_Prod1",
|
||||
"description": "Linea A Totale Prodotto 1 Stagione",
|
||||
"memAddr": "40003",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1003,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"A_Stag_Prod2": {
|
||||
"name": "A_Stag_Prod2",
|
||||
"description": "Linea A Totale Prodotto 2 Stagione",
|
||||
"memAddr": "40005",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1005,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"A_Giorno_H2O": {
|
||||
"name": "A_Giorno_H2O",
|
||||
"description": "Linea A Totale H2O Giorno",
|
||||
"memAddr": "41007",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1007,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"A_Giorno_Prod1": {
|
||||
"name": "A_Giorno_Prod1",
|
||||
"description": "Linea A Totale Prodotto 1 Giorno",
|
||||
"memAddr": "40009",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1009,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"A_Giorno_Prod2": {
|
||||
"name": "A_Giorno_Prod2",
|
||||
"description": "Linea A Totale Prodotto 2 Giorno",
|
||||
"memAddr": "40011",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1011,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"B_Stag_H2O": {
|
||||
"name": "B_Stag_H2O",
|
||||
"description": "Linea B Totale H2O Stagione",
|
||||
"memAddr": "41013",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1013,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"B_Stag_Prod1": {
|
||||
"name": "B_Stag_Prod1",
|
||||
"description": "Linea B Totale Prodotto 1 Stagione",
|
||||
"memAddr": "40015",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1015,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"B_Stag_Prod2": {
|
||||
"name": "B_Stag_Prod2",
|
||||
"description": "Linea B Totale Prodotto 2 Stagione",
|
||||
"memAddr": "40017",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1009,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"B_Giorno_H2O": {
|
||||
"name": "B_Giorno_H2O",
|
||||
"description": "Linea B Totale H2O Giorno",
|
||||
"memAddr": "41019",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1019,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 1,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"B_Giorno_Prod1": {
|
||||
"name": "B_Giorno_Prod1",
|
||||
"description": "Linea B Totale Prodotto 1 Giorno",
|
||||
"memAddr": "40021",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1021,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"B_Giorno_Prod2": {
|
||||
"name": "B_Giorno_Prod2",
|
||||
"description": "Linea B Totale Prodotto 2 Giorno",
|
||||
"memAddr": "40023",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1023,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Dose_Staz_1": {
|
||||
"name": "Dose_Staz_1",
|
||||
"description": "Dose Stazione 1",
|
||||
"memAddr": "40024",
|
||||
"tipoMem": "Int",
|
||||
"index": 24,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_2": {
|
||||
"name": "Dose_Staz_2",
|
||||
"description": "Dose Stazione 2",
|
||||
"memAddr": "40025",
|
||||
"tipoMem": "Int",
|
||||
"index": 25,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_3": {
|
||||
"name": "Dose_Staz_3",
|
||||
"description": "Dose Stazione 3",
|
||||
"memAddr": "40026",
|
||||
"tipoMem": "Int",
|
||||
"index": 26,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_4": {
|
||||
"name": "Dose_Staz_4",
|
||||
"description": "Dose Stazione 4",
|
||||
"memAddr": "40027",
|
||||
"tipoMem": "Int",
|
||||
"index": 27,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"ReadBlocks": {
|
||||
"40016": 16,
|
||||
"40999": 32
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
[
|
||||
{
|
||||
"description": "Allarmi Impianto",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "40999",
|
||||
"index": 999,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"##On Pompa 1",
|
||||
"Allarme Pompa 1",
|
||||
"##On Pompa 2",
|
||||
"Allarme Pompa 2",
|
||||
"##On Pompa 3",
|
||||
"Allarme Pompa 3",
|
||||
"##On Pompa 4",
|
||||
"Allarme Pompa 4",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,76 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Impianto Cedax di Turi (test) - Giacovelli
|
||||
CNCTYPE=MODBUS_TCP_CEDAX
|
||||
PING_MS_TIMEOUT=1000
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=CEDAX
|
||||
MODEL=CEDAX Lavorazione
|
||||
|
||||
[CNC]
|
||||
IP=192.168.2.62
|
||||
PORT=502
|
||||
|
||||
[SERVER]
|
||||
MPIP=http://192.168.1.14
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
|
||||
[MEMORY]
|
||||
ADDR_READ=41001
|
||||
ADDR_WRITE=41021
|
||||
SIZE_READ=20
|
||||
SIZE_WRITE=0
|
||||
HR_BASE_ADDR=40000
|
||||
|
||||
|
||||
[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.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=STD.DB85.DBRE16
|
||||
DISABLE_PZCOUNT=TRUE
|
||||
ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
; GEST DATI DYN
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
; gestione delta minimo accettabile tra min/MAX
|
||||
DELTA_VAL=0.1
|
||||
|
||||
; clock base (da 10ms)
|
||||
timerIntMs=10
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
PARAM_CONF=GIACO_CEDAX_003.json
|
||||
|
||||
NO_PING=TRUE
|
||||
; conf blocchi memoria x READ
|
||||
MEM_BLOCK=GIACO_CEDAX_003_MBlock.json
|
||||
; conf aree allarme
|
||||
ALARM_CONF=GIACO_CEDAX_003_alarm.json
|
||||
|
||||
; rimozione check limiti min/max dynData
|
||||
disDynDataRangeCheck=true
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
+86
-30
@@ -1,5 +1,47 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
"Dose_Staz_1": {
|
||||
"name": "Dose_Staz_1",
|
||||
"description": "Dose Stazione 1",
|
||||
"memAddr": "40024",
|
||||
"tipoMem": "Int",
|
||||
"index": 24,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_2": {
|
||||
"name": "Dose_Staz_2",
|
||||
"description": "Dose Stazione 2",
|
||||
"memAddr": "40025",
|
||||
"tipoMem": "Int",
|
||||
"index": 25,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_3": {
|
||||
"name": "Dose_Staz_3",
|
||||
"description": "Dose Stazione 3",
|
||||
"memAddr": "40026",
|
||||
"tipoMem": "Int",
|
||||
"index": 26,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"Stag_H2O": {
|
||||
@@ -58,26 +100,12 @@
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Stag_Prod4": {
|
||||
"name": "Stag_Prod4",
|
||||
"description": "Totale Prodotto 4 Stagione",
|
||||
"memAddr": "40009",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1009,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Giorno_H2O": {
|
||||
"name": "Giorno_H2O",
|
||||
"description": "Totale H2O Giorno",
|
||||
"memAddr": "41011",
|
||||
"memAddr": "41009",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1011,
|
||||
"index": 1009,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
@@ -89,9 +117,9 @@
|
||||
"Giorno_Prod1": {
|
||||
"name": "Giorno_Prod1",
|
||||
"description": "Totale Prodotto 1 Giorno",
|
||||
"memAddr": "40013",
|
||||
"memAddr": "40011",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1013,
|
||||
"index": 1011,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
@@ -103,9 +131,9 @@
|
||||
"Giorno_Prod2": {
|
||||
"name": "Giorno_Prod2",
|
||||
"description": "Totale Prodotto 2 Giorno",
|
||||
"memAddr": "40015",
|
||||
"memAddr": "40013",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1015,
|
||||
"index": 1013,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
@@ -117,9 +145,9 @@
|
||||
"Giorno_Prod3": {
|
||||
"name": "Giorno_Prod3",
|
||||
"description": "Totale Prodotto 3 Giorno",
|
||||
"memAddr": "40017",
|
||||
"memAddr": "40015",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1017,
|
||||
"index": 1015,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
@@ -128,19 +156,47 @@
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
},
|
||||
"Giorno_Prod4": {
|
||||
"name": "Giorno_Prod4",
|
||||
"description": "Totale Prodotto 4 Giorno",
|
||||
"memAddr": "40021",
|
||||
"tipoMem": "HLPInt",
|
||||
"index": 1021,
|
||||
"size": 2,
|
||||
"Dose_Staz_1": {
|
||||
"name": "Dose_Staz_1",
|
||||
"description": "Dose Stazione 1",
|
||||
"memAddr": "40024",
|
||||
"tipoMem": "Int",
|
||||
"index": 24,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "l"
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_2": {
|
||||
"name": "Dose_Staz_2",
|
||||
"description": "Dose Stazione 2",
|
||||
"memAddr": "40025",
|
||||
"tipoMem": "Int",
|
||||
"index": 25,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
},
|
||||
"Dose_Staz_3": {
|
||||
"name": "Dose_Staz_3",
|
||||
"description": "Dose Stazione 3",
|
||||
"memAddr": "40026",
|
||||
"tipoMem": "Int",
|
||||
"index": 26,
|
||||
"size": 1,
|
||||
"func": "MEDIAN",
|
||||
"period": 90,
|
||||
"factor": 0.01,
|
||||
"minVal": 0,
|
||||
"maxVal": 999999999,
|
||||
"unit": "%"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"ReadBlocks": {
|
||||
"40016": 16,
|
||||
"40999": 32
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
[
|
||||
{
|
||||
"description": "Allarmi Impianto",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "40999",
|
||||
"index": 999,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"##On Pompa 1",
|
||||
"Allarme Pompa 1",
|
||||
"##On Pompa 2",
|
||||
"Allarme Pompa 2",
|
||||
"##On Pompa 3",
|
||||
"Allarme Pompa 3",
|
||||
"##On Pompa 4",
|
||||
"Allarme Pompa 4",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"ReadBlocks": {
|
||||
"40999": 30
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Impianto Cedax di Turi (test) - Giacovelli
|
||||
CNCTYPE=MODBUS_TCP_CENTERFRIGO
|
||||
PING_MS_TIMEOUT=1000
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=Centerfrigo
|
||||
MODEL=Impianto Turi
|
||||
|
||||
[CNC]
|
||||
IP=192.168.4.161
|
||||
PORT=502
|
||||
|
||||
[SERVER]
|
||||
MPIP=http://192.168.1.14
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
|
||||
[MEMORY]
|
||||
ADDR_READ=40001
|
||||
ADDR_WRITE=41000
|
||||
SIZE_READ=2400
|
||||
SIZE_WRITE=0
|
||||
HR_BASE_ADDR=40000
|
||||
DELTA_BASE=0
|
||||
|
||||
[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.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=STD.DB85.DBRE16
|
||||
DISABLE_PZCOUNT=TRUE
|
||||
ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
; GEST DATI DYN
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
; gestione delta minimo accettabile tra min/MAX
|
||||
DELTA_VAL=0.1
|
||||
|
||||
; clock base (da 10ms)
|
||||
timerIntMs=100
|
||||
minWait=50
|
||||
maxWait=150
|
||||
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
PARAM_CONF=GIACO_CENTERFRIGO.json
|
||||
|
||||
NO_PING=FALSE
|
||||
; conf blocchi memoria x READ
|
||||
MEM_BLOCK=GIACO_CENTERFRIGO_MBlock.json
|
||||
; conf aree allarme
|
||||
ALARM_CONF=GIACO_CENTERFRIGO_alarm.json
|
||||
|
||||
; rimozione check limiti min/max dynData
|
||||
disDynDataRangeCheck=true
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
@@ -0,0 +1,426 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
"TestWrite": {
|
||||
"name": "TestWrite",
|
||||
"description": "Test Scrittura",
|
||||
"memAddr": "41621",
|
||||
"tipoMem": "Real",
|
||||
"index": 1621,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Tunnel": {
|
||||
"name": "SetPoint_Tunnel",
|
||||
"description": "Setpoint Tunnel",
|
||||
"memAddr": "41560",
|
||||
"tipoMem": "Real",
|
||||
"index": 1560,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"Temp_Tunnel": {
|
||||
"name": "Temp_Tunnel",
|
||||
"description": "Temperatura Tunnel",
|
||||
"memAddr": "41520",
|
||||
"tipoMem": "Real",
|
||||
"index": 1520,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Tunnel": {
|
||||
"name": "SetPoint_Tunnel",
|
||||
"description": "Setpoint Tunnel",
|
||||
"memAddr": "41560",
|
||||
"tipoMem": "Real",
|
||||
"index": 1560,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Cella_01": {
|
||||
"name": "Temp_Cella_01",
|
||||
"description": "Temperatura Cella 01",
|
||||
"memAddr": "41660",
|
||||
"tipoMem": "Real",
|
||||
"index": 1660,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Cella_01": {
|
||||
"name": "SetPoint_Cella_01",
|
||||
"description": "Setpoint Cella 01",
|
||||
"memAddr": "41700",
|
||||
"tipoMem": "Real",
|
||||
"index": 1700,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Cella_02": {
|
||||
"name": "Temp_Cella_02",
|
||||
"description": "Temperatura Cella 02",
|
||||
"memAddr": "41810",
|
||||
"tipoMem": "Real",
|
||||
"index": 1810,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Cella_02": {
|
||||
"name": "SetPoint_Cella_02",
|
||||
"description": "Setpoint Cella 02",
|
||||
"memAddr": "41840",
|
||||
"tipoMem": "Real",
|
||||
"index": 1840,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Cella_03": {
|
||||
"name": "Temp_Cella_03",
|
||||
"description": "Temperatura Cella 03",
|
||||
"memAddr": "41930",
|
||||
"tipoMem": "Real",
|
||||
"index": 1930,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Cella_03": {
|
||||
"name": "SetPoint_Cella_03",
|
||||
"description": "Setpoint Cella 03",
|
||||
"memAddr": "41960",
|
||||
"tipoMem": "Real",
|
||||
"index": 1960,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Cella_04": {
|
||||
"name": "Temp_Cella_04",
|
||||
"description": "Temperatura Cella 04",
|
||||
"memAddr": "42050",
|
||||
"tipoMem": "Real",
|
||||
"index": 2050,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Cella_04": {
|
||||
"name": "SetPoint_Cella_04",
|
||||
"description": "Setpoint Cella 04",
|
||||
"memAddr": "41840",
|
||||
"tipoMem": "Real",
|
||||
"index": 1840,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Sala_Bassa": {
|
||||
"name": "Temp_Sala_Bassa",
|
||||
"description": "Temperatura Sala Zona Bassa",
|
||||
"memAddr": "42290",
|
||||
"tipoMem": "Real",
|
||||
"index": 2290,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Sala_Bassa": {
|
||||
"name": "SetPoint_Sala_Bassa",
|
||||
"description": "Setpoint Sala Zona Bassa",
|
||||
"memAddr": "42330",
|
||||
"tipoMem": "Real",
|
||||
"index": 2330,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Sala_Alta": {
|
||||
"name": "Temp_Sala_Alta",
|
||||
"description": "Temperatura Sala Zona Alta",
|
||||
"memAddr": "42420",
|
||||
"tipoMem": "Real",
|
||||
"index": 2420,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Sala_Alta": {
|
||||
"name": "SetPoint_Sala_Alta",
|
||||
"description": "Setpoint Sala Zona Alta",
|
||||
"memAddr": "42460",
|
||||
"tipoMem": "Real",
|
||||
"index": 2460,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Hydrocooler": {
|
||||
"name": "Temp_Hydrocooler",
|
||||
"description": "Temperatura Hydrocooler",
|
||||
"memAddr": "42550",
|
||||
"tipoMem": "Real",
|
||||
"index": 2550,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Hydrocooler": {
|
||||
"name": "SetPoint_Hydrocooler",
|
||||
"description": "Setpoint Hydrocooler",
|
||||
"memAddr": "42580",
|
||||
"tipoMem": "Real",
|
||||
"index": 2580,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Calibr_01": {
|
||||
"name": "Temp_Calibr_01",
|
||||
"description": "Temperatura Calibratrice 01",
|
||||
"memAddr": "42670",
|
||||
"tipoMem": "Real",
|
||||
"index": 2670,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Calibr_01": {
|
||||
"name": "SetPoint_Calibr_01",
|
||||
"description": "SetPoint Calibratrice 01",
|
||||
"memAddr": "42710",
|
||||
"tipoMem": "Real",
|
||||
"index": 2710,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Calibr_02": {
|
||||
"name": "Temp_Calibr_02",
|
||||
"description": "Temperatura Calibratrice 02",
|
||||
"memAddr": "42800",
|
||||
"tipoMem": "Real",
|
||||
"index": 2800,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Calibr_02": {
|
||||
"name": "SetPoint_Calibr_02",
|
||||
"description": "SetPoint Calibratrice 02",
|
||||
"memAddr": "42830",
|
||||
"tipoMem": "Real",
|
||||
"index": 2830,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Calibr_03": {
|
||||
"name": "Temp_Calibr_03",
|
||||
"description": "Temperatura Calibratrice 03",
|
||||
"memAddr": "42920",
|
||||
"tipoMem": "Real",
|
||||
"index": 2920,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Calibr_03": {
|
||||
"name": "SetPoint_Calibr_03",
|
||||
"description": "SetPoint Calibratrice 03",
|
||||
"memAddr": "42950",
|
||||
"tipoMem": "Real",
|
||||
"index": 2950,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Calibr_04": {
|
||||
"name": "Temp_Calibr_04",
|
||||
"description": "Temperatura Calibratrice 04",
|
||||
"memAddr": "43050",
|
||||
"tipoMem": "Real",
|
||||
"index": 3050,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Calibr_04": {
|
||||
"name": "SetPoint_Calibr_04",
|
||||
"description": "SetPoint Calibratrice 04",
|
||||
"memAddr": "43080",
|
||||
"tipoMem": "Real",
|
||||
"index": 3080,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Serbatoi": {
|
||||
"name": "Temp_Serbatoi",
|
||||
"description": "Temperatura Searbatoi",
|
||||
"memAddr": "43170",
|
||||
"tipoMem": "Real",
|
||||
"index": 3170,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Searbatoi": {
|
||||
"name": "SetPoint_Searbatoi",
|
||||
"description": "SetPoint Searbatoi",
|
||||
"memAddr": "43200",
|
||||
"tipoMem": "Real",
|
||||
"index": 3200,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"Temp_Serpentine": {
|
||||
"name": "Temp_Serpentine",
|
||||
"description": "Temperatura Serpentine",
|
||||
"memAddr": "43290",
|
||||
"tipoMem": "Real",
|
||||
"index": 3290,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
},
|
||||
"SetPoint_Serpentine": {
|
||||
"name": "SetPoint_Serpentine",
|
||||
"description": "SetPoint Serpentine",
|
||||
"memAddr": "43320",
|
||||
"tipoMem": "Real",
|
||||
"index": 3320,
|
||||
"size": 2,
|
||||
"func": "MEDIAN",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"minVal": -100,
|
||||
"maxVal": 100,
|
||||
"unit": "°C"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"ReadBlocks": {
|
||||
"41500": 32,
|
||||
"41532": 32,
|
||||
"41616": 32,
|
||||
"41650": 32,
|
||||
"41682": 32,
|
||||
"41800": 32,
|
||||
"41832": 32,
|
||||
"41920": 44,
|
||||
"42040": 44,
|
||||
"42160": 8,
|
||||
"42290": 44,
|
||||
"42410": 32,
|
||||
"42442": 32,
|
||||
"42540": 44,
|
||||
"42660": 32,
|
||||
"42692": 32,
|
||||
"42790": 44,
|
||||
"42910": 44,
|
||||
"43040": 44,
|
||||
"43160": 44,
|
||||
"43280": 44
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,227 @@
|
||||
[
|
||||
{
|
||||
"description": "Centrale Frigorifera",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "41508",
|
||||
"index": 1508,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CENTRALE FRIGORIFERA",
|
||||
"ALLARME GENERICO IMPIANTO",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Tunnel",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "41654",
|
||||
"index": 1654,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"ALLARME ALTA TEMPERATURA AMBIENTE TUNNEL",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CUMULATIVO TUNNEL",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Cella 01",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "41804",
|
||||
"index": 1804,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"ALLARME ALTA TEMPERATURA AMBIENTE CELLA 01",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CUMULATIVO CELLA 01",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Cella 02",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "41924",
|
||||
"index": 1924,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"ALLARME ALTA TEMPERATURA AMBIENTE CELLA 02",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CUMULATIVO CELLA 02",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Cella 03",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "42044",
|
||||
"index": 2044,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"ALLARME ALTA TEMPERATURA AMBIENTE CELLA 03",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CUMULATIVO CELLA 03",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
// {
|
||||
// "description": "Allarmi Cella 04",
|
||||
// "tipoMem": "DInt",
|
||||
// "memAddr": "42164",
|
||||
// "index": 2164,
|
||||
// "size": 2,
|
||||
// "messages": [
|
||||
// "ALLARME ALTA TEMPERATURA AMBIENTE CELLA 04",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "ALLARME CUMULATIVO CELLA 04",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##",
|
||||
// "##"
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
"description": "Allarmi Sala Bassa",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "42414",
|
||||
"index": 2414,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"ALLARME ALTA TEMPERATURA AMBIENTE SALA BASSA",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CUMULATIVO SALA BASSA",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Sala Alta",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "42544",
|
||||
"index": 2544,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"ALLARME ALTA TEMPERATURA AMBIENTE SALA ALTA",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CUMULATIVO SALA ALTA",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Hydrocooler",
|
||||
"tipoMem": "DInt",
|
||||
"memAddr": "42664",
|
||||
"index": 2664,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"ALLARME ALTA TEMPERATURA AMBIENTE HYDROCOOLER",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"ALLARME CUMULATIVO HYDROCOOLER",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -3,7 +3,6 @@
|
||||
;Centro di lavoro OpcUa
|
||||
CNCTYPE=OpcUaOmronIcoel
|
||||
PING_MS_TIMEOUT=500
|
||||
IOB_NAME=GIACO_ICOEL
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=ICOEL
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
;WebService SOAP x sizer
|
||||
CNCTYPE=IcoelSoap
|
||||
PING_MS_TIMEOUT=500
|
||||
IOB_NAME=GIACO_ICOEL
|
||||
;IOB_NAME=GIACO_ICOEL
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=ICOEL
|
||||
@@ -19,6 +19,7 @@ MPIP=http://192.168.1.14
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDRAWTRANSF=/IOB/rawTransfJson/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
@@ -60,14 +61,17 @@ DISABLE_PZCOUNT=FALSE
|
||||
ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
ENABLE_DYN_DATA=FALSE
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
DEM_FACT_DYN_DATA=2
|
||||
ENABLE_DATA_FILTER=TRUE
|
||||
ENABLE_CLI_RESTART=TRUE
|
||||
VETO_SIG_IN=TRUE
|
||||
|
||||
; clock base (da 10ms)
|
||||
timerIntMs=40
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
OPC_PARAM_CONF=GIACO_ICOEL_001.json
|
||||
PARAM_CONF=GIACO_ICOEL_002.json
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
"setSupplier": {
|
||||
"name": "setSupplier",
|
||||
"description": "Send Batch req (GrowerCode|Descript)",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "setSupplier",
|
||||
"index": 0,
|
||||
"size": 50
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"VelTonnOra": {
|
||||
"name": "VelTonnOra",
|
||||
"description": "Vel. Impianto Tonnellate / Ora",
|
||||
"memAddr": "VelTonnOra",
|
||||
"tipoMem": "Real",
|
||||
"index": 0,
|
||||
"size": 0,
|
||||
"func": "AVG",
|
||||
"period": 50,
|
||||
"factor": 1
|
||||
},
|
||||
"VelFruttiMinuto": {
|
||||
"name": "VelFruttiMinuto",
|
||||
"description": "Vel. Impianto Frutti / Minuto",
|
||||
"memAddr": "VelFruttiMinuto",
|
||||
"tipoMem": "Real",
|
||||
"index": 0,
|
||||
"size": 0,
|
||||
"func": "AVG",
|
||||
"period": 50,
|
||||
"factor": 1
|
||||
},
|
||||
"NumPacksOra": {
|
||||
"name": "NumPacksOra",
|
||||
"description": "Numero confezioni / Ora",
|
||||
"memAddr": "NumPacksOra",
|
||||
"tipoMem": "Real",
|
||||
"index": 0,
|
||||
"size": 0,
|
||||
"func": "AVG",
|
||||
"period": 50,
|
||||
"factor": 1
|
||||
},
|
||||
"PercRiemp": {
|
||||
"name": "PercRiemp",
|
||||
"description": "Percentuale riempimento carrelli",
|
||||
"memAddr": "PercRiemp",
|
||||
"tipoMem": "Real",
|
||||
"index": 0,
|
||||
"size": 0,
|
||||
"func": "AVG",
|
||||
"period": 50,
|
||||
"factor": 1
|
||||
},
|
||||
"L1_Batch": {
|
||||
"name": "L1_Batch",
|
||||
"description": "Curr Batch",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "L1_Batch",
|
||||
"index": 0,
|
||||
"size": 50,
|
||||
"func": "POINT",
|
||||
"period": 120,
|
||||
"factor": 1
|
||||
},
|
||||
"L2_Batch": {
|
||||
"name": "L2_Batch",
|
||||
"description": "Curr Batch",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "L2_Batch",
|
||||
"index": 0,
|
||||
"size": 50,
|
||||
"func": "POINT",
|
||||
"period": 120,
|
||||
"factor": 1
|
||||
},
|
||||
"L1_Grower": {
|
||||
"name": "L1_Grower",
|
||||
"description": "Grower Data",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "L1_Grower",
|
||||
"index": 0,
|
||||
"size": 50,
|
||||
"func": "POINT",
|
||||
"period": 120,
|
||||
"factor": 1
|
||||
},
|
||||
"L2_Grower": {
|
||||
"name": "L2_Grower",
|
||||
"description": "Grower Data",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "L2_Grower",
|
||||
"index": 0,
|
||||
"size": 50,
|
||||
"func": "POINT",
|
||||
"period": 120,
|
||||
"factor": 1
|
||||
},
|
||||
"L1_Variety": {
|
||||
"name": "L1_Variety",
|
||||
"description": "Variety Data",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "L1_Variety",
|
||||
"index": 0,
|
||||
"size": 50,
|
||||
"func": "POINT",
|
||||
"period": 120,
|
||||
"factor": 1
|
||||
},
|
||||
"L2_Variety": {
|
||||
"name": "L2_Variety",
|
||||
"description": "Variety Data",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "L2_Variety",
|
||||
"index": 0,
|
||||
"size": 50,
|
||||
"func": "POINT",
|
||||
"period": 120,
|
||||
"factor": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Accesso gestione sync DB x sync ICOEL --> MoonPro_ISF --> MoonPro_IS
|
||||
CNCTYPE=IcoelDb
|
||||
PING_MS_TIMEOUT=500
|
||||
;IOB_NAME=GIACO_ICOEL
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=ICOEL
|
||||
MODEL=Impianto Ciliegie Turi
|
||||
|
||||
[CNC]
|
||||
IP=192.168.137.11
|
||||
PORT=1443
|
||||
GETPRGNAME=false
|
||||
|
||||
[SERVER]
|
||||
MPIP=http://192.168.1.14
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDRAWTRANSF=/IOB/rawTransfJson/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
|
||||
[MEMORY]
|
||||
ADDR_READ=DB9999.DBB0
|
||||
ADDR_WRITE=DB9999.DBB0
|
||||
SIZE_READ=0
|
||||
SIZE_WRITE=0
|
||||
;BIT0=CONN
|
||||
;BIT1=DB60.DBB1
|
||||
;BIT2=PZCOUNT.STD.DB700.DBW22
|
||||
;BIT3=DB60.DBB3
|
||||
;BIT4=DB60.DBB4
|
||||
|
||||
|
||||
[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]
|
||||
AUTO_CHANGE_ODL=false
|
||||
CHANGE_ODL_MODE=TIME
|
||||
CHANGE_ODL_HOURS=24
|
||||
CHANGE_ODL_IDLE_MIN=5
|
||||
PZCOUNT_MODE=Icoel
|
||||
DISABLE_PZCOUNT=FALSE
|
||||
ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
DEM_FACT_DYN_DATA=5
|
||||
ENABLE_DATA_FILTER=TRUE
|
||||
ENABLE_CLI_RESTART=TRUE
|
||||
SyncStateDb=localhost\sqlexpress
|
||||
SyncStateUser=egalware
|
||||
SyncStatePwd=egalware2022
|
||||
SyncStateCTout=
|
||||
|
||||
; clock base (da 10ms)
|
||||
timerIntMs=20
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
PARAM_CONF=GIACO_ICOEL_003.json
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
|
||||
},
|
||||
"mMapRead": {
|
||||
"TotMerceProcTonn": {
|
||||
"name": "TotMerceProcTonn",
|
||||
"description": "Totale merce processata oggi su impianto (Tonn)",
|
||||
"memAddr": "TotMerceProcTonn",
|
||||
"tipoMem": "Real",
|
||||
"index": 0,
|
||||
"size": 0,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
},
|
||||
"TotMerceCaricTonn": {
|
||||
"name": "TotMerceCaricTonn",
|
||||
"description": "Totale merce caricata oggi su impianto (Tonn)",
|
||||
"memAddr": "TotMerceCaricTonn",
|
||||
"tipoMem": "Real",
|
||||
"index": 0,
|
||||
"size": 0,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Macchina pulitrice RobotService x Donati
|
||||
CNCTYPE=SIEMENS_NWSE
|
||||
PING_MS_TIMEOUT=500
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=NWS
|
||||
MODEL=Impianto Turi
|
||||
|
||||
[CNC]
|
||||
IP=192.168.19.10
|
||||
CPUTYPE=S71200
|
||||
RACK=0
|
||||
SLOT=0
|
||||
|
||||
[SERVER]
|
||||
MPIP=http://192.168.1.14
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
|
||||
[MEMORY]
|
||||
ADDR_READ=DB100.DBB0
|
||||
ADDR_WRITE=DB101.DBB0
|
||||
SIZE_READ=54
|
||||
SIZE_WRITE=8
|
||||
|
||||
|
||||
[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.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=STD.DB15.DBDW2
|
||||
DISABLE_PZCOUNT=TRUE
|
||||
ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
; gestione custom timer
|
||||
timerIntMs=30
|
||||
; GEST DATI DYN
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
; gestione scrittura string/char[]: true = string / false = char[]
|
||||
WRITE_PRE=TRUE
|
||||
; gestione emergenza forzata (ignora valore letto, mette sempre ARMED)
|
||||
EMERGENCY_BYPASS=true
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
PARAM_CONF=GIACO_NWSE.json
|
||||
; conf aree allarme
|
||||
ALARM_CONF=GIACO_NWSE_alarm.json
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
@@ -0,0 +1,212 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
"resetCountAcqua": {
|
||||
"name": "resetCountAcqua",
|
||||
"description": "Reset contatori acqua OSMOSI / DEPURAZIONE",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "DB101.DBB0",
|
||||
"index": 0,
|
||||
"size": 2
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"CondOsmosi": {
|
||||
"name": "CondOsmosi",
|
||||
"description": "Conducib. H2O Osmosi",
|
||||
"memAddr": "DB100.DBB40",
|
||||
"tipoMem": "Int",
|
||||
"index": 40,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
},
|
||||
"VolOsmosi": {
|
||||
"name": "VolOsmosi",
|
||||
"description": "Volume H2O Osmosi mc",
|
||||
"memAddr": "DB100.DBB42",
|
||||
"tipoMem": "Int",
|
||||
"index": 40,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
},
|
||||
"StatoOsmosi": {
|
||||
"name": "StatoOsmosi",
|
||||
"description": "Stato Osmosi Inversa",
|
||||
"memAddr": "DB100.DBB20",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 20,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Impianto in servizio"
|
||||
]
|
||||
},
|
||||
"TorbDepuraz": {
|
||||
"name": "TorbDepuraz",
|
||||
"description": "Torb. H2O Depurazione",
|
||||
"memAddr": "DB100.DBB44",
|
||||
"tipoMem": "Int",
|
||||
"index": 44,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
},
|
||||
"VolDepuraz": {
|
||||
"name": "VolDepuraz",
|
||||
"description": "Volume acqua Depurazione mc",
|
||||
"memAddr": "DB100.DBB46",
|
||||
"tipoMem": "Int",
|
||||
"index": 40,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
},
|
||||
"StatoDepurazione": {
|
||||
"name": "StatoDepurazione",
|
||||
"description": "Stato Depurazione",
|
||||
"memAddr": "DB100.DBB22",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 22,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Basso Livello",
|
||||
"Alto Livello"
|
||||
]
|
||||
},
|
||||
"TorbFiltri": {
|
||||
"name": "TorbFiltri",
|
||||
"description": "Torb. H2O Filtri",
|
||||
"memAddr": "DB100.DBB48",
|
||||
"tipoMem": "Int",
|
||||
"index": 44,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
},
|
||||
"StatoFiltro01": {
|
||||
"name": "StatoFiltro01",
|
||||
"description": "Stato Filtro 1",
|
||||
"memAddr": "DB100.DBB24",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 24,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Spazzola in salita",
|
||||
"Spazzola in discesa",
|
||||
"Valvola scarico Chiusa",
|
||||
"Valvola scarico Aperta",
|
||||
"Impianto in Servizio",
|
||||
"Impianto in Lavaggio"
|
||||
]
|
||||
},
|
||||
"StatoFiltro02": {
|
||||
"name": "StatoFiltro02",
|
||||
"description": "Stato Filtro 2",
|
||||
"memAddr": "DB100.DBB26",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 26,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Spazzola in salita",
|
||||
"Spazzola in discesa",
|
||||
"Valvola scarico Chiusa",
|
||||
"Valvola scarico Aperta",
|
||||
"Impianto in Servizio",
|
||||
"Impianto in Lavaggio"
|
||||
]
|
||||
},
|
||||
"StatoFiltro03": {
|
||||
"name": "StatoFiltro03",
|
||||
"description": "Stato Filtro 3",
|
||||
"memAddr": "DB100.DBB28",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 28,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Spazzola in salita",
|
||||
"Spazzola in discesa",
|
||||
"Valvola scarico Chiusa",
|
||||
"Valvola scarico Aperta",
|
||||
"Impianto in Servizio",
|
||||
"Impianto in Lavaggio"
|
||||
]
|
||||
},
|
||||
"StatoFiltro04": {
|
||||
"name": "StatoFiltro04",
|
||||
"description": "Stato Filtro 4",
|
||||
"memAddr": "DB100.DBB30",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 30,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Spazzola in salita",
|
||||
"Spazzola in discesa",
|
||||
"Valvola scarico Chiusa",
|
||||
"Valvola scarico Aperta",
|
||||
"Impianto in Servizio",
|
||||
"Impianto in Lavaggio"
|
||||
]
|
||||
},
|
||||
"StatoFiltro05": {
|
||||
"name": "StatoFiltro05",
|
||||
"description": "Stato Filtro 5",
|
||||
"memAddr": "DB100.DBB32",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 32,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Spazzola in salita",
|
||||
"Spazzola in discesa",
|
||||
"Valvola scarico Chiusa",
|
||||
"Valvola scarico Aperta",
|
||||
"Impianto in Servizio",
|
||||
"Impianto in Lavaggio"
|
||||
]
|
||||
},
|
||||
"StatoFiltro06": {
|
||||
"name": "StatoFiltro06",
|
||||
"description": "Stato Filtro 6",
|
||||
"memAddr": "DB100.DBB34",
|
||||
"tipoMem": "BitMap",
|
||||
"index": 34,
|
||||
"size": 2,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"decodeMap": [
|
||||
"Spazzola in salita",
|
||||
"Spazzola in discesa",
|
||||
"Valvola scarico Chiusa",
|
||||
"Valvola scarico Aperta",
|
||||
"Impianto in Servizio",
|
||||
"Impianto in Lavaggio"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
[
|
||||
{
|
||||
"description": "Allarmi Impianto Osmosi",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB0",
|
||||
"index": 0,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa ingresso",
|
||||
"Avaria pompa alta pressione",
|
||||
"Livello basso vasca osmosi",
|
||||
"Livello basso vasca acqua grezza",
|
||||
"Impianto in allarme",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"Allarme comunicazione con Gateway"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Impianto Depurazione",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB2",
|
||||
"index": 2,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa 1",
|
||||
"Avaria pompa 2",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"Allarme comunicazione con Gateway"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Filtro 1",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB4",
|
||||
"index": 4,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa",
|
||||
"Livello basso vasca",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Filtro 2",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB6",
|
||||
"index": 6,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa",
|
||||
"Livello basso vasca",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Filtro 3",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB8",
|
||||
"index": 8,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa",
|
||||
"Livello basso vasca",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Filtro 4",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB10",
|
||||
"index": 10,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa",
|
||||
"Livello basso vasca",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Filtro 5",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB12",
|
||||
"index": 12,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa",
|
||||
"Livello basso vasca",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Allarmi Filtro 6",
|
||||
"tipoMem": "Boolean",
|
||||
"memAddr": "DB100.DBB14",
|
||||
"index": 14,
|
||||
"size": 2,
|
||||
"messages": [
|
||||
"Avaria pompa",
|
||||
"Livello basso vasca",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -19,8 +19,7 @@ NAME=master
|
||||
;MPIP=192.168.1.14
|
||||
|
||||
; Server Steamware
|
||||
MPIP=192.168.1.14
|
||||
;MPIP=10.74.82.218
|
||||
MPIP=10.74.82.218
|
||||
MPURL=/MP/IO
|
||||
CMDREBO=/IOB/sendRebootGateway?GWIP=
|
||||
CMDIOB2CALL=/IOB/getIob2call?GWIP=
|
||||
@@ -29,56 +28,16 @@ CMDIOB2CALL=/IOB/getIob2call?GWIP=
|
||||
CLI_INST=SteamWareSim
|
||||
|
||||
[IOB]
|
||||
;--- TEST sul campo
|
||||
;STARTLIST=VL24
|
||||
;STARTLIST=3018,3019
|
||||
;STARTLIST=WPS
|
||||
|
||||
;SAET TEMPRA
|
||||
;STARTLIST=VL20
|
||||
|
||||
;COMUR DENTA
|
||||
;STARTLIST=VL21
|
||||
|
||||
;LASCO
|
||||
;STARTLIST=VL22
|
||||
|
||||
;PRESSOIL CEI
|
||||
;STARTLIST=VL23
|
||||
|
||||
;SAET FORNO
|
||||
;STARTLIST=VL24
|
||||
|
||||
;AUTOMAZIONE INGENIA
|
||||
;STARTLIST=VL25
|
||||
|
||||
; INTERCLAYS FORNO
|
||||
;STARTLIST=INTERCL_01
|
||||
|
||||
; INTERCLAYS MISCELA
|
||||
;STARTLIST=INTERCL_02
|
||||
|
||||
; IMI REMOSA
|
||||
;STARTLIST=IMI_50
|
||||
|
||||
;--- TEST sul campo
|
||||
; SIMULAZIONE verso server ufficio
|
||||
;STARTLIST=SIMUL_01,SIMUL_02,SIMUL_03,SIMUL_04
|
||||
;STARTLIST=TEST
|
||||
;STARTLIST=SIM_DP_01
|
||||
;STARTLIST=SIMUL_01
|
||||
;STARTLIST=1032
|
||||
;STARTLIST=PIZ03
|
||||
;STARTLIST=PIZ04
|
||||
;STARTLIST=OPC_UA
|
||||
;STARTLIST=FOV062
|
||||
;STARTLIST=FP_TR2
|
||||
;STARTLIST=SIM_PIZ03
|
||||
;STARTLIST=MECART_80
|
||||
;STARTLIST=PING
|
||||
;STARTLIST=PIZ09
|
||||
;STARTLIST=VL25
|
||||
;STARTLIST=SIMUL_03
|
||||
;STARTLIST=GIACO_CEDAX_01
|
||||
STARTLIST=GIACO_ICOEL_002
|
||||
;STARTLIST=GIACO_CEDAX_001
|
||||
;STARTLIST=GIACO_ICOEL_002
|
||||
;STARTLIST=GIACO_CENTERFRIGO
|
||||
;STARTLIST=GIACO_NWSE
|
||||
STARTLIST=SIMUL_01
|
||||
|
||||
MAXCNC=10
|
||||
@@ -43,10 +43,10 @@ MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
; gestione cambio ODL automatico (minuti minimi durata)
|
||||
MIN_DURATA_ODL=240
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 1 secondo)
|
||||
PER_BASE=10100
|
||||
; 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=1000|20
|
||||
SIM_ALARM=100|10
|
||||
SIM_MANU=50|6
|
||||
; indica gestione e simulazione bit 5 --> slow
|
||||
SIM_SLOW=3600|20
|
||||
|
||||
@@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0
|
||||
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=BIT
|
||||
ENABLE_PZ_RESET=TRUE
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=9500
|
||||
SIM_PZCNT=8|1
|
||||
SIM_ALARM=900|15
|
||||
|
||||
@@ -38,7 +38,7 @@ CHANGE_ODL_IDLE_MIN=0
|
||||
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=BIT
|
||||
ENABLE_PZ_RESET=TRUE
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=10400
|
||||
SIM_PZCNT=15|1
|
||||
SIM_ALARM=1000|20
|
||||
|
||||
@@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0
|
||||
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=BIT
|
||||
ENABLE_PZ_RESET=TRUE
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=10300
|
||||
SIM_PZCNT=13|1
|
||||
SIM_ALARM=1000|20
|
||||
|
||||
@@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0
|
||||
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=BIT
|
||||
ENABLE_PZ_RESET=TRUE
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=10200
|
||||
SIM_PZCNT=13|1
|
||||
SIM_ALARM=1000|20
|
||||
|
||||
@@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0
|
||||
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=BIT
|
||||
ENABLE_PZ_RESET=TRUE
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=9600
|
||||
SIM_PZCNT=13|1
|
||||
SIM_ALARM=1000|20
|
||||
|
||||
@@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0
|
||||
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=BIT
|
||||
ENABLE_PZ_RESET=TRUE
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=9900
|
||||
SIM_PZCNT=13|1
|
||||
SIM_ALARM=200|20
|
||||
|
||||
@@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=10
|
||||
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
|
||||
PZCOUNT_MODE=BIT
|
||||
ENABLE_PZ_RESET=TRUE
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=9800
|
||||
SIM_PZCNT=13|1
|
||||
SIM_ALARM=200|10
|
||||
|
||||
@@ -44,7 +44,7 @@ ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
MIN_DURATA_ODL=240
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 1 secondo)
|
||||
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
|
||||
PER_BASE=10500
|
||||
SIM_PZCNT=10|3
|
||||
SIM_ALARM=1000|20
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user