Modbus¶
Name | Input Params | Return Data | Description |
---|---|---|---|
Connect to local modbus servers | ---- | ---- | ---- |
resiot_modbuslocalreadcoils | String, Uint16, Uint16 | BYTE [], String | Read from a specific modbus server the value of specific coil/coils |
resiot_modbuslocalwritesinglecoil | String, Uint16, Uint16 | String | Write in a specific modbus server the value of a specific coil |
resiot_modbuslocalwritemultiplecoils | String, Uint16, Uint16, ...BYTE | String | Write in a specific modbus server the value of multiple coils |
resiot_modbuslocalreaddiscreteinputs | String, Uint16, Uint16 | BYTE [], String | Read from a specific modbus server the value of specific discrete input/inputs |
resiot_modbuslocalwritesinglediscreteinput | String, Uint16, Uint16 | String | Write in a specific modbus server the value of a specific discrete input |
resiot_modbuslocalwritemultiplediscreteinputs | String, Uint16, Uint16, ...BYTE | String | Write in a specific modbus server the value of multiple discrete inputs |
resiot_modbuslocalreadholdingregisters | String, Uint16, Uint16 | Uint16 [], String | Read from a specific modbus server the value of specific holding register/registers |
resiot_modbuslocalwriteholdingregister | String, Uint16, Uint16 | String | Write to a specific modbus server the value of a specific holding register |
resiot_modbuslocalwriteholdingregisters | String, Uint16, ...Uint16 | String | Write to a specific modbus server the value of multiple holding registers |
resiot_modbuslocalreadinputregisters | String, Uint16, Uint16 | Uint16 [], String | Read from a specific modbus server the value of specific input register/registers |
resiot_modbuslocalwritesingleinputregister | String, Uint16, Uint16 | String | Write to a specific modbus server the value of a specific input register |
resiot_modbuslocalwritemultipleinputregisters | String, Uint16, ...Uint16 | String | Write to a specific modbus server the value of multiple input registers |
Connect to external modbus servers | ---- | ---- | ---- |
resiot_modbusreadcoils | String, String, BYTE, Integer, String, Uint16, Uint16 | BYTE [], String | Read from an external modbus server the value of specific coil/coils |
resiot_modbuswritesinglecoil | String, String, BYTE, Integer, String, Uint16, Uint16 | String | Write to an external modbus server the value of a specific coil |
resiot_modbuswritemultiplecoils | String, String, BYTE, Integer, String, Uint16, Uint16, ...BYTE | String | Write to an external modbus server the value of multiple coils |
resiot_modbusreadholdingregisters | String, String, BYTE, Integer, String, Uint16, Uint16 | Uint16 [], String | Read from an external modbus server the value of specific holding register/registers |
resiot_modbuswriteholdingregister | String, String, BYTE, Integer, String, Uint16, Uint16 | String | Write to an external modbus server the value of a specific holding register |
resiot_modbuswriteholdingregisters | String, String, BYTE, Integer, String, Uint16, ...Uint16 | String | Write to an external modbus server the value of multiple holding registers |
resiot_modbusreaddiscreteinputs | String, String, BYTE, Integer, String, Uint16, Uint16 | BYTE [], String | Read from an external modbus server the value of discrete input/inputs |
resiot_modbusreadinputregisters | String, String, BYTE, Integer, String, Uint16, Uint16 | Uint16 [], String | Read from an external modbus server the value of input register/registers |
resiot_modbuslocalreadcoils(String, Uint16, Uint16)¶
Read from a specific modbus server the value of specific coil/coils.
Example
Result, Error = resiot_modbuslocalreadcoils(HexadecimalId, FromRegister, HowManyRegisters)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register from where you want to start to read.
- HowManyRegisters (Uint16): * The number of register you want to read.
Returns
- Result ([]Byte): * The value/values of the coil/coils you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 1 -- The register from where you want to start to read HowManyRegisters = 16 -- The number of register you want to read -- 16 registers -> 16 bits -> 2 bytes -> 2 coils Result, Error = resiot_modbuslocalreadcoils(HexadecimalId, FromRegister, HowManyRegisters) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0 0] -- From a minimum of 0 (Default) to a maximum of 255 -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --
resiot_modbuslocalwritesinglecoil(String, Uint16, Uint16)¶
Write in a specific modbus server the value of a specific coil.
Example
Error = resiot_modbuslocalwritesinglecoil(HexadecimalId, Register, Value)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- Register (Uint16): * The register you want to edit.
- Value (Uint16): * The value you want to assign to the register.
Returns
- Error (String): * In case of error it is reported here.
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read Register = 5 -- The register you want to edit Value = 1 -- The value you want to assign to the register -- Can only be 0 or 1, all other numbers are considered as 1 Error = resiot_modbuslocalwritesinglecoil(HexadecimalId, Register, Value) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuslocalwritemultiplecoils(String, Uint16, Uint16, ...Uint8)¶
Write in a specific modbus server the value of a specific coil.
Example
Error = resiot_modbuslocalwritemultiplecoils(HexadecimalId, FromRegister, HowManyRegisters, Value1, Value2, ... ValueN)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register where you want to start to edit.
- HowManyRegisters (Uint16): * How many register you want to edit.
- Value (Uint8): * The value or values you want to assign to the registers.
Returns
- Error (String): * In case of error it is reported here. *
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 1 -- The register where you want to start to edit HowManyRegisters = 16 -- How many register you want to edit Value1 = 0X98 -- The value or values you want to assign to the registers, Value2 = 0x1B -- can go from 0x00 to 0xFF Error = resiot_modbuslocalwritemultiplecoils(HexadecimalId, FromRegister, HowManyRegisters, Value1, Value2) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuslocalreaddiscreteinputs(String, Uint16, Uint16)¶
Read from a specific modbus server the value of specific discrete input/inputs.
Example
Result, Error = resiot_modbuslocalreaddiscreteinputs(HexadecimalId, FromRegister, HowManyRegisters)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register from where you want to start to read.
- HowManyRegisters (Uint16): * The number of register you want to read.
Returns
- Result ([]Byte): * The value/values of the discrete input/inputs you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 9 -- The register from where you want to start to read HowManyRegisters = 8 -- The number of register you want to read -- 8 registers -> 8 bits -> 1 byte -> 1 discrete input Result, Error = resiot_modbuslocalreaddiscreteinputs(HexadecimalId, FromRegister, HowManyRegisters) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0] -- From a minimum of 0 (Default) to a maximum of 255 -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --
resiot_modbuslocalwritesinglediscreteinput(String, Uint16, Uint16)¶
Write in a specific modbus server the value of a specific discrete input.
Example
Error = resiot_modbuslocalwritesinglediscreteinput(HexadecimalId, Register, Value)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- Register (Uint16): * The register you want to edit.
- Value (Uint16): * The value you want to assign to the register.
Returns
- Error (String): * In case of error it is reported here.
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read Register = 14 -- The register you want to edit Value = 0 -- The value you want to assign to the register -- Can only be 0 or 1, all other numbers are considered as 1 Error = resiot_modbuslocalwritesinglediscreteinput(HexadecimalId, Register, Value) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuslocalwritemultiplediscreteinputs(String, Uint16, Uint16, ...Uint8)¶
Write in a specific modbus server the value of multiple discrete inputs.
Example
Error = resiot_modbuslocalwritemultiplediscreteinputs(HexadecimalId, FromRegister, HowManyRegisters, Value1, Value2, ... ValueN)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register where you want to start to edit.
- HowManyRegisters (Uint16): * How many register you want to edit.
- Value (Uint8): * The value or values you want to assign to the registers.
Returns
- Error (String): * In case of error it is reported here. *
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 4 -- The register where you want to start to edit HowManyRegisters = 20 -- How many register you want to edit Value1 = 0xF9 -- The value or values you want to assign to the registers, Value2 = 0x26 -- can go from 0x00 to 0xFF Value3 = 0x69 Error = resiot_modbuslocalwritemultiplediscreteinputs(HexadecimalId, FromRegister, HowManyRegisters, Value1, Value2, Value3) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuslocalreadholdingregisters(String, Uint16, Uint16)¶
Read from a specific modbus server the value of specific holding register/registers.
Example
Result, Error = resiot_modbuslocalreadholdingregisters(HexadecimalId, FromRegister, HowManyValues)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register from where you want to start to read.
- HowManyValues (Uint16): * The number of holding registers you want to read.
Returns
- Result ([]Uint16): * The value/values of the holding register/registers you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 1 -- The register from where you want to start to read HowManyValues = 3 -- The number of holding registers you want to read Result, Error = resiot_modbuslocalreadholdingregisters(HexadecimalId, FromRegister, HowManyValues) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0, 0, 0] -- From a minimum of 0 (Default) to a maximum of 65535 -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --
resiot_modbuslocalwriteholdingregister(String, Uint16, Uint16)¶
Write to a specific modbus server the value of a specific holding register.
Example
Error = resiot_modbuslocalwriteholdingregister(HexadecimalId, Register, Value)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- Register (Uint16): * The register you want to edit.
- Value (Uint16): * The value you want to assign to the register.
Returns
- Error (String): * In case of error it is reported here.
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read Register = 8 -- The register you want to edit Value = 24587 -- The value you want to assign to the register -- Can go from 0 to 65535 Error = resiot_modbuslocalwriteholdingregister(HexadecimalId, Register, Value) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuslocalwriteholdingregisters(String, Uint16, ...Uint16)¶
Write to a specific modbus server the value of multiple holding registers.
Example
Error = resiot_modbuslocalwriteholdingregisters(HexadecimalId, FromRegister, Value1, Value2, ...ValueN)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register from where you want to edit.
- Value (Uint16): * The values you want to assign to the registers.
Returns
- Error (String): * In case of error it is reported here.
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 4 -- The register from where you want to edit Value1 = 24587 -- The values you want to assign to the registers, Value2 = 547 -- can go from 0 to 65535 Value3 = 24 Value4 = 167 Error = resiot_modbuslocalwriteholdingregisters(HexadecimalId, FromRegister, Value1, Value2, Value3, Value4) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuslocalreadinputregisters(String, Uint16, Uint16)¶
Read from a specific modbus server the value of specific input register/registers.
Example
Result, Error = resiot_modbuslocalreadinputregisters(HexadecimalId, FromRegister, HowManyValues)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register from where you want to start to read.
- HowManyValues (Uint16): * The number of input registers you want to read.
Returns
- Result ([]Uint16): * The value/values of the input register/registers you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 5 -- The register from where you want to start to read HowManyValues = 2 -- The number of input registers you want to read Result, Error = resiot_modbuslocalreadinputregisters(HexadecimalId, FromRegister, HowManyValues) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0, 0] -- From a minimum of 0 (Default) to a maximum of 65535 -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --
resiot_modbuslocalwritesingleinputregister(String, Uint16, Uint16)¶
Write to a specific modbus server the value of a specific input register.
Example
Error = resiot_modbuslocalwritesingleinputregister(HexadecimalId, Register, Value)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- Register (Uint16): * The register where you want to edit.
- Value (Uint16): * The value you want to assign to the register.
Returns
- Error (String): * In case of error it is reported here.
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read Register = 14 -- The register where you want to edit Value = 246 -- The value you want to assign to the register. Can go from 0 to 65535 Error = resiot_modbuslocalwritesingleinputregister(HexadecimalId, Register, Value) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuslocalwritemultipleinputregisters(String, Uint16, ...Uint16)¶
Write to a specific modbus server the value of multiple input registers.
Example
Error = resiot_modbuslocalwritemultipleinputregisters(HexadecimalId, FromRegister, Value1, Value2, ... ValueN)
Input Parameters
- HexadecimalId (String): * The Hexadecimal Id of the Modbus server from where you want to read.
- FromRegister (Uint16): * The register where you want to start to edit.
- Value (Uint16): * The values you want to assign to the registers.
Returns
- Error (String): * In case of error it is reported here.
HexadecimalId = "636f6e323937" -- The Hexadecimal Id of the Modbus server from where you want to read FromRegister = 1 -- The register where you want to start to edit Value1 = 1248 -- The values you want to assign to the registers, Value2 = 64 -- can go from 0 to 65535 Error = resiot_modbuslocalwritemultipleinputregisters(HexadecimalId, FromRegister, Value1, Value2) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbusreadcoils(String, String, BYTE, Integer, String, Uint16, Uint16)¶
Read from an external modbus server the value of specific coil/coils.
Example
Result, Error = resiot_modbusreadcoils(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyRegisters)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- FromRegister (Uint16): * The register where you want to start to read.
- HowManyRegisters (Uint16): * The number of register you want to read.
Returns
- Result ([]BYTE): * The value/values of the coil/coils you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seconds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" FromRegister = 1 -- The register where you want to start to read HowManyRegisters = 16 -- The number of register you want to read Result, Error = resiot_modbusreadcoils(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyRegisters) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0 0] -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --
resiot_modbuswritesinglecoil(String, String, BYTE, Integer, String, Uint16, Uint16)¶
Write to an external modbus server the value of a specific coil.
Example
Error = resiot_modbuswritesinglecoil(Type, Address, SlaveId, Timeout, RTUData, Register, Value)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- Register (Uint16): * The register you want to edit.
- Value (Uint16): * The value you want to assign to the register.
Returns
- Error (String): * In case of error it is reported here.
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seocnds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" Register = 3 -- The register you want to edit Value = 1 -- The value you want to assign to the register, can only be 0 or 1, every other number are considered as 1 Error = resiot_modbuswritesinglecoil(Type, Address, SlaveId, Timeout, RTUData, Register, Value) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuswritemultiplecoils(String, String, BYTE, Integer, String, Uint16, Uint16, ...BYTE)¶
Write to an external modbus server the value of multiple coils.
Example
Error = resiot_modbuswritemultiplecoils(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyRegisters, Value1, Value2, ...ValueN)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- FromRegister (Uint16): * The register where you want to start to edit.
- HowManyRegisters (Uint16): * How many registers you want to edit.
- Value (Uint16): * The values you want to assign to the registers.
Returns
- Error (String): * In case of error it is reported here. *
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seocnds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" FromRegister = 4 -- The register where you want to start to edit HowManyRegisters = 20 -- How many registers you want to edit Value1 = 0x20 -- The values you want to assign to the registers, Value2 = 0x93 -- can go from 0x00 to 0xFF Error = resiot_modbuswritemultiplecoils(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyRegisters, Value1, Value2) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbusreadholdingregisters(String, String, BYTE, Integer, String, Uint16, Uint16)¶
Read from an external modbus server the value of specific holding register/registers.
Example
Result, Error = resiot_modbusreadholdingregisters(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyValues)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- FromRegister (Uint16): * The register where you want to start to read.
- HowManyValues (Uint16): * How many registers you want to read.
Returns
- Result ([]Uint16): * The value/values of the holding register/registers you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seocnds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" FromRegister = 2 -- The register where you want to start to edit HowManyValues = 3 -- How many registers you want to read Result, Error = resiot_modbusreadholdingregisters(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyValues) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0 0 0] -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --
resiot_modbuswriteholdingregister(String, String, BYTE, Integer, String, Uint16, Uint16)¶
Write to an external modbus server the value of a specific holding register.
Example
Error = resiot_modbuswriteholdingregister(Type, Address, SlaveId, Timeout, RTUData, Register, Value)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- Register (Uint16): * The register you want to edit.
- Value (Uint16): * The value you want to assign to the register.
Returns
- Error (String): * In case of error it is reported here.
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seocnds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" Register = 10 -- The register you want to edit Value = 2516 -- The value you want to assign to the register Error = resiot_modbuswriteholdingregister(Type, Address, SlaveId, Timeout, RTUData, Register, Value) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbuswriteholdingregisters(String, String, BYTE, Integer, String, Uint16, ...Uint16)¶
Write to an external modbus server the value of multiple holding registers.
Example
Error = resiot_modbuswriteholdingregisters(Type, Address, SlaveId, Timeout, RTUData, FromRegister, Value1, Value2, ...ValueN)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- FromRegister (Uint16): * The register where you want to start to edit.
- Value (Uint16): * The values you want to assign to the registers.
Returns
- Error (String): * In case of error it is reported here.
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seocnds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" FromRegister = 7 -- The register where you want to start to edit Value1 = 16 -- The values you want to assign to the registers Value2 = 845 Value3 = 639 Error = resiot_modbuswriteholdingregisters(Type, Address, SlaveId, Timeout, RTUData, FromRegister, Value1, Value2, Value3) resiot_debug(Error) -- -- If there aren't any errors: -- -- Error = "" -- -- Else: -- -- Error = "Error Message" --
resiot_modbusreaddiscreteinputs(String, String, BYTE, Integer, String, Uint16, ...Uint16)¶
Read from an external modbus server the value of discrete input/inputs.
Example
Result, Error = resiot_modbusreaddiscreteinputs(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyRegisters)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- FromRegister (Uint16): * The register where you want to start to read.
- HowManyRegisters (Uint16): * How many registers you want to read.
Returns
- Result ([]BYTE): * The value/values of the discrete input/inputs you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seocnds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" FromRegister = 7 -- The register where you want to start to edit HowManyRegisters = 16 -- How many registers you want to read Result, Error = resiot_modbusreaddiscreteinputs(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyRegisters) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0 0] -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --
resiot_modbusreadinputregisters(String, String, BYTE, Integer, String, Uint16, ...Uint16)¶
Read from an external modbus server the value of input register/registers.
Example
Result, Error = resiot_modbusreadinputregisters(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyValues)
Input Parameters
- Type (String): * The type of connection you want to use (TCP or RTU).
- Address (String): * The address of the network where the modbus server you want to read from is.
- SlaveId (BYTE): * The id of the modbus server you want to read from.
- Timeout (Integer): * Time in seocnds before the timeout of the call.
- RTUData (String): * All the data needed to a RTU connection (more info in the example below).
- FromRegister (Uint16): * The register where you want to start to read.
- HowManyValues (Uint16): * How many registers you want to read.
Returns
- Result ([]Uint16): * The value/values of the input register/registers you choose. if the function went wrong this is empty.
- Error (String): * In case of error it is reported here. *
Type = "TCP" -- The type of connection you want to use (TCP or RTU) Address = "0.0.0.0:50550" -- The address of the network where the modbus server you want to read from is SlaveId = 0x01 -- The id of the modbus server you want to read from Timeout = 15 -- Time in seocnds before the timeout of the call RTUData = "" -- empty if TCP, otherwise it contains the BaudRate, the DataBits, the Parity and the StopBits. Ex: "115200,8,N,1" FromRegister = 15 -- The register where you want to start to edit HowManyRegisters = 5 -- How many registers you want to read Result, Error = resiot_modbusreadinputregisters(Type, Address, SlaveId, Timeout, RTUData, FromRegister, HowManyValues) resiot_debug(Result) -- -- If there aren't any errors: -- -- Result = [0 0 0 0 0] -- Error = "" -- -- Else: -- -- Result = [] -- Error = "Error Message" --