[Модуль] ModBus (modbus)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Silowar
Сообщения: 85
Зарегистрирован: Пт фев 06, 2015 10:19 am
Благодарил (а): 16 раз
Поблагодарили: 9 раз

Re: модуль modbus

Сообщение Silowar » Пн сен 07, 2015 4:37 pm

Где конкретно различия не понятно, их очень много в разных файлах.
Первое, что бросается в глаза, это различие в символе перехода на другую строку, не знаю на сколько это важно.
Установил на виртуалку версию 0.9.0b от 29.01.2015 установл без обновлений и сравнивал с этими файлами.

Перетащил все файлы с версии 0.9.0b (цикл, templates-modbus папка целиком, modules-modbus папка целиком) и все заработало.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: модуль modbus

Сообщение sergejey » Пн сен 07, 2015 5:18 pm

Silowar писал(а):Где конкретно различия не понятно, их очень много в разных файлах.
Первое, что бросается в глаза, это различие в символе перехода на другую строку, не знаю на сколько это важно.
Установил на виртуалку версию 0.9.0b от 29.01.2015 установл без обновлений и сравнивал с этими файлами.

Перетащил все файлы с версии 0.9.0b (цикл, templates-modbus папка целиком, modules-modbus папка целиком) и все заработало.
Пришлите пожалуйста архив с этими файлами мне в личку -- я попробую сам сравнить.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Silowar
Сообщения: 85
Зарегистрирован: Пт фев 06, 2015 10:19 am
Благодарил (а): 16 раз
Поблагодарили: 9 раз

Re: модуль modbus

Сообщение Silowar » Пн сен 07, 2015 5:51 pm

Нашел, на мой взгляд не правильный кусочек кода:
файл: modbus.class.php

функция: function poll_device($id)

строка 312:

Код: Выделить всё

echo $rec['LOG'];exit; 
exit убрал, все заработало.

Сергей, большое спасибо за помощь.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: модуль modbus

Сообщение sergejey » Пн сен 07, 2015 6:12 pm

Не за что. Спасибо, что нашли, всё-таки моя ошибка -- даже не знаю зачем эта строчка была добавлена. Наверное, тестировал когда-то и забыл убрать. Сейчас уберу в последней версии модуля.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: модуль modbus

Сообщение shemnik69 » Вт сен 08, 2015 3:48 pm

