«Порт не открывается, ошибка / проблемы с разрешениями» или «Ошибка отсутствует, данные не отображаются» Считывание показаний электросчетчика, Node.js

Я много искал в Google и искал свои проблемы, но не получил никакой угрозы использования. У меня та же проблема, что и на https://github.com/yaacov/node-modbus-serial/issues/115, но я использую ОС Windows 10. Я пробовал предлагаемые решения, но проблема все та же. Я думаю, что это должно быть просто, но я застрял на несколько дней

          var path = "COM3";
    var ModbusRTU = require("modbus-serial");
    var client = new ModbusRTU();
    client.connectRTUBuffered(path, { baudRate: 9600, stopbits: 1, databits: 8, parity: 'none' }, false, read());
    client.setID(1);
      
function read() {
    // read the 20 registers starting at address 0
    // on device number 1.
    var data = client.readHoldingRegisters(0, 20)
    console.log(data)
} 

С помощью этого кода я не получаю разрешения на порт / отказ в разрешении. ИНФОРМАЦИЯ О ПОРТЕ через свойства порта диспетчера устройств

  1. БИТ В СЕКУНДУ: 9600
  2. БИТЫ ДАННЫХ: 8
  3. ЧЕТНОСТЬ: НЕТ
  4. СТОПОРНЫЕ БИТЫ: 1
  5. КОНТРОЛЬ ПОТОКА: НЕТ

ВЫХОД 1: (узел: 10784) UnhandledPromiseRejectionWarning: ошибка: открытие COM3: доступ запрещен

Пытался открыть порт вручную

      var x = setInterval(function () {
if (client.isOpen) {
    client.setID(1);
    //console.log("WORKING WORKING");
    try {
        client.readHoldingRegisters(0, 10, function (err, data) {
            console.log(data);
        });
    } catch (err) {
        console.log("Error Encountered: " + err)
    }
} else {
    console.log("ERROR ERROR ERROR");
    }

}, 1000);

0 ответов

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