|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
10.09.2013, 12:14 | #1 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Не могу разобрать приходящий пакет.
Коллеги настроили контроллер SMH 2g, чтобы он передавал данные на ком-порт каждые 10 секунд. Передается одно булевское значение. С интервалом в 10 секунд сниффер ловит 2 вида пакетов:
0F 01 01 38 04 00 01 B1 6B 11 01 0F 38 04 00 01 01 00 DB EF По последним двум символам предполагаю, что работает Modbus RTU. Прошу прощения, если вопрос тупой или использую не тот язык, я прикладной программист, с модбассом ранее не работал. Буду благодарен за любую помощь. Моя цель - научится вычленять значения переменных. |
10.09.2013, 12:21 | #2 |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Тогда лучше обратиться к первоисточнику.
http://www.modbus.org/docs/PI_MBUS_300.pdf |
10.09.2013, 14:16 | #3 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Спасибо)Очень полезная ссылка, даже не ожидал что модбасс так давно создан. Удивлен, что не слышал о нем раньше.
|
10.09.2013, 14:17 | #4 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Но вот почему 2 типа пакетов приходит, не понимаю. Может это в настройках контроллера ошибка...
|
10.09.2013, 14:38 | #5 |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Это одна из особенностей реализации ModBus у сегнетикса. Нет просто операции записи. Есть операция записи и последующая автоматическая операция чтения. Разберите посылки по байтам и должны получить именно это.
|
10.09.2013, 14:42 | #6 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Уже сделал, спасибо Просто не мог понять почему так)
|
13.09.2013, 11:42 | #7 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Добрый день всем, появился еще один вопрос. В контроллере заведена переменная с типом real. Число байт, которое она занимает в ответе - 14. Не нашел ни одного написания, где real занимала бы 14 байт. Не подскажете, в какую сторону хоть гуглить?
|
13.09.2013, 17:53 | #8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Покажите лог, где виден запрос и виден ответ на него.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
16.09.2013, 15:03 | #9 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
01 03 A0 00 00 07 26 08
01 10 A0 00 00 07 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A7 76 |
17.09.2013, 11:15 | #10 |
Сотрудник Segnetics
Регистрация: Sep 2011
Сообщения: 129
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
|
17.09.2013, 11:26 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Цитата:
Второй запрос - запись семи регистров. Ответов тут нет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
17.09.2013, 12:17 | #12 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
хм, дело в том, что настраивал это дело не я((Задача - отправка контроллером на ком-порт значений из карты памяти.
Карта памяти вот: Screen values.JPG |
17.09.2013, 12:18 | #13 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
А запросы вот так и приходят на ком порт: сначала первый из представленных мной, потом второй, вот я и подумал, что это ответ
|
17.09.2013, 12:27 | #14 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Цитата:
В навигаторе я не заметил этих переменных на поляне. Они там вообще есть? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
17.09.2013, 12:30 | #15 | |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Цитата:
|
|
17.09.2013, 12:32 | #16 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
картинка с картой памяти - единственное. что у меня есть, поскольку, повторюсь, настраивал это дело не я((и теперь приходится вникать в предметную область(
|
17.09.2013, 14:06 | #17 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
В общем. Контроллер отправляет вам сплошные нули. Правильно это или нет - на совести человека, создавшего программу для контроллера.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
17.09.2013, 16:57 | #18 |
Новичок
Регистрация: Sep 2013
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Все, спасибо))Понял, что такое поляна, попросил туда кинуть и все заработало))
|
17.09.2013, 17:26 | #19 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Не могу разобрать приходящий пакет.
Работало и до этого. Только ровно так, как было сделано, а не так, как было нужно сделать
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |