Запись логического значения в ПЛК с использованием Sharp7

Когда я пытаюсь записать целое число в поле базы данных целых чисел, я успешен:

byte[] db13buffer = new byte[buffer];
var shorty = short.Parse(valuesForPlc[i]);
S7.SetIntAt(db13buffer, 0, shorty);     
int writeResult2 = client.DBWrite(dbnumber, start, size, db13buffer);

Как я могу записать логическое (истинное) значение в базу данных?

У меня есть следующая структура базы данных в plc:

1 ответ

Решение

Чтобы установить бит в блоке данных, используйте следующую вспомогательную функцию из Sharp7.S7:

void SetBitAt(ref byte[] Buffer, int Pos, int Bit, bool Value)

Чтобы установить бит Boolean, используйте следующий код:

S7.SetBitAt(ref db13buffer, 4, 0, true);

Чтобы установить бит Boolean в положение 4.0, размер буфера db123 должен быть не менее 6 байтов.

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