|
15.04.2013, 16:08 | #1 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604 |
Проблема видимо с web php. Каждый очередной вызов php вызывает новый поток.
При работе с modbus poll - все работает гладко. Испытывал в течении 2 часов ни каких сбоев нет!! Последний раз редактировалось andr128; 15.04.2013 в 19:52. |
15.04.2013, 17:37 | #2 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 |
А если после считывания принудительно закрывать соединение или перед открытием нового?
|
15.04.2013, 18:59 | #3 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604 |
Если просто вызывать data.php разок то никаких проблем нет.
Весь смысл в динамике, чтоб в реале видеть состояние. вот в отладочном режиме через 12 мин работы после сбоя что выдает data.php Код:
readMultipleRegisters: START Connected Packet: 739700000006010300010001 Send Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... Wait data ... exception 'Exception' with message 'Watchdog time expired [ 5 sec]!!! Connection to localhost is not established.' in /www/Phpmodbus/ModbusMaster.php:164 Stack trace: #0 /www/Phpmodbus/ModbusMaster.php(440): ModbusMaster->rec() #1 /www/data.php(17): ModbusMaster->readMultipleRegisters(1, 1, 1) #2 {main} readMultipleRegisters: START exception 'Exception' with message 'socket_connect() failed. Reason: ()Operation now in progress' in /www/Phpmodbus/ModbusMaster.php:106 Stack trace: #0 /www/Phpmodbus/ModbusMaster.php(434): ModbusMaster->connect() #1 /www/data.php(17): ModbusMaster->readMultipleRegisters(1, 1, 1) #2 {main} Последний раз редактировалось andr128; 15.04.2013 в 19:08. |
15.04.2013, 19:38 | #4 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604 |
вот результат работы data.php пока еще все нормально
PHP код:
Код:
Время 00:32:26 Температура 24.7 ºC readMultipleRegisters: START Connected Packet: 9fc200000006010300010001 Send Wait data ... Data received Packet: 9fc20000000501030209a4 Modbus response error code: NOERROR Disconnected readMultipleRegisters: DONE |
15.04.2013, 21:46 | #5 |
Member
Регистрация: 03.12.2012
Адрес: Ярославль
Сообщений: 53
Вес репутации: 0 |
У меня были проблемы при опросе modbus в основном цикле. Как выяснилось из-за задержек опроса DS18B20, случайно установил DS1820 и удивился, что проблем нет ...
В результате тестирования на 1 час запросов с интервалом в 5 секунд, всего 7 ошибок modbus. Тесты не через ModBus Poll, а сразу же через PHP скрипты и Ваш выложенный modbusgw. Шлюз не подвис. С DS18B20 бывали случаи перезагрузки роутера. Последний раз редактировалось dmitry123; 15.04.2013 в 21:49. |
15.04.2013, 21:48 | #6 |
Member
Регистрация: 03.12.2012
Адрес: Ярославль
Сообщений: 53
Вес репутации: 0 |
Вот как отрицательную температуру передать ? У меня не передается.
|
15.04.2013, 22:43 | #7 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604 |
Почему же, все работает я даже скриншот выкладывал.
Сейчас правда уже тепло, но еще зимой тестировал именно с отриц. температурой. Сейчас я испытываю др. библиотеку modbus php, может на ней будет работать. p.s. нееее такая же фигня. Последний раз редактировалось andr128; 15.04.2013 в 22:47. |
16.04.2013, 00:06 | #8 |
Junior Member
Регистрация: 28.01.2013
Сообщений: 23
Вес репутации: 0 |
Отвечаю сам себе:
"вот что получил от скрипта Fatal error: Call to undefined function socket_create() in /www/Phpmodbus/ModbusMaster.php on line 84" не хватало: opkg install php5-mod-sockets |
17.04.2013, 07:49 | #9 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604 |
Продолжаю эксперименты.
Подключил ардуину через переходник USB - UART (PL2303) - RS485 Через 10 мин затык. Причем лог работы шлюза другой. Также как и предыдущих случаях помогает перезагрузка шлюза. modbusgw -port /dev/ttyUSB0 -baud 19200 -verbose -debug Код:
... Worker thread 0x6cb0530 shutting down A worker thread might be available Started worker 0x066b0530 Waiting for available worker thread Worker thread 0x066b0530 processing transaction 23713 SEND(fd=5, 8): 0x01 0x03 0x00 0x01 0x00 0x01 0xD5 0xCA timeout RECV(fd=5, 0): No response Worker thread 0x6ab0530 shutting down A worker thread might be available Started worker 0x064b0530 Waiting for available worker thread Worker thread 0x064b0530 processing transaction 5225 SEND(fd=5, 8): 0x01 0x03 0x00 0x01 0x00 0x01 0xD5 0xCA timeout RECV(fd=5, 0): Код:
... Worker thread 0x7fa28530 shutting down Started worker 0x7fc28530 Worker thread 0x7fc28530 processing transaction 10848 SEND(fd=5, 8): 0x01 0x03 0x00 0x01 0x00 0x01 0xD5 0xCA RECV(fd=5, 7): 0x01 0x03 0x02 0x09 0xA4 0xBF 0xAF write(fd=6, 11) Worker thread 0x7fc28530 shutting down Started worker 0x7ff44530 Worker thread 0x7ff44530 processing transaction 39010 SEND(fd=5, 8): 0x01 0x03 0x00 0x01 0x00 0x01 0xD5 0xCA RECV(fd=5, 7): 0x01 0x03 0x02 0x09 0xA4 0xBF 0xAF write(fd=6, 11) Worker thread 0x7ff44530 shutting down Started worker 0x7ff44530 Started worker 0x7ff44530 Started worker 0x7ff44530 Waiting for available worker thread Подключение ADAM-4024 (заводской блок УСО, фирмы Advantech) к mr3020. Подключение было сделано 2-мя вариантами: 1. через железный UART-RS232 <-> RS232-RS485 <-> ADAM 2. через переходник USB-RS485 (на PL2303) <-> ADAM Эксперимент также закончился зависанием через 10-15 мин Ухх что-то не получается автоматизация. вот тут товарищ тоже пишет нечто подобное Последний раз редактировалось andr128; 17.04.2013 в 12:12. |
17.04.2013, 09:58 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
А если Aduino подключить по USB, тоже подвисает?
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|