Связь 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
}


Другие вопросы по тегам