123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using HZY.Framework.DependencyInjection;
- using Sunny.UI;
- namespace Scada.Page
- {
- public partial class PageEquipmentMonitor1 : UIPage, ISingletonSelfDependency
- {
- private List<Control> controls;
- public PageEquipmentMonitor1()
- {
- InitializeComponent();
- controls = Globals.GetAllControls(this);
- this.timer1.Interval = 500; // 设置定时器间隔为0.5秒
- this.timer1.Tick += Timer1_Tick;
- this.timer1.Start();
- }
- private void Timer1_Tick(object? sender, EventArgs e)
- {
- if (Globals.SiemensClient.Connected)
- {
- //遍历所有控件
- foreach (Control control in controls)
- {
- //分别判断是否是UserDeviceState/UserVarCurrentValue/UserAlarmState控件
- if (control is UserDeviceState userDeviceState)
- {
- userDeviceState.State = Globals.DataDic[userDeviceState.VariableName].ToString() == "1";
- }
- else if (control is UserVarCurrentValue userCurrentValue)
- {
- userCurrentValue.VarValue = float.Parse(Globals.DataDic[userCurrentValue.VariableName].ToString());
- }
- else if (control is UserAlarmState userAlarmState)
- {
- userAlarmState.State = Globals.DataDic[userAlarmState.VariableName].ToString() != "1";
- }
- }
- }
- }
- private void PageEquipmentMonitor_Load(object sender, EventArgs e)
- {
- }
- }
- }
|