custom_protocols
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
custom_protocols [2022/01/16 08:58] – ↷ Links adapted because of a move operation 127.0.0.1 | custom_protocols [2023/02/21 17:52] (current) – [writeRegister] emozolyak | ||
---|---|---|---|
Line 2: | Line 2: | ||
====== Custom protocols ====== | ====== Custom protocols ====== | ||
- | There are a lot of different automation devices with non-standard communication protocols. To solve the problem of data collection from such devices in WebHMI, it is possible | + | There are a lot of different automation devices with non-standard communication protocols. To solve the problem of data collection from such devices in WebHMI, it is possireble |
===== About Lua ===== | ===== About Lua ===== | ||
Line 90: | Line 90: | ||
The function readRegister should read the specified register. | The function readRegister should read the specified register. | ||
- | In case of successful reading, the function readRegister should return an array of bytes, with length corresponding to the specified data type (1, 2 or 4) or the number. In case of failure, you must return false. | + | In case of successful reading, the function readRegister should return an //(lua table)// **array of bytes, with length corresponding to the specified data type** (1, 2 or 4) or the number. In case of failure, you must return |
Three parameters are passed to it as arguments: | Three parameters are passed to it as arguments: | ||
Line 97: | Line 97: | ||
***device** - Table (structure) with register type parameters (that were defined in createDevices) | ***device** - Table (structure) with register type parameters (that were defined in createDevices) | ||
***unitId** – device ID for the bus or other ID. For instance, Slave ID in ModBus RTU or Unit ID in ModBus TCP. | ***unitId** – device ID for the bus or other ID. For instance, Slave ID in ModBus RTU or Unit ID in ModBus TCP. | ||
- | There are such attributes in the __reg__ | + | |
+ | === Attributes of the REG structure | ||
*internalAddr - Recalculated register address. This number is recalculated from the specified number system with shift added to it. | *internalAddr - Recalculated register address. This number is recalculated from the specified number system with shift added to it. | ||
*addr - The original address of the register that the user entered. | *addr - The original address of the register that the user entered. | ||
*dataType – The type of data that the user specified for the register. 0 = Bit, 1 = Byte, 2 = Word, 3 = Double Word, 4 = UnixTime | *dataType – The type of data that the user specified for the register. 0 = Bit, 1 = Byte, 2 = Word, 3 = Double Word, 4 = UnixTime | ||
- | There are such attributes in the __device__ | + | |
+ | === Attributes of the DEVICE | ||
*shift - The shift value from the corresponding row in createDevices | *shift - The shift value from the corresponding row in createDevices | ||
Line 262: | Line 264: | ||
The writeRegister function should write a new value to the specified register. If the record is successful, it should return true. In case of an error, false. | The writeRegister function should write a new value to the specified register. If the record is successful, it should return true. In case of an error, false. | ||
- | Ей передаются все те же параметры, | + | It has the same arguments as the readRegister, |
The writeRegister function may use the same methods of reading from and writing bytes to the port. | The writeRegister function may use the same methods of reading from and writing bytes to the port. |
custom_protocols.1642323514.txt.gz · Last modified: 2022/01/16 08:58 by 127.0.0.1