8/13/2018 0 Comments Modbus Poll V3.54Форум асутп Здесь может быть Ваша реклама,|||| modbus Poll проблема получения ответа Автор: Дата: 31.01.08 05:48 Может проблема изначально решалась неправильно, но вопрос в том что заказчик настойчиво требует, а мы не специалисты в этой области. Проблема такова. Наше приложение производит взвешивание автомобилей на весах, все провески хранятся в БД локально. Заказчик требует, чтобы данные по запросу пересылались на его сервер по протоколу modbus. Сервер modbus Poll. Я в программе организовала поток, в котором ведется опрос сом порта и посылка ответа на запрос. На своем стенде сервере смотрю трассировку, там ответ приходит мой, но в окне сервера горит сообщение 'bytes missing'. ![]() Основная информация о программе. Modbus Poll – это симулятор, разработанный специально. Jul 11, 2011 - 3. Статическая маршрутизация (Static Route). Поддержка RTU/TCP Modbus через RS485 (дополнительно). Широкий диапазон рабочих температур: от -25. Политику из Parallel или Poll. Что и где я теряю, не могу понять. Меняю различные настройки сервера-картина тиже. 000332-Tx:01 04 02 00 00 00 F1 B2 000333-Rx:01 04 2E 33 30 2E 30 31 2E 32 30 30 38 20 31 30 3A 33 36 3A 30 36 31 32 20 20 20 20 20 20 34 2E 35 35 20 20 34 2E 31 35 20 20 30 2E 34 30 F2 CF 3-й байт в запросе-номер провески 3-байт в ответе количество байт данных посылаемых на сервер 3 начальных+ 43данных. Re: modbus Poll проблема получения ответа Автор: Дата: 31.01.08 10:52 >> 01 04 02 00?00 00? F1 B2 Мастер требует 0 регистров? Непонятно, что значит '3 начальных', запрос идет на чтение регистров, по-этому количество байтов должно быть в два раза больше, чем требуемых регистров. Если я правильно посчитал - в приведенном ответе 43 байта, исключая CRC. Такого быть не может, кроме того указаное количество байт - 46. Александр Пупена. Асистент кафедры АКИТ. Национальный университет пищевых технологий. Re: modbus Poll проблема получения ответа Автор: Дата: 31.01.08 11:16 в описании протокола в запросе сервера 1-й байт номер устройства, 2-й номер функции, 3-й номер провески, остальное мне не интересно, кроме CRC, я ее проверяю при приеме. В ответе первые 2 байта из запроса, 3- длина данных 43 байта, которые я передаю. Потом считаю CRC и добавляю к строке. Реально в порт шлю 48 байт. Вот описание Help для сервера. Тут для RTU и ASCII Field Name RTU (hex) ASCII Characters Header None: (Colon) Slave Address 01 0 1 Function 04 0 4 Starting Address HI 00 0 0 Starting Address LO 00 0 0 No of Registers Hi 00 0 0 No of Registers Lo 02 0 2 Error Check Lo 71 LRC (F 9) Error Check Hi CB Trailer None CR LF Total Bytes 8 17 Response The register data in the response message are packed as two bytes per register, with the binary contents right justified within each byte. For each register the first byte contains the high-order bits, and the second contains the low-order bits. Example of a response to the query: Field Name RTU (hex) ASCII Characters Header None: (Colon) Slave Address 01 0 1 Function 04 0 4 Byte Count 04 0 4 Data Hi 00 0 0 Data Lo 06 0 6 Data Hi 00 0 0 Data Lo 05 0 5 Error Check Lo DB LRC (E C) Error Check Hi 86 None Trailer None CR LF Total Bytes 9 19 Re: modbus Poll проблема получения ответа Автор: Дата: 31.01.08 11:25 >>в описании протокола в запросе сервера 1-й байт номер устройства, 2-й номер >>функции, 3-й номер провески 3-й байт или 3-й и 4-й байт? >>3- длина данных 43 байта во-первых: 2E(HEX)=46(DEC) а не 43 во-вторых: указывать нужно не длину байт, которые передаются, а длину байт данных, которые передаются в-третьих: длина в байтах в даном запросе должна быть парной (количество регистров умноженое на 2) Александр Пупена. Асистент кафедры АКИТ. Национальный университет пищевых технологий.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |