Страница 15 из 33

Re: Модуль Энергомера

Добавлено: Вт июн 20, 2017 12:41 am
Profd
Подскажите это правильное чтение массива ?
profd@Majordomo:/var/www/modules/energomera$ php test.php
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; iek61107 has a deprecated constructor in /var/www/modules/energomera/iek61107.class.php on line 12
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PhpSerial has a deprecated constructor in /var/www/modules/energomera/PhpSerial.php on line 19
2017-06-20 00:37:24 Connecting COM
2017-06-20 00:37:24 Connected
2017-06-20 00:37:24 Send init #1
2017-06-20 00:37:24 Device is /EKT5CE301v7
:
2017-06-20 00:37:25 Send init #2
2017-06-20 00:37:25 model:P0(777777)
2017-06-20 00:37:25 Send init #3
2017-06-20 00:37:25 model: 024d4f44454c2833290d0a030f MODEL(3)

<br>
2017-06-20 00:37:25 Read LOG01() Array ( [] => Array ( [0] => R12 ) )
<pre>LOG01() = Array
(
[] => Array
(
[0] => R12
)

)
</pre><br>
2017-06-20 00:37:26 Disconnected

Re: Модуль Энергомера

Добавлено: Вс июл 02, 2017 7:22 pm
msushko
ElectronicsInFocus писал(а):Уважаемый Иван, помогите разобраться.

Тестирую модуль под win7x64 со счётчиком CE102M. Подключение через китайский USB-RS485 мост на CH340.
- Обмен со счётчиком из AdminTools идёт без сбоев.
- Счётчик стабильно отвечает если вручную отправить из терминала пакет 2f 3f 21 0d 0a. Ответ нормальный: 2f 45 4b 54 35 43 45 31 30 32 4d 76 30 31 0d 0a.
- После запуска majordomo цикл энергомеры молчит, данные из счётчика не забираются.
Смотрю в сниффере (Serial Port Monitor) обмен модуля со счётчиком. Модуль в самом начале открывает порт и отправляет пакет 2f 3f 21 0d 0a. Ответа нет (судя по снифферу) и порт остаётся открытым до закрытия мажордомо. Никакие запросы больше не повторяются.
НО, если перед запуском majordomo запустить AdminTools и, например, авторизоваться, то тогда ваш модуль успешно обменивается со счётчиком.
Первый запрос, который летит из модуля в счётчик до запуска AdminTools и после, ничем не отличаются. 2f 3f 21 0d 0a
Такой же точно запрос я отправляю из терминала (получаю ответ) и первым шлёт AdminTools (тоже получает ответ).

Я подозреваю, что счётчик во всех случаях отвечает, но в некоторых случаях проблема при приёме ответа. Возможно как то связано с CH340, т.к. после успешного обмена если отключить-подключить USB-RS485 мост, то история с отсутствием обмена повторяется снова.
Счётчик лежит на столе, могу пробовать, тестировать, если есть идеи как. Спасибо.
Возможно проблема с бракованным переходником, был похожий случай. Приобрел сию вещицу на Ali, После установки драйвера и при первом же подключении обнаружил, что переходник не работает :evil: ,при помощи логического анализатора, (благо, что он к тому моменту у меня уже был), выяснил, что пакет благополучно проходит только в одну сторону, а формируемый слейвом ответ дальше клемм AB не проходит. Подробное проверка логических показала, транзистор не дает низкий уровень на RE. Как следствие драйвер RS485, не переключает линию на прием. Причиной тому оказалось слишком большое сопротивление ограничивающего резиcтора в цепи базы ключа T1, аж целых 27K :shock: !!!, пришлось уменьшить до приемлемого в 1K. см рис.. После этого все работало. :D :D :D

Re: Модуль Энергомера

Добавлено: Сб июл 15, 2017 7:28 pm
Profd
Спасибо за наводку по железу помогло.
После запуска теста вижу вот это
SPOILERSPOILER_SHOW
2017-07-15 19:24:21 Device is /EKT5CE301v7

:
2017-07-15 19:24:21 Send init #2
2017-07-15 19:24:21 model:
2017-07-15 19:24:22 Send init #3
2017-07-15 19:24:22 model: 0150300228373737373737290320024d4f44454c2833290a0a P0(777777) MODEL(3)


<br>
2017-07-15 19:24:22 Read SNUMB() Array ( [SNUMB] => Array ( [0] => 008841036000397 ) )
<pre>SNUMB() = Array
(
[SNUMB] => Array
(
[0] => 008841036000397
)

)
</pre><br>
2017-07-15 19:24:22 Read VOLTA() Array ( [VOLTA] => Array ( [0] => 224.132 ) )
<pre>VOLTA() = Array
(
[VOLTA] => Array
(
[0] => 224.132
)

)
</pre><br>
2017-07-15 19:24:23 Read CURRE() Array ( [CURRE] => Array ( [0] => 2.3069 ) )
<pre>CURRE() = Array
(
[CURRE] => Array
(
[0] => 2.3069
)

)
</pre><br>
2017-07-15 19:24:23 Read POWEP() Array ( [VPOWEP] => Array ( [0] => 2.2354 ) )
<pre>POWEP() = Array
(
[VPOWEP] => Array
(
[0] => 2.2354
)

)
</pre><br>
2017-07-15 19:24:24 Read FREQU() Array ( [FREQU] => Array ( [0] => 49.99 ) )
<pre>FREQU() = Array
(
[FREQU] => Array
(
[0] => 49.99
)

)
</pre><br>
2017-07-15 19:24:24 Read COS_f() Array ( [COS_f] => Array ( [0] => 1.0 ) )
<pre>COS_f() = Array
(
[COS_f] => Array
(
[0] => 1.0
)

)
</pre><br>
2017-07-15 19:24:25 Read ET0PE() Array ( [ET0PE] => Array ( [0] => 3752.1371833 ) )
<pre>ET0PE() = Array
(
[ET0PE] => Array
(
[0] => 3752.1371833
)

)
</pre><br>
2017-07-15 19:24:25 Read MSYAD() 2017-07-15 19:24:26 Time out
<pre>MSYAD() = </pre><br>
2017-07-15 19:24:26 Read V_BAT() Array ( [] => Array ( [0] => ERR12 ) )
<pre>V_BAT() = Array
(
[] => Array
(
[0] => ERR12
)

)
</pre><br>
2017-07-15 19:24:26 Read TEMPR() Array ( [TEMPR] => Array ( [0] => 2797538304 ) )
<pre>TEMPR() = Array
(
[TEMPR] => Array
(
[0] => 2797538304
)

)
</pre><br>
2017-07-15 19:24:27 Read LOG01() 2017-07-15 19:24:27 Time out
<pre>LOG01() = </pre><br>
2017-07-15 19:24:28 Disconnected
Но при этом цикл энергомеры не стартует.
Пытаюсь его руками запустить и получаю:
php cycle_energomera.php
PHP Notice: Undefined index: SERVER_NAME in /var/www/config.php on line 55

Re: Модуль Энергомера

Добавлено: Сб июл 15, 2017 8:43 pm
Ivan
Покажите что у вас записано в переменной SERVER_NAME в /var/www/config.php

Отправлено с моего SM-G7102 через Tapatalk

Re: Модуль Энергомера

Добавлено: Сб июл 15, 2017 9:02 pm
Profd
Define('PROJECT_DOMAIN', $_SERVER['SERVER_NAME']);

Эта строчка ?

Re: Модуль Энергомера

Добавлено: Ср июл 19, 2017 12:48 pm
directman66
Иван, по счетчикам Милур дело не продвинулось?

Re: Модуль Энергомера

Добавлено: Ср июл 19, 2017 6:47 pm
Profd
Спасибо Огромное Ивану !
Проблема была в php.
Сейчас получаю данные по одной фазе :)
Буду читать мануалы энергомеры чтоб понять ка добыть еще 2 фазы.

Re: Модуль Энергомера

Добавлено: Ср июл 19, 2017 9:08 pm
Ivan
directman66 писал(а):Иван, по счетчикам Милур дело не продвинулось?
Пока делаю основу нового модуля. Чтобы легко добавлять новый тип счётчика, и не было напряжно с настройками как пост выще

Re: Модуль Энергомера

Добавлено: Ср июл 26, 2017 11:07 pm
directman66
Ждем, очень ждём. Также хотелось бы иметь tcp-ip коммутацию в дополнение к прямому подключению

Re: Модуль Энергомера

Добавлено: Чт июл 27, 2017 1:51 pm
lanket
Profd писал(а):Спасибо Огромное Ивану !
Проблема была в php.
Сейчас получаю данные по одной фазе :)
Буду читать мануалы энергомеры чтоб понять ка добыть еще 2 фазы.
А что этот модуль только одну фазу мониторит. У меня то 3. Тоже проблемы будут?
Позавчера наконец то подключил электросчетчик, скоро приедут опломбировать. Буду экспрементировать, хотя даже не знаю когда с такой загруженностью.

Иван, вопрос передачи по воздуху так и не решился?

Отправлено с моего Redmi Note 4 через Tapatalk