Связь C# и Siemens S7 с библиотекой Sharp7 - параметры GetAgBlockInfo?
Для этой функции:
public int GetAgBlockInfo(int BlockType, int BlockNumber, ref S7BlockInfo Block);
Какой параметр для BlockType, если я хочу использовать этот fc для чтения БД? Я пробовал: S7Consts.S7AreaDB, 132, 0x41, 65
1 ответ
Вы можете использовать метод DBRead, если хотите прочитать любой блок данных .
Сначала настройте свое устройство и блок данных: https://github.com/fbarresi/Sharp7/blob/master/README.md
Затем вы можете прочитать блок данных следующим образом:
var _s7Client = new S7Client();
int connectionResult = _s7Client.ConnectTo("192.168.0.1",0,1);//write your PLC IP address
if(connectionResult == 0)
{
var buffer = new byte[6];
int readResult = _s7Client.DBRead(1, 0, buffer.Length, buffer); //parameters: dbNumber, startingAddress, readLength, buffer
if(readResult == 0)
{
byte x = S7.GetByteAt(buffer,0); //parameters: buffer, position
string y = S7.GetCharsAt(buffer, 2, 4); //parameters: buffer, position, length(byte)
}
else
{
//read error
}
}
else
{
//connection error
}