Если кому нужно то вот предлагаю отработанный скетч под Ардуино подобные контроллеры.
Скетч обслуживает 6 датчиков на вход (контактные) это порты 14-19 (аналоговые входа Atmega или A0-A5 на Arduino).
4 независимые линии чтения датчиков DS18b20 (порты № 9-12) и 4 канала управления реле (порты № 5-8) или симисторами. скетч был отработан на конкретной плате см вложение и по сути решил задачу внешнего удаленного модуля опроса как контактных датчиков (двери. затворы. фрамуги.) приводы (вентиляторы. освещение. подъемники) так и контроль 4 (можно и больше) независимых температурных зон.
Датчики температуры были специально подключены к разным портам с целью отказа от сети "шина" в пользу "звезда" поскольку каждый датчик имел длинный шлейф (более 6 м) и соединить каждый из них общим кабелем либо было не удобно (погреб, кабель проведен в металлопластиковой 16 трубке (от влаги) и 2 кабеля всунуть в нее не удалось, либо это не эстетично например при размещении датчика на потолке. Контроллер работает с преобразователем USB-RS485 (модель безликая купил в магазине но драйвер Raspberry не понадобился) далее на Raspberry ставим Ser2Net настраиваем порт преобразователя RS485 на Ser d 502 TCP и все модуль может читать либо подобное можно реализовать на роутере. Теперь все контроллеры у меня на ModBus.
Во вложении как сам скетч так и необходимые библиотеки.
Плата разведена под конкретный бокс (герметичный) и если нужно кому то можно пересмотреть под конкретные условия. А вообще ModBus - класс!!!
Вложения
Плата контроллера Box485.rar
(72.95 КБ) 262 скачивания
modbus_web_project03.zip.rar
(59.18 КБ) 264 скачивания
SensorRelay_modbus_temp.rar
(1.68 КБ) 270 скачиваний
За это сообщение автора shemnik69 поблагодарил:
aurodionov (Пн сен 21, 2015 4:23 pm)
Рейтинг: 1.16%
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: модуль modbus

Сообщение shemnik69 » Пт сен 25, 2015 2:21 pm

Доброе время суток.! Обновил систему и обвалился модуль модбАса..
Весь вечер пробовал, при перезапуске, всей системы (Raspberry) модуль начинает работать, это видно по обмену данных (на контроллере RS485 и на платах светодиоды обмена/чтения интенсивно моргает) а спустя некоторое время все останавоивается. Лог показвает, что опрос был, потом прекращается. Смотрю на форуме похожая тема была. Смотрел указанную строку, она закоментированна, значит что то еще.
Что лучше предпринять? откатитьобновление.
Еще вопрос к тем кто использует МodBus? Хочу посмотреть аторские варианты PНР обработки (разделения) полученных данных. Например если 1-2 датчика то нет особых сложностей (см выше) а вот если например 20 реле. (несколько контроллеров) 15 контактных и прочих ...
Кто как решал данный вариант. Пробовал еще интересную программу (PeakHMIDemoInstaller) для управления станков (типа контролера) но она под винду и на RAspberry не работает. Также Модбус отлично дружит с OpenHAB (плагин) но там другой уровень и сама система.
Предлагаю оживить тему поскольку варианты работающих простых контроллеров на Arduino , а также промышленные, заслуживают внимание.
Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 27 раз

Re: модуль modbus

Сообщение Geban » Вс сен 27, 2015 11:46 am

использую ОВЕН ПЛК-100 и китайский модуль сбора данных с ds1820 на 8 каналов и самодельный модуль на STM32 который выполняет функции АЦП, ЦАП и небольшой панели оператора (стоит на чердаке в щитке и позволяет без компа управлять работой вентиляционной системы. Вкл/выкл вентилятора. режим канального кондиционера. положение заслонок в каналах). модуль термометров по RS485 (MODBUS RTU) подключен к ПЛК-100, а STM32 и ПЛК-100 по езернету в сеть и дальше по MODBUS TCP к мажордомо. У меня сотрудник сделал себе управление центральным кондиционированием в доме на основе MODBUS. Но писал ядро сам,на NODE JS. у него все работает на modbus rtu... на php я к сожалению таких поделок нормально работающих не встречал, только modbus tcp
aurodionov
Сообщения: 87
Зарегистрирован: Пн янв 27, 2014 2:50 pm
Откуда: Россия, Тюмень
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: модуль modbus

Сообщение aurodionov » Вс сен 27, 2015 2:45 pm

Geban писал(а): У меня сотрудник сделал себе управление центральным кондиционированием в доме на основе MODBUS. Но писал ядро сам,на NODE JS. у него все работает на modbus rtu... на php я к сожалению таких поделок нормально работающих не встречал, только modbus tcp
Вот бы Вашего сотрудника заманить на форум iobroker с его наработками по модбас, многим не хватает модуля для системы.
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: модуль modbus

Сообщение shemnik69 » Вс сен 27, 2015 8:39 pm

Доброе время суток. Geban! поделитесь PHP наработками. У меня вся структура построена так. Есть 4 контроллера 3 из них я описывал. (http://majordomo.smartliving.ru/forum/v ... 8&start=10,, http://majordomo.smartliving.ru/forum/v ... 5&start=10 ну и тот который описан выше а еще есть модуль точнее контроллер он на воротах если кому интресен то могу показать. Он под пластиковый бокс. Но вопрос не в этом. Все эти контроллеры это конечные устройства. Между собой они работают по витой паре те протокол RS485. Мастер сети это промышленное оборудование с RS232 (ICP COM 7520 (http://www.icpdas.com/products/Remote_I ... i-7520.htm) чтобы "сдружить" это устройство с Raspberry был приобретен преобразователь USB-RS232 (китай приобрел на рынке). Далее на Raspberry установлено Ser2Net и входной порт стандартный. 502. Т.е по сути ModbusTCP реализовано. Если например програмой "толкануть" по адресу МД она же Raspberry c портом 502 программой ModbusPoll то все конотроллеры идеально читаются. Т.е програмных и аппратных трудностей с чтением и записью в регистры контроллеров нет. Вопрос в другом если реализовывать модуль опроса/записи на PHP то быстродействия и самое главное оперативновности реагирования системы на события (датчики и пр) хватит за глаза. Я сравнивал скорость реагирования например старых прошивок контроллеров и ModBus это небо и земля. Потом например если опрашивать какой либо контроллер то нужно либо постоянно дергать его на предмет изменений либо преодически проверять пришедшие данные и то и то это сильная нагрузка на сервер и сеть. Modbus по сути берет на себя всю эту черновую работу и на выходе сами результаты. Т.е например датчик температуры опрашиваетс яконтроллром и на выходе данные (температура) если таких датчиков например 5-6 то конечно хорошо 1-Ware но не везде ... или например 10 контакных 5 реле и пр.... как нагрузочка? А тут одно считывание о все регистры (обекты обновили свои данные . Я конечно утрирую но после эксперементов и положительных результатов что либо мудрить свое (протокол обмена) считаю как делать велосипед имеея 2-3 готовых. Но типа так. Идем дальше...Простота. Я сперва поднял все доступную литературу. Опросил на работе (с демонстрацией и пр...и понял что это то что нужно. Но опять это не самоцель. Если например опрашивать OpenHAB -м то все работает....но его настраиваит.....это что то. Поэтому давайте будем прикручивать Модбас с нашей системе... Со свой стороны готов предоставить все наработки ..да в принцыпе я уже предоставил. Но вот к сожалению в PHP не очень...учусь
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Благодарил (а): 78 раз
Поблагодарили: 78 раз
Контактная информация:

Re: модуль modbus

Сообщение foxvlad » Вс ноя 01, 2015 11:57 pm

Подскажите, а можно как то уменьшить интервал опроса по modbus, ставлю одну секунду а он все равно опрашивает через 4-6 секунд, это как то очень медленно для модбас?
Ответить