Запись логического значения в ПЛК с использованием 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 байтов.