Страница 13 из 31
Re: модуль modbus
Добавлено: Пт июл 15, 2016 8:45 am
MrDorianGray
Было бы здорово добавить поддержку считывания по запросу а не по таймеру, тогда можно было настроить скрипт который может запускать считывание когда необходимо и не засорять канал ненужным считыванием данных - я понимаю что можно настроить интервалы, но мне кажется это как-то неправильно.
Возникла проблема:
У меня получается такая ситуация - есть два разных преобразователя Ethernet-Modbus RTU и один прибор с двумя релюшками и двумя датчиками.
Я настроил считывание периодически показаний двух датчиков, состояние реле№1 и управление реле №2 по кнопке на Сцене.
Включаю систему с первым преобразователем, показания считываются периодически все Ок. Управляю Реле№2 по кнопке - все Ок, данные продолжают дальше считываться периодически.
Включаю систему со вторым преобразователем, показания считываются периодически - все Ок. Управляю Реле№2 по кнопке все Ок, но данные перестают считываться периодически, хотя если зайти в панель управления и считать принудительно - то данные считывают.
Получается со вторым преобразователем я могу управлять системой, но данные получить периодически уже не могу =(((
Подскажите куда копать и как отдебажить данную проблему. Возможно проблема в преобразователе что он не такой шустрый, как первый и не успевает все обработать, но все таки хотелось бы что б периодический опрос датчиков не останавливался.
Re: модуль modbus
Добавлено: Пт июл 15, 2016 10:51 am
foxvlad
MrDorianGray писал(а):Было бы здорово добавить поддержку считывания по запросу а не по таймеру, тогда можно было настроить скрипт который может запускать считывание когда необходимо и не засорять канал ненужным считыванием данных - я понимаю что можно настроить интервалы, но мне кажется это как-то неправильно.
Возникла проблема:
У меня получается такая ситуация - есть два разных преобразователя Ethernet-Modbus RTU и один прибор с двумя релюшками и двумя датчиками.
Я настроил считывание периодически показаний двух датчиков, состояние реле№1 и управление реле №2 по кнопке на Сцене.
Включаю систему с первым преобразователем, показания считываются периодически все Ок. Управляю Реле№2 по кнопке - все Ок, данные продолжают дальше считываться периодически.
Включаю систему со вторым преобразователем, показания считываются периодически - все Ок. Управляю Реле№2 по кнопке все Ок, но данные перестают считываться периодически, хотя если зайти в панель управления и считать принудительно - то данные считывают.
Получается со вторым преобразователем я могу управлять системой, но данные получить периодически уже не могу =(((
Подскажите куда копать и как отдебажить данную проблему. Возможно проблема в преобразователе что он не такой шустрый, как первый и не успевает все обработать, но все таки хотелось бы что б периодический опрос датчиков не останавливался.
Modbus так устроен,что бы периодически вести опрос.
Посмотрите в логах, что происходить по второму преобразователю.
Это скорее всего проблема либо в устройстве либо в ваших настройках, надо как то подробней глянуть, что у вас за настройки и как прописана кнопка с объектах и методах.
Если есть возможность, свяжитесь со мной завтра в группе в контакте, ссылка на группу есть на моем сайте и на канале.
Re: модуль modbus
Добавлено: Пт июл 15, 2016 11:44 am
MrDorianGray
Та настроено вроде все как-обычно по видео, которое было выше. Возникает ощущение, что в один прекрасный момент преобразователь не успевает ответить на запрос и система думает что прибор заглючил и соответственно прекращает опрос, хотя скрипт cycle_modbus.php вызывается системой.
Re: модуль modbus
Добавлено: Пт июл 15, 2016 5:02 pm
vitar78
ребят подскажите по modbus tcp
настроил ардуинку слейв 1 передача температура
в МД в модуле модбас приём, но как дальше вывести в сцену не могу разобратся
Re: модуль modbus
Добавлено: Пт июл 15, 2016 6:07 pm
MrDorianGray
Тебе необходимо создать объект, в свойство которого ты будешь сохранять считанные данные, а потом с помощью скрипта разбивать данные - если у тебя считывается сразу несколько значений через запятую.
Смотри видео -
https://www.youtube.com/watch?v=AsRB-JSuCVU .
Re: модуль modbus
Добавлено: Пт июл 15, 2016 6:11 pm
MrDorianGray
Вопрос к разработчику модуля: с какой целью делалась рандомизация номера порта TCP соединения (в разных запросах он разный).
Выяснилось что второй преобразователь может поддерживать только пять активных соединений одновременно. Почему бы не сделать один исходящий порт для обмена данными, который указывать при создании соединения?
Re: модуль modbus
Добавлено: Пт июл 15, 2016 9:01 pm
foxvlad
MrDorianGray писал(а):Вопрос к разработчику модуля: с какой целью делалась рандомизация номера порта TCP соединения (в разных запросах он разный).
Выяснилось что второй преобразователь может поддерживать только пять активных соединений одновременно. Почему бы не сделать один исходящий порт для обмена данными, который указывать при создании соединения?
Чего-то я не понял про, что вы?
Re: модуль modbus
Добавлено: Пт июл 15, 2016 10:22 pm
vitar78
скажите пробовал принимать как в видео все переменные но у меня читает через раз ато и через 5 в логе куча ошибок
или просто не обновляет
и пришлось для каждого адреса свою запись делать , так вроде более менее стабильно принимает.
но не понял как происходит авто обновление хоть и указанно раз в 3 секунды но он не обновляет данные. вернее обновляет только в ручную ито криво не каждый раз
PS
По поводу ошибок разобрался 1 регистр несуществующий прописал
остальное не могу победить
modbus pool читает всё коректно и бза ошибок
Re: модуль modbus
Добавлено: Сб июл 16, 2016 12:06 am
bureau
foxvlad писал(а):
Чего-то я не понял про, что вы?
Попробую немнго обьяснить... Есть несколько моентов...
1) На каждый modbus запрос открывается новое ТСР соединение. Почему была вложена така логика?
2) Каждый запрос modbus-ТСР протокола имеет рандомный порядковый номер что не есть хорошо...
Re: модуль modbus
Добавлено: Сб июл 16, 2016 6:42 am
Geban
Читайте несколько регистров сразу из устройства. Будете получать данные одним запросом по одному TCP соединению.