华荣三照明、合信、荣欣八组合馈电

This commit is contained in:
冯佳
2025-06-25 11:36:43 +08:00
parent 37d39f4578
commit 25b3cb7f2e
494 changed files with 114074 additions and 0 deletions

112
Test/test.py Normal file
View File

@ -0,0 +1,112 @@
import sys
import logging
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QLineEdit
from PyQt5.QtCore import Qt
import modbus_tk.defines as cst
from modbus_tk import modbus_tcp
# 配置日志以十六进制形式显示报文
logging.basicConfig()
log = logging.getLogger('modbus_tk')
log.setLevel(logging.DEBUG)
class ModbusControlWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Modbus Control Window")
self.setGeometry(100, 140, 400, 200)
self.label_ip = QLabel("IP Address:", self)
self.label_ip.move(20, 20)
self.text_ip = QLineEdit("192.168.1.181", self)
self.text_ip.setGeometry(120, 20, 200, 20)
self.label_device_id = QLabel("Device ID:", self)
self.label_device_id.move(20, 60)
self.text_device_id = QLineEdit("1", self)
self.text_device_id.setGeometry(120, 60, 200, 20)
self.btn_addr646 = QPushButton("向上", self)
self.btn_addr646.move(20, 100)
self.btn_addr646.clicked.connect(lambda: self.send_modbus_command(646))
self.btn_addr647 = QPushButton("向下", self)
self.btn_addr647.move(120, 100)
self.btn_addr647.clicked.connect(lambda: self.send_modbus_command(647))
self.btn_addr648 = QPushButton("确定", self)
self.btn_addr648.move(220, 100)
self.btn_addr648.clicked.connect(lambda: self.send_modbus_command(648))
self.btn_addr649 = QPushButton("复位", self)
self.btn_addr649.move(320, 100)
self.btn_addr649.clicked.connect(lambda: self.send_modbus_command(649))
self.bin_addr628 = QPushButton("短路试验", self)
self.bin_addr628.move(20, 140)
self.bin_addr628.clicked.connect(lambda: self.send_modbus_command(628))
self.bin_addr629 = QPushButton("漏电试验", self)
self.bin_addr629.move(120, 140)
self.bin_addr629.clicked.connect(lambda: self.send_modbus_command(629))
self.bin_addr641 = QPushButton("过压试验", self)
self.bin_addr641.move(220, 140)
self.bin_addr641.clicked.connect(lambda: self.send_modbus_command(641))
self.bin_addr642 = QPushButton("电流断相试验", self)
self.bin_addr642.move(320, 140)
self.bin_addr642.clicked.connect(lambda: self.send_modbus_command(642))
self.bin_addr636 = QPushButton("小车进", self)
self.bin_addr636.move(20, 180)
self.bin_addr636.clicked.connect(lambda: self.send_modbus_command(636))
self.bin_addr637 = QPushButton("小车退", self)
self.bin_addr637.move(120, 180)
self.bin_addr637.clicked.connect(lambda: self.send_modbus_command(637))
def send_modbus_command(self, addr):
ip_address = self.text_ip.text()
device_id = int(self.text_device_id.text())
# 连接Modbus设备
try:
master = modbus_tcp.TcpMaster(host=ip_address, port=502)
master.set_timeout(5.0)
except Exception as exc:
print(f"Failed to connect to Modbus device: {exc}")
return
# 发送Modbus功能码0x05
try:
master.execute(device_id, cst.WRITE_SINGLE_COIL, addr, output_value=1)
print(f"Modbus command to address {addr} sent successfully.")
except Exception as exc:
print(f"Failed to send Modbus command to address {addr}: {exc}")
finally:
master.close()
def keyPressEvent(self, event):
if event.key() == Qt.Key_Up:
self.send_modbus_command(646)
elif event.key() == Qt.Key_Down:
self.send_modbus_command(647)
elif event.key() == Qt.Key_Return or event.key() == Qt.Key_Enter:
self.send_modbus_command(648)
elif event.key() == Qt.Key_Space:
self.send_modbus_command(649)
elif event.key() == Qt.Key_A:
self.send_modbus_command(628)
else:
super().keyPressEvent(event)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = ModbusControlWindow()
window.show()
sys.exit(app.exec_())