Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Открытый проект умного дома

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.04.2013, 16:08   #1
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Проблема видимо с web php. Каждый очередной вызов php вызывает новый поток.
При работе с modbus poll - все работает гладко. Испытывал в течении 2 часов ни каких сбоев нет!!

Последний раз редактировалось andr128; 15.04.2013 в 19:52.
andr128 вне форума   Ответить с цитированием
Старый 15.04.2013, 17:37   #2
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

А если после считывания принудительно закрывать соединение или перед открытием нового?
Bulatovor вне форума   Ответить с цитированием
Старый 15.04.2013, 18:59   #3
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Если просто вызывать 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.
andr128 вне форума   Ответить с цитированием
Старый 15.04.2013, 19:38   #4
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

вот результат работы data.php пока еще все нормально

PHP код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>TEST MODBUS</title>
</head>
<body>

<?php

require_once dirname(__FILE__) . '/Phpmodbus/ModbusMaster.php'

$modbus = new ModbusMaster("localhost""TCP"); 


// Read multiple registers Fn 3 (ID, addr, registers read)
try {
    
$recData $modbus->readMultipleRegisters(111); 
}
catch (
Exception $e) {
// Print error information if any
    
echo $modbus;
    echo 
$e;
    exit;
}

  echo 
"Время ".date('H:i:s')."\n";
  echo 
"<h2>Температура</h2>\n";
  
$tm PhpType::bytes2signedInt($recData) / 100
  
$tmr round($tm,  1); 
  echo 
"<h2> $tmr ºC</h2>";

  echo 
$modbus->status// состояние для отладки

?>

</body>
</html>
Вывод самой страницы
Код:
Время 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
Как видно соединение открывается и закрывается
andr128 вне форума   Ответить с цитированием
Старый 15.04.2013, 21:46   #5
dmitry123
Member
 
Регистрация: 03.12.2012
Адрес: Ярославль
Сообщений: 53
Вес репутации: 0
dmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant future
По умолчанию

У меня были проблемы при опросе modbus в основном цикле. Как выяснилось из-за задержек опроса DS18B20, случайно установил DS1820 и удивился, что проблем нет ...
В результате тестирования на 1 час запросов с интервалом в 5 секунд, всего 7 ошибок modbus. Тесты не через ModBus Poll, а сразу же через PHP скрипты и Ваш выложенный modbusgw. Шлюз не подвис. С DS18B20 бывали случаи перезагрузки роутера.

Последний раз редактировалось dmitry123; 15.04.2013 в 21:49.
dmitry123 вне форума   Ответить с цитированием
Старый 15.04.2013, 21:48   #6
dmitry123
Member
 
Регистрация: 03.12.2012
Адрес: Ярославль
Сообщений: 53
Вес репутации: 0
dmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant future
По умолчанию

Вот как отрицательную температуру передать ? У меня не передается.
dmitry123 вне форума   Ответить с цитированием
Старый 15.04.2013, 22:43   #7
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от dmitry123 Посмотреть сообщение
Вот как отрицательную температуру передать ? У меня не передается.
Почему же, все работает я даже скриншот выкладывал.
Сейчас правда уже тепло, но еще зимой тестировал именно с отриц. температурой.

Сейчас я испытываю др. библиотеку modbus php, может на ней будет работать.

p.s.
нееее такая же фигня.

Последний раз редактировалось andr128; 15.04.2013 в 22:47.
andr128 вне форума   Ответить с цитированием
Старый 16.04.2013, 00:06   #8
Iron
Junior Member
 
Регистрация: 28.01.2013
Сообщений: 23
Вес репутации: 0
Iron is an unknown quantity at this point
По умолчанию

Отвечаю сам себе:
"вот что получил от скрипта

Fatal error: Call to undefined function socket_create() in /www/Phpmodbus/ModbusMaster.php on line 84"


не хватало:

opkg install php5-mod-sockets
Iron вне форума   Ответить с цитированием
Старый 17.04.2013, 07:49   #9
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Продолжаю эксперименты.
Подключил ардуину через переходник 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):
Подключение ардуины напрямую по USB. Тоже самое только в профиль.

Код:
...
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.
andr128 вне форума   Ответить с цитированием
Старый 17.04.2013, 09:58   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

А если Aduino подключить по USB, тоже подвисает?
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:15. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика