У меня есть ПЛК Siemens S7-1212 AC / DC / Rly, и я хочу общаться с приложением C # с помощью Snap7.Я успешно установил соединение с ПЛК в пользовательском интерфейсе и даже могу успешно записывать значения в ПЛК.Однако иногда (1 в 3 раза) функция записи не записывает значения в ПЛК и выдает в результате очень большое целое число.
C # код: Соединение с ПЛК установлено с помощью следующего кода:
private S7Client Client = new S7Client();
Client.ConnectTo("192.186.0.1", 0, 0);
Функция записи:
byte[] writeBuffer = new byte[1];
S7.SetBitAt(ref writeBuffer, 0, 0, true);
int result = Client.DbWrite(1,0,writeBuffer.Length, writeBuffer);
if (result == 0)
// connection successfull
else
// Connection unsuccessfull
Теперь иногда, когда я выполняю функцию, результат выше 0, поэтому действие записи было выполнено успешно.Я вижу изменение значения на истинное в программе ПЛК.Но иногда (примерно 1 в 3 раза) результат является очень высоким значением, в большинстве случаев 3145728 (иногда другое число, но в основном это).В этом случае функция работает (исключений и ошибок не дано), но значение не меняется.
Мой вопрос:
Почему я получаю это высокое значение как результат ичто это значит?
Заранее спасибо, Тео