Sic03-8inch/SicRT/Equipments/Systems/DeviceManager.cs

140 lines
4.7 KiB
C#

using Aitex.Core.RT.Device;
using Aitex.Core.RT.SCCore;
using Mainframe.Devices;
using MECF.Framework.Common.Device.Bases;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Breakers.NSXCOM;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Servo.NAIS;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps.AE;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps.Omron;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.UPS;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.MachineVision.Keyence;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HwAligner;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps.P116PIDTC;
namespace SicRT.Instances
{
public class DeviceEntity : DeviceEntityT<DeviceManager>
{
public DeviceEntity()
{
}
}
public class DeviceManager : DeviceManagerBase
{
public DeviceManager()
{
}
public override bool Initialize()
{
string MoudleA = "PM1";
string MoudleB = "PM2";
if (SC.GetConfigItem("AETemp.EnableDevice").BoolValue)
{
string _address = SC.GetStringValue("AETemp.Address");
bool _enableLog = SC.GetValue<bool>("AETemp.EnableLogMessage");
var aeTemp = new AETemp("PM", "AETemp", "AETemp");
aeTemp.Initialize(_address, _enableLog);
QueueDevice(aeTemp);
}
{
//var aetemp = new AKunTemp("PM1", "AKunTemp", "AKunTemp");
//aetemp.Initialize();
//QueueDevice(aetemp);
}
//if (SC.GetConfigItem("TempOmron.EnableDevice").BoolValue)
//{
// var Omron1 = new TempOmron("PM1", "TempOmron", "TempOmron");
// Omron1.Initialize();
// QueueDevice(Omron1);
// var Omron2 = new TempOmron("PM2", "TempOmron", "TempOmron");
// Omron2.Initialize();
// QueueDevice(Omron2);
//}
if (SC.GetConfigItem("P116PIDTC.EnableDevice").BoolValue)
{
var p116 = new P116PIDTC("TM", "P116PIDTC", "P116PIDTC");
p116.Initialize();
QueueDevice(p116);
}
if (SC.GetConfigItem("NSXBreakerII.EnableDevice").BoolValue)
{
var NSX = new NSXBreakerII("TM", "NSXBreakerII", "NSXBreakerII");
NSX.Initialize();
}
if (SC.GetConfigItem($"PM.{MoudleA}.ITAUPSA.EnableDevice").BoolValue)
{
var ITPM1A = new ITAUPS("PM1", "ITAUPSA", "ITAUPSA", null, null);
ITPM1A.Initialize();
QueueDevice(ITPM1A);
}
if (SC.GetConfigItem($"PM.{MoudleA}.ITAUPSB.EnableDevice").BoolValue)
{
var ITPM1B = new ITAUPS("PM1", "ITAUPSB", "ITAUPSB", null, null);
ITPM1B.Initialize();
QueueDevice(ITPM1B);
}
if (SC.GetConfigItem($"PM.{MoudleB}.ITAUPSA.EnableDevice").BoolValue)
{
var ITPM2A = new ITAUPS("PM2", "ITAUPSA", "ITAUPSA", null, null);
ITPM2A.Initialize();
QueueDevice(ITPM2A);
}
if (SC.GetConfigItem($"PM.{MoudleB}.ITAUPSB.EnableDevice").BoolValue)
{
var ITPM2B = new ITAUPS("PM2", "ITAUPSB", "ITAUPSB", null, null);
ITPM2B.Initialize();
QueueDevice(ITPM2B);
}
//if (SC.GetConfigItem("NAISServo.EnableDevice").BoolValue)
//{
// var Servo1 = new NAISServo("PM1", "NAISServo", "NAISServo");
// Servo1.Initialize();
// QueueDevice(Servo1);
// var Servo2 = new NAISServo("PM2", "NAISServo", "NAISServo");
// Servo2.Initialize();
// QueueDevice(Servo2);
//}
if (SC.GetConfigItem("HiWinAligner.EnableDevice").BoolValue)
{
var HwAligner = new HwAlignerGuide("Aligner", "HiWinAligner", "HiWinAligner");
HwAligner.Initialize();
QueueDevice(HwAligner);
}
if (SC.GetConfigItem("KeyenceCVX300F.EnableDevice").BoolValue)
{
var KCVX = new KeyenceCVX300F("TM", "KeyenceCVX300F", "KeyenceCVX300F");
KCVX.Initialize();
QueueDevice(KCVX);
}
GetDevice<SignalTowerBase>("PM1.SignalTower").CustomSignalTower();
return true;
}
protected override void QueueDevice(IDevice device)
{
QueueDevice($"{device.Module}.{device.Name}", device);
}
}
}