Показать сообщение отдельно
Старый 16.03.2013, 22:26   #7
sysline
Новичок
 
Регистрация: Feb 2013
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Pixel - Modbus - Комп

Наконец добрался до pixel на объекте.
Ещё раз хочу сказать спасибо. Получилось соединиться с pixel по ModBus из LM2 микроконтроллер умного дома.
Работает так: (скрипт на LUA для LM2 вдруг кому пригодится)

function Pixel_Read()
-- инициализируем Modbus при первом запуске скрипта
if not mb then
require('luamodbus')
mb = luamodbus.rtu()
--9600 baud rate, None parity, 8 data bits, 2 stop bit, half duplex
mbpen('/dev/ttyS2', 9600, 'N', 8, 2, 'H')
mb:connect()
end
-- устанавливаем slave адрес для чтения и записи данных
mb:setslave(2)
r1 = mb:readregisters(0x3800, 1) --Зима/Лето
end

Удается даже запустить / остановить вент.установку записью в регистры
var0=3c00#bool#SCi_Дист/Мест
var2=3c02#bool#SCi_Пуск
var3=3c03#bool#SCi_Стоп

Остался вопрос который никак не могу решить.
Если я хочу считать текущую уставку t
я считываю по этому адресу 4 байта:
var22=a03f#real#SCo_Уставка_t
получаю h 00 00 41 A0
в меню pixel стоит уставка t = 20. Уже всю голову сломал как это соотносится. Или я не из того регистра читаю?
sysline вне форума   Ответить с цитированием