0725更改

main
zhangxuxutm 2 years ago
parent 7e816e639b
commit 09faf598f7

@ -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)))
@ -46,17 +47,18 @@ class ActualTrend(QtWidgets.QMainWindow):
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, maxY = ModbusVarManage.getByName(varName)[-2], ModbusVarManage.getByName(varName)[-1]
if not minY or not maxY:
minY = -100 minY = -100
maxY = 100 maxY = 100
else:
if varMM:
minY, maxY = varMM[-2], varMM[-1]
minY = float(minY) minY = float(minY)
maxY = float(maxY) maxY = float(maxY)
@ -64,7 +66,10 @@ class ActualTrend(QtWidgets.QMainWindow):
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 != '':
if MBTCPMApp.backend.get('ModBus') is not None:
uid = MBTCPMApp.backend.get('ModBus').decode('utf-8') 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,9 +90,14 @@ 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)
app = ActualTrend() app = ActualTrend()

@ -1,6 +1,7 @@
import time import time
from PyQt5.QtCore import QThread, pyqtSignal from PyQt5.QtCore import QThread, pyqtSignal
from UI.TrendManage.ActualTrendWidget import ActualTrend
from protocol.TCP.RTDTC import RTDTCClient from protocol.TCP.RTDTC import RTDTCClient
from protocol.TCP.Analog import AnalogClient from protocol.TCP.Analog import AnalogClient
from protocol.FF.FFSimulate import FFSimulate from protocol.FF.FFSimulate import FFSimulate
@ -111,3 +112,6 @@ class HartSimulateThread(FFThread):
self.window.valueList = self.HartSimulate.readValue() self.window.valueList = self.HartSimulate.readValue()
except Exception as e: except Exception as e:
print(e) print(e)

Loading…
Cancel
Save