Управление освещением
    Презентации
    Технические решения на LogicMachine
    Визуализация
      evika.ru    Технические решения на LogicMachine    Получение данных о состоянии подключения KNX/TP

    Получение данных о состоянии подключения KNX/TP

    Добавление необходимых объектов для хранения данных

    Первым шагом создадим KNX объект с типом данных 1 бит, в котором у нас будет записываться текущее состояние подключения к шине KNX/TP. Назовём объект KNX Status, где значение true будет показывать присутсвие подключения, а false – отстутствие.

    Возможны два решения:

    1. Используя данные из вкладки Alerts, куда записываются сообщения о подключении и отключении KNX/TP
    2. Отслеживая системные сообщения.

    Первый способ

    Создаём резидентный скрипт (Resident Script) с таймером (Sleep) 30 или 60 секунд. Добавляем следующий скрипт

    query = "select id,alert,alerttime from alerts WHERE alert LIKE 'KNX/TP%' 
    order by id desc limit 1" 
    alerts_res = db:getall(query)  
     
    if alerts_res[1].alert == 'KNX/TP: Disconnected' then   
        grp.write('KNX Status', false) 
    end 
     
    if alerts_res[1].alert == 'KNX/TP: Connected' then  
        grp.write('KNX Status', true) 
    end

    Второй способ

    Создаём резидентный скрипт (Resident Script) с таймером (Sleep) 0 секунд. Добавляем следующий скрипт

    if not client then   
        require('genohm-scada.eibdgm')   
     
        function statushandler(status)     
            if status == 0x00 then       
                grp.write('KNX Status', true)     
                elseif status == 0xFF then       
                grp.write('KNX Status', false)     
            end   
        end   
        client = eibdgm:new()   
        client:sethandler('status', statushandler) 
    end 
     
    client:step()




    Copyright
    © Embedded Systems Rus
    2017. All Rights Reserved