Александр Андреевич Симонов
Инженер по продуктам «ПЛК, модули и OwenCloud»
Не работаю в ОВЕН с 01.07.22
По всем вопросам обращайтесь на почту: support@owen.ru
сегодня столкнулся с некоторой не стыковкой. Если записывать уставку с сайта, то появляется такое окошко owen.png, что очень даже правильно, но запись через API возвращает успешный код response.status_code == 200 что создает впечатление о исправности функционала
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Запрос успешно отправлен на сервер и обработан сервером. Поэтому и код 200, а какой ещё можно вернуть код в этом случае?
Команде на запись присвоен номер группы, увидеть его можно в ответе на команду с записью.
Далее можно у сервера спросить прошла ли запись группы параметров успешно используя запрос POST parameters/write-status
![]()
Последний раз редактировалось A.Simonov; 13.04.2022 в 11:59.
Александр Андреевич Симонов
Инженер по продуктам «ПЛК, модули и OwenCloud»
Не работаю в ОВЕН с 01.07.22
По всем вопросам обращайтесь на почту: support@owen.ru
ну раз приходит следующий ответ Завершена по таймауту я бы возвращал 408. Да, конечно можно обрабатывать статусы самостоятельно каждому пользователю, но облачный сервис мог бы делать это работу за всех и тогда меньше проблем у конечного пользователя, меньше кодинга, больше плюсов в карму
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
API в любом случае возвращает в ответ ID группы, и все равно по нему придется проверять, прошла ли запись успешно, так как сервер должен ответить на API запрос сразу, а вот modbus команда на запись встанет в очередь, и может быть выполнена не мгновенно, даже если прибор в сети.
По хорошему, код связанный с проверкой статуса записи нужно писать в любом случае.
Последний раз редактировалось A.Simonov; 13.04.2022 в 12:32.
Александр Андреевич Симонов
Инженер по продуктам «ПЛК, модули и OwenCloud»
Не работаю в ОВЕН с 01.07.22
По всем вопросам обращайтесь на почту: support@owen.ru
но разве если облако знает что прибор не в сети, зачем в очередь вставать?
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Я на 100% не знаю как устроен обмен, так как не я писал код. Но имею представление об этом:
Запись происходит не мгновенно а с небольшим лагом. Команда попадает на сервер, а далее в составе пакета приходит на шлюз ПМ210, например, а он уже опрашивает приборы и отдает ответ на сервер.
Это все создает задержку, в случае ПМ210 - вообще довольно ощутимую.
Поэтому если вы дадите несколько команд на запись, они точно все попадут в очередь.
И за время пока они стоят в очереди может, например, пропасть мобильная сеть, из-за чего команда не будет исполнена.
Это даже не говоря о том, что сама информация о том, что шлюз на связи - может быть устаревшей, особенно если интервал опроса - большой.
Последний раз редактировалось A.Simonov; 13.04.2022 в 13:02.
Александр Андреевич Симонов
Инженер по продуктам «ПЛК, модули и OwenCloud»
Не работаю в ОВЕН с 01.07.22
По всем вопросам обращайтесь на почту: support@owen.ru
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран