|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
10.06.2016, 06:15 | #1 |
Новичок
Регистрация: Jun 2016
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Помощь с powerlogic DM6200
Здравствуйте! Прошу помощи в подключении по modbus DM6200.
Вот ссылка на инструкцию от него. Раньше никогда не работал с segnetics или modbus. Пытался сам по мануалам, но не получается. Подключил прибор настроил параметры связи (modbus id 5, 9600 env). Сперва просто попытался перебить адреса из инструкции. Прибор пишет ошибку переполнения буфера, сигнетик ошибку. Если я правильно понял, то у меня сигнетик читает только половину адреса, так как в инструкции указано, что нужно ставить длину регистра "2", а где это выставляется в IDE я не нашел. Как правильно составить карту для данного девайса? Я так понял нужно использовать групповые запросы, что бы он одновременно читал из 3907 и 3908 (пример из инструкции.) Я создал такие запросы, сделал у них одинаковый период опроса, установил чекбокс "групповые запросы" Как мне теперь в программе считать их, если они отображаются как две переменные? Если читаю только одну, то идет указанная ошибка выше. Заранее благодарен за помощь. DM6200_.psl |
10.06.2016, 07:20 | #2 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 752
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Цитата:
Ваше устройство поддерживает только функцию 3 Modbus. Так что надо обязательно использовать групповые запросы и следить за тем, что бы внутри группы было более 1 переменной. Тогда точно будет использоваться функция 3 Modbus. Ну и направление переменной R(out). __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
|
10.06.2016, 18:05 | #3 |
Новичок
Регистрация: Jun 2016
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Спасибо за консультацию.
подскажите еще пожалуйста, не нашел в примерах обработку групповых запросов на поле. Я правильно понимаю, что если у меня стоят групповые запросы 3907 и 3908 в карте, а на поле я вытащу первую переменную с обращением к 3907, то автоматом сделается и обращение к 3908? Или мне нужно все указывать на карте, а потом соединять результат ответа? |
10.06.2016, 18:14 | #4 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Да.
__________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
10.06.2016, 20:54 | #5 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Цитата:
Если вы 3908 не указываете в карте, а 3907 указан как int, то 3908 опрашиваться он не будет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
11.06.2016, 01:28 | #6 |
Новичок
Регистрация: Jun 2016
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Что то упорно не выходит (
В карту забил Переменная, тип, напр., адрес, период A_1, REAL, R(OUT), 3907,3000 A_2, REAL, R(OUT), 3908,3000 Флаг групповые запрсы стоит. На поле их не вытаскивал. По цвету он их сгруппировал, значит запрос групповой. Прибор показывает ошибку, сигнетик ошибку. Пробовал менять на 43907 и 43908 все так же. Может я что то не так понял? Если все верно, то буду снифером смотреть. |
11.06.2016, 02:00 | #7 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Помощь с powerlogic DM6200
А куда ж им деваться ?!
REAL, R(OUT), 3907 это уже чтение ДВУХ регистров, начиная с 3907. __________________ RTFM |
11.06.2016, 03:02 | #8 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 752
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Цитата:
Если вы читаете переменную типа REAL (2 регистра) с адреса 3907, то следующий корректный адрес будет 3909. С 3908 читать не стоит. 2. Адресация в Modbus вещь жесткая, только трактуют ее разные производители по разному. Кто то считает от 0, кто то от 1. Так что иногда имеет смысл почитать переменные со смещение +/- 1. 3. Попытайтесь забить следующую карту: PF , REAL, R(OUT), 3907,3000 VLL , REAL, R(OUT), 3909,3000 VLN , REAL, R(OUT), 3911,3000 A , REAL, R(OUT), 3913,3000 F , REAL, R(OUT), 3915,3000 все переменные должны быть в 1 запросе. 4. Почитайте ограничения на стр.54. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. Последний раз редактировалось tvf, 11.06.2016 в 03:22 |
|
11.06.2016, 04:55 | #9 |
Новичок
Регистрация: Jun 2016
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Спасибо Вам большое. Буду пробовать.
|
16.06.2016, 01:44 | #10 |
Новичок
Регистрация: Jun 2016
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Не заработало.
Запустил монитор порта, посмотрел как общается mdscan65 из инструкции. Есть свдиг на -1, т.е вместо 3907 опрашиваем 3906. Только не работает. Вот пример лога. Работает сигнетик (3928, real, 3000ms пауза.) Код:
17:53:30.306 - Rx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Rx 17:53:33.346 - Rx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Rx 17:53:36.382 - Rx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Rx 17:53:39.418 - Rx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Rx 17:53:42.455 - Rx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Rx 17:53:45.491 - Rx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Rx 17:53:55.538 - Tx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Tx Parity, framing, or overrun error Если отправляю с компа то все отлично работает. Код:
Slave Rx 17:53:58.552 - Tx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Tx 17:53:58.634 - Rx: 05 03 04 6C 7D 42 89 C3 BD - Response to read N words, Slave Rx 17:54:01.560 - Tx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Tx 17:54:01.642 - Rx: 05 03 04 6B B6 42 89 B3 37 - Response to read N words, Slave Rx 17:54:04.574 - Tx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Tx 17:54:04.648 - Rx: 05 03 04 6E E5 42 89 43 EA - Response to read N words, Slave Rx 17:54:07.582 - Tx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Tx 17:54:07.686 - Rx: 05 03 04 3C 85 42 87 D2 88 - Response to read N words, Slave Rx 17:54:10.592 - Tx: 05 03 0F 58 00 02 47 48 - Read N words, Slave Tx 17:54:10.703 - Rx: 05 03 04 29 7A 42 87 E6 B4 - Response to read N words, Slave Rx Перемычка на 120ом резистор присутствует. Настройки везде одинаковые. 19200-1-8-even ps. В моей pdf версии инструкции опечатка и я неверно идентифицировал ошибку. Причем Сигнетик отлично читает при эмуляции слейва с компа. Комп отлично читает с мультиметра. Подскажите пожалуйста, где искать затык? |
16.06.2016, 03:53 | #11 |
Senior Member
Регистрация: Dec 2011
Сообщения: 752
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Если все обстоит как, как вы описали, то проблема на физическом уровне сети: полярность подключения, подтяжка, терминаторы и прочее. Есть возможность посмотреть осциллографом? Лучше запоминающим.
__________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
17.06.2016, 13:58 | #12 | |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Цитата:
Измерь напряжение между клеммами А и В без обмена по шине. Если напряжение 0 - то надо лепить подтяжку со стороны Pixel-я. Если без терминатора напряжение появилось - то всё должно заработать __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
|
19.06.2016, 15:59 | #13 |
Новичок
Регистрация: Jun 2016
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Проблема решилась отключением контроля четности.
Проверю еще по Вашему способу. Спасибо всем за помощь =) |
20.06.2016, 15:07 | #14 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помощь с powerlogic DM6200
Что-то похожее было, когда подключал С2000-USB Болид к Pixel.
Подробнее тут. __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |