Запись логического значения в PLC с использованием Sharp7 - PullRequest
0 голосов
/ 29 октября 2018

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

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:

enter image description here

1 Ответ

0 голосов
/ 30 октября 2018

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

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

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

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

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

...