diff --git a/IOB-WIN-FILE-EXP/App.config b/IOB-WIN-FILE-EXP/App.config index 6cecacb..92b3dde 100644 --- a/IOB-WIN-FILE-EXP/App.config +++ b/IOB-WIN-FILE-EXP/App.config @@ -1,18 +1,20 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/IOB-WIN-FILE-EXP/Config/setup-MHT.json b/IOB-WIN-FILE-EXP/Config/setup-MHT.json new file mode 100644 index 0000000..a67ae84 --- /dev/null +++ b/IOB-WIN-FILE-EXP/Config/setup-MHT.json @@ -0,0 +1,74 @@ +{ + "confPLC": { + "ipAdrr": "192.168.214.1", + "tipoCpu": "S7300", + "rack": 0, + "slot": 2 + }, + "TriggerMemConf": "DB700.DBB0", + "parametersList": { + "DB700.DBB8": { + "Column": "Valore 1", + "Index": 1, + "MemConf": "DB700.DBB8", + "DataType": "word", + "memByteSize": 2 + }, + "DB700.DBB10": { + "Column": "Valore 2", + "Index": 2, + "MemConf": "DB700.DBB10", + "DataType": "word", + "memByteSize": 2 + }, + "DB700.DBB16": { + "Column": "Valore 3", + "Index": 3, + "MemConf": "DB700.DBB16", + "DataType": "dword", + "memByteSize": 4 + }, + "DB700.DBB20": { + "Column": "Valore 4", + "Index": 4, + "MemConf": "DB700.DBB20", + "DataType": "dword", + "memByteSize": 4 + }, + "DB700.DBB32": { + "Column": "Valore 5", + "Index": 5, + "MemConf": "DB700.DBB32", + "DataType": "real", + "memByteSize": 4 + }, + "DB700.DBB36": { + "Column": "Valore 6", + "Index": 6, + "MemConf": "DB700.DBB36", + "DataType": "real", + "memByteSize": 4 + }, + "DB700.DBB40": { + "Column": "Valore 7", + "Index": 7, + "MemConf": "DB700.DBB40", + "DataType": "real", + "memByteSize": 4 + }, + "DB700.DBB48": { + "Column": "Valore 8", + "Index": 8, + "MemConf": "DB700.DBB48", + "DataType": "string", + "memByteSize": 20 + } + //"parametersList": { + // "DB701.DBD142": { + // "Column": "Valore assoluto", + // "Index": 7, + // "MemConf": "DB701.DBD142", + // "DataType": "real" + // } + //} + } \ No newline at end of file diff --git a/IOB-WIN-FILE-EXP/Config/setup-Steamware.json b/IOB-WIN-FILE-EXP/Config/setup-Steamware.json new file mode 100644 index 0000000..8787b7f --- /dev/null +++ b/IOB-WIN-FILE-EXP/Config/setup-Steamware.json @@ -0,0 +1,67 @@ +{ + "confPLC": { + "ipAdrr": "192.168.0.102", + "tipoCpu": "S71500", + "rack": 0, + "slot": 1 + }, + "TriggerMemConf": "DB999.DBB0", + "parametersList": { + "DB999.DBB8": { + "Column": "Valore 1", + "Index": 1, + "MemConf": "DB999.DBB8", + "DataType": "word", + "memByteSize": 2 + }, + "DB999.DBB10": { + "Column": "Valore 2", + "Index": 2, + "MemConf": "DB999.DBB10", + "DataType": "word", + "memByteSize": 2 + }, + "DB999.DBB16": { + "Column": "Valore 3", + "Index": 3, + "MemConf": "DB999.DBB16", + "DataType": "dword", + "memByteSize": 4 + }, + "DB999.DBB20": { + "Column": "Valore 4", + "Index": 4, + "MemConf": "DB999.DBB20", + "DataType": "dword", + "memByteSize": 4 + }, + "DB999.DBB32": { + "Column": "Valore 5", + "Index": 5, + "MemConf": "DB999.DBB32", + "DataType": "real", + "memByteSize": 4 + }, + "DB999.DBB36": { + "Column": "Valore 6", + "Index": 6, + "MemConf": "DB999.DBB36", + "DataType": "real", + "memByteSize": 4 + }, + "DB999.DBB40": { + "Column": "Valore 7", + "Index": 7, + "MemConf": "DB999.DBB40", + "DataType": "real", + "memByteSize": 4 + }, + "DB999.DBB48": { + "Column": "Valore 8", + "Index": 8, + "MemConf": "DB999.DBB48", + "DataType": "string", + "memByteSize": 20 + } + } +} \ No newline at end of file diff --git a/IOB-WIN-FILE-EXP/Config/setup.json b/IOB-WIN-FILE-EXP/Config/setup.json new file mode 100644 index 0000000..8787b7f --- /dev/null +++ b/IOB-WIN-FILE-EXP/Config/setup.json @@ -0,0 +1,67 @@ +{ + "confPLC": { + "ipAdrr": "192.168.0.102", + "tipoCpu": "S71500", + "rack": 0, + "slot": 1 + }, + "TriggerMemConf": "DB999.DBB0", + "parametersList": { + "DB999.DBB8": { + "Column": "Valore 1", + "Index": 1, + "MemConf": "DB999.DBB8", + "DataType": "word", + "memByteSize": 2 + }, + "DB999.DBB10": { + "Column": "Valore 2", + "Index": 2, + "MemConf": "DB999.DBB10", + "DataType": "word", + "memByteSize": 2 + }, + "DB999.DBB16": { + "Column": "Valore 3", + "Index": 3, + "MemConf": "DB999.DBB16", + "DataType": "dword", + "memByteSize": 4 + }, + "DB999.DBB20": { + "Column": "Valore 4", + "Index": 4, + "MemConf": "DB999.DBB20", + "DataType": "dword", + "memByteSize": 4 + }, + "DB999.DBB32": { + "Column": "Valore 5", + "Index": 5, + "MemConf": "DB999.DBB32", + "DataType": "real", + "memByteSize": 4 + }, + "DB999.DBB36": { + "Column": "Valore 6", + "Index": 6, + "MemConf": "DB999.DBB36", + "DataType": "real", + "memByteSize": 4 + }, + "DB999.DBB40": { + "Column": "Valore 7", + "Index": 7, + "MemConf": "DB999.DBB40", + "DataType": "real", + "memByteSize": 4 + }, + "DB999.DBB48": { + "Column": "Valore 8", + "Index": 8, + "MemConf": "DB999.DBB48", + "DataType": "string", + "memByteSize": 20 + } + } +} \ No newline at end of file diff --git a/IOB-WIN-FILE-EXP/Constants.cs b/IOB-WIN-FILE-EXP/Constants.cs new file mode 100644 index 0000000..0a31790 --- /dev/null +++ b/IOB-WIN-FILE-EXP/Constants.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace MHT_Siemens +{ + public static class Constants + { + #region memorie configurate staticamente + + public const string RESOURCE_DIRECTORY = @"IOB.WIN.FileExp.Config."; + public const string CONFIG_PATH = RESOURCE_DIRECTORY + @"setup.json"; + + #endregion + } +} diff --git a/IOB-WIN-FILE-EXP/SiemensProxy.Designer.cs b/IOB-WIN-FILE-EXP/IOB-Exporter.Designer.cs similarity index 75% rename from IOB-WIN-FILE-EXP/SiemensProxy.Designer.cs rename to IOB-WIN-FILE-EXP/IOB-Exporter.Designer.cs index 665f81b..2468ee2 100644 --- a/IOB-WIN-FILE-EXP/SiemensProxy.Designer.cs +++ b/IOB-WIN-FILE-EXP/IOB-Exporter.Designer.cs @@ -1,6 +1,6 @@ namespace MHT_Siemens { - partial class SiemensProxy + partial class IOB_Exporter { /// /// Variabile di progettazione necessaria. @@ -28,16 +28,16 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SiemensProxy)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(IOB_Exporter)); this.txtCsvPath = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); + this.lblPlcIp = new System.Windows.Forms.Label(); this.txtIP = new System.Windows.Forms.TextBox(); this.txtSlot = new System.Windows.Forms.TextBox(); - this.label5 = new System.Windows.Forms.Label(); + this.lblPlcSlot = new System.Windows.Forms.Label(); this.txtRack = new System.Windows.Forms.TextBox(); - this.label4 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); + this.lblPlcRack = new System.Windows.Forms.Label(); + this.lblPlcCpu = new System.Windows.Forms.Label(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.tsslApp = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar(); @@ -54,7 +54,7 @@ this.txtCsvPath.Name = "txtCsvPath"; this.txtCsvPath.Size = new System.Drawing.Size(172, 20); this.txtCsvPath.TabIndex = 0; - this.txtCsvPath.Text = "c:\\zz\\prova1.csv"; + this.txtCsvPath.Text = "c:\\TMP\\OutputFile.csv"; // // label1 // @@ -65,14 +65,14 @@ this.label1.TabIndex = 1; this.label1.Text = "CSV File"; // - // label2 + // lblPlcIp // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(279, 24); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(42, 13); - this.label2.TabIndex = 2; - this.label2.Text = "IP Addr"; + this.lblPlcIp.AutoSize = true; + this.lblPlcIp.Location = new System.Drawing.Point(279, 24); + this.lblPlcIp.Name = "lblPlcIp"; + this.lblPlcIp.Size = new System.Drawing.Size(42, 13); + this.lblPlcIp.TabIndex = 2; + this.lblPlcIp.Text = "IP Addr"; // // txtIP // @@ -97,15 +97,15 @@ this.txtSlot.Text = "1"; this.txtSlot.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // - // label5 + // lblPlcSlot // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(462, 49); - this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(25, 13); - this.label5.TabIndex = 8; - this.label5.Text = "Slot"; + this.lblPlcSlot.AutoSize = true; + this.lblPlcSlot.Location = new System.Drawing.Point(462, 49); + this.lblPlcSlot.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.lblPlcSlot.Name = "lblPlcSlot"; + this.lblPlcSlot.Size = new System.Drawing.Size(25, 13); + this.lblPlcSlot.TabIndex = 8; + this.lblPlcSlot.Text = "Slot"; // // txtRack // @@ -119,34 +119,34 @@ this.txtRack.Text = "0"; this.txtRack.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; // - // label4 + // lblPlcRack // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(462, 23); - this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(33, 13); - this.label4.TabIndex = 9; - this.label4.Text = "Rack"; + this.lblPlcRack.AutoSize = true; + this.lblPlcRack.Location = new System.Drawing.Point(462, 23); + this.lblPlcRack.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.lblPlcRack.Name = "lblPlcRack"; + this.lblPlcRack.Size = new System.Drawing.Size(33, 13); + this.lblPlcRack.TabIndex = 9; + this.lblPlcRack.Text = "Rack"; // - // label3 + // lblPlcCpu // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(279, 49); - this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(56, 13); - this.label3.TabIndex = 7; - this.label3.Text = "CPU Type"; + this.lblPlcCpu.AutoSize = true; + this.lblPlcCpu.Location = new System.Drawing.Point(279, 49); + this.lblPlcCpu.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.lblPlcCpu.Name = "lblPlcCpu"; + this.lblPlcCpu.Size = new System.Drawing.Size(56, 13); + this.lblPlcCpu.TabIndex = 7; + this.lblPlcCpu.Text = "CPU Type"; // // statusStrip1 // this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsslApp, this.toolStripProgressBar1}); - this.statusStrip1.Location = new System.Drawing.Point(0, 236); + this.statusStrip1.Location = new System.Drawing.Point(0, 421); this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(555, 22); + this.statusStrip1.Size = new System.Drawing.Size(658, 22); this.statusStrip1.TabIndex = 12; this.statusStrip1.Text = "statusStrip1"; // @@ -183,30 +183,30 @@ this.txtLog.Location = new System.Drawing.Point(13, 82); this.txtLog.Multiline = true; this.txtLog.Name = "txtLog"; - this.txtLog.Size = new System.Drawing.Size(530, 151); + this.txtLog.Size = new System.Drawing.Size(633, 336); this.txtLog.TabIndex = 14; this.txtLog.Text = "..."; // - // SiemensProxy + // IOB_Exporter // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(555, 258); + this.ClientSize = new System.Drawing.Size(658, 443); this.Controls.Add(this.txtLog); this.Controls.Add(this.txtCpuType); this.Controls.Add(this.statusStrip1); this.Controls.Add(this.txtSlot); - this.Controls.Add(this.label5); + this.Controls.Add(this.lblPlcSlot); this.Controls.Add(this.txtRack); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); + this.Controls.Add(this.lblPlcRack); + this.Controls.Add(this.lblPlcCpu); this.Controls.Add(this.txtIP); - this.Controls.Add(this.label2); + this.Controls.Add(this.lblPlcIp); this.Controls.Add(this.label1); this.Controls.Add(this.txtCsvPath); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "SiemensProxy"; - this.Text = "SiemensProxy"; + this.Name = "IOB_Exporter"; + this.Text = "MAPO IOB Exporter"; this.statusStrip1.ResumeLayout(false); this.statusStrip1.PerformLayout(); this.ResumeLayout(false); @@ -218,13 +218,13 @@ private System.Windows.Forms.TextBox txtCsvPath; private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label lblPlcIp; private System.Windows.Forms.TextBox txtIP; private System.Windows.Forms.TextBox txtSlot; - private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label lblPlcSlot; private System.Windows.Forms.TextBox txtRack; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label lblPlcRack; + private System.Windows.Forms.Label lblPlcCpu; private System.Windows.Forms.StatusStrip statusStrip1; private System.Windows.Forms.ToolStripStatusLabel tsslApp; private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar1; diff --git a/IOB-WIN-FILE-EXP/SiemensProxy.cs b/IOB-WIN-FILE-EXP/IOB-Exporter.cs similarity index 95% rename from IOB-WIN-FILE-EXP/SiemensProxy.cs rename to IOB-WIN-FILE-EXP/IOB-Exporter.cs index 800410b..9e3b574 100644 --- a/IOB-WIN-FILE-EXP/SiemensProxy.cs +++ b/IOB-WIN-FILE-EXP/IOB-Exporter.cs @@ -11,12 +11,12 @@ using System.Windows.Forms; namespace MHT_Siemens { - public partial class SiemensProxy : Form + public partial class IOB_Exporter : Form { #region oggetti di base /// - /// configurazioen principale proxy + /// configurazione principale proxy /// protected dataProxy currDataProxy; /// @@ -63,7 +63,7 @@ namespace MHT_Siemens #region inizializazione - public SiemensProxy() + public IOB_Exporter() { InitializeComponent(); myInit(); @@ -73,6 +73,9 @@ namespace MHT_Siemens { lg = LogManager.GetCurrentClassLogger(); tsslApp.Text = $"{utils.CRS("appName")}"; + fixVisibility(); + + prevValues = new Dictionary(); currValues = new Dictionary(); loadMemConf(); @@ -81,6 +84,23 @@ namespace MHT_Siemens startSampleTimer(); startCheckTimer(); } + + private void fixVisibility() + { + bool showParams = false; +#if DEBUG + showParams = true; +#endif + lblPlcIp.Visible = showParams; + lblPlcCpu.Visible = showParams; + lblPlcRack.Visible = showParams; + lblPlcSlot.Visible = showParams; + txtIP.Visible = showParams; + txtCpuType.Visible = showParams; + txtRack.Visible = showParams; + txtSlot.Visible = showParams; + } + private void startUiTimer() { uiTimer.Interval = 20; @@ -174,7 +194,7 @@ namespace MHT_Siemens currDataProxy = new dataProxy() { csvFilePath = @"c:\zz\prova1.csv", - csvHasHeader = true, + csvFileEnableWrite = true, csvSeparator = ';', confPLC = new connParam() { @@ -201,10 +221,10 @@ namespace MHT_Siemens txtSlot.Text = $"{currDataProxy.confPLC.slot}"; } - #endregion +#endregion - #region metodi ricorrenti +#region metodi ricorrenti private void UiTimer_Tick(object sender, EventArgs e) @@ -251,9 +271,9 @@ namespace MHT_Siemens - #endregion +#endregion - #region helper methods +#region helper methods /// /// salva i dati sul PLC @@ -340,7 +360,7 @@ namespace MHT_Siemens { string currentLine; //se ha header salto la prima riga... - if (currDataProxy.csvHasHeader) + if (currDataProxy.csvFileEnableWrite) { if ((currentLine = sr.ReadLine()) == null) { @@ -506,6 +526,6 @@ namespace MHT_Siemens appenRTLog(contenuto); } - #endregion +#endregion } } diff --git a/IOB-WIN-FILE-EXP/SiemensProxy.resx b/IOB-WIN-FILE-EXP/IOB-Exporter.resx similarity index 100% rename from IOB-WIN-FILE-EXP/SiemensProxy.resx rename to IOB-WIN-FILE-EXP/IOB-Exporter.resx diff --git a/IOB-WIN-FILE-EXP/IOB-WIN-FILE-EXP.csproj b/IOB-WIN-FILE-EXP/IOB.WIN.FileExp.csproj similarity index 93% rename from IOB-WIN-FILE-EXP/IOB-WIN-FILE-EXP.csproj rename to IOB-WIN-FILE-EXP/IOB.WIN.FileExp.csproj index 333de78..534ce29 100644 --- a/IOB-WIN-FILE-EXP/IOB-WIN-FILE-EXP.csproj +++ b/IOB-WIN-FILE-EXP/IOB.WIN.FileExp.csproj @@ -65,13 +65,14 @@ + - + Form - - SiemensProxy.cs + + IOB-Exporter.cs @@ -95,8 +96,8 @@ PreserveNewest - - SiemensProxy.cs + + IOB-Exporter.cs Designer @@ -111,9 +112,9 @@ Settings.settings True - + PreserveNewest - + diff --git a/IOB-WIN-FILE-EXP/Program.cs b/IOB-WIN-FILE-EXP/Program.cs index 387ac72..85fd6c7 100644 --- a/IOB-WIN-FILE-EXP/Program.cs +++ b/IOB-WIN-FILE-EXP/Program.cs @@ -16,7 +16,7 @@ namespace MHT_Siemens { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new SiemensProxy()); + Application.Run(new IOB_Exporter()); } } } diff --git a/IOB-WIN-FILE-EXP/dataProxy.cs b/IOB-WIN-FILE-EXP/dataProxy.cs index 0b9beaa..8db5694 100644 --- a/IOB-WIN-FILE-EXP/dataProxy.cs +++ b/IOB-WIN-FILE-EXP/dataProxy.cs @@ -11,24 +11,16 @@ namespace MHT_Siemens /// public class dataProxy { - /// - /// Nome file da osservare - /// - public string csvFilePath { get; set; } = ""; - /// - /// Indica se il CSV abbia intestazione - /// - public bool csvHasHeader { get; set; } = true; - /// - /// Indica se il CSV abbia intestazione - /// - public char csvSeparator { get; set; } = ';'; /// /// Configurazione PLC /// public connParam confPLC { get; set; } /// - /// Elenco parametri + /// Area memoria da usare come trigger x scrittura + /// + public string TriggerMemConf { get; set; } = ""; + /// + /// Elenco parametri da salvare /// public Dictionary parametersList { get; set; } = new Dictionary(); } @@ -47,12 +39,16 @@ namespace MHT_Siemens /// public int Index { get; set; } = -1; /// - /// Area memoria in cui inserire i dati + /// Area memoria da cui leggere i dati /// public string MemConf { get; set; } = ""; /// /// Tipo di dati /// public string DataType { get; set; } = ""; + /// + /// Dimensione memoria in Byte + /// + public int memByteSize { get; set; } = 1; } } diff --git a/IOB-WIN-FILE-EXP/setup-MHT.json b/IOB-WIN-FILE-EXP/setup-MHT.json deleted file mode 100644 index d36fa83..0000000 --- a/IOB-WIN-FILE-EXP/setup-MHT.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "csvFilePath": "c:\\zz\\prova1.csv", - "csvHasHeader": true, - "csvSeparator": ";", - "confPLC": { - "ipAdrr": "192.168.214.1", - "tipoCpu": "S7300", - "rack": 0, - "slot": 2 - }, - "parametersList": { - "DB701.DBD142": { - "Column": "Valore assoluto", - "Index": 7, - "MemConf": "DB701.DBD142", - "DataType": "real" - } - } -} \ No newline at end of file diff --git a/IOB-WIN-FILE-EXP/setup-Steamware.json b/IOB-WIN-FILE-EXP/setup-Steamware.json deleted file mode 100644 index 49e917b..0000000 --- a/IOB-WIN-FILE-EXP/setup-Steamware.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "csvFilePath": "c:\\zz\\prova1.csv", - "csvHasHeader": true, - "csvSeparator": ";", - "confPLC": { - "ipAdrr": "192.168.0.102", - "tipoCpu": "S71500", - "rack": 0, - "slot": 1 - }, - "parametersList": { - "DB999.DBD32": { - "Column": "Valore assoluto", - "Index": 7, - "MemConf": "DB999.DBD32", - "DataType": "real" - } - } -} \ No newline at end of file diff --git a/IOB-WIN-FILE-EXP/setup.json b/IOB-WIN-FILE-EXP/setup.json deleted file mode 100644 index 49e917b..0000000 --- a/IOB-WIN-FILE-EXP/setup.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "csvFilePath": "c:\\zz\\prova1.csv", - "csvHasHeader": true, - "csvSeparator": ";", - "confPLC": { - "ipAdrr": "192.168.0.102", - "tipoCpu": "S71500", - "rack": 0, - "slot": 1 - }, - "parametersList": { - "DB999.DBD32": { - "Column": "Valore assoluto", - "Index": 7, - "MemConf": "DB999.DBD32", - "DataType": "real" - } - } -} \ No newline at end of file diff --git a/IOB-WIN-FILE-EXP.sln b/IOB.WIN.Adapters.sln similarity index 86% rename from IOB-WIN-FILE-EXP.sln rename to IOB.WIN.Adapters.sln index 2ca48a5..3ddfcfc 100644 --- a/IOB-WIN-FILE-EXP.sln +++ b/IOB.WIN.Adapters.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30002.166 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-FILE-EXP", "IOB-WIN-FILE-EXP\IOB-WIN-FILE-EXP.csproj", "{958CB938-3860-49D3-8B16-15ED0E9FE2FB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB.WIN.FileExp", "IOB-WIN-FILE-EXP\IOB.WIN.FileExp.csproj", "{958CB938-3860-49D3-8B16-15ED0E9FE2FB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/README.md b/README.md index 2cba601..c230712 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ # MAPO IOB WIN File Exp -Adapter MAPO IOB WIn per l'export in formato CSV da PLC \ No newline at end of file +Adapter MAPO IOB Win per l'export in formato CSV da PLC + +## Versioni + +Vers | Data | Note +---------|----------|--------- + 1.0.* | 2020.07.02 | Prima release per Torri MTH x sostituzione vecchio sw con export 8 variabili CABLATE + +## Terminologia + + +Termine | Descrizione +---------|---------- +**PLC** | Generico PLC di comunicazione (Es SIEMENS, ...) +Adapter | Software dedicato a interazione con PLC + +## Descrizione + +Macrofunzionalità + +* Gestione lettura periodica da PLC (SIEMENS x partire) +* Verifica periodica evento (bit segnalazione richiesta salvataggio) +* Lettura memorie e salvataggio su CSV dei dati cablati (conf in ) \ No newline at end of file diff --git a/README.pdf b/README.pdf new file mode 100644 index 0000000..99de5cc Binary files /dev/null and b/README.pdf differ