Я создаю прототип автоматизированного инструмента тестирования для компании, в которой я работаю, который использует контроллер SMAC для перемещения объекта перед измеряемым лазерным микрометром.
Я использую библиотеку NodeJS SerialPort для выдачи команд контроллеру (через последовательный порт RS232), но, похоже, у меня возникают некоторые проблемы с выполняемыми командами. Контроллер принимает команды в комбинированном шестнадцатеричном и строковом формате (страницы 23-24 этого PDF объясняют больше).
Команда, которую я пытаюсь запустить: 0x20 W 0x012C04 20
. Когда я запускаю это в PuTTY, он работает отлично, но SerialPort, кажется, игнорирует его, я предполагаю, что это ошибка форматирования/типа данных, но я не уверен, как это исправить.
Мой код:
const port = new SerialPort("COM1", {
baudRate: 115200,
dataBits: 8,
stopBits: 1,
parity: "none",
}, (err) => console.log(err))
if(!port.isOpen) port.open()
port.on('open', () => {
console.log("Port opened successfully")
port.write("0x20 W 0x012C04 20", (err) => {
if(err) throw err;
console.log("Write to port successful")
port.close()
})
})
Любая помощь приветствуется!
port.write("0x20 W 0x012C04 20", 'hex', (err) => {
или'ascii'
- person Lawrence Cherone   schedule 07.04.2021Buffer.from("0x20 W 0x012C04 20", "ascii")
безуспешно. - person Justin   schedule 07.04.2021