js snapS7 读写PLC bool 值
时间: 2023-09-10 17:11:51 浏览: 163
在 Snap7 库中,可以使用 S7Client 对象来读写 PLC 的数据。如果要读写 PLC 的布尔类型数据,可以使用以下函数:
1. 读取布尔类型数据:
```javascript
let s7client = new snap7.S7Client();
let buffer = Buffer.alloc(1);
let result = s7client.ABRead("DB", 1, 0, 1, buffer);
if (result == snap7.S7Client.NoError) {
let is_true = buffer.readUInt8() == 1;
console.log(`Read bool value: ${is_true}`);
} else {
console.error(`Read bool value failed: ${s7client.ErrorText(result)}`);
}
```
在上面的代码中,使用 ABRead 函数读取 DB1 的第 0 个字节的数据,并将读取的数据存储在大小为 1 的缓冲区中。如果读取成功,则判断缓冲区中的值是否为 1,来判断 PLC 中的布尔值是否为 true。
2. 写入布尔类型数据:
```javascript
let s7client = new snap7.S7Client();
let buffer = Buffer.alloc(1);
buffer.writeUInt8(1);
let result = s7client.ABWrite("DB", 1, 0, 1, buffer);
if (result == snap7.S7Client.NoError) {
console.log(`Write bool value success`);
} else {
console.error(`Write bool value failed: ${s7client.ErrorText(result)}`);
}
```
在上面的代码中,使用 ABWrite 函数将一个布尔值写入 DB1 的第 0 个字节中。如果写入成功,则输出写入成功的信息。
阅读全文