COmpletate modifiche x scrittura DWord e lettura byte/word/DWord
This commit is contained in:
Generated
+14
-14
@@ -76,7 +76,7 @@
|
||||
//
|
||||
// txtIP
|
||||
//
|
||||
this.txtIP.Location = new System.Drawing.Point(85, 24);
|
||||
this.txtIP.Location = new System.Drawing.Point(85, 23);
|
||||
this.txtIP.Name = "txtIP";
|
||||
this.txtIP.Size = new System.Drawing.Size(109, 22);
|
||||
this.txtIP.TabIndex = 0;
|
||||
@@ -86,7 +86,7 @@
|
||||
// lblIP
|
||||
//
|
||||
this.lblIP.AutoSize = true;
|
||||
this.lblIP.Location = new System.Drawing.Point(16, 27);
|
||||
this.lblIP.Location = new System.Drawing.Point(16, 26);
|
||||
this.lblIP.Name = "lblIP";
|
||||
this.lblIP.Size = new System.Drawing.Size(63, 17);
|
||||
this.lblIP.TabIndex = 1;
|
||||
@@ -120,7 +120,7 @@
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(9, 24);
|
||||
this.label2.Location = new System.Drawing.Point(9, 23);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(80, 17);
|
||||
this.label2.TabIndex = 5;
|
||||
@@ -128,9 +128,9 @@
|
||||
//
|
||||
// txtMemArea
|
||||
//
|
||||
this.txtMemArea.Location = new System.Drawing.Point(143, 21);
|
||||
this.txtMemArea.Location = new System.Drawing.Point(156, 20);
|
||||
this.txtMemArea.Name = "txtMemArea";
|
||||
this.txtMemArea.Size = new System.Drawing.Size(130, 22);
|
||||
this.txtMemArea.Size = new System.Drawing.Size(117, 22);
|
||||
this.txtMemArea.TabIndex = 4;
|
||||
this.txtMemArea.Text = "DB700.DBD0";
|
||||
this.txtMemArea.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
|
||||
@@ -147,9 +147,9 @@
|
||||
//
|
||||
// txtMemSize
|
||||
//
|
||||
this.txtMemSize.Location = new System.Drawing.Point(143, 78);
|
||||
this.txtMemSize.Location = new System.Drawing.Point(156, 78);
|
||||
this.txtMemSize.Name = "txtMemSize";
|
||||
this.txtMemSize.Size = new System.Drawing.Size(130, 22);
|
||||
this.txtMemSize.Size = new System.Drawing.Size(117, 22);
|
||||
this.txtMemSize.TabIndex = 6;
|
||||
this.txtMemSize.Text = "208";
|
||||
this.txtMemSize.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
|
||||
@@ -176,7 +176,7 @@
|
||||
//
|
||||
// btnReadByte
|
||||
//
|
||||
this.btnReadByte.Location = new System.Drawing.Point(172, 47);
|
||||
this.btnReadByte.Location = new System.Drawing.Point(173, 47);
|
||||
this.btnReadByte.Name = "btnReadByte";
|
||||
this.btnReadByte.Size = new System.Drawing.Size(101, 25);
|
||||
this.btnReadByte.TabIndex = 9;
|
||||
@@ -189,10 +189,10 @@
|
||||
this.textBox1.BackColor = System.Drawing.SystemColors.Menu;
|
||||
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.textBox1.Location = new System.Drawing.Point(6, 44);
|
||||
this.textBox1.Location = new System.Drawing.Point(12, 44);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(133, 33);
|
||||
this.textBox1.Size = new System.Drawing.Size(127, 33);
|
||||
this.textBox1.TabIndex = 8;
|
||||
this.textBox1.Text = "Indicare tipo memoria e size del tipo";
|
||||
//
|
||||
@@ -284,7 +284,7 @@
|
||||
//
|
||||
// txtRack
|
||||
//
|
||||
this.txtRack.Location = new System.Drawing.Point(254, 24);
|
||||
this.txtRack.Location = new System.Drawing.Point(254, 23);
|
||||
this.txtRack.Name = "txtRack";
|
||||
this.txtRack.Size = new System.Drawing.Size(41, 22);
|
||||
this.txtRack.TabIndex = 5;
|
||||
@@ -294,7 +294,7 @@
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(208, 27);
|
||||
this.label4.Location = new System.Drawing.Point(208, 26);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(40, 17);
|
||||
this.label4.TabIndex = 4;
|
||||
@@ -438,7 +438,7 @@
|
||||
this.txtWriteAddr1.Name = "txtWriteAddr1";
|
||||
this.txtWriteAddr1.Size = new System.Drawing.Size(123, 22);
|
||||
this.txtWriteAddr1.TabIndex = 6;
|
||||
this.txtWriteAddr1.Text = "DB700.DBW160";
|
||||
this.txtWriteAddr1.Text = "DB700.DBD160";
|
||||
this.txtWriteAddr1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
|
||||
//
|
||||
// label7
|
||||
@@ -452,7 +452,7 @@
|
||||
//
|
||||
// btnReadWord
|
||||
//
|
||||
this.btnReadWord.Location = new System.Drawing.Point(279, 20);
|
||||
this.btnReadWord.Location = new System.Drawing.Point(279, 19);
|
||||
this.btnReadWord.Name = "btnReadWord";
|
||||
this.btnReadWord.Size = new System.Drawing.Size(101, 25);
|
||||
this.btnReadWord.TabIndex = 10;
|
||||
|
||||
+39
-25
@@ -158,8 +158,8 @@ namespace Test_S7
|
||||
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');
|
||||
byteValA = Convert.ToString(memByteRead[i * 2], 2).PadLeft(8, '0');
|
||||
byteValB = Convert.ToString(memByteRead[i * 2 + 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);
|
||||
}
|
||||
@@ -190,10 +190,10 @@ namespace Test_S7
|
||||
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');
|
||||
byteValA = Convert.ToString(memByteRead[i * 4], 2).PadLeft(8, '0');
|
||||
byteValB = Convert.ToString(memByteRead[i * 4 + 1], 2).PadLeft(8, '0');
|
||||
byteValC = Convert.ToString(memByteRead[i * 4 + 2], 2).PadLeft(8, '0');
|
||||
byteValD = Convert.ToString(memByteRead[i * 4 + 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);
|
||||
}
|
||||
@@ -324,6 +324,37 @@ namespace Test_S7
|
||||
lg.Info(outText);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Esecuzione SCRITTURA DWORD!
|
||||
/// </summary>
|
||||
private void eseguiScritturaDWord()
|
||||
{
|
||||
sw.Restart();
|
||||
if (testCncConn())
|
||||
{
|
||||
// decodifico memoria...
|
||||
memAddress memoria = new memAddress(txtWriteAddr1.Text);
|
||||
uint num2write = 0;
|
||||
uint.TryParse(txtWriteVal1.Text, out num2write);
|
||||
byte[] DB_Byte = new byte[4];
|
||||
S7.Net.Types.DWord.ToByteArray(num2write).CopyTo(DB_Byte, 0);
|
||||
//byte[] DB_Byte = BitConverter.GetBytes(num2write);
|
||||
currPLC.WriteBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, DB_Byte);
|
||||
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 < DB_Byte.Length; i++)
|
||||
{
|
||||
byteVal = Convert.ToString(DB_Byte[i], 2).PadLeft(8, '0');
|
||||
contenuto += string.Format("B{0:000}: {1} | {2}{3}", i, byteVal, DB_Byte[i], Environment.NewLine);
|
||||
}
|
||||
showOut(titolo, contenuto);
|
||||
}
|
||||
sw.Stop();
|
||||
tslRTime.Text = string.Format("{0}", sw.Elapsed);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Scrivo memoria tipo NUM
|
||||
/// </summary>
|
||||
@@ -331,25 +362,8 @@ namespace Test_S7
|
||||
/// <param name="e"></param>
|
||||
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);
|
||||
}
|
||||
setParamPlc();
|
||||
eseguiScritturaDWord();
|
||||
}
|
||||
/// <summary>
|
||||
/// Scrivo memoria tipo STRING
|
||||
|
||||
Reference in New Issue
Block a user