Sic.Framework/MECF.Framework.RT.Equipment.../HardwareUnits/OffsetManage/OffsetManager.cs

67 lines
2.2 KiB
C#

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<IoPTOffsetAndK> ioPTOffsetAndKs = new List<IoPTOffsetAndK>();
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<IoPTOffsetAndK>($"PM1.PT{i}_Offset"));
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>($"PM1.PT{i}_K"));
}
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>("PM1.PT9_Offset"));
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>("PM1.PT9_K"));
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>("PM1.PT10_Offset"));
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>("PM1.PT10_K"));
for (int i = 1; i < 15; i++)
{
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>($"PM1.U{i}_Water"));
}
}
else if (_moduleName == "PM2")
{
for (int i = 1; i < 3; i++)
{
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>($"PM1.PT{i}_Offset"));
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>($"PM1.PT{i}_K"));
}
for (int i = 1; i < 15; i++)
{
ioPTOffsetAndKs.Add(DEVICE.GetDevice<IoPTOffsetAndK>($"PM2.U{i}_Water"));
}
}
else
ioPTOffsetAndKs = null;
}
public void Set()
{
if (ioPTOffsetAndKs == null)
return;
foreach (IoPTOffsetAndK item in ioPTOffsetAndKs)
{
item.Set_Callback();
}
}
}
}