From 0b4942de7d11ab060ec4c2a964a9d99748dea021 Mon Sep 17 00:00:00 2001 From: Vladislav Date: Thu, 26 Oct 2023 22:01:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=B6=D0=B8=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B2=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20=D0=B2=D1=8B=D1=87=D0=B8=D1=82=D1=8B=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- endpoint.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/endpoint.py b/endpoint.py index 857cc2a..a60f8f0 100644 --- a/endpoint.py +++ b/endpoint.py @@ -167,12 +167,9 @@ class Endpoint(Thread): last_row = None while True: - # вычислим время до следующего опроса - curr_time = datetime.now() + # время следующего опроса need_time = last_query + scan_rate - if need_time > curr_time: - delta = need_time - curr_time - time.sleep(delta.seconds + (delta.microseconds / 1000000)) + while True: try: row = self.__mb_read_all_regs() @@ -199,6 +196,12 @@ class Endpoint(Thread): time.sleep(0.1) # небольшая задержка, чтоб не спамить запросами need_time = datetime.now() + scan_rate + # вычислим время до следующего опроса и подождем + curr_time = datetime.now() + if need_time > curr_time: + delta = need_time - curr_time + time.sleep(delta.seconds + (delta.microseconds / 1000000)) + def run(self): # запускаем клиента модбас self.mb = ModbusClient(