Страница 24 из 33
Re: Модуль Энергомера
Добавлено: Пт окт 05, 2018 12:42 pm
directman66
Не знаю как энергомера, но у других счетчиков не ИК порт, а оптический. И для сопряжения необходим кабель оптического сопряжения. Я купил для экспериментов такой, лежит без дела. Под виндой штатное ПО счетчиков через него работает, а вот корректно настроить при подключении к роутеру не полуилось. Вопрос в итоге решел переходником USB-RS485.
Re: Модуль Энергомера
Добавлено: Пт окт 05, 2018 3:27 pm
dioxin
Оптическое сопряжение - это не красный светодиодик мигает с частотой, чем больше нагрузка тем быстрее ? Кто-то умудряется считывать фотоэлементом эти мигания и конвертить в киловатты потребления. Если бы у меня не было на счетчике RS485, тоже бы пошел по этому пути.
Re: Модуль Энергомера
Добавлено: Пт окт 05, 2018 3:34 pm
directman66
Нет, порт оптического сопряжения не мигает в видимом диаппазоне.
Re: Модуль Энергомера
Добавлено: Чт окт 11, 2018 1:28 pm
denis
Может кто подскажет, что я делаю не так.
Исходные данные:
- МДМ на win7
- счетчик меркурий 233
- китайский переходник usb-rs485, в системе виден как порт COM3.
В родной программе от счетчика все данные считываются, все работает. В сниффере последовательного порта обмен идет при закрытии проги порт закрывается.
В МДМ в модуле 'Энергомера' ставлю настройки serial - COM3. Жму кнопку 'обновить' на странице модуля, но в сниффере вижу, что порт не открывается, никаких запросов к счетчику не идет. Соответственно в МДМ нет данных по счетчику. Цикл 'energomera' запускал, но он сразу же останавливается, но в логе пусто, просто останавливается и все. Может что-то в файлах нужно поправить под м
'Меркурий'? Но странно, что COM-порт даже не пытается открыться ...
Re: [Модуль] Энергомера (energomera)
Добавлено: Чт ноя 08, 2018 4:17 pm
Akorolev
Кому интересно вот видео с настройкой энергомера СЕ 301:
https://www.youtube.com/watch?v=j1cXd8Aio9Q
Re: Модуль Энергомера
Добавлено: Чт ноя 08, 2018 5:17 pm
dioxin
denis писал(а): ↑Чт окт 11, 2018 1:28 pm
Может кто подскажет, что я делаю не так.
Исходные данные:
- МДМ на win7
- счетчик меркурий 233
- китайский переходник usb-rs485, в системе виден как порт COM3.
В родной программе от счетчика все данные считываются, все работает. В сниффере последовательного порта обмен идет при закрытии проги порт закрывается.
В МДМ в модуле 'Энергомера' ставлю настройки serial - COM3. Жму кнопку 'обновить' на странице модуля, но в сниффере вижу, что порт не открывается, никаких запросов к счетчику не идет. Соответственно в МДМ нет данных по счетчику. Цикл 'energomera' запускал, но он сразу же останавливается, но в логе пусто, просто останавливается и все. Может что-то в файлах нужно поправить под м
'Меркурий'? Но странно, что COM-порт даже не пытается открыться ...
А разве этот модуль поддерживает меркурии? Я писал сам. Видосик на моем канале.
Re: Модуль Энергомера
Добавлено: Чт ноя 08, 2018 11:03 pm
Ivan
denis писал(а):Может кто подскажет, что я делаю не так.
Исходные данные:
- МДМ на win7
- счетчик меркурий 233
- китайский переходник usb-rs485, в системе виден как порт COM3.
В родной программе от счетчика все данные считываются, все работает. В сниффере последовательного порта обмен идет при закрытии проги порт закрывается.
В МДМ в модуле 'Энергомера' ставлю настройки serial - COM3. Жму кнопку 'обновить' на странице модуля, но в сниффере вижу, что порт не открывается, никаких запросов к счетчику не идет. Соответственно в МДМ нет данных по счетчику. Цикл 'energomera' запускал, но он сразу же останавливается, но в логе пусто, просто останавливается и все. Может что-то в файлах нужно поправить под м
'Меркурий'? Но странно, что COM-порт даже не пытается открыться ...
Сначало добавте переменные которые хотите читать. И перепустите цикл. Модуль видит что читать нечего и даже не соединяется
Отправлено с моего SM-J730FM через Tapatalk
Re: [Модуль] Энергомера (energomera)
Добавлено: Пт ноя 09, 2018 12:36 pm
stellhawk
ребят, а кто-то пытался этим модулем работать с меркурием?
сюда по всему он даже в теории не может с ними работать.
потому что несмотря на класс mercury230.class.php для работы он никак не используется.
в классе есть явный косяк который не позволит работать с меркурием.
в функции crc16_modbus байты контрольной суммы перепутаны местами.(точнее должны слаться в обратном порядке)
mercury230.class.php:
Код: Выделить всё
function test(){
$data="000101010101010101";
$data.=crc16_modbus($data);
echo "Send ".$data."\n";
$result = $this->Serial->sendMessage(hex2bin($data),$this->WaitBeforeRead);
$this->Receive();
$data="000800";
$data.=crc16_modbus($data);
echo "Send ".$data."\n";
$result = $this->Serial->sendMessage(hex2bin($data),$this->WaitBeforeRead);
$this->Receive();
}
function crc16_modbus($msg)
{
$data = pack('H*',$msg);
$crc = 0xFFFF;
for ($i = 0; $i < strlen($data); $i++)
{
$crc ^=ord($data[$i]);
for ($j = 8; $j !=0; $j--)
{
if (($crc & 0x0001) !=0)
{
$crc >>= 1;
$crc ^= 0xA001;
}
else $crc >>= 1;
}
}
$crc=sprintf('%04X', $crc);
return substr($crc,2,2).substr($crc,0,2);
}
test_mercury230.php:
Код: Выделить всё
<?php
include_once("mercury230.class.php");
function ShowVal($dev, $val, $timeout = 3500)
{
$arr = $dev->getValue($val, $timeout);
echo "<pre>$val = ".htmlspecialchars(print_r($arr,true))."</pre><br>\n";
}
$dev = new mercury230("/dev/ttyUSB0");
$dev->debug = true;
$ret = $dev->connect();
if ($ret === false)
{
echo "ops1";
die;
}
$ret = $dev->test();
if ($ret === false)
{
echo "ops1";
die;
}
$dev->disconnect();
?>
я пока не силен в majordomo(точнее я вообще пока в нём не шарю
) чтобы переписать какой-либо модуль, но я быстро учусь
Re: [Модуль] Энергомера (energomera)
Добавлено: Пт ноя 09, 2018 6:27 pm
Ivan
stellhawk писал(а): ↑Пт ноя 09, 2018 12:36 pm
ребят, а кто-то пытался этим модулем работать с меркурием?
сюда по всему он даже в теории не может с ними работать.
потому что несмотря на класс mercury230.class.php для работы он никак не используется.
в классе есть явный косяк который не позволит работать с меркурием.
в функции crc16_modbus байты контрольной суммы перепутаны местами.(точнее должны слаться в обратном порядке)
Да. Это была проба
Вроде для Меркурия есть модуль
Re: [Модуль] Энергомера (energomera)
Добавлено: Сб ноя 10, 2018 4:46 am
stellhawk
[*]
Ivan писал(а): ↑Пт ноя 09, 2018 6:27 pm
stellhawk писал(а): ↑Пт ноя 09, 2018 12:36 pm
ребят, а кто-то пытался этим модулем работать с меркурием?
сюда по всему он даже в теории не может с ними работать.
потому что несмотря на класс mercury230.class.php для работы он никак не используется.
в классе есть явный косяк который не позволит работать с меркурием.
в функции crc16_modbus байты контрольной суммы перепутаны местами.(точнее должны слаться в обратном порядке)
Да. Это была проба
Вроде для Меркурия есть модуль
а есть желание\возможность дописать модуль?
если да, то просьба сделать выбор типа счетчика в настройках, а я допинаю класс mercury230.class.php чтобы оттуда данные вернулись. по крайней мере с 230 счетчиком работать будет.