Read/Write S7-1200 位内存通过 C#
Read/Write S7-1200 bit memory via C#
我正在尝试为 S7-1200 中的布尔存储器设置值 CPU,我使用了 SNAP7 库,但无法成功:
Result result = new Result();
byte[] Buffer = new byte[26];
Client.DBRead(1, 0, 2, Buffer);
result.bArret = S7.GetBitAt(Buffer, 0, 1);
result.bMarche = S7.GetBitAt(Buffer, 0, 2);
Client.DBWrite(1, 0, 10, buff);
我的目标是能够在内存中写入值:
这是数据块 1:
我需要在不使用 OPC 或其他第三方软件的情况下完成此任务。
通过用数据块变量替换 Merkers 解决了问题,这里是一个例子:
S7Client client = new S7Client();
int res = client.ConnectTo("192.168.0.10", 0, 0);
int DBNumber;
int Size;
int Result;
byte[] buffer = new byte[2];
DBNumber = System.Convert.ToInt32(1);
Size = System.Convert.ToInt32(2);
Result = client.DBWrite(DBNumber, 0, Size, buffer);
buffer[0] = 1;
buffer[1] = 1;
Result = client.DBWrite(DBNumber, 0, Size, buffer);
希望以后有人会发现它有用。
我正在尝试为 S7-1200 中的布尔存储器设置值 CPU,我使用了 SNAP7 库,但无法成功:
Result result = new Result();
byte[] Buffer = new byte[26];
Client.DBRead(1, 0, 2, Buffer);
result.bArret = S7.GetBitAt(Buffer, 0, 1);
result.bMarche = S7.GetBitAt(Buffer, 0, 2);
Client.DBWrite(1, 0, 10, buff);
我的目标是能够在内存中写入值:
这是数据块 1:
我需要在不使用 OPC 或其他第三方软件的情况下完成此任务。
通过用数据块变量替换 Merkers 解决了问题,这里是一个例子:
S7Client client = new S7Client();
int res = client.ConnectTo("192.168.0.10", 0, 0);
int DBNumber;
int Size;
int Result;
byte[] buffer = new byte[2];
DBNumber = System.Convert.ToInt32(1);
Size = System.Convert.ToInt32(2);
Result = client.DBWrite(DBNumber, 0, Size, buffer);
buffer[0] = 1;
buffer[1] = 1;
Result = client.DBWrite(DBNumber, 0, Size, buffer);
希望以后有人会发现它有用。