Size: a a a

2020 February 15

AR

Ayrat Ramazanov in ru_ASUTP
Ктонибудь знает если такой переходник с RS232 в 4-20мА
источник

K

Kit in ru_ASUTP
А что конкретно нужно ? Цифровую токовую петлю? Или аналоговый датчик подключить.
источник

K

Kit in ru_ASUTP
Если аналог то овен раньше делал АС2 вроде бы название
источник

KW

Konstantin Wilhelm in ru_ASUTP
Davydov Denis
@kw_goerike если такое пойдет, могу код немного попонятнее расписать, и коментариев побольше добавить, чтобы больше было похоже на классические ЯП
Пришлось ставить на комп Notepad++ иначе коменты на русском не читались
источник

DD

Davydov Denis in ru_ASUTP
ну utf же, я не понимаю почему до сих пор остальные кодировки все еще не вымерли...
источник

KW

Konstantin Wilhelm in ru_ASUTP
Davydov Denis
let mb = require('modbus-serial');

let ctx = new mb();
ctx.connectTCP('127.0.0.1', { port: 8502 });
ctx.setID(1); // адрес слейва

// читаем каждые 1000мс регистр с адресом 0
setInterval(function () {
 ctx.readHoldingRegisters(0, 1, function(err, data) {
   console.log('Register value:', data.data);
 });
}, 1000);
А почему порт 8502? Вроде стандартный 502
источник

DT

Dmitry Teh in ru_ASUTP
чтобы права админа не требовало
источник

DD

Davydov Denis in ru_ASUTP
Konstantin Wilhelm
А почему порт 8502? Вроде стандартный 502
в линухе меньше 1024-го нельзя использовать не обладая правами суперпользователя, в винде хз, я попробовал от обычного, тоже не дало, видимо примерно та же фишка и там
источник

DD

Davydov Denis in ru_ASUTP
Davydov Denis
ну utf же, я не понимаю почему до сих пор остальные кодировки все еще не вымерли...
точнее понимаю, не понимаю почему в винде целую пачку однобайтных используют до сих пор, притом в перемешу
источник

KW

Konstantin Wilhelm in ru_ASUTP
Z:\mb>run_master.bat

Z:\mb>node.exe master.js
Z:\mb\master.js:12
               console.log('Register value:', data.data);
                                                   ^

TypeError: Cannot read property 'data' of undefined
   at Z:\mb\master.js:12:39
   at ModbusRTU.writeFC4 (Z:\mb\node_modules\modbus-serial\index.js:544:19)
   at ModbusRTU.writeFC3 (Z:\mb\node_modules\modbus-serial\index.js:530:10)
   at ModbusRTU.converted [as readHoldingRegisters] (Z:\mb\node_modules\modbus-serial\apis\promise.js:36:27)
   at Timeout._onTimeout (Z:\mb\master.js:11:6)
   at ontimeout (timers.js:436:11)
   at tryOnTimeout (timers.js:300:5)
   at listOnTimeout (timers.js:263:5)
   at Timer.processTimers (timers.js:223:10)

Z:\mb>pause
источник

KW

Konstantin Wilhelm in ru_ASUTP
Чего ему нужно?
источник

DD

Davydov Denis in ru_ASUTP
сперва слейв надо запустить
источник

DD

Davydov Denis in ru_ASUTP
я обработку ошибок не делал, тк спрашивали код в пределах 20-ти строк :)
источник

DD

Davydov Denis in ru_ASUTP
он не смог со слейва данные получить
источник

KW

Konstantin Wilhelm in ru_ASUTP
Что-то происходит
источник

DD

Davydov Denis in ru_ASUTP
ну там мастер просит у слеййва регистр, а слейв возвращает рандомное число
источник

DD

Davydov Denis in ru_ASUTP
если
parseInt(Math.random() * 0xFFFF);
заменить на обычное число, он его будет возвращать
источник

DD

Davydov Denis in ru_ASUTP
в той же функции через swith/case можно добавить по запрашиваемому адресу регистра (переменная addr) и возвращать соответствующие им данные, для отладки
источник

AR

Ayrat Ramazanov in ru_ASUTP
Kit
А что конкретно нужно ? Цифровую токовую петлю? Или аналоговый датчик подключить.
Нужно с весового терминала даеные на контроллер передавать
источник

AR

Ayrat Ramazanov in ru_ASUTP
Ayrat Ramazanov
Нужно с весового терминала даеные на контроллер передавать
А у него только Rs232 есть модель ?
источник