modbus rtu slave没有响应请求和来自从站的C-ERR灯

时间:2014-12-18 00:27:53

标签: javascript serial-port signal-processing modbus rs485

情况我有一台东方电机LSD-KD步进电机驱动器,我通过一个连接器 PC - > USB - > RS232 - > RS485 - >驱动程序。驱动程序使用RS485 Modbus RTU,发送传输速度为38400,数据位为8,停止位为1,奇偶校验为偶数,从属数为2。

我发送尝试发送0x02,0x06,0x02,0x4b,0x00,0x50,0xf8,0x6b,这应该是一个寄存器。而且我没有得到任何回应,而且C-DAT / C-ERR变红了。

我有这个Javascript代码

var crc = require('crc');
var SerialPort = require("serialport").SerialPort
var serialPort = new SerialPort("/dev/cu.usbserial", {
  baudrate: 38400,
  databits: 8,
  stopbits: 1,
  parity: 'even'
});

var buff = new Buffer([0x02,0x06,0x02,0x4b,0x00,0x50,0xf8,0x6b]);

console.assert(crc.crc16modbus(buff) == 0);

serialPort.open(function () {

   serialPort.on('data', function(data) {
      console.log("recieving:", data);
    });

  setInterval(function() {
    console.log("writing", buff)
   serialPort.write(buff);
  },1000);

});

运行代码时,我看到:

writing <Buffer 02 06 02 4b 00 50 f8 6b>
recieving: <Buffer 02>
recieving: <Buffer 06>
recieving: <Buffer 02>
recieving: <Buffer 4b>
recieving: <Buffer 00>
recieving: <Buffer 50>
recieving: <Buffer f8>
recieving: <Buffer 6b>

除了RS485有回声之外。但我没有从奴隶那里收到任何东西。

编辑: 更多关于配置。 在RS232上 - &lt; - &gt; RS485转换器将其设置为“T.ON R.ON&#39;和&#39; DCE&#39;这是这个设备。 a device page

在驱动程序上设置为:

SW1设为2,SW1对应从机编号

SW2设置为2,SW2值为2表示传输速率为38400

SW3设置为&#39; 1:关闭,2:开启,3:关闭,4:开启&#39;

 No.1: Set the address number, this causes the slave address to be 16 values higher
 No.2: Set the protocol, this sets it to use the ModBus Protocol
 No.3: Not used 
 No.4: Set the termination resistor (120 Ω)

RS232的输出端口&lt; - &gt; RS485转换器连接到驱动器。 输出端口也连接到转换器的输入端口。因此回声。

0 个答案:

没有答案