|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
09.04.2014, 09:13 | #1 |
Member
Регистрация: Apr 2013
Адрес: Санкт-Петербург
Сообщения: 34
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Не могу компьютером прочесть переменные с Pixel (решено)
Здравствуйте уважаемые друзья. Есть небольшая проблемка с контроллером Pixel. Пытаюсь наладить чтение переменных из контроллера. Контроллер слэйв, а компьютер мастер. Написал программку(тестировалась неоднократно) которая читает по 03 функции модбас. И всё вроде бы отлично, но с контроллера приходят нулевые ответы.
Опишу подробнее суть В контроллере создан регистр типа int с адресом 0001h, в него помещено целое число 1022. Адрес контроллера в сети: 83 Настроена транспортная система: 115200 8N2 Соединение устанавливается корректно, использую переходник на FTDI или на silicon labs чипах результат одинаков Посылаю запрос на контроллер такой: 53 03 00 01 00 01 d8 78 Получаю ответ:53 03 01 00 00 f1 88 Всё логично и правильно, ответы корректны, но вот куда делось число 1022? Посылаю запрос на контроллер такой: 53 03 00 01 00 02 98 79 Получаю ответ:53 03 02 00 00 00 00 01 f6 Опять нет числа. Проверил все регистры до 10, ничего, пусто. Пробовал ставить галочку фиксация, снимать её, а числа - нет. Что я делаю не так? Контроллер Pixel 12хх. Думал ещё что отсчёт идёт с нуля, пробовал и регистр с адрессом 00h спросить, все мои попытки тщетны. |
09.04.2014, 10:22 | #2 |
Сотрудник Segnetics
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
проект с пикселя покажите.
опять же с функцией не напутали? 03 read holding reg - то есть функция для чтения переменных которые вы сами же по модбус и должны записать. если вы не запишете туда ничего функциями 06 или 16 будете читать нули. Последний раз редактировалось Nick, 09.04.2014 в 10:32 Причина: й |
09.04.2014, 10:52 | #3 |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Чтение переменных по ModBus
Сдается мне, что Вы функцией чтения holding register пытаетесь прочитать input register. Попробуйте сделать запрос 53 04 00 01 00 01 CRC16
__________________ Автомат АК - самый распространенный преобразователь стека в очередь |
09.04.2014, 11:09 | #4 |
Сотрудник Segnetics
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
|
09.04.2014, 11:19 | #5 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 105
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Чтение переменных по ModBus
Цитата:
Вы же читаете холдинги. Ответ контроллера полностью адекватен. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
09.04.2014, 12:08 | #6 |
Member
Регистрация: Apr 2013
Адрес: Санкт-Петербург
Сообщения: 34
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
проект дома, вот набросал на бумаге, думаю для иллюстрации подойдёт
|
09.04.2014, 12:10 | #7 | ||
Member
Регистрация: Apr 2013
Адрес: Санкт-Петербург
Сообщения: 34
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
Цитата:
Цитата:
Последний раз редактировалось Vorgehen, 09.04.2014 в 12:25 |
||
09.04.2014, 12:46 | #8 |
Сотрудник Segnetics
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
|
10.04.2014, 08:34 | #9 | ||
Member
Регистрация: Apr 2013
Адрес: Санкт-Петербург
Сообщения: 34
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
Цитата:
Цитата:
|
||