Tag Archives: Modbus

Функция ModBUS 24

24 (18 Hex) Read FIFO Queue

ОПИСАНИЕ

Чтение содержимого очереди FIFO (регистры 4ХХХХ). Функция возвращает счетчик регистров в очереди, следом идут данные очереди. До 32 регистров могут быть считаны: счетчик, плюс 31 регистр данных очереди.

Функция читает содержимое очереди, но не очищает ее.

Функция поддерживается только на 984-785 контроллерах.

ЗАПРОС

Запрос специфицирует начальный регистр 4ХХХХ для чтения FIFO очереди. Это адрес регистра указателя использующегося в функциональных блоках FIN и FOUT контроллеров.

Ниже показан пример чтения FIFO очереди с подчиненного устройства 17. Чтение очереди начинается с регистра указателя 41247 (04DE Hex).

Запрос

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              18

Адрес указателя FIFO ст.                                                                  04

Адрес указателя FIFO мл.                                                                 DE

Контрольная сумма                                                                            —

 

ОТВЕТ

В нормальном ответе, счетчик байт содержит количество следующих за ним байтов, включая счетчик байтов очереди и регистры данных (но не включая поле контрольной суммы).

Счетчик байтов очереди содержит количество регистров данных в очереди (не включая счетчик).

Если счетчик очереди содержит число больше 31, то в ответе возвращается код ошибки 03 (Недопустимая величина данных).

Ниже показан пример нормального ответа на запрос представленный выше:

Ответ

Имя поля                                                                                             Пример (Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              18

Счетчик байт ст.                                                                                  00

Счетчик байт мл.                                                                  08

Счетчик FIFO ст.                                                                                00

Счетчик FIFO мл.                                                                03

Регистр данных FIFO 1 ст.                                                 01

Регистр данных FIFO 1 мл.                                                B8

Регистр данных FIFO 2 ст.                                                 12

Регистр данных FIFO 2 мл.                                                84

Регистр данных FIFO 3 ст.                                                 13

Регистр данных FIFO 3 мл.                                                22

Контрольная сумма                                                                            —

 

P.S. dr web security space 5 – антивирус, который лечит от вирусов. Комплексное противодействие интернет-угрозам в сочетании с дополнительной защитой от сетевых атак благодаря встроенному брандмауэру.

 

Функция ModBUS 23

23 (17 Hex) Read/Write 4X Registers

ОПИСАНИЕ

Производит операцию чтения и записи за одну MODBUS транзакцию. Функция может записывать новое содержание регистров 4ХХХХ и возвращать содержание другой группы регистров 4ХХХХ. Эта функция поддерживается только на 984-785 контроллерах.

ЗАПРОС

Запрос специфицирует начальный адрес и количество регистров группы для чтения. И также специфицирует начальный адрес, количество регистров, и данные для записи в группу регистров. Счетчик байтов содержит количество байт передаваемых в поле данных.

В примере, приведенном ниже требуется прочитать шесть регистров начиная с пятого, и записать три регистра начиная с 16, в подчиненном устройстве 17:

Запрос

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           17

Функция                                                                                              17

Начальный регистр чтения ст.                                                          00

Начальный регистр чтения мл.                                                         04

Кол-во регистров для чтения ст.                                                       00

Кол-во регистров для чтения мл.                                                      06

Начальный регистр записи ст.                                                           00

Начальный регистр записи мл.                                                          0F

Кол-во регистров для записи ст.                                                       00

Кол-во регистров для записи мл.                                                      03

Счетчик байтов                                                                                   06

Данные для записи 1 ст.                                                                     00

Данные для записи 1 мл.                                                                    FF

Данные для записи 2 ст.                                                                     00

Данные для записи 2 мл.                                                                    FF

Данные для записи 3 ст.                                                                     00

Данные для записи 3 мл.                                                                    FF

Контрольная сумма                                                                            —

 

ОТВЕТ

Нормальный ответ содержит данные прочитанных регистров.

Ответ

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           17

Функция                                                                                              17

Счетчик байт                                                                                       0C

Считанные данные 1 ст.                                                                      00

Считанные данные 1 мл.                                                                     FE

Считанные данные 2 ст.                                                                      0A

Считанные данные 2 мл.                                                                     CD

Считанные данные 3 ст.                                                                      00

Считанные данные 3 мл.                                                                     01

Считанные данные 4 ст.                                                                      00

Считанные данные 4 мл.                                                                     03

Считанные данные 5 ст.                                                                      00

Считанные данные 5 мл.                                                                     0D

Считанные данные 6 ст.                                                                      00

Считанные данные 6 мл.                                                                     FF

Контрольная сумма                                                                            —

 

Функция ModBUS 22

22 (16 Hex) Mask Write 4X Register

Описание

Модифицирует содержание регистров 4ХХХХ используя комбинацию OR-маску, AND-маску и текущего содержимого регистра. Функция может использоваться для установки или сброса отдельного бита в регистре.

Функция поддерживается только 984-785 контроллерами.

ЗАПРОС

Алгоритм функции следующий:

Результат=(Текущ. знач. AND Маска_И) OR (Маска_ИЛИ AND ~Маска_И)

Например:                                             Hex                                         Двоичное

Текущее значение                 12                                            0001 0010

Маска_И                                               F2                                           1111 0010

Маска_ИЛИ                                          25                                            0010 0101

~Маска_И                                             0D                                           0000 1101

Результат                                              17                                            0001 0111

Пример записи с маской в регистр 5 в подчиненное устройство 17, с приведенной выше маской описан ниже.

Запрос

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           17

Функция                                                                                              16

Адрес ссылки ст.                                                                                 00

Адрес ссылки мл.                                                                04

Маска_И ст.                                                                                        00

Маска_И мл.                                                                                       F2

Маска_ИЛИ ст.                                                                                   00

Маска_ИЛИ мл.                                                                                  25

Контрольная сумма                                                                            —

 

ОТВЕТ

Нормальный ответ повторяет запрос. Ответ возвращается после записи в регистр.

Ответ

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           17

Функция                                                                                              16

Адрес ссылки ст.                                                                                 00

Адрес ссылки мл.                                                                 04

Маска_И ст.                                                                                         00

Маска_И мл.                                                                                        F2

Маска_ИЛИ ст.                                                                                   00

Маска_ИЛИ мл.                                                                                  25

Контрольная сумма                                                                             —

Функция ModBUS 21

21 (15 Hex) Write general reference

Описание

Запись содержимого регистров в файл расширенной память (6ХХХХ).

ЗАПРОС

Запрос специфицирует группу или группы для записи, и данные которые содержатся в них.

Запрос специфицирует группу или группы для чтения. Каждая группа определяется в поле «суб-запроса» которое содержит 7 байт:

— Тип ссылки : 1 байт (должен быть специфицирован как 6)

— Номер файла расширенной памяти: 2 байта (от 1 до 10)

— Начальный адрес регистра внутри файла: 2 байта

— Количество регистров для чтения: 2 байта.

Количество регистров для записи, вместе с другими полями в ответе, не должно превышать допустимую длину MODBUS-сообщения: 256 байт.

Доступное количество файлов расширенной памяти зависит от установленного размера расширенной памяти в подчиненном контроллере. Каждый файл, исключая последний, содержит 10000 регистров, адресуемых как 0000-270F Hex (0000-9999).

Для контроллеров кроме 984-785:

Размер расш. памяти                            Кол-во файлов                      Остаточные регистры

16К                                                        2                                             6383

32К                                                        4                                             2767

64К                                                        7                                             5535

96К                                                         10                                           8303

Для контроллеров 984-785:

984-785 с картриджем AS-M785-032:

Польз.    Статич.

логика    ОЗУ        Размер расш. пам  . Кол. файлов                        Ост. рег.

32К         32К                         0                                             0                             0

16К         64К                         72К                                        8                             3727

984-785 c картриджем AS-M785-048:

Польз.    Статич.

логика    ОЗУ        Размер расш. пам.                Кол. файлов                          Ост. рег.

48К         32К                         24К                                        3                             4575

32К         64К                         96К                                        10                            8303

Пример запроса и ответа приведен ниже.

В данном примере требуется записать одну группу в подчиненное устройство 17.

Группа состоит из трех регистров в файле 4, начиная с регистра 8 (адрес 0007).

Запрос

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              15

Счетчик байт                                                                                        0D

Суб-запрос 1, тип ссылки                                                                  06

Суб-запрос 1, Номер файла ст.                                                         00

Суб-запрос 1, Номер файла мл.                                                         04

Суб-запрос 1, Начальный адрес ст.                                   00

Суб-запрос 1, Начальный адрес мл.                                  07

Суб-запрос 1, Кол-во регистров ст.                                  00

Суб-запрос 1, Кол-во регистров мл.                                                03

Суб-запрос 1, Данные регистра ст.                                                   06

Суб-запрос 1, Данные регистра мл.                                  AF

Суб-запрос 1, Данные регистра ст.                                                   04

Суб-запрос 1, Данные регистра мл.                                  BE

Суб-запрос 1, Данные регистра ст.                                                   10

Суб-запрос 1, Данные регистра мл.                                  0D

Контрольная сумма                                                                            —

 

Ответ

Нормальный ответ повторяет запрос.

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              15

Счетчик байт                                                                                        0D

Суб-ответ 1, тип ссылки                                                                    06

Суб-ответ 1, Номер файла ст.                                                           00

Суб-ответ 1, Номер файла мл.                                                          04

Суб-ответ 1, Начальный адрес ст.                                                     00

Суб-ответ 1, Начальный адрес мл.                                    07

Суб-ответ 1, Кол-во регистров ст.                                                    00

Суб-ответ 1, Кол-во регистров мл.                                                   03

Суб-ответ 1, Данные регистра ст.                                                     06

Суб-ответ 1, Данные регистра мл.                                                    AF

Суб-ответ 1, Данные регистра ст.                                                     04

Суб-ответ 1, Данные регистра мл.                                                    BE

Суб-ответ 1, Данные регистра ст.                                                     10

Суб-ответ 1, Данные регистра мл.                                                    0D

Контрольная сумма                                                                             —

 

Функция ModBUS 20

20 (14 Hex) Read General Reference

ОПИСАНИЕ

Возвращает содержание регистров файла расширенной памяти (6ХХХХ). Широкое вещание не поддерживается.

Функция может читать несколько групп. Группы могут быть разделены, но посылка внутри каждой группы должна быть непрерывной.

ЗАПРОС

Запрос специфицирует группу или группы для чтения. Каждая группа определяется в поле «суб-запроса» которое содержит 7 байт:

— Тип ссылки : 1 байт (должен быть специфицирован как 6)

— Номер файла расширенной памяти: 2 байта (от 1 до 10)

— Начальный адрес регистра внутри файла: 2 байта

— Количество регистров для чтения: 2 байта.

Количество регистров для чтения, вместе с другими полями в ответе, не должно превышать допустимую длину MODBUS-сообщения: 256 байт.

Доступное количество файлов расширенной памяти зависит от установленного размера расширенной памяти в подчиненном контроллере. Каждый файл, исключая последний, содержит 10000 регистров, адресуемых как 0000-270F Hex (0000-9999).

Для контроллеров кроме 984-785:

Размер расш. памяти                            Кол-во файлов                                     Остаточные регистры

16К                                                        2                                             6383

32К                                                        4                                             2767

64К                                                        7                                             5535

96К                                                        10                                           8303

Для контроллеров 984-785:

984-785 с картриджем AS-M785-032:

Польз.    Статич.

логика    ОЗУ        Размер расш. пам. Кол. файлов                          Ост. рег.

32К         32К                         0                                             0                             0

16К         64К                         72К                                        8                             3727

984-785 c картриджем AS-M785-048:

Польз.    Статич.

логика    ОЗУ        Размер расш. пам. Кол. файлов                         Ост. рег.

48К         32К                         24К                                        3                             4575

32К         64К                         96К                                         10                           8303

Пример чтения двух групп с подчиненного устройства 17 показан ниже.

Группа 1 состоит из двух регистров из файла 4, начиная с регистра 2 (адрес 0001).

Группа 2 состоит из двух регистров из файла 3, начиная с регистра 10 (адрес 0009).

Запрос

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              14

Счетчик байт                                                                                       0E

Суб-запрос 1, Тип ссылки                                                  06

Суб-запрос 1, Номер файла ст.                                                         00

Суб-запрос 1, Номер файла мл.                                                        04

Суб-запрос 1, Стартовый адрес ст                                    .               00

Суб-запрос 1, Стартовый адрес мл.                                  01

Суб-запрос 1, Кол-во регистров ст.                                  00

Суб-запрос 1, кол-во регистров мл.                                 02

Суб-запрос 2, тип ссылки                                                                  06

Суб-запрос 2, Номер файла ст.                                                         00

Суб-запрос 2, Номер файла мл.                                                        03

Суб-запрос 2, Стартовый адрес ст.                                                   00

Суб-запрос 2, Стартовый адрес мл.                                  09

Суб-запрос 2, Кол-во регистров ст.                                  00

Суб-запрос 2, кол-во регистров мл.                                 02

Контрольная сумма (LRC или CRC)                                 —

 

ОТВЕТ

Нормальный ответ состоит из серии суб-ответов, один на каждый суб-запрос.

Имя поля                                                                                              Пример (Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              14

Счетчик байт                                                                                        0E

Суб-ответ 1, Счетчик байт                                                 0C

Суб-ответ 1, Тип ссылки                                                                   06

Суб-ответ 1, Данные регистра ст.                                                     0D

Суб-ответ 1, Данные регистра мл.                                                    FE

Суб-ответ 1, Данные регистра ст.                                                     00

Суб-ответ 1, Данные регистра мл.                                                    20

Суб-ответ 2, Счетчик байт                                                 05

Суб-ответ 2, Тип ссылки                                                                   06

Суб-ответ 2, Данные регистра ст.                                                     33

Суб-ответ 2, Данные регистра мл.                                                    CD

Суб-ответ 2, Данные регистра ст.                                                     00

Суб-ответ 2, Данные регистра мл.                                                    40

Контрольная сумма                                                                            —

 

P.S. В настоящее время полотенцесушитель купить можно практически любой — от стандартного змеевика из толстостенной «чёрной», оцинкованной стали до моделей оригинальных форм с удобным креплением на стену. Наиболее популярными из них являются модели из нержавеющей стали.

Функция ModBUS 17

17 (11 Hex) Чтение идентификатора подчиненного

ОПИСАНИЕ

Возвращает описание типа контроллера представленного по данному адресу, текущее состояние индикатора пуска, и другую информацию о подчиненном устройстве.

ЗАПРОС

Имя поля                                                                                              Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              11

Контрольная сумма (CRC или LRC)                                 —

 

ОТВЕТ

Формат нормального ответа показан ниже. Содержание байтов данных специфично для каждого типа контроллера.

Имя поля                                                                                             Пример

(Hex)

Адрес подчиненного                                                                           Возврат адреса подчиненного

Функция                                                                                              11

Счетчик байт 4                                                                                     0Зависит от устройства

Идентификатор у-ва                                                                           Зависит от устройства

Индикатор пуска                                                                                00=OFF, FF=ON

Добавочная информация                                                                    Зависит от устройства

Контрольная сумма (CRC или LRC)                                 —

 

Список идентификаторов устройств

Идентификатор     Контроллер

0                                             Micro 84

1                                             484

2                                             184/384

3                                             584

8                                             884

9                                             984

184/384

184 или 384 контроллеры возвращают счетчик байт 4 или 74. Если J347 Modbus Slave Interface инициализирован правильно, и если внутренняя PIB-таблица нормальная, счетчик байт будет содержать 74. Иначе — 4.

Эти четыре байта будут возвращены в любом случае:

Байт        Содержимое

1              Идентификатор (2 для 184/384)

2              Индикатор пуска (0=OFF, FF=ON)

3,4           Слово статуса:

Бит 0 = 0

Бит 1 = Защита памяти (0=OFF, 1=ON )

Бит 2,3 = Тип контроллера :

Бит 2=0 и Бит 3=0 — 184

Бит 2=1 и Бит 3=0 — 384

Биты 4-15 = не используются

Дополнительные 70 байт:

Байт                                       Содержание

5,6                                          Начальный адрес PIB-таблицы

7,8                                          Серийный номер контроллера

9,10                                        Идентификатор исполнителя

Байты 11-74 содержат PIB-таблицу.

Эти данные верны если контроллер работает

(см. байт 2).

11,12                                      Максимальное количество выходов

13,14                                      Таблица доступных выходов

15,16                                      Адрес таблицы входов coil/run

17,18                                      Количество входов

19,20                                      Таблица доступных входов

21,22                                      Первое ключевое число

(должно быть кратно 16)

23,24                                      Последнее ключевое число

(должно быть кратно 16)

25,26                                      Адрес входных регистров

27,28                                      Количество входных регистров

29,30                                      Количество выходных и захваченных

регистров

31,32                                      Адрес пользовательской логики

33,34                                      Адрес output coil RAM table

35,36                                      Маска недоступных функций

37,38                                      Адрес программы расширенной функции

39,40                                      Адрес программы передачи данных

41,42                                      Адрес traffic cop

43,44                                      Не используются

45,46                                      Маска недоступных функций

47,48                                      Адрес таблицы истории «А»-режима

49,50                                      Таблица запросов для DX принтера

51,52                                      Количество групп последовательностей

53,54                                      Адрес таблицы последовательностей отображения

55,56                                      Адрес последовательности RAM (адрес ОЗУ)

57,58                                      Количество 50ХХ регистров

59,60                                      Адрес таблицы 50ХХ

61,62                                      Адрес output coil RAM image

63,64                                      Адрес input RAM image

65,66                                      Delayed output start group

67,68                                      Delayed output end group

69,70                                      Сторожевой таймер

71,72                                      RAM adress of latches

(адрес ключей в ОЗУ)

73,74                                      Адрес delayed output groups

584

584 контроллер возвращает счетчик байт = 9.

Байт                                       Содержание

1                                                             Идентификатор (3 для 584)

2                                                             Индикатор пуска (0=OFF, 1=ON)

3                                                             Количество 4К секций нулевой страницы

памяти

4                                                             Количество 1К секций в статическом ОЗУ

5                                                             Количество сегментов пользовательской

логики

6,7                                          Слово состояния машины (слово таблицы

конфигурации 101, 65 Hex)

Организация этого слова показана ниже:

Байт 6:

Бит 15 = Port 1 setup

Бит 14 = Port 2 setup

Бит 13 = Port 1 adress set

Бит 12 = Port 2 adress set

Бит 11 = Не присвоен

Бит 10 = Статус Constant Sweep

(0=Constatnt Sweep OFF, 1=ON)

Бит 9 = Статус Single Sweep

(0=Single Sweep OFF, 1=ON)

Бит 8 = 16/24-битовый узел

(0=24-битовый, 1=16-битовый)

Байт 7:

Бит 7 = Питание ON (1=ON, никогда OFF)

Бит 6 = RUN — индикатор (0=ON, 1=OFF)

Бит 5 = Защита памяти (0=ON, 1=OFF)

Бит 4 = Состояние батареи (0=OK, 1=Not OK)

Биты 3-0 Не используются

8,9                                          Машинный код стопа

(таблица конфигурации слово 105, 69 Hex)

Организация этого слова показана ниже:

Байт 8:

Бит 15 = Стоп переферийного порта

(стоп контроллера)

Бит 14 = Не используется

Бит 13 = Dim awareness

Бит 12 = Недопустимое вторжение перифе-

рии

Бит 11 = Неправильная таблица задач

Бит 10 = Старт узла не является стартом

сегмента

Бит 9 = Ошибка теста статического ОЗУ

Бит 8 = Не обнаружен конец логики, или

неверное количество сегментов

Бит 9:

Бит 7 = Сторожевой таймер накрылся

Бит 6 = Ошибка часов реального времени

Бит 5 = Ошибка диагностики процессора

Бит 4 = Неправильный тип traffic cop

Бит 3 = Неправильный тип узла

Бит 2 = Ошибка контрольной суммы логики

Бит 1 = Ошибка резервной контрольной суммы

Бит 0 = Неверная конфигурация

984

984 контроллер возвращает счетчик байт = 9.

Байт                                       Содержание

1                                                             Идентификатор подчиненного (9 для 984)

2                                                             Статус RUN-индикатора (0=OFF, 1=ON)

3                                                             Количество 4К секций нулевой страницы

памяти

4                                                             Количество 1К секций в статическом ОЗУ

5                                                             Количество сегментов пользовательской

логики

6,7                                          Слово состояния машины (слово таблицы

конфигурации 101, 65 Hex)

Организация этого слова показана ниже:

Байт 6:

Бит 15 = Не используется

Бит 14-11 = Не используется

Бит 10 = Статус Constant Sweep

(0=Constatnt Sweep OFF, 1=ON)

Бит 9 = Статус Single Sweep

(0=Single Sweep OFF, 1=ON)

Бит 8 = 16/24-битовый узел

(0=24-битовый, 1=16-битовый)

Байт 7:

Бит 7 = Питание ON (1=ON, никогда OFF)

Бит 6 = RUN — индикатор (0=ON, 1=OFF)

Бит 5 = Защита памяти (0=ON, 1=OFF)

Бит 4 = Состояние батареи (0=OK, 1=Not OK)

Биты 3-1 = Не используются

Бит 0 = Флаг размера памяти

Размер памяти : Бит 0 слова состояния машины определяет использование величины размера памяти в словах 00, 100, 175 (63, 64, AF Hex) таблицы конфигурации. Если бит 0 = логической 1, размер памяти вычисляется следующим образом:

Размер 0 страницы(16 бит)=(Слово 99*4096)-(Слово 175 мл.байт*16)

Размер статической таблицы(16 бит) =

(Слово 100*1024)-(Слово 175 ст. байт*16)

8,9                                          Машинный код стопа

(таблица конфигурации слово 105, 69 Hex)

Организация этого слова показана ниже:

Байт 8:

Бит 15 = Стоп периферийного порта

(стоп контроллера)

Бит 14 (984A,B,X) = Ошибка паритета

расширенной памяти

Бит 13 = Dim awarness

Бит 12 = Недопустимое вторжение периферии

Бит 11 = Неверная таблица списков сегментов

Бит 10 = Старт узла не является стартом

сегмента

Бит 9 = Ошибка теста статического ОЗУ

Бит 8 = Не обнаружен конец логики, или

неверное количество сегментов

Байт 9:

Бит 7 = Сторожевой таймер накрылся

Бит 6 = Ошибка часов реального времени

Бит 5 (984A, B, X) =

Ошибка диагностики процессора

Бит 5 (Другие 984) =

Плохая таблица использования выходов

Бит 4 = S908 remote IO head failure

Бит 3 = Неправильный тип узла

Бит 2 = Ошибка контрольной суммы логики

Бит 1 = Выхода недоступны пока контроллер

работает

Бит 0 = Неверная конфигурация

Micro 84

Micro 84 возвращает счетчик байт 8:

Байт                                       Содержание

1                                                             Идентификатор подчиненного (0 для Micro 84)

2                                                             Статус индикатора RUN (0=OFF, FF=ON)

3                                                             Текущий номер порта

4                                                             Размер памяти (1 = 1К, 2 = 2К)

5                                                             Не используется (все 0)

484

484 контроллер возвращает счетчик байт 5:

Байт                                       Содержание

1                                                             Идентификатор подчиненного (1 для 484)

2                                                             Статус индикатора RUN (0=OFF, FF=ON)

3                                                             Установка системы

4                                                             Первый байт конфигурации

5                                                             Второй байт конфигурации

884

884 контроллер возвращает счетчик байт 8:

Байт                                       Содержание

1                                                             Идентификатор подчиненного (0 для Micro 84)

2                                                             Статус индикатора RUN (0=OFF, FF=ON)

3                                                             Текущий номер порта

4                                                             Размер пользовательской логики плюс

статическая память, в килобайтах

5                                                             Зарезервирован

6                                                             Биты:

Бит 0-2 = Зарезервированы

Бит 3 = Обход mapper:

1 = не использовать стандартный mapper

Бит 4 = Конец теста Scan

1 = Конец теста сканирования

Бит 5 = Зарезервирован

Бит 6 = Обход решателя логики:

1 = не использовать стандартный решатель

Бит 7 = зарезервирован

7,8                                          Зарезервированы

 

Функция ModBUS 16

16 (10 Hex) Preset Multiple Regs

ОПИСАНИЕ

Запись данных в последовательность регистров (ссылка 4Х). При широковещательной передаче, функция устанавливает подобные регистры во всех подчиненных устройствах.

ЗАМЕЧАНИЕ

Функция может пересекаться с установленной защитой памяти.

ЗАПРОС

Запрос специфицирует регистры для записи. Регистры адресуются начиная с 0.

Данные для записи в регистры содержатся в поле данных запроса. Контроллеры M84 и 484 используют 10-битовую величину, со старшими шестью битами установленными в 0. Все остальные контроллеры используют 16 бит.

Ниже приведен пример запроса на установку двух регистров начиная с 40002 в 00 0A и 01 02 Hex, в подчиненном устройстве 17:

Запрос

Имя поля                                                                                             Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              10

Начальный адрес                                                                 00

Начальный адрес                                                                 01

Кол-во регистров ст.                                                                          00

Кол-во регистров мл.                                                                         02

Счетчик байт                                                                                        02

Данные ст.                                                                                            00

Данные мл.                                                                                           0A

Данные ст.                                                                                            01

Данные мл.                                                                                           02

Контрольная сумма                                                                             —

 

ОТВЕТ

Нормальный ответ содержит адрес подчиненного, код функции, начальный адрес, и количество регистров.

 

Функция ModBUS 15

15 (0F Hex) Force Multiple Coils

ОПИСАНИЕ

Устанавливает каждый выход (ссылка 0Х) последовательности выходов в одно из состояний ON или OFF. При широковещательной передаче функция устанавливает подобные выходы на всех всех подчиненных.

ЗАМЕЧАНИЕ Функция может пересекаться с установкой защиты памяти и установкой недоступности выходов.

ЗАПРОС

Запрос специфицирует выходы для установки. Выходы адресуются начиная с 0.

Ниже показан пример запроса на установку последовательности выходов начиная с 20 (адресуется как 19) в подчиненном устройстве 17.

Поле данных запроса содержит 2 байта: CD 01 Hex (1100 1101 0000 0001 двоичное). Соответствие битов и выходов представлено ниже:

Бит: 1 1 0 0 1 1 0 1                                                               0 0 0 0 0 0 0 1

Выход: 27 26 25 24 23 22 21 20                           — — — — — — 29 28

Запрос

Имя поля                                                                                              Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              0F

Адрес выхода ст.                                                                                 00

Адрес выхода мл.                                                                13

Кол-во выходов ст.                                                                             00

Кол-во выходов мл.                                                                            0A

Счетчик байт                                                                                        02

Данные для установки (Выходы 27-20)                                            CD

Данные для установки (Выходы 29-28)                                            01

Контрольная сумма                                                                             —

 

ОТВЕТ

Нормальный ответ возвращает адрес подчиненного, код функции, начальный адрес, и количество установленных выходов.

Это пример ответа на представленный выше запрос.

Ответ

Имя поля                                                                                              Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              0F

Адрес выхода ст.                                                                                00

Адрес выхода мл.                                                                 13

Кол-во выходов ст.                                                                              00

Кол-во выходов мл.                                                                             0A

Контрольная сумма                                                                             —

Функция ModBUS 12

12 (0C Hex) Fetch Comm Event Log

ОПИСАНИЕ

Возвращает слово состояния, счетчик событий, счетчик сообщений, и поле байтов событий.

Слово состояния и счетчик событий идентичны возвращаемым функцией 11 (0B Hex).

Счетчик сообщений обработанных подчиненным со времени последнего рестарта, операции очистки счетчиков или с момента включения питания. Этот счетчик идентичен возвращаемому функцией диагностики (код 08), подфункцией Return Bus Message Count (код 11).

Поле байтов событий содержит 0-64 байта, каждый байт содержит статус одной посылки или приема сообщения подчиненным. События размещаются подчиненным в поле в хронологическом порядке. Байт 0 содержит последнее по времени событие.

ЗАПРОС

Ниже приведен пример запроса на посылку коммуникационного журнала сообщений главному с подчиненного устройства 17:

Имя поля                                                                                              Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              0C

Контрольная сумма                                                                             —

 

ОТВЕТ

Нормальный ответ содержит два байта слова состояния, два байта счетчика событий, два байта счетчика сообщений, и поля содержащего 0-64 байта описания событий. Поле счетчика данных определяет общую длину данных в четырех полях.

Это пример ответа на запрос представленный выше:

Ответ

Имя поля                                                                                             Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              0C

Счетчик байтов                                                                                   08

Состояние ст.                                                                                       00

Состояние мл.                                                                                      00

Счетчик событий ст.                                                                           01

Счетчик событий мл.                                                                          08

Счетчик сообщений ст.                                                                       01

Счетчик сообщений мл.                                                                      21

Событие 0                                                                                            20

Событие 1                                                                                            00

Контрольная сумма                                                                            —

 

Вданном примере, слово состояния содержит 00 00 Hex, это говорит о том, что подчиненный не занят выпонением программной функции. Счетчик событий содержит 264. Счетчик сообщений показывает, что 289 сообщений было обработано.

Последнее коммуникационное событие показано в 0-ом байте событий. Его содержимое говорит о том, что подчиненный был введен в режим Listen Only Mode.

Предыдущее событие показано в 1-ом байте событий. Его содержимое (00) говорит о том, что подчиненный принял Communications Restart.

Содержимое байтов событий описано ниже.

ЧТО СОДЕРЖАТ БАЙТЫ СОБЫТИЙ

Байты событий, возвращаемые функцией Fetch Communication Event Log, могут быть одним из четырех типов. Тип определяется старшим битом в каждом байте. Кроме того, он может определятся битом 6.

Slave Modbus Receive Event

Этот тип байта события сохраняется подчиненным когда сообщение-запрос было принято. Он сохраняется перед тем как подчиненный обработает сообщение. Этот тип события определяется установкой бита 7 в «1». Остальные биты устанавливаются в «1» если произошли описанные ниже события:

Бит                         Описание

0                             Не используется

1                             Коммуникационная ошибка

2                             Не используется

3                             Не используется

4                             Character Overrun

5                             Currently in Listen Only Mode

6                             Широковещательный прием

7                             1

Slave Modbus Send Event

Этот тип байта события сохраняется подчиненным когда он закончил обработку сообщения запроса. Он сохраняется если подчиненный возвращает нормальный ответ или возвращает сообщение об ошибке, или не отвечает на запрос. Это событие определяется установкой бита 7 в 0, с установкой бита 6 в 1. Остальные биты устанавливаются в 1 если произошли описанные ниже события:

Бит                         Описание

0                             Read Exeption Sent (Код ошибки 1-3)

1                             Slave Abort Exeption Sent (Код ошибки 4)

2                             Slave Busy Exeption Sent (Код ошибки 5-6)

3                             Slave Program NAK Exeption Sent (Код ошибки 7)

4                             Write Timeout Error Occured

5                             Currently in Listen Mode

6                             1

7                             0

Slave Entered Listen Only Mode

Этот тип байта события сохраняется подчиненным когда он вводится в режим Listen Only Mode.

Описание битов:

Бит                         Описание

0                             0

1                             0

2                             1

3                             0

4                             0

5                             0

6                             0

7                             0

Slave Initiated Communication Restart

Этот тип байта события сохраняется подчиненным когда был сделан рестарт коммуникационного порта. Рестарт подчиненного может быть сделан посредством диагностической функции (код 08 Hex) подфункция Restart Communication Option (код 00 01).

Эта функция также может переводить подчиненного в режим ‘Continue on Error’ или ‘Stop on Error’. Если подчиненный находится в режиме ‘Continue on Error Mode’, байт события добавляется к существующему журналу событий. Если подчиненный находится в режиме ‘Stop on Error’ байт добавляется в журнал и остаток журнала сбрасывается в 0.

Описание битов

Бит                         Содержание

0                             0

1                             0

2                             0

3                             0

4                              0

5                             0

6                             0

7                             0

 

Функция ModBUS 11

11 (0B Hex) Fetch Comm Event Ctr

ОПИСАНИЕ

Возвращает слово состояния и счетчик событий из коммуникационного счетчика событий подчиненного устройства. Просматривая текущий счетчик перед и после серии сообщений , главный может увидеть какие сообщения были нормально приняты подчиненным.

Счетчик событий инкрементируется после каждого удачного приема сообщения. Он не инкрементируется после сообщений об ошибке, команд регистрации, или команд просмотра счетчика событий.

Счетчик событий может быть переустановлен посредством Диагностической функции (код 08), подфункциями Restart Communication Option (код 00 01) или Clear Counters and Diagnostic Register (код 00 0A).

ЗАПРОС

Ниже приведен пример запроса на чтение коммуникационного счетчика событий в подчиненном устройстве 17:

Имя поля                                                                                              Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              0B

Контрольная сумма                                                                             —

 

ОТВЕТ

Нормальный ответ содержит два байта слова состояния, и два байта счетчика событий. Слово состояния содержит все 1 если предыдущая команда еще выполняется. Иначе слово состояния содержит все нули.

Ниже приведен пример ответа на описанный выше запрос:

Ответ

Имя поля                                                                                             Пример

(Hex)

Адрес подчиненного                                                                           11

Функция                                                                                              0B

Состояние ст.                                                                                       FF

Состояние мл.                                                                                      FF

Счетчик событий ст.                                                                           01

Счетчик событий мл.                                                                          08

Контрольная сумма                                                                             —

 

В этом примере слово состояния содержит число FFFF Hex, что говорит о том, что в подчиненном все еще выполняется функция. Счетчик событий содержит число 264, что говорит о том, что на данный момент произошло 264 события.