где bfd является битовым полем
/p>
Ответ
|
slv
|
01
|
nbb
|
bfd
|
...
|
|
crcH
|
crcL
|
Byte 1 Byte nbb
где bfd является битовым полем длиной nbb байт следующего формата
Бит 1 соответствует значению переменной с сетевым адресом addH/addL.
Бит nbi соответствует значению переменной с сетевым адресом addH/addL+nbi-1.
X означает, что значение не используется
Функция 3: читать n слов
Читает nbw слов, начиная с сетевого адреса addH/addL
Запрос
|
slv
|
03
|
addH
|
addL
|
00
|
nbw
|
crcH
|
crcL
|
Ответ
|
slv
|
03
|
nbb
|
vH
|
vL
|
...
|
crcH
|
crcL
|
где nbb соответствует числу байт во всех парах vH,vL.
Функция 5: записать 1 бит
Записать бит (булевскую переменную) по сетевому адресу addH/addL
Запрос
|
slv
|
05
|
addH
|
addL
|
vH
|
00
|
crcH
|
crcL
|
Ответ
|
slv
|
05
|
addH
|
addL
|
vH
|
00
|
crcH
|
crcL
|
Функция 6: записать 1 слово
Записать слово по сетевому адресу addH/addL
Запрос
|
slv
|
06
|
addH
|
addL
|
vH
|
vL
|
crcH
|
crcL
|
Ответ
|
slv
|
06
|
addH
|
addL
|
vH
|
vL
|
crcH
|
crcL
|
Функция 16: записать N слов
Записать nbw слов, начиная с сетевого адреса addH/addL (nbb=2nbw)
Запрос
|
slv
|
10
|
addH
|
addL
|
00
|
nbw
|
nbb
|
vH
|
vL
|
...
|
crcH
|
crcL
|
Ответ
|
slv
|
10
|
addH
|
addL
|
00
|
nbw
|
crcH
|
crcL
|
Примеры:
- Функция 1: прочитать 15 бит, начиная с сетевого адреса 0x1020 на подчиненном 1
Запрос
|
01
|
01
|
10
|
20
|
00
|
0F
|
79
|
04
|
Ответ
|
01
|
01
|
02
|
00
|
12
|
39
|
F1
|
считанное значение - 0x0012, что в битовом представлении эквивалентно 00000000 000100101.
В этом примере переменные 0x1029 и 0x102C имеют значение TRUE, остальные - FALSE.
- Функция 16: записывает 2 слова по адресу 0x2100 на slave 1, записанные значения равняются: 0x1234 и 0x5678.
Запрос
|
01
|
10
|
21
|
00
|
00
|
02
|
04
|
12
|
34
|
56
|
78
|
1C
|
CA
|
<
Содержание Назад Вперед