Modbus: различия между версиями

Строка 147: Строка 147:
[[Файл:Read_8_Coils_2.png|600px|thumb|center|Обмен данными в Modbus]]
[[Файл:Read_8_Coils_2.png|600px|thumb|center|Обмен данными в Modbus]]


В качестве данных мы получили шестнадцатеричное число 0x2D, то есть состояние восьми coil-регистров в двоичном виде такое: 0b10110100 (старший бит — нулевой регистр).
В качестве данных мы получили шестнадцатеричное число 0x2D, то есть состояние восьми coil-регистров в двоичном виде такое: 0b10110100.
 
Function code 4 (read input registers) and function code 3 (read holding registers)
 
Request:
 
    Address of first register to read (16-bit)
    Number of registers to read (16-bit)
 
Normal response:
 
    Number of bytes of register values to follow (8-bit)
    Register values (16 bits per register)
 
Because the number of bytes for register values is 8-bit wide, only 127 registers can be read at once.
 




Строка 157: Строка 172:
|<ul><li>Адрес первого coil-регистра или входного регистра (16 бит )</li><li>Количество данных (8 значений на байт) (16 бит)</li><ul>||  <ul><li>Число передаваемых байт (8 бит )</li><li>Значения coil-регистров или входных регистров (8 значений на байт)</li><ul>  
|<ul><li>Адрес первого coil-регистра или входного регистра (16 бит )</li><li>Количество данных (8 значений на байт) (16 бит)</li><ul>||  <ul><li>Число передаваемых байт (8 бит )</li><li>Значения coil-регистров или входных регистров (8 значений на байт)</li><ul>  
|-
|-
!    3   
!    3  (Read Holding Registers) и 4 (Read Input Registers)
| 0x03 ||Read Holding Registers  
|<ul><li>Адрес первого coil-регистра или входного регистра (16 бит )</li><li>Количество данных (8 значений на байт) (16 бит)</li><ul>|| <ul><li>Число передаваемых байт (8 бит )</li><li>Значения coil-регистров или входных регистров (8 значений на байт)</li><ul>
|-
!    4 
| 0x04 ||Read Input Registers
|-
|-
!    5   
!    5