GithubHelp home page GithubHelp logo

modbus.helper's Introduction

modbus-serial Helper

Helper for modbus-serial package in async/await.

USAGE

const modbusHelper = require('@iqrok/modbus.helper');
const modbus =new modbusHelper({
		ip: '127.0.0.1',
		port: 502,
		id: 1,
		byteOrder: [1,0,3,2],
		decimalDigits: null,
		debug: true,
		timeout: 1000,
    });

new modbusHelper ({ip, port, baud, byteOrder, decimalDigits, nullable, timeout, debug})

Parameters:

Name Type Attributes Default Description
ip string IP destination for modbus TCP
port number|string Port number for modbus TCP or path to serial port for modbus RTU
baud number Baud Rate for modbus RTU
byteOrder Array.<number> <optional> [1,0,3,2] byte order of modbus register
decimalDigits number <optional> <nullable> number of decimals for floating point
timeout number <optional> 100 timeout in ms
debug boolean <optional> false Print debug message

byteLength (type) → {number}

Size of data type in bytes

Parameters:

Name Type Description
type "UINT16" | "INT16" | "UINT32" | "INT32" | "FLOAT" | "FLOAT32" | "DOUBLE" | "FLOAT64" number data type

Returns:

  • data type size in bytes

numToWords (number, type) → {Array.\<number\>}

Convert number into array of unsigned integer 16-bits numbers

Parameters:

Name Type Description
number number number to be converted
type "UINT16" | "INT16" | "UINT32" | "INT32" | "FLOAT" | "FLOAT32" | "DOUBLE" | "FLOAT64" number data type

Returns:

  • array of uint16 numbers

readCoils (addr, len) → {Promise.<Array.<Boolean>>|Promise.<Boolean>}

Read Coils (FC=1)

Parameters:

Name Type Attributes Default Description
addr number address to read from
len number <optional> 1 number of addresses to read

Returns:

  • resolve false if reading is failed, otherwise resolve array of coils status

readDiscreteInputs (addr, len) → {Promise.\<Array.\<Boolean\>\>|Promise.<Boolean>}

Read Discrete Inputs (FC=2)

Parameters:

Name Type Attributes Default Description
addr number address to read from
len number <optional> 1 number of addresses to read

Returns:

  • resolve false if reading is failed, otherwise resolve array of discrete inputs status

readHoldingRegisters (addr, len) → {Promise.<Buffer>|Promise.<Boolean>}

Read Holding Register (FC=3)

Parameters:

Name Type Attributes Default Description
addr number address to read from
len number <optional> 1 number of addresses to read

Returns:

  • resolve false if reading is failed, otherwise resolve read Buffer

readInputRegisters (addr, len) → {Promise.<Buffer>|Promise.<Boolean>}

Read Input Register (FC=4)

Parameters:

Name Type Attributes Default Description
addr number address to read from
len number <optional> 1 number of addresses to read

Returns:

  • resolve false if reading is failed, otherwise resolve read Buffer

wordsLength (type) → {number}

Size of data type in words

Parameters:

Name Type Description
type "UINT16" | "INT16" | "UINT32" | "INT32" | "FLOAT" | "FLOAT32" | "DOUBLE" | "FLOAT64" number data type

Returns:

  • data type size in words

wordsToNum (words, type, digits, nullable) → {number}

Convert Words received from modbus to number

Parameters:

Name Type Attributes Description
words Buffer Array.<uint16>
type "UINT16" | "INT16" | "UINT32" | "INT32" | "FLOAT" | "FLOAT32" | "DOUBLE" | "FLOAT64" number data type
digits number <optional> <nullable> number of decimal digits for float, will be default to set decimalDigits in config if left undefined

Returns:

  • converted number

writeCoil (addr, values) → {Promise.<Object>|Promise.<boolean>}

Write Single Coil (modified FC=15)

Parameters:

Name Type Description
addr number address to write
values boolean array of values to write

Returns:

  • resolve false if reading is failed, otherwise resolve address and length of written registers

writeCoils (addr, values) → {Promise.<Object>|Promise.<boolean>}

Write multiple Coils (FC=15)

Parameters:

Name Type Description
addr number address to write
values Array.<boolean> array of values to write

Returns:

  • resolve false if reading is failed, otherwise resolve address and length of written registers

writeRegister (addr, value) → {Promise.<Object>|Promise.<Boolean>}

Write single Holding Register (FC=6)

Parameters:

Name Type Description
addr number address to write
value number value to write

Returns:

  • resolve false if reading is failed, otherwise resolve address and length of written registers

writeRegisters (addr, values) → {Promise.<Object>|Promise.<Boolean>}

Write multiple Holding Registers (FC=16)

Parameters:

Name Type Description
addr number address to write
values Array.<number> array of valuess to write

Returns:

  • resolve false if reading is failed, otherwise resolve address and length of written registers

modbus.helper's People

Contributors

iqrok avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.