import tkinter as tk
from tkinter import messagebox
from datetime import datetime
from HslCommunication import MelsecMcNet, OperateResult
def 创建_plc_应用程序():
class 应用程序(tk.Tk):
def __init__(self):
super().__init__()
self.title("By_Tim")
self.geometry("750x500")
# 创建一个MelsecMcNet对象
self.ip_address = tk.StringVar(value="166.166.166.166")
self.port_number = tk.IntVar(value=5000)
# 添加IP和Port输入框
self.创建_ip_port_input()
# 创建一个MelsecMcNet对象
self.mc_client = MelsecMcNet(self.ip_address.get(), self.port_number.get())
# 设置GUI组件
self.创建_gui_组件()
# 创建指示灯
self.链接状态指示器 = tk.Label(self, text="正在连接...", bg="red", font=("Arial", 14), relief="solid")
self.链接状态指示器.pack(side=tk.TOP, pady=(10, 5)) # 放置在顶部
# 连接到PLC
self.连接到_plc()
# 开始链接状态更新
self.更新链接状态()
def 连接到_plc(self):
连接结果 = self.mc_client.ConnectServer()
if not 连接结果.IsSuccess:
messagebox.showerror("错误", f"无法连接到PLC: {连接结果.Message}")
messagebox.showerror("排查方向", f"请确认网线是否松动,交换机是否断电,IP、Port(默认5000) 是否正确")
self.链接状态指示器.config(bg="red", text="未连接")
else:
self.链接状态指示器.config(bg="green", text="已连接")
def 创建_gui_组件(self):
# 添加IP和Port输入框
self.创建_ip_port_input()
# 日志区域
self.日志文本框 = tk.Text(self, height=10, width=40)
self.日志文本框.pack(side=tk.RIGHT, padx=10, pady=10)
# 读取部分
self.读取框架 = tk.Frame(self)
self.读取框架.pack(side=tk.LEFT, padx=10, pady=10)
self.读取标签 &#