Да, я понимаю, что облако тут не при чем. Это нормально для любого ПЛК, если так написана программа. Просто думал, раз переменные для записи true, то их можно менять и они будут сохранять свои значения.
Фактически на запрос 120 с чем-то переменных у меня уходит чуть менее 2-х секунд, с учетом чтения всех девайсов device/index и скопом всех переменных через их id - last-data + время на обработку всех переменных.
Но запись в БД выставлена раз в минуту, по этому отследить изменение переменной можно только визуально по текущим данным
В идеале, как выше писал, иметь возможность считывать все через last-data но с видом запроса {"device_ids" : [ id1, id2]} и ответ сделать примерно как у last-data но включить в него id устройства, и настраиваемые поля из устройства, типа (is_online, is_alarm) маской и строковой вид более расширенный. Сейчас online, offline, alarm, unreadalarm - слишком коротко и не совсем информативно, например если есть аварии должно быть что-то вроде online-alarm или offline-unreadalarm2022-11-17 14:12:00 Сеанс связи с устройством [5] OwenCloud
Отправка запроса:
https://api.owencloud.ru/v1/device/index
Ответ получен за 373 мс. Статус: 200 (OK)
Содержимое ответа:
[{"id":171772,"name":"Котельная (ПЛК160_1.2.2)","identifier":"E4:1E:0A:00:0D:FA"," type":"ПЛК через M
...
Отправка запроса:
https://api.owencloud.ru/v1/parameters/last-data
Ответ получен за 832 мс. Статус: 200 (OK)
Содержимое ответа:
[{"id":5885193,"values":[{"d":1668683517,"v":"1","e":"","f":"1"}]},{"id":5885178,"values":[{"d":1668
...
Получено за 1824 мс
Ну и далее скопом все переменные.
Был бы всего один штатный запрос-ответ, в котором бы было видно и состояние устройства. Иначе приходится делать два запроса




Ответить с цитированием