读数据
private void 读DB数据块1()
{
int DBNumber;
int Size;
int Result;
DBNumber = 4;
Size = 2;
Result = Client.DBRead(DBNumber, 0, Size, Buffer);
ShowResult(Result);
textBox1.Text = "";
textBoxHEX.Text = "";
if (Result == 0)
{
HexDump(Buffer, Size); //解析数据
//int start=3,length=8;
//Console.WriteLine(str.Substring(start - 1, length));
int start = 1, length = 1;
string str = textBoxHEX.Text;
textBox电流1.Text = str.Substring(start - 1, length);
textBox电流1.Text = Convert.ToInt32(textBox电流1.Text, 16).ToString();
/*
start = 5; //应为电流都是int型 所以 length 都是 4 下一个开始位都是这个开始位+4
textBox电流2.Text = str.Substring(start - 1, length);
textBox电流2.Text = Convert.ToInt32(textBox电流2.Text, 16).ToString();
start = 9; //应为电流都是int型 所以 length 都是 4
textBox电流2.Text = str.Substring(start - 1, length);
textBox电流2.Text = Convert.ToInt32(textBox电流2.Text, 16).ToString();
start = 13; //应为电流都是int型 所以 length 都是 4
textBox电流3.Text = str.Substring(start - 1, length);
textBox电流3.Text = Convert.ToInt32(textBox电流3.Text, 16).ToString();
start = 17; //应为电流都是int型 所以 length 都是 4
textBox电流4.Text = str.Substring(start - 1, length);
textBox电流4.Text = Convert.ToInt32(textBox电流4.Text, 16).ToString();
*/
textBox网络状态.BackColor = Color.Green;
textBox网络状态.Text = "连通";
}
else
{
textBox网络状态.BackColor = Color.Red;
textBox网络状态.Text = "断开";
}
}
OPC上位机写PLC
int DBNumber;
int Size;
int Result;
byte[] Buffer1 = new byte[10];
Buffer1[0] = 1;
Buffer1[1] = 1;
DBNumber = 4;
Size = 2;
Client.DBWrite(DBNumber, 0, Size, Buffer1);