Просмотр полной версии : Узнать ошибку modbus с СП307
Имеется СП307-Б, по modbus подключены устройства разных производителей. С некоторых СП307 читает данные (с WirenBoard), но с одного никак (с ПЧ Kippribor).
Ни через "цифровой дисплей" ни через скрипты не удаётся получить данные.
Можно ли как-то узнать код ошибки команды read?
Через переходник USB-RS485 с ноута получается обмениваться со всеми приборами.
Или можно как-то организовать побайтовый обмен? Например отослать команду "02 03 D0 0B 00 01 CD 3B" и получить ответ в таком же виде?
Чтение, как видно из команды, с прибора с адресом 02, с регистра 53259, тип word.
kondor3000
08.11.2024, 14:48
Имеется СП307-Б, по modbus подключены устройства разных производителей. С некоторых СП307 читает данные (с WirenBoard), но с одного никак (с ПЧ Kippribor).
Ни через "цифровой дисплей" ни через скрипты не удаётся получить данные.
Можно ли как-то узнать код ошибки команды read?
Через переходник USB-RS485 с ноута получается обмениваться со всеми приборами.
Или можно как-то организовать побайтовый обмен? Например отослать команду "02 03 D0 0B 00 01 CD 3B" и получить ответ в таком же виде?
Чтение, как видно из команды, с прибора с адресом 02, с регистра 53259, тип word.
А в чём разница, между чтением с Панели и с ноута?
Там протокол другой или настройки сети не обычные? Либо на одном порту разные протоколы и настройки сети?
Те же настройки 9600/без чётности/2 стопа.
Не понимаю в чём дело
МихаилГл
08.11.2024, 15:01
А и В меняли местами?
Пробовал, тоже не помогло
kondor3000
08.11.2024, 15:10
Пробовал, тоже не помогло
Значит у вас при опросе с панели на одном порту разные приборы, с разными настройками сети висят.
На ноуте опрос ведётся только одного прибора.
А какая у Вас модель ПЧ, а то я не найду такой регистр в таблице:
79926
Значит у вас при опросе с панели на одном порту разные приборы, с разными настройками сети висят.
На ноуте опрос ведётся только одного прибора.
Если на линии одновременно все (панель, датчики, частотник, usb-rs), то ноут ошибку выдаёт, а панель данные с датчиков показывает. Если отключаю панель, то ноут данные со всех читает, включая ПЧ
Два мастера в одной сети??:eek:
Возьмите https://micro-pi.ru/terminal-1-9b-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC-com-%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%BC/
прослушайте обмен между панелью и ПЧ.
Возьмите
О! Спасибо! Искал такую прогу!
Команду шлёт верную, ответ идёт, разбираюсь в логах
Ну ответ такой же, как и через терминал когда команду шлю.
Команда
02 03 D0 0B 00 01 CD 3B
Ответ
02 03 02 01 0A 7D D3
Но всё равно СП показывает 0.
МихаилГл
08.11.2024, 16:29
Ну ответ такой же, как и через терминал когда команду шлю.
Команда
02 03 D0 0B 00 01 CD 3B
Ответ
02 03 02 01 0A 7D D3
Но всё равно СП показывает 0.
Вы там dword случайно не поставили? Температура вроде 1 регистром идёт, а если поставили 2, то... Проверьте или скрин пришлите...
PS Ответ корректный:
https://rapidscada.net/modbus/
Проблема что ответ с запозданием идёт.
С WirenBoard мгновенно, а Kippribor дольше, выставил у него (ПЧ) задержку времени ответа 0 - и вообще ответов не стало
МихаилГл
08.11.2024, 16:35
Так вроде в мастере ещё задержка в настройках соединения модбас выставляется...
С задержками вроде разобрался, сейчас на каждый запрос есть ответ
запрос
02 03 D0 0B 00 01 CD 3B
ответ
02 03 02 01 22 7D CD
Т.е. ответ "01 22" пишу его в PSW300 (word), потом вывожу PSW300 на "цифровой дисплей" (word unsigned), а там нули.
Почему может быть так?
МихаилГл
08.11.2024, 17:23
С задержками вроде разобрался, сейчас на каждый запрос есть ответ
запрос
02 03 D0 0B 00 01 CD 3B
ответ
02 03 02 01 22 7D CD
Т.е. ответ "01 22" пишу его в PSW300 (word), потом вывожу PSW300 на "цифровой дисплей" (word unsigned), а там нули.
Почему может быть так?
Не используете ли вы ещё это psw300 где в панели? Рецепты там и прочее. Может тупо перезапись на 0 после чтения...
Создал новый пустой проект, ничего больше в нём нет
МихаилГл
08.11.2024, 17:26
Там ставится галка: перестановка бит...? В настройках модбас...
kondor3000
08.11.2024, 17:32
Создал новый пустой проект, ничего больше в нём нет
Поставьте просто дисплей, адрес 4х 53259 и проверьте, что прочитает. Не забудьте поставить слейв адрес 2.
Или 3х 53259
МихаилГл
08.11.2024, 17:32
Поставьте просто дисплей адрес 4х 53259 и проверьте, что прочитает.
Мы не хотим простых путей. Через тернии к звёздам!
В ПЧ такой настройки нет, в СП изменение этой настройки не влияет.
Но ответ без перестановки правильный. 01 0A это 266, как и должно быть, вот только СП не отображает.
Быть может ответ не в тот момент приходит?
Хотя судя по логам на каждый запрос сразу ответ.
Не пойму что СП не нравится в ответе.
Поставьте просто дисплей, адрес 4х 53259 и проверьте, что прочитает. Не забудьте поставить слейв адрес 2.
Или 3х 53259
Так же нуль
Причём в режиме 4х ответы идут как положено раз в 100мс, а если режим 3х, то ответов нет вообще.
МихаилГл
08.11.2024, 17:55
Причём в режиме 4х ответы идут как положено раз в 100мс, а если режим 3х, то ответов нет вообще.
Скрин дайте, что-то тут не то. Скрин настройки числового табло в СП.
kondor3000
08.11.2024, 18:00
Причём в режиме 4х ответы идут как положено раз в 100мс, а если режим 3х, то ответов нет вообще.
Может у него адреса смещены на 1 и читать надо 4х 53260 ? Или у вас стоит галка переставить регистры?
Тогда вы читаете 4х 53260 вместо 53259
МихаилГл
08.11.2024, 18:03
Может у него адреса смещены на 1 и читать надо 4х 53260 ? Или у вас стоит галка переставить регистры?
Так в сниффере число есть, а в индикаторе нет. И уже переставлять регистры пробовал... Что-то тут не то) Скрин... Скрин... Скрин...
МихаилГл
08.11.2024, 18:14
А если DEC? А другие регистры читает нормально?
А если DEC? А другие регистры читает нормально?
Судя по Terminal другие регистры так же читает и ответ приходит.
Но цифровое табло так же ноль показывает
kondor3000
08.11.2024, 18:23
А программа чтения у вас в ноуте так и работает?
Если да, то это она и шлёт запросы, а в панели порт просто висит.
Нужно всё перезагрузить, комп отключить, и панель напрямую к блоку.
МихаилГл
08.11.2024, 18:26
Unsign на Dec то поменяли?
А программа чтения у вас в ноуте так и работает?
Если да, то это она и шлёт запросы, а в панели порт просто висит.
Нужно всё перезагрузить, комп отключить, и панель напрямую к блоку.
Программу Terminal запускаю только посмотреть что там в модбасе. Программа которая может слать команды в модбас не запущена.
И напрямую тоже пробовал. Сейчас опять всё лишнее отключил и ребутнул - не помогло
Unsign на Dec то поменяли?
Да, пробовал и такой танец, хотя понятно что он бессмысленен.
МихаилГл
08.11.2024, 18:31
Стоп, а вы на чем проверяете, на реальной панели или в эмуляторе?
Вот бы логи самой панели как-то увидеть, логи модбас
Стоп, а вы на чем проверяете, на реальной панели или в эмуляторе?
на реальной панели, минус соединён
МихаилГл
08.11.2024, 18:37
Если бы были проблемы со связью, панель бы жутко тормозила...
kondor3000
08.11.2024, 18:38
на реальной панели, минус соединён
Минус чего к чему соединён?
Так в Онлайн эмуляторе панели попробуйте запустить, порт выбрать не забудьте.
Порт PLC или Download?
Давайте глянем что у Вас в этом регистре?
79935
Порт PLC или Download?
Порт PLC. Другие датчики по этому же modbus видит и управляет
Минус чего к чему соединён?
Так в Онлайн эмуляторе панели попробуйте запустить, порт выбрать не забудьте.
Минус ПЧ к минусу БП, от которого запитана СП и другие устройства на modbus
МихаилГл
08.11.2024, 18:44
Минус ПЧ к минусу БП, от которого запитана СП и другие устройства на modbus
Для дискретных входов-выходов? Типа от внешнего источника питания?
kondor3000
08.11.2024, 18:45
Минус ПЧ к минусу БП, от которого запитана СП и другие устройства на modbus
И зачем вам минус ПЧ на минусе питания панели? Помехи собирать?
Тут наоборот надо отвязаться от ПЧ, а по RS485 ещё и резисторы 120 Ом поставить от помех.
Минус чего к чему соединён?
Так в Онлайн эмуляторе панели попробуйте запустить, порт выбрать не забудьте.
Странно, но в онлайне заработало
МихаилГл
08.11.2024, 18:55
Странно, но в онлайне заработало
Может в панели ограничение на 40000 внешних регистров, как и на внутренние. Вроде там такой диапазон на внутренние... Попробуйте с ПЧ считать панелью регистры меньшего значения...
Давайте глянем что у Вас в этом регистре?
100 в этом регистре
kondor3000
08.11.2024, 18:59
На преобразователе RS485 стоит 120 Ом на входе и нет минуса с ПЧ, вот Онлайн и работает. Отключайте минус и ставьте резистор.
На преобразователе RS485 стоит 120 Ом на входе и нет минуса с ПЧ, вот Онлайн и работает. Отключайте минус и ставьте резистор.
Спасибо, завтра попробую, сегодня резистора нет
100 в этом регистре
А сможете поставить 1000 через "Цифровой ввод"?
79936
А сможете поставить 1000 через "Цифровой ввод"?
79936
Пробовал, не помогло
Ставил 100 Ом - не помогло, без минуса.
К сожалению продолжать эксперименты не могу, уже отдал оборудование.
Всём спасибо за подсказки и уделённое время!
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot