SicMultiplate/SicRT/Equipments/Systems/DeviceManager.cs

163 lines
5.6 KiB
C#

using Aitex.Core.RT.Device;
using Aitex.Core.RT.SCCore;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Breakers.NSXCOM;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.UPS;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.MachineVision.Keyence;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps.P116PIDTC;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.Sunway;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.HwinRobot;
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);
//}
//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");
ITPM1A.Initialize();
QueueDevice(ITPM1A);
}
if (SC.GetConfigItem($"PM.{MoudleA}.ITAUPSB.EnableDevice").BoolValue)
{
var ITPM1B = new ITAUPS("PM1", "ITAUPSB", "ITAUPSB");
ITPM1B.Initialize();
QueueDevice(ITPM1B);
}
if (SC.GetConfigItem($"PM.{MoudleB}.ITAUPSA.EnableDevice").BoolValue)
{
var ITPM2A = new ITAUPS("PM2", "ITAUPSA", "ITAUPSA");
ITPM2A.Initialize();
QueueDevice(ITPM2A);
}
if (SC.GetConfigItem($"PM.{MoudleB}.ITAUPSB.EnableDevice").BoolValue)
{
var ITPM2B = new ITAUPS("PM2", "ITAUPSB", "ITAUPSB");
ITPM2B.Initialize();
QueueDevice(ITPM2B);
}
if (SC.GetConfigItem("PM.PM1.EATONUPS.EnableDevice").BoolValue)
{
var EATONUPS1 = new EATONUPS("PM1", "EATONUPS", "EATONUPS");
EATONUPS1.Initialize();
QueueDevice(EATONUPS1);
}
if (SC.GetConfigItem("PM.PM2.EATONUPS.EnableDevice").BoolValue)
{
var EATONUPS2 = new EATONUPS("PM2", "EATONUPS", "EATONUPS");
EATONUPS2.Initialize();
QueueDevice(EATONUPS2);
}
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);
}
//if (SC.GetConfigItem("AKunTemp.EnableDevice").BoolValue)
//{
// var AkOptics = new AKunTemp("PM1", "AKunTemp");
// AkOptics.Initialize();
// QueueDevice(AkOptics);
//}
if (SC.GetStringValue($"WaferRobot.RobotType") == "SunwayRobot")
{
var waferRobot = new SunwayRobot("WaferRobot", "WaferRobot");
waferRobot.Initialize();
QueueDevice(waferRobot);
}
else
{
var waferRobot = new HwinRobot("WaferRobot", "WaferRobot");
waferRobot.Initialize();
QueueDevice(waferRobot);
}
if (SC.GetStringValue($"TrayRobot.RobotType") == "SunwayRobot")
{
var trayRobot = new SunwayRobot("TrayRobot", "TrayRobot");
trayRobot.Initialize();
QueueDevice(trayRobot);
}
else
{
var trayRobot = new HwinRobotB("TrayRobot", "TrayRobot");
trayRobot.Initialize();
QueueDevice(trayRobot);
}
return true;
}
protected override void QueueDevice(IDevice device)
{
QueueDevice($"{device.Module}.{device.Name}", device);
}
}
}