Форум : Программное обеспечение

Название : Интеграция по ModBus протоколу

 Rus116 :

5.4.21 13:27
 Добрый день!
Задача стоит с теплосчетчика ВИСТ по RS-485 по модбас протоколу вывести данные в контроллер Сименс через модуль TXI2.Open (Siemens). Сканирую ModScan32 программой, получаю данные, но не могу понять как читать данные в соответствии с картой регистров Modscan для теплосчетчика ВИСТ. Формат данных как считывает Сименсом: М=1(4.0.3.0.0[UINT16]), где 1 - номер устройства, 4 - функция, 3 - адрес регистра.
Мне нужно считать допустим температуру №1. Смотрю на карту модбас регистров ВИСТ - функция 04, адрес: 0х0206 (518), 0х0606(1542), 0х0А06(2566). Обычно беру адрес регистра и считываю данные, но на этих регистрах по нулям. Значения через программу ModScan32 по функции 04 приходят только с 1 по 254 регистр.
Заметил что по карте регистров 95 адрес - это значение сетевого номера прибора, а по программе он 92.
С каких регистров мне считать допустим температуру? Различные орс серверы не могу использовать, так как завожу данные на контроллер.

 CH :

6.4.21 13:55
 Здравствуйте.
Допустим температуру в 1 (подающем) трубопроводе первой теплосистемы можно прочитать функцией 4 с адреса 0x0206 (1 регистр, 2 байта, старшим байтом вперёд). Температуры 2 и 3 с адресов 0x207 и 0x208 соответственно. Для температур второй или третьей теплосистем (при наличии) к этим адресам следует добавить 0x400 или 0x800 соответственно. Значение в сотых долях градуса по цельсию.

 Rus116 :

9.4.21 13:37
 Цитата:

CH пишет:
Здравствуйте.
Допустим температуру в 1 (подающем) трубопроводе первой теплосистемы можно прочитать функцией 4 с адреса 0x0206 (1 регистр, 2 байта, старшим байтом вперёд). Температуры 2 и 3 с адресов 0x207 и 0x208 соответственно. Для температур второй или третьей теплосистем (при наличии) к этим адресам следует добавить 0x400 или 0x800 соответственно. Значение в сотых долях градуса по цельсию.

Добрый день!
По адресам 0х0206, 0х0207, 0х0208 везде нули. По поводу чтения адресов - со 0х0188 по 0х0212 адрес для теплосистемы первой (единственной в данном случае) у меня по нулям, то есть, если чтение развернуть от старшего байта, то все равно будут нули. Получается, что стандартная таблица с модбас адресами не соответствует? И адреса с температурами могут быть другими.

 CH :

12.4.21 11:53
 Здравствуйте.
Таблица регистров не соответствовать не может - других вариантов разметки адресного пространства не существует. Как вариант, уточните наличие нештатных ситуаций по датчикам температуры, в этом случае значения температур недействительны и в регистрах могут быть нулевые значения.
Также попробуйте для информации провести проверку чтения данных с помощью какого-нибудь нашего софта, например OPC-сервером в режиме автоопроса.

© NegaSoft co., 2005
http://www.teplovizor.ru

URL этой темы
http://www.teplovizor.ru/forum/viewtopic.php?topic_id=706&forum=2