0725更新

ModbusPack
zhangxuxutm 2 years ago
parent 2fc18b7504
commit 661686bba8

@ -6,6 +6,7 @@ from matplotlib.backends.qt_compat import QtCore, QtWidgets
from matplotlib.backends.backend_qt5agg import (FigureCanvas, NavigationToolbar2QT as NavigationToolbar) from matplotlib.backends.backend_qt5agg import (FigureCanvas, NavigationToolbar2QT as NavigationToolbar)
from matplotlib.figure import Figure from matplotlib.figure import Figure
from PyQt5.QtCore import QThread
import matplotlib.ticker as ticker import matplotlib.ticker as ticker
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
@ -25,9 +26,9 @@ class ActualTrend(QtWidgets.QMainWindow):
self.varName = varName self.varName = varName
self._main = QtWidgets.QWidget() _main = QtWidgets.QWidget()
self.setCentralWidget(self._main) self.setCentralWidget(_main)
layout = QtWidgets.QVBoxLayout(self._main) layout = QtWidgets.QVBoxLayout(_main)
dynamic_canvas = FigureCanvas(Figure(figsize=(5, 3))) dynamic_canvas = FigureCanvas(Figure(figsize=(5, 3)))
@ -45,26 +46,30 @@ class ActualTrend(QtWidgets.QMainWindow):
self._timer = dynamic_canvas.new_timer( self._timer = dynamic_canvas.new_timer(
1000, [(self._update_canvas, (), {})]) 1000, [(self._update_canvas, (), {})])
self._timer.start() self._timer.start()
def _update_canvas(self): def _update_canvas(self):
# self.n += 1 # self.n += 1
varName = self.varName varName = self.varName
varMM = ModbusVarManage.getByName(varName) varMM = ModbusVarManage.getByName(varName)
if varMM: minY = -100
minY, maxY = ModbusVarManage.getByName(varName)[-2], ModbusVarManage.getByName(varName)[-1] maxY = 100
if not minY or not maxY:
minY = -100 if varMM:
maxY = 100 minY, maxY = varMM[-2], varMM[-1]
else: minY = float(minY)
minY = float(minY) maxY = float(maxY)
maxY = float(maxY)
self._dynamic_ax.clear() self._dynamic_ax.clear()
acttime = time.strftime('%H:%M:%S', time.localtime(time.time())) acttime = time.strftime('%H:%M:%S', time.localtime(time.time()))
# print(acttime) # print(acttime)
if varName != '': if varName != '':
uid = MBTCPMApp.backend.get('ModBus').decode('utf-8') if MBTCPMApp.backend.get('ModBus') is not None:
uid = MBTCPMApp.backend.get('ModBus').decode('utf-8')
else:
return
# print(uid) # print(uid)
res = AsyncResult(uid) # 参数为task id res = AsyncResult(uid) # 参数为task id
if res.result: if res.result:
@ -85,8 +90,13 @@ class ActualTrend(QtWidgets.QMainWindow):
self._dynamic_ax.plot(pos_list, value_list, 'bo-', linewidth=2) self._dynamic_ax.plot(pos_list, value_list, 'bo-', linewidth=2)
# self._dynamic_ax.set_xlim(0,10) # self._dynamic_ax.set_xlim(0,10)
self._dynamic_ax.set_ylim(minY,maxY) self._dynamic_ax.set_ylim(minY, maxY)
self._dynamic_ax.figure.canvas.draw() self._dynamic_ax.figure.canvas.draw()
def closeEvent(self, event):
# 判断是否点击了窗口的关闭按钮
if event.type() == event.Close:
self._timer.stop()
if __name__ == "__main__": if __name__ == "__main__":
qapp = QtWidgets.QApplication(sys.argv) qapp = QtWidgets.QApplication(sys.argv)

@ -1 +1 @@
nuitka --windows-disable-console --standalone --mingw64 --show-memory --show-progress --nofollow-import-to=numpy,pandas,celery,peewee,PIL,cffi,pycparser,pyserial,pywin32,modbus_tk,matplotlib,redis,pyecharts --enable-plugin=pyqt5,numpy,eventlet,gevent,multiprocessing --include-package=model,project,protocol,UI,utils,windoweffect,redis,pythonnet,uuid,logging,openpyxl,matplotlib,importlib,prettytable --output-dir=o bin.py nuitka --windows-disable --mingw64 --show-memory --show-progress --nofollow-import-to=numpy,pandas,celery,peewee,PIL,cffi,pycparser,pyserial,pywin32,modbus_tk,matplotlib,redis,pyecharts --enable-plugin=pyqt5,numpy,eventlet,gevent,multiprocessing --include-package=model,project,protocol,UI,utils,windoweffect,redis,pythonnet,uuid,logging,openpyxl,matplotlib,importlib,prettytable --output-dir=o bin.py
Loading…
Cancel
Save