OpenHAB 2 + PLC Siemens 1200
Все действия выполнялись на сервере с ОС Debian.
Сперва настроим контроллер. Запускаем TIA Portal, заходим в настройки контроллера. Там на нужны две странички: на страничке Project Information запоминаем номера Rack и Slot, они нам еще пригодятся.
Вторая страница — Protection. На ней необходимо поставить галочку напротив «Permit access with PUT/GET communication from remote partner».
Последнее, что нужно сделать в контроллере, это убедится, что отключен «Optimized block access» в настройках у main FB.
Компилируем и заливаем проект в контроллер. На этом действия с контроллером закончили.
Для подключения нашего контроллера к OpenHAB’у понадобится биндинг OpenHAB-Simatic, который можно взять здесь. После его установки (файл с раширением jar кидаем в каталог /usr/share/openhab2/addons/, OpenHAB его подхватит) необходимо отредактировать файл openhab.cfg, который лежит в /etc/openhab/services. Если его там нет, создаём новый и пишем:
1 2 3 4 5 6 7 8 9 10 11 12 |
################################### Simatic Binding ###################################### # # plc - define tagret PLC by IP address, cpu rack and slot. Definition look IP:rack.slot # (ex.: 192.168.254.36:0.2). # Above that communication type can be optionally specify at the end separate by semicolon. # Supported communication types : PG, OP and S7. # It is possible defined more PLCs ex. plc, plc1, plc315,... # # refresh - check for new data interval - default 1000ms # simatic:refresh=2000 simatic:plc1214=192.168.1.5:0.1:S7 |
Где plc1214 — название контроллера (называем как нравится), 192.168.1.5 — IP адрес нашего контроллера, 0.1 после двоеточия — это номер Rack и Slot, который мы запомнили ранее. Тип подключения оставляем S7.
Подключение организовали, теперь создадим соответствующие итемы в каталоге items:
1 |
Switch light_01 "Лестница" <light> (Floor_0) { simatic="plc1214:Q0.1:byte:IO" } |
Здесь я хочу прочитать и изменить состояние выхода Q0.1. Подробное описание с тем, что можно читать и изменять можете найти в wiki биндинга OpenHAB-Simatic на Github.
Осталось самое малое — добавить наш переключатель в Sitemap:
1 2 3 |
Frame label="Первый этаж" { Switch item=light_01 } |
Всё готово, можно проверять работу. У меня получилось вот так:
No Comments