Разработка дополнительных модулей, подключение различных приложений.
Модератор: immortal
-
Geban
- Сообщения: 136
- Зарегистрирован: Вс июл 14, 2013 2:42 pm
-
Благодарил (а):
6 раз
-
Поблагодарили:
26 раз
Сообщение
Geban » Ср июл 09, 2014 7:17 am
вот переделал немного скрипт. Теперь она возвращает значения типа Integer а не WORD
Код: Выделить всё
<?php
require_once dirname(__FILE__) . '/Phpmodbus/ModbusMaster.php';
// Create Modbus object
$modbus = new ModbusMaster("192.168.1.1","TCP");
// Set reg 11 to 1 for start convert data
$writeData = $modbus->writeSingleCoil(1, 12288+11, array(TRUE));
try {
// FC 3
$recData = $modbus->readMultipleRegisters(33, 12288, 8);
}
catch (Exception $e) {
echo "!!error\r\n";
exit;
}
// Convert data from WORD to Integer
$values = array_chunk($recData, 2);
foreach($values as $bytes)
echo PhpType::bytes2signedInt($bytes) . "|";
return 0;
?>
-
shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
-
Благодарил (а):
67 раз
-
Поблагодарили:
63 раза
Сообщение
shemnik69 » Чт июл 10, 2014 10:25 am
Присоединяюсь с запросу. Только пояснения? Модуль будет под конкретное железо?
Смысл в том, что если система например на РС и WIN то одни правила, а если как в моем варианте (и у многих тоже) система на Малине где железный порт Rx/Tx обособленный.
Потому как вопрос с наличием сопряжения по RS485 на уровне стандарта упирается именно с программную часть. Схемное решение тут как раз простое и что не маловажно дешевое.
Может все-таки это тоже будет иметь значение.
-
Geban
- Сообщения: 136
- Зарегистрирован: Вс июл 14, 2013 2:42 pm
-
Благодарил (а):
6 раз
-
Поблагодарили:
26 раз
Сообщение
Geban » Чт июл 10, 2014 10:45 am
В моем случае требуется Modbus TCP. Но мне кажется что при желании можно на основе этой библиотеке сделать через последовательный порт.
-
sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
-
Благодарил (а):
75 раз
-
Поблагодарили:
1559 раз
-
Контактная информация:
Сообщение
sergejey » Чт июл 10, 2014 11:58 am
Я пока планирую модуль на TCP делать. Возможно, в природе есть какой-нибудь гейт, который на программном уровне организует TCP доступ к подключенному по RS485 устройству.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
Geban
- Сообщения: 136
- Зарегистрирован: Вс июл 14, 2013 2:42 pm
-
Благодарил (а):
6 раз
-
Поблагодарили:
26 раз
Сообщение
Geban » Чт июл 10, 2014 1:25 pm
Есть. У китайцев полно на там же алиэкспрессе.
-
Ivan
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
-
Благодарил (а):
49 раз
-
Поблагодарили:
327 раз
Сообщение
Ivan » Чт июл 10, 2014 1:57 pm
Присоединяюсь. Буду реализовывать MODBUS для котла Valiant - там Rx/Tx
-
Geban
- Сообщения: 136
- Зарегистрирован: Вс июл 14, 2013 2:42 pm
-
Благодарил (а):
6 раз
-
Поблагодарили:
26 раз
Сообщение
Geban » Чт июл 10, 2014 9:03 pm
У вайланта модбас??? оО я всегда считал что там E-Bus! Откуда инфа? А то у меня тоже вайлант без управления пылиться )
-
Ivan
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
-
Благодарил (а):
49 раз
-
Поблагодарили:
327 раз
Сообщение
Ivan » Пт июл 11, 2014 6:54 am
Опа, Точно, за год страительства уже и перепуталось. Тогда пролёт. Также и с счётчиком, у меня стоит Энергомера с Rs485 но там свой протокол, купил USB свисток 485. Сколько не бился под винду с родной прогой идёт. А теже команды на Линукс не видит (Под виндой отвечает)
Придётся котёл отдельно делать. Только не совсем понимаю зачем, на батареи хочу ставить терморегуляторы, котлом управлять незачем.
Разве что, так:
Я: Алиса, хочу побриться
Алиса: Температура увеличена, через 20 мин вернётся в в прежнюю
-
Geban
- Сообщения: 136
- Зарегистрирован: Вс июл 14, 2013 2:42 pm
-
Благодарил (а):
6 раз
-
Поблагодарили:
26 раз
Сообщение
Geban » Пт июл 11, 2014 7:49 am
Ну как вариант. когда нет никого дома можно снижать температуру котла.. что б газ не жег. У вайлантов есть ещё просто RS-232 TTL шина, по ней можно управлять некоторыми параметрами(зависит от котла) подключал свой через микросхему опторазвязки(на всякий случай) и преобразователь уровней. У меня котел старый, по RS-232 позволяет регулировать время выбега насоса и ещё несколько параметров, среди которых к сожалению нет температуры теплоносителя
-
Ivan
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
-
Благодарил (а):
49 раз
-
Поблагодарили:
327 раз
Сообщение
Ivan » Пт июл 11, 2014 9:07 am
А есть готовые платки RS232 с оптопарой. Бо паять уже надоело. По времени получается дольше чем заказать (Работа много времени отбирает)