Пример рабочего кода:Эта команда успешно записывает значение 5 в R0:
Код: Выделить всё
string command = "500000FF03FF000020000014010000R*0000000002000500000005000000050000";
byte[] commandBytes = Encoding.ASCII.GetBytes(command);
await TcpClient.SendAsync(new ArraySegment(commandBytes),
SocketFlags.None);
Пример нерабочего кода:
Однако, когда я пытаюсь записать значение 5 на несколько адресов (R0, R2, R4), запись осуществляется только на R0:
Код: Выделить всё
string command = "500000FF03FF000020000014010000R*0000000006000500000005000000050000";
byte[] commandBytes = Encoding.ASCII.GetBytes(command);
await TcpClient.SendAsync(new ArraySegment(commandBytes),
SocketFlags.None);
Почему вторая команда записывает только в R0, а не R2 и R4? Я пытаюсь записать 32-битные данные по нескольким адресам. Требуются ли для этого конкретные изменения в структуре команд или настройках протокола? Любые предложения или идеи будут полезны.
Подробнее здесь: https://stackoverflow.com/questions/790 ... it-address