using Aitex.Core.RT.Device; using Aitex.Core.RT.Device.Devices; using Aitex.Core.RT.SCCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.OffsetManage { public class OffsetManager { private List ioPTOffsetAndKs = new List(); public OffsetManager(string _moduleName) { IniioPTOffsetAndKs(_moduleName); } private void IniioPTOffsetAndKs(string _moduleName) { if (_moduleName == "PM1") { for (int i = 1; i < 5; i++) { ioPTOffsetAndKs.Add(DEVICE.GetDevice($"PM1.PT{i}_Offset")); ioPTOffsetAndKs.Add(DEVICE.GetDevice($"PM1.PT{i}_K")); } ioPTOffsetAndKs.Add(DEVICE.GetDevice("PM1.PT9_Offset")); ioPTOffsetAndKs.Add(DEVICE.GetDevice("PM1.PT9_K")); ioPTOffsetAndKs.Add(DEVICE.GetDevice("PM1.PT10_Offset")); ioPTOffsetAndKs.Add(DEVICE.GetDevice("PM1.PT10_K")); for (int i = 1; i < 15; i++) { ioPTOffsetAndKs.Add(DEVICE.GetDevice($"PM1.U{i}_Water")); } } else if (_moduleName == "PM2") { for (int i = 1; i < 3; i++) { ioPTOffsetAndKs.Add(DEVICE.GetDevice($"PM1.PT{i}_Offset")); ioPTOffsetAndKs.Add(DEVICE.GetDevice($"PM1.PT{i}_K")); } for (int i = 1; i < 15; i++) { ioPTOffsetAndKs.Add(DEVICE.GetDevice($"PM2.U{i}_Water")); } } else ioPTOffsetAndKs = null; } public void Set() { if (ioPTOffsetAndKs == null) return; foreach (IoPTOffsetAndK item in ioPTOffsetAndKs) { item.Set_Callback(); } } } }