BACnetCOV

image0


13159|CommandBACnet error|error|not an array

Если кто знает как это запустить, опишите пример ручного тестирования, пожалуйста) ### Формат csv-файла: Для работы с COV подписками необходимо написать столбцы: - cmd - команду rp - device-name - - ip - - port - - device-instance - - object-type - - object-instance - - property - - property-name -

Количество rp команд должно быть равным количеству уникальных подписываемых устройств (device-instance). Команда rp (ReadProperty) выполняет опрос каждые 10 секунд, для обнаружения устройств в сети. Далее перечисляются подписки и их свойства.

Таблица

cmd

device-name

ip

port

device-instance

object-type

object-instance

pid

conf

time

property

property-name

rp

shetchik

192.168.1.145

47808

260001

8

260001

112

area

rp

shitchik2

192.168.1.197

47808

26

8

26

112

area

cov

192.168.1.145

47808

260001

2

1

1

confirmed

500

85

area

cov

192.168.1.145

47808

260001

2

2

1

confirmed

500

85

area

cov

192.168.1.145

47808

260001

2

3

1

confirmed

500

85

area

cov

192.168.1.145

47808

260001

3

0

1

confirmed

500

85

area

cov

192.168.1.145

47808

260001

3

1

1

confirmed

500

85

area

cov

192.168.1.145

47808

260001

3

2

1

confirmed

500

85

area

cov

192.168.1.145

47808

260001

3

3

1

confirmed

500

85

area

cov

192.168.1.197

47808

26

3

0

1

confirmed

500

85

area

cov

192.168.1.145

47808

26

3

1

1

confirmed

500

85

area

cov

192.168.1.145

47808

26

3

2

1

confirmed

500

85

area

CSV

cmd;device-name;ip;port;device-instance;object-type;object-instance;pid;conf;time;property;property-name
    rp;shetchik;192.168.1.145;47808;260001;8;260001;;;;112;area
    rp;shitchik2;192.168.1.197;47808;26;8;26;;;;112;area
    cov;;192.168.1.145;47808;260001;2;1;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;260001;2;2;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;260001;2;3;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;260001;3;0;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;260001;3;1;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;260001;3;2;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;260001;3;3;1;confirmed;500;85;area
    cov;;192.168.1.197;47808;26;3;0;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;26;3;1;1;confirmed;500;85;area
    cov;;192.168.1.145;47808;26;3;2;1;confirmed;500;85;area

Возвращаемые значения:

  • device-instance - int

  • object-type - int

  • object-instance - int

  • Ip - str

  • Port - int

  • from - str

  • chain - str

  • status - str

  • value - str

Json

{
  "device-instance": 260001 ,
  "object-type": 2,
  "object-instance": 1,
  "Ip": "192.168.1.145",
  "Port": 47808,
  "from": "COV to RP"
  "chain": "cov"
  "status": "Ok"
  "value": "97.000000"
}

Особенности работы COV подписок:

Подписки можно создавать на большое количество времени, их срабатывание происходит когда данные у подписываемого объекта меняются.Возникает вопрос “как отследить работает ли подписка?”, вдруг устройство больше не обнаруживается в сети. Для этого случая у каждого устройства опрашивается свойсво “systemStatus”.

Ответ каждого устройства записывается в булевый вектор “flag_errors”.

image1

Далее к вектору применяется операция логическое “И” (Конъюнкия), результатом которой будет булевая переменная. Она отвечает за перезапуск COV подписки.

image2

Обновлять или создавать цепочку не требуется, все данные о подписке хранятся в json-файле в директории …/chains

Пример получаемых данных:

image3