diff --git a/Test-S7/TestMainForm.Designer.cs b/Test-S7/TestMainForm.Designer.cs
index 4ba99d7d..a16dbd78 100644
--- a/Test-S7/TestMainForm.Designer.cs
+++ b/Test-S7/TestMainForm.Designer.cs
@@ -37,7 +37,7 @@
this.label3 = new System.Windows.Forms.Label();
this.txtMemSize = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.btnRead = new System.Windows.Forms.Button();
+ this.btnReadByte = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.txtOut = new System.Windows.Forms.TextBox();
@@ -51,19 +51,22 @@
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.tslConn = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
- this.tslRTime = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
+ this.tslRTime = new System.Windows.Forms.ToolStripStatusLabel();
this.groupBox4 = new System.Windows.Forms.GroupBox();
- this.txtWriteAddr1 = new System.Windows.Forms.TextBox();
- this.label7 = new System.Windows.Forms.Label();
+ this.btnStrWrite = new System.Windows.Forms.Button();
+ this.btnNumWrite = new System.Windows.Forms.Button();
+ this.txtWriteVal2 = new System.Windows.Forms.TextBox();
+ this.label9 = new System.Windows.Forms.Label();
this.txtWriteVal1 = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
- this.label9 = new System.Windows.Forms.Label();
- this.txtWriteVal2 = new System.Windows.Forms.TextBox();
- this.btnNumWrite = new System.Windows.Forms.Button();
- this.btnStrWrite = new System.Windows.Forms.Button();
- this.label10 = new System.Windows.Forms.Label();
this.txtWriteAddr2 = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.txtWriteAddr1 = new System.Windows.Forms.TextBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.btnReadWord = new System.Windows.Forms.Button();
+ this.btnReadString = new System.Windows.Forms.Button();
+ this.btnReadDWord = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
@@ -127,7 +130,7 @@
//
this.txtMemArea.Location = new System.Drawing.Point(143, 21);
this.txtMemArea.Name = "txtMemArea";
- this.txtMemArea.Size = new System.Drawing.Size(98, 22);
+ this.txtMemArea.Size = new System.Drawing.Size(130, 22);
this.txtMemArea.TabIndex = 4;
this.txtMemArea.Text = "DB700.DBD0";
this.txtMemArea.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
@@ -146,7 +149,7 @@
//
this.txtMemSize.Location = new System.Drawing.Point(143, 78);
this.txtMemSize.Name = "txtMemSize";
- this.txtMemSize.Size = new System.Drawing.Size(98, 22);
+ this.txtMemSize.Size = new System.Drawing.Size(130, 22);
this.txtMemSize.TabIndex = 6;
this.txtMemSize.Text = "208";
this.txtMemSize.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
@@ -155,7 +158,10 @@
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.groupBox1.Controls.Add(this.btnRead);
+ this.groupBox1.Controls.Add(this.btnReadString);
+ this.groupBox1.Controls.Add(this.btnReadDWord);
+ this.groupBox1.Controls.Add(this.btnReadWord);
+ this.groupBox1.Controls.Add(this.btnReadByte);
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Controls.Add(this.txtMemArea);
this.groupBox1.Controls.Add(this.txtMemSize);
@@ -168,15 +174,15 @@
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Memoria: READ param";
//
- // btnRead
+ // btnReadByte
//
- this.btnRead.Location = new System.Drawing.Point(279, 21);
- this.btnRead.Name = "btnRead";
- this.btnRead.Size = new System.Drawing.Size(101, 78);
- this.btnRead.TabIndex = 9;
- this.btnRead.Text = "READ";
- this.btnRead.UseVisualStyleBackColor = true;
- this.btnRead.Click += new System.EventHandler(this.btnRead_Click);
+ this.btnReadByte.Location = new System.Drawing.Point(172, 47);
+ this.btnReadByte.Name = "btnReadByte";
+ this.btnReadByte.Size = new System.Drawing.Size(101, 25);
+ this.btnReadByte.TabIndex = 9;
+ this.btnReadByte.Text = "READ Byte";
+ this.btnReadByte.UseVisualStyleBackColor = true;
+ this.btnReadByte.Click += new System.EventHandler(this.btnReadByte_Click);
//
// textBox1
//
@@ -186,9 +192,9 @@
this.textBox1.Location = new System.Drawing.Point(6, 44);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
- this.textBox1.Size = new System.Drawing.Size(234, 33);
+ this.textBox1.Size = new System.Drawing.Size(133, 33);
this.textBox1.TabIndex = 8;
- this.textBox1.Text = "Indicare tipo memoria (es DBD) e size del tipo";
+ this.textBox1.Text = "Indicare tipo memoria e size del tipo";
//
// groupBox2
//
@@ -320,17 +326,17 @@
this.toolStripStatusLabel1.Size = new System.Drawing.Size(13, 20);
this.toolStripStatusLabel1.Text = "|";
//
+ // toolStripProgressBar1
+ //
+ this.toolStripProgressBar1.Name = "toolStripProgressBar1";
+ this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 19);
+ //
// tslRTime
//
this.tslRTime.Name = "tslRTime";
this.tslRTime.Size = new System.Drawing.Size(37, 20);
this.tslRTime.Text = "...ms";
//
- // toolStripProgressBar1
- //
- this.toolStripProgressBar1.Name = "toolStripProgressBar1";
- this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 19);
- //
// groupBox4
//
this.groupBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@@ -352,13 +358,87 @@
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Memoria: WRITE param";
//
+ // btnStrWrite
+ //
+ this.btnStrWrite.Location = new System.Drawing.Point(799, 24);
+ this.btnStrWrite.Name = "btnStrWrite";
+ this.btnStrWrite.Size = new System.Drawing.Size(35, 23);
+ this.btnStrWrite.TabIndex = 10;
+ this.btnStrWrite.Text = "W";
+ this.btnStrWrite.UseVisualStyleBackColor = true;
+ this.btnStrWrite.Click += new System.EventHandler(this.btnStrWrite_Click);
+ //
+ // btnNumWrite
+ //
+ this.btnNumWrite.Location = new System.Drawing.Point(322, 24);
+ this.btnNumWrite.Name = "btnNumWrite";
+ this.btnNumWrite.Size = new System.Drawing.Size(38, 23);
+ this.btnNumWrite.TabIndex = 10;
+ this.btnNumWrite.Text = "W";
+ this.btnNumWrite.UseVisualStyleBackColor = true;
+ this.btnNumWrite.Click += new System.EventHandler(this.btnNumWrite_Click);
+ //
+ // txtWriteVal2
+ //
+ this.txtWriteVal2.Location = new System.Drawing.Point(612, 24);
+ this.txtWriteVal2.Name = "txtWriteVal2";
+ this.txtWriteVal2.Size = new System.Drawing.Size(187, 22);
+ this.txtWriteVal2.TabIndex = 8;
+ this.txtWriteVal2.Text = "PROVA";
+ this.txtWriteVal2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Location = new System.Drawing.Point(570, 27);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(36, 17);
+ this.label9.TabIndex = 9;
+ this.label9.Text = "STR";
+ //
+ // txtWriteVal1
+ //
+ this.txtWriteVal1.Location = new System.Drawing.Point(237, 24);
+ this.txtWriteVal1.Name = "txtWriteVal1";
+ this.txtWriteVal1.Size = new System.Drawing.Size(85, 22);
+ this.txtWriteVal1.TabIndex = 8;
+ this.txtWriteVal1.Text = "987654321";
+ this.txtWriteVal1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Location = new System.Drawing.Point(197, 27);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(39, 17);
+ this.label8.TabIndex = 9;
+ this.label8.Text = "NUM";
+ //
+ // txtWriteAddr2
+ //
+ this.txtWriteAddr2.Location = new System.Drawing.Point(448, 24);
+ this.txtWriteAddr2.Name = "txtWriteAddr2";
+ this.txtWriteAddr2.Size = new System.Drawing.Size(116, 22);
+ this.txtWriteAddr2.TabIndex = 6;
+ this.txtWriteAddr2.Text = "DB700.DBB44";
+ this.txtWriteAddr2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Location = new System.Drawing.Point(390, 27);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(59, 17);
+ this.label10.TabIndex = 7;
+ this.label10.Text = "ADDR 2";
+ //
// txtWriteAddr1
//
this.txtWriteAddr1.Location = new System.Drawing.Point(71, 24);
this.txtWriteAddr1.Name = "txtWriteAddr1";
- this.txtWriteAddr1.Size = new System.Drawing.Size(98, 22);
+ this.txtWriteAddr1.Size = new System.Drawing.Size(123, 22);
this.txtWriteAddr1.TabIndex = 6;
- this.txtWriteAddr1.Text = "DB700.DBD66";
+ this.txtWriteAddr1.Text = "DB700.DBW160";
this.txtWriteAddr1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// label7
@@ -370,79 +450,36 @@
this.label7.TabIndex = 7;
this.label7.Text = "ADDR 1";
//
- // txtWriteVal1
+ // btnReadWord
//
- this.txtWriteVal1.Location = new System.Drawing.Point(220, 24);
- this.txtWriteVal1.Name = "txtWriteVal1";
- this.txtWriteVal1.Size = new System.Drawing.Size(85, 22);
- this.txtWriteVal1.TabIndex = 8;
- this.txtWriteVal1.Text = "987654321";
- this.txtWriteVal1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.btnReadWord.Location = new System.Drawing.Point(279, 20);
+ this.btnReadWord.Name = "btnReadWord";
+ this.btnReadWord.Size = new System.Drawing.Size(101, 25);
+ this.btnReadWord.TabIndex = 10;
+ this.btnReadWord.Text = "READ Word";
+ this.btnReadWord.UseVisualStyleBackColor = true;
+ this.btnReadWord.Click += new System.EventHandler(this.btnReadWord_Click);
//
- // label8
+ // btnReadString
//
- this.label8.AutoSize = true;
- this.label8.Location = new System.Drawing.Point(175, 27);
- this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(39, 17);
- this.label8.TabIndex = 9;
- this.label8.Text = "NUM";
+ this.btnReadString.Location = new System.Drawing.Point(279, 75);
+ this.btnReadString.Name = "btnReadString";
+ this.btnReadString.Size = new System.Drawing.Size(101, 25);
+ this.btnReadString.TabIndex = 11;
+ this.btnReadString.Text = "READ String";
+ this.btnReadString.UseVisualStyleBackColor = true;
+ this.btnReadString.Click += new System.EventHandler(this.btnReadString_Click);
//
- // label9
+ // btnReadDWord
//
- this.label9.AutoSize = true;
- this.label9.Location = new System.Drawing.Point(570, 27);
- this.label9.Name = "label9";
- this.label9.Size = new System.Drawing.Size(36, 17);
- this.label9.TabIndex = 9;
- this.label9.Text = "STR";
- //
- // txtWriteVal2
- //
- this.txtWriteVal2.Location = new System.Drawing.Point(612, 24);
- this.txtWriteVal2.Name = "txtWriteVal2";
- this.txtWriteVal2.Size = new System.Drawing.Size(187, 22);
- this.txtWriteVal2.TabIndex = 8;
- this.txtWriteVal2.Text = "PROVA";
- this.txtWriteVal2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // btnNumWrite
- //
- this.btnNumWrite.Location = new System.Drawing.Point(305, 24);
- this.btnNumWrite.Name = "btnNumWrite";
- this.btnNumWrite.Size = new System.Drawing.Size(38, 23);
- this.btnNumWrite.TabIndex = 10;
- this.btnNumWrite.Text = "W";
- this.btnNumWrite.UseVisualStyleBackColor = true;
- this.btnNumWrite.Click += new System.EventHandler(this.btnNumWrite_Click);
- //
- // btnStrWrite
- //
- this.btnStrWrite.Location = new System.Drawing.Point(799, 24);
- this.btnStrWrite.Name = "btnStrWrite";
- this.btnStrWrite.Size = new System.Drawing.Size(35, 23);
- this.btnStrWrite.TabIndex = 10;
- this.btnStrWrite.Text = "W";
- this.btnStrWrite.UseVisualStyleBackColor = true;
- this.btnStrWrite.Click += new System.EventHandler(this.btnStrWrite_Click);
- //
- // label10
- //
- this.label10.AutoSize = true;
- this.label10.Location = new System.Drawing.Point(401, 27);
- this.label10.Name = "label10";
- this.label10.Size = new System.Drawing.Size(59, 17);
- this.label10.TabIndex = 7;
- this.label10.Text = "ADDR 2";
- //
- // txtWriteAddr2
- //
- this.txtWriteAddr2.Location = new System.Drawing.Point(466, 24);
- this.txtWriteAddr2.Name = "txtWriteAddr2";
- this.txtWriteAddr2.Size = new System.Drawing.Size(98, 22);
- this.txtWriteAddr2.TabIndex = 6;
- this.txtWriteAddr2.Text = "DB700.DBB44";
- this.txtWriteAddr2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.btnReadDWord.Location = new System.Drawing.Point(279, 47);
+ this.btnReadDWord.Name = "btnReadDWord";
+ this.btnReadDWord.Size = new System.Drawing.Size(101, 25);
+ this.btnReadDWord.TabIndex = 10;
+ this.btnReadDWord.Text = "READ DW";
+ this.btnReadDWord.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage;
+ this.btnReadDWord.UseVisualStyleBackColor = true;
+ this.btnReadDWord.Click += new System.EventHandler(this.btnReadDWord_Click);
//
// TestMainForm
//
@@ -492,7 +529,7 @@
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBox1;
- private System.Windows.Forms.Button btnRead;
+ private System.Windows.Forms.Button btnReadByte;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel tslConn;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
@@ -509,6 +546,9 @@
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox txtWriteAddr2;
private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.Button btnReadString;
+ private System.Windows.Forms.Button btnReadWord;
+ private System.Windows.Forms.Button btnReadDWord;
}
}
diff --git a/Test-S7/TestMainForm.cs b/Test-S7/TestMainForm.cs
index 5074302c..7d967499 100644
--- a/Test-S7/TestMainForm.cs
+++ b/Test-S7/TestMainForm.cs
@@ -112,10 +112,129 @@ namespace Test_S7
showOut(titolo, contenuto);
}
}
-
- private void eseguiLettura()
+ ///
+ /// Esecuzione lettura!
+ ///
+ private void eseguiLetturaByte()
{
sw.Restart();
+ if (testCncConn())
+ {
+ // decodifico memoria...
+ memAddress memoria = new memAddress(txtMemArea.Text);
+ int numByte = 1;
+ int.TryParse(txtMemSize.Text, out numByte);
+ Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte);
+ titolo = string.Format("READ BLOCK MEM BYTE: {0} --> {1} byte", txtMemArea.Text, numByte);
+ contenuto = "";
+ string byteVal = "";
+ for (int i = 0; i < memByteRead.Length; i++)
+ {
+ byteVal = Convert.ToString(memByteRead[i], 2).PadLeft(8, '0');
+ contenuto += string.Format("B{0:000}: {1} | {2}{3}", i, byteVal, memByteRead[i], Environment.NewLine);
+ }
+ showOut(titolo, contenuto);
+ }
+ sw.Stop();
+ tslRTime.Text = string.Format("{0}", sw.Elapsed);
+ }
+ ///
+ /// Esecuzione lettura WORD!
+ ///
+ private void eseguiLetturaWord()
+ {
+ sw.Restart();
+ if (testCncConn())
+ {
+ // decodifico memoria...
+ memAddress memoria = new memAddress(txtMemArea.Text);
+ int numByte = 1;
+ int.TryParse(txtMemSize.Text, out numByte);
+ Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte);
+ titolo = string.Format("READ BLOCK MEM WORD: {0} --> {1} byte", txtMemArea.Text, numByte);
+ contenuto = "";
+ ushort shortVal = 0;
+ string byteValA = "";
+ string byteValB = "";
+ for (int i = 0; i < memByteRead.Length / 2; i++)
+ {
+ byteValA = Convert.ToString(memByteRead[i], 2).PadLeft(8, '0');
+ byteValB = Convert.ToString(memByteRead[i + 1], 2).PadLeft(8, '0');
+ shortVal = S7.Net.Types.Word.FromByteArray(memByteRead.Skip(2 * i).Take(2).ToArray());
+ contenuto += string.Format("W{0:000}: {1} | {2}-{3}{4}", i, shortVal, byteValA, byteValB, Environment.NewLine);
+ }
+ showOut(titolo, contenuto);
+ }
+ sw.Stop();
+ tslRTime.Text = string.Format("{0}", sw.Elapsed);
+ }
+ ///
+ /// Esecuzione lettura DWORD!
+ ///
+ private void eseguiLetturaDWord()
+ {
+ sw.Restart();
+ if (testCncConn())
+ {
+ // decodifico memoria...
+ memAddress memoria = new memAddress(txtMemArea.Text);
+ int numByte = 1;
+ int.TryParse(txtMemSize.Text, out numByte);
+ Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte);
+ titolo = string.Format("READ BLOCK MEM WORD: {0} --> {1} byte", txtMemArea.Text, numByte);
+ contenuto = "";
+ uint intVal = 0;
+ string byteValA = "";
+ string byteValB = "";
+ string byteValC = "";
+ string byteValD = "";
+ for (int i = 0; i < memByteRead.Length / 4; i++)
+ {
+ byteValA = Convert.ToString(memByteRead[i], 2).PadLeft(8, '0');
+ byteValB = Convert.ToString(memByteRead[i + 1], 2).PadLeft(8, '0');
+ byteValC = Convert.ToString(memByteRead[i + 2], 2).PadLeft(8, '0');
+ byteValD = Convert.ToString(memByteRead[i + 3], 2).PadLeft(8, '0');
+ intVal = S7.Net.Types.DWord.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray());
+ contenuto += string.Format("W{0:000}: {1} | {2}-{3}-{4}-{5}{6}", i, intVal, byteValA, byteValB, byteValC, byteValD, Environment.NewLine);
+ }
+ showOut(titolo, contenuto);
+ }
+ sw.Stop();
+ tslRTime.Text = string.Format("{0}", sw.Elapsed);
+ }
+ ///
+ /// Esecuzione lettura tipo STRING!
+ ///
+ private void eseguiLetturaString()
+ {
+ sw.Restart();
+ if (testCncConn())
+ {
+ // decodifico memoria...
+ memAddress memoria = new memAddress(txtMemArea.Text);
+ int numByte = 1;
+ int.TryParse(txtMemSize.Text, out numByte);
+ Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte);
+ titolo = string.Format("READ BLOCK MEM STRING: {0} --> {1} byte", txtMemArea.Text, numByte);
+ contenuto = "";
+ string byteVal = "";
+ for (int i = 0; i < memByteRead.Length; i++)
+ {
+ byteVal = Convert.ToString(memByteRead[i], 2).PadLeft(8, '0');
+ contenuto += string.Format("B{0:000}: {1} | {2}{3}", i, byteVal, memByteRead[i], Environment.NewLine);
+ }
+ showOut(titolo, contenuto);
+ }
+ sw.Stop();
+ tslRTime.Text = string.Format("{0}", sw.Elapsed);
+ }
+ ///
+ /// Test connessione CNC
+ ///
+ ///
+ private bool testCncConn()
+ {
+ bool answ = false;
IPStatus pingStatus = testPing();
// se passa il ping faccio il resto...
if (pingStatus != IPStatus.Success)
@@ -126,53 +245,6 @@ namespace Test_S7
}
else
{
-#if false
- //using (var plc = new Plc(parametri.tipoCpu, parametri.ipAdrr, parametri.rack, parametri.slot))
- //using (var plc = currPLC)
- //{
- var plc = currPLC;
- if (!plc.IsConnected) plc.Open();
- if (!plc.IsAvailable)
- {
-
- titolo = "Errore Disponibilità";
- contenuto = string.Format("{0} | {1}", plc.LastErrorCode, plc.LastErrorString);
- plc.ClearLastError();
- showOut(titolo, contenuto);
- }
- else
- {
- if (!plc.IsConnected)
- {
- titolo = "Errore connessione";
- contenuto = string.Format("{0} | {1}", plc.LastErrorCode, plc.LastErrorString);
- plc.ClearLastError();
- showOut(titolo, contenuto);
- tslConn.Text = "NO Connection";
- }
- else
- {
- tslConn.Text = "Connection OK";
-
-
- // decodifico memoria...
- memAddress memoria = new memAddress(txtMemArea.Text);
- int numByte = 1;
- int.TryParse(txtMemSize.Text, out numByte);
- Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte);
- titolo = string.Format("READ BLOCK MEM: {0} --> {1} byte", txtMemArea.Text, numByte);
- contenuto = "";
- string byteVal = "";
- for (int i = 0; i < memByteRead.Length; i++)
- {
- byteVal = Convert.ToString(memByteRead[i], 2).PadLeft(8, '0');
- contenuto += string.Format("B{0:000}: {1} | {2}{3}", i, byteVal, memByteRead[i], Environment.NewLine);
- }
- showOut(titolo, contenuto);
- }
-#endif
-
-
if (!currPLC.IsConnected) currPLC.Open();
if (!currPLC.IsAvailable)
{
@@ -195,28 +267,13 @@ namespace Test_S7
else
{
tslConn.Text = "Connection OK";
-
-
- // decodifico memoria...
- memAddress memoria = new memAddress(txtMemArea.Text);
- int numByte = 1;
- int.TryParse(txtMemSize.Text, out numByte);
- Byte[] memByteRead = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte);
- titolo = string.Format("READ BLOCK MEM: {0} --> {1} byte", txtMemArea.Text, numByte);
- contenuto = "";
- string byteVal = "";
- for (int i = 0; i < memByteRead.Length; i++)
- {
- byteVal = Convert.ToString(memByteRead[i], 2).PadLeft(8, '0');
- contenuto += string.Format("B{0:000}: {1} | {2}{3}", i, byteVal, memByteRead[i], Environment.NewLine);
- }
- showOut(titolo, contenuto);
+ answ = true;
}
}
}
- sw.Stop();
- tslRTime.Text = string.Format("{0}", sw.Elapsed);
+ return answ;
}
+
///
/// test ping all'indirizzo impostato nei parametri
///
@@ -267,12 +324,6 @@ namespace Test_S7
lg.Info(outText);
}
- private void btnRead_Click(object sender, EventArgs e)
- {
- setParamPlc();
- eseguiLettura();
- }
-
///
/// Scrivo memoria tipo NUM
///
@@ -280,7 +331,25 @@ namespace Test_S7
///
private void btnNumWrite_Click(object sender, EventArgs e)
{
-
+ if (testCncConn())
+ {
+ // decodifico memoria...
+ memAddress memoria = new memAddress(txtWriteAddr1.Text);
+ int num2write = 0;
+ int.TryParse(txtWriteVal1.Text, out num2write);
+ byte[] outVal = BitConverter.GetBytes(num2write);
+ currPLC.WriteBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, outVal);
+ titolo = string.Format("WRITE BLOCK MEM: {0}", txtWriteAddr1.Text);
+ contenuto = "";
+ contenuto += string.Format("DT: {0} | DbNum: {1} | indiceMem: {2} | num2write: {3}{4}{4}", DataType.DataBlock, memoria.DbNum, memoria.indiceMem, num2write, Environment.NewLine);
+ string byteVal = "";
+ for (int i = 0; i < outVal.Length; i++)
+ {
+ byteVal = Convert.ToString(outVal[i], 2).PadLeft(8, '0');
+ contenuto += string.Format("B{0:000}: {1} | {2}{3}", i, byteVal, outVal[i], Environment.NewLine);
+ }
+ showOut(titolo, contenuto);
+ }
}
///
/// Scrivo memoria tipo STRING
@@ -289,7 +358,10 @@ namespace Test_S7
///
private void btnStrWrite_Click(object sender, EventArgs e)
{
+ if (testCncConn())
+ {
+ }
}
private void txtIP_TextChanged(object sender, EventArgs e)
@@ -321,6 +393,29 @@ namespace Test_S7
{
needRefresh = true;
}
+
+ private void btnReadByte_Click(object sender, EventArgs e)
+ {
+ setParamPlc();
+ eseguiLetturaByte();
+ }
+
+ private void btnReadWord_Click(object sender, EventArgs e)
+ {
+ setParamPlc();
+ eseguiLetturaWord();
+ }
+
+ private void btnReadString_Click(object sender, EventArgs e)
+ {
+
+ }
+
+ private void btnReadDWord_Click(object sender, EventArgs e)
+ {
+ setParamPlc();
+ eseguiLetturaDWord();
+ }
}
}