123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using IoTClient;
- using IoTClient.Clients.PLC;
- using IoTClient.Common.Enums;
- using IoTClient.Enums;
- using Microsoft.Extensions.DependencyInjection;
- using Sunny.UI;
- namespace Scada
- {
- public static class Globals
- {
- public static ServiceProvider ServiceProvider;
- public static IniFile IniFile = new IniFile(Application.StartupPath+"\\config.ini");
- public static string PlcVarConfigPath = string.Empty;
- public static string IpAddress = string.Empty;
- public static int Port;
- public static SiemensVersion CpuType;
- public static byte Slot;
- public static byte Rack;
- public static int ConnectTimeOut;
- public static int ReadTimeInterval;
- public static int ReConnectTimeInterval;
- public static SiemensClient SiemensClient;
- public static Dictionary<string, DataTypeEnum> ReadDic = new Dictionary<string, DataTypeEnum>();
- public static Dictionary<string, object> DataDic = new Dictionary<string, object>();
- public static Dictionary<string, string> WriteDic = new Dictionary<string, string>();
- public static IList<string> SaveList = new List<string>();
- public static string DelFilePath;
- public static string SaveDay;
- public static int SYTime;
- public static string SoftwareVersion;
- public static bool PlcWrite(string varName,dynamic value)
- {
- if(SiemensClient!=null && SiemensClient.Connected)
- {
- var address = WriteDic[varName];
- Result result = SiemensClient.Write(address, value);
- if(result.IsSucceed)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- return false;
- }
- #region 获取所有控件
- // 获取指定页面的所有控件
- public static List<Control> GetAllControls(UIPage page)
- {
- List<Control> allControls = new List<Control>();
- CollectControls(page.Controls, allControls);
- return allControls;
- }
- // 递归方法,用于收集控件
- private static void CollectControls(Control.ControlCollection controls, List<Control> allControls)
- {
- foreach (Control control in controls)
- {
- allControls.Add(control); // 将当前控件添加到列表中
- // 如果当前控件有子控件,则递归调用此方法
- if (control.HasChildren)
- {
- CollectControls(control.Controls, allControls);
- }
- }
- }
- #endregion
- }
- }
|