288a74e83b627372603b962680acedee.ppt
- Количество слайдов: 12
Особенности оптимизации работы Mod. Bus – устройств Умные решения. Автоматизация и электроснабжение. (ИП Касьянов Алексей Александрович, г. Ростов-на-Дону) Углубленное изучение и успешное применение продукции компании Evika на примере Logic Machine 2 Interface
Общее задание на строительство энергоэффективного здания Разработать комплекс мероприятий по снижению потребления энергии из сетевых источников энергии на: - нужды отопления и вентиляции – в 5 (пять) раз - нужды горячего водоснабжения - в 3 (три) раза - на кондиционирование (охлаждение) дома в жаркое время года – в 40 (сорок) раз
Принципиальная схема
Диспетчеризация и автоматизация бойлера-аккумулятора на Logic Machine 2 от Evika
Реализация проекта. Скрипт на языке Lua (LM 2 от Evika) http: //lm. evika. ru
Тренды от Logic Machine 2
Особенности настройки устройств Mod. Bus на примере преобразователей сигналов термосопротивлений Seneca Z-4 RTD 2 Читаем значения из 16 -bit регистров (регистры №№ 40003. . . 6 преобразователей сигналов термосопротивлений Seneca Z-4 RTD 2) В Modbus, если написано 40003, то нужно понимать, что адрес регистра читается: 1) без первой четвёрки; 2) в шестнадцатеричном виде; 3) -1 (нужно из адреса вычесть единицу). И получается, что описанные регистры 40003. . . 6, это h 0002. . . 5, или просто (в десятичном счислении) - 2. . . 5!
Чтение из регистров Mod. Bus -- устанавливаем slave ID для чтения и записи данных for l =1, 4 do mb: setslave(l) -- задаём адрес устройства №№ 1, 2, 3, 4 (предварительно настроены аппаратно с помощью DIP-переключателей на самих устройствах) -- читаем значения из 16 -bit регистров for k =1, 4 do z = mb: readregisters(k+1) x = x + 1 -- увеличиваем счётчик на 1 (от 1 до 16, чтобы считать соответствующие (номеру датчика) поправки, и записать в соответствующий групповой адрес KNX) y=math. floor((z-(t 1[x]-z*t 2[x]))*100)/100 -- вычисляем t скорр-нную и округляем значение до сотых sy=sy+y -- суммируем скорректированные значения для вычисления средней t b = "1/1/". . x -- создаём имя группового адреса KNX (от 1/1/1 до 1/1/16 - в соответствии с порядковыми номерами датчиков) adr = grp. alias(b) -- присваиваем переменной значения с адресом KNX grp. write(adr, y) -- записываем значение Y в групповой адрес KNX zy=z-y -- вычисляем поправку log(" температура датчика №". . l. . "-". . k. . " (". . x. . ") = ". . z. . " гр. С, (c поправками: +". . t 1[x]. . " *". . t 2[x]. . " = ". . y. . ". Поправка ". . zy. . ")") -- печатаем в страницу Log else err="Ошибка датчика № ". . x -- формируем сообщение об ошибке, добавляя к нему номер датчика alert (err) -- публикуем сообщение об ошибке на странице alert errx=errx+1 -- увеличиваем на единицу счётчик датчиков с ошибками end -- конец основного тела скрипта end -- конец цикла k end -- конец цикла l
Запись в регистры Mod. Bus -- инициализируем Modbus при первом запуске скрипта if not mb then require('luamodbus') mb = luamodbus. rtu() mb: open('/dev/tty. S 2', 38400, 'N', 8, 1, 'H') mb: connect() end -- устанавливаем slave ID для чтения и записи данных for s =1, 4 do mb: setslave(s) for i =0, 3 do mb: writeregisters(0 x 0024+i, 0 x 12) log(s. . i) end mb: close()
Аппаратная реализация
Бойлер-аккумулятор
Данная презентация была проведена на стенде EVIKA на выставке HI-TECHBUILDING 2013
288a74e83b627372603b962680acedee.ppt