设计一个窗口用户界面,运行窗口后,每隔1S,数值从0开始加2知道数值达到100后停止增加,按下退出按钮后,界面关闭。
plc200是个啥,怎么还带界面呢
到底是plc还是HMI呀
import tkinter as tk
from tkinter import messagebox
class UserInterface:
def __init__(self):
self.counter = 0
self.window = tk.Tk()
self.label = tk.Label(self.window, text="0")
self.label.pack()
self.button = tk.Button(self.window, text="退出", command=self.close_window)
self.button.pack()
self.window.after(1000, self.update_counter)
self.window.mainloop()
def update_counter(self):
self.counter += 2
self.label.config(text=str(self.counter))
if self.counter >= 100:
messagebox.showinfo("提示", "数值达到100,停止增加")
else:
self.window.after(1000, self.update_counter)
def close_window(self):
self.window.destroy()
ui = UserInterface()
使用tkinter
库创建了一个简单的窗口界面。在窗口中,有一个标签用于显示计数器的数值,初始值为0,每隔1秒增加2。当数值达到100时,弹出提示框停止增加。窗口中还有一个退出按钮,点击按钮将关闭窗口。
1.创建一个新的EB PRO项目,并选择合适的PLC类型为PLC200。
2.在项目中新建一个窗口页面,可以命名为“窗口界面”。
3.在该页面上添加一个数值显示控件,并设置其初始值为0。
4.添加一个按钮控件,用于退出窗口页面。
5.编写代码实现每秒自动增加数值,并在数值达到100后停止增加。
6.编写代码实现点击退出按钮后关闭窗口界面。
VAR
num : INT := 0; // 定义数值变量并初始化为0
END_VAR
// 定时器每秒执行一次
TIMER autoIncreaseTimer(1000)
// 判断数值是否大于等于100,如果是则关闭定时器
IF num >= 100 THEN
autoIncreaseTimer(IN:=FALSE);
ELSE
// 每秒增加2
num := num + 2;
END_IF
END_TIMER
// 点击退出按钮时执行
BUTTON exitButton
ON := closeWindow(); // 关闭窗口界面
END_BUTTON
void TfrmMain.BExitClick()
begin
Close();
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var
i:Integer;
begin
i := 0;
Timer1.Interval := 1000;
Timer1.Enabled := True;
end;
procedure TfrmMain.Timer1Timer(Sender: TObject);
var
Label1:TLabel;
begin
Label1 := TLabel.Create(Self);
Label1.Parent := Self;
Label1.Left := 10;
Label1.Top := 10 + i*20;
Label1.Caption := IntToStr(i);
i := i + 2;
if i >= 100 then Timer1.Enabled := false;
end;
实现步骤: