123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568 |
- using MECF.Framework.Common.Communications;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.SMIFs.Reje
- {
- public class RejeSMIFHandler : HandlerBase
- {
- static string _Command;
- static string charStart = "s";
- static string charAdr = "00";
- static string charEnd = "\r";
- public RejeSMIFHandler(RejeSMIF device, string commandType, string command, string parameter) : base(BuilderMessage(commandType, command, parameter))
- {
- }
- public static string BuilderMessage(string commandType, string command, string parameter)
- {
- string commandStr = charStart + charAdr + commandType + ":";
- if (command != null)
- {
- _Command = command;
- commandStr += command;
- }
- if (parameter != null)
- {
- commandStr += parameter;
- }
- return commandStr + ";" + charEnd;
- }
- public override bool HandleMessage(MessageBase msg, out bool transactionComplete)
- {
- RejeSMIFMessage response = msg as RejeSMIFMessage;
- ResponseMessage = msg;
- transactionComplete = false;
- if (response.IsAck)
- {
- SetState(EnumHandlerState.Acked);
- transactionComplete = true;
- }
- if (response.IsError)
- {
- SetState(EnumHandlerState.Completed);
- transactionComplete = true;
- }
- if (response.IsNak)
- {
- SetState(EnumHandlerState.Completed);
- transactionComplete = true;
- }
- if (response.IsEvent)
- {
- if (response.Command.Contains(_Command))
- {
- SetState(EnumHandlerState.Completed);
- transactionComplete = true;
- }
- }
- return true;
- }
- }
- public class RejeSMIFSetONMGVPModeHandler : RejeSMIFHandler
- {
- public RejeSMIFSetONMGVPModeHandler(RejeSMIF device)
- : base(device, "MOD", "ONMGV", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFSetMENTEHModeHandler : RejeSMIFHandler
- {
- public RejeSMIFSetMENTEHModeHandler(RejeSMIF device)
- : base(device, "MOD", "MENTE", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFStopHeandler : RejeSMIFHandler
- {
- public RejeSMIFStopHeandler(RejeSMIF device)
- : base(device, "MOV", "STOP_", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFORGJZHeandler : RejeSMIFHandler
- {
- public RejeSMIFORGJZHeandler(RejeSMIF device)
- : base(device, "MOV", "ORGJZ", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFPodOpenHeandler : RejeSMIFHandler
- {
- public RejeSMIFPodOpenHeandler(RejeSMIF device)
- : base(device, "MOV", "ORGJL", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFDorOpenHeandler : RejeSMIFHandler
- {
- public RejeSMIFDorOpenHeandler(RejeSMIF device)
- : base(device, "MOV", "DOROP", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFDorCloseHeandler : RejeSMIFHandler
- {
- public RejeSMIFDorCloseHeandler(RejeSMIF device)
- : base(device, "MOV", "DORCL", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFHomeHeandler : RejeSMIFHandler
- {
- public RejeSMIFHomeHeandler(RejeSMIF device)
- : base(device, "MOV", "HOME_", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFStageHeandler : RejeSMIFHandler
- {
- public RejeSMIFStageHeandler(RejeSMIF device)
- : base(device, "MOV", "STAGE", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFTeachHeandler : RejeSMIFHandler
- {
- public RejeSMIFTeachHeandler(RejeSMIF device)
- : base(device, "MOV", "TEACH", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFMapingHeandler : RejeSMIFHandler
- {
- public RejeSMIFMapingHeandler(RejeSMIF device)
- : base(device, "MOV", "MAPDO", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFORGSHHeandler : RejeSMIFHandler
- {
- public RejeSMIFORGSHHeandler(RejeSMIF device)
- : base(device, "MOV", "ORGSH", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFLoadCassetteHeandler : RejeSMIFHandler
- {
- public RejeSMIFLoadCassetteHeandler(RejeSMIF device)
- : base(device, "MOV", "CLDMP", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFUnLoadCassetteHeandler : RejeSMIFHandler
- {
- public RejeSMIFUnLoadCassetteHeandler(RejeSMIF device)
- : base(device, "MOV", "CUDMP", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFResetHeandler : RejeSMIFHandler
- {
- public RejeSMIFResetHeandler(RejeSMIF device)
- : base(device, "SET", "RESET", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFSetHomePositionHeandler : RejeSMIFHandler
- {
- public RejeSMIFSetHomePositionHeandler(RejeSMIF device, int position)
- : base(device, "SET", $"H{position}", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFSetWTYHeandler : RejeSMIFHandler
- {
- /// <summary>
- ///
- /// </summary>
- /// <param name="device"></param>
- /// <param name="mapNo">0-39</param>
- public RejeSMIFSetWTYHeandler(RejeSMIF device, int mapNo)
- : base(device, "SET", $"WTY{mapNo}", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- msg.IsAck = true;
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFGetStatusHandler : RejeSMIFHandler
- {
- RejeSMIF _device = null;
- private string sysStatus = "-1"; //位置1 状态0 正常,A可恢复报警
- private string mode = "-1"; //位置2 模式 0 online模式,1 维护模式,T 示教模式
- private int isRunOrigin = -1; //位置3 0未执行,1执行
- private int runStatus = -1; //位置4 0停止状态 1运行状态
- private string errorCode = "00";//5-6
- private int podStatus = -1;//7 0不在位,1 在位
- private int clampStatus = -1;//8 0松开状态,加紧状态,?异常状态
- private int doorSstatus = -1;//9 0门关闭状态,1夹紧状态,?异常状态
- private int waferStatus = -1;//12 0晶圆凸出,1无晶圆凸出
- private int zAixsPod = -1;//13 0 Home位置,1Stage位置,? 未知位置
- public RejeSMIFGetStatusHandler(RejeSMIF device)
- : base(device, "GET", $"STATE", "")
- {
- _device = device;
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- string raw = result.RawMessage;
- msg.IsAck = true;
- if (result.Data != null && result.Data.Length >= 20)
- {
- //获取状态信息
- sysStatus = result.Data.Substring(0, 1);
- mode = result.Data.Substring(1, 1);
- isRunOrigin = Convert.ToInt32(result.Data.Substring(2, 1));
- runStatus = Convert.ToInt32(result.Data.Substring(3, 1));
- errorCode = result.Data.Substring(4, 2);
- podStatus = Convert.ToInt32(result.Data.Substring(6, 1));
- clampStatus = Convert.ToInt32(result.Data.Substring(7, 1));
- doorSstatus = Convert.ToInt32(result.Data.Substring(8, 1));
- waferStatus = Convert.ToInt32(result.Data.Substring(11, 1));
- zAixsPod = Convert.ToInt32(result.Data.Substring(12, 1));
- if (errorCode != "00")
- {
- _device.NoteError(errorCode, 3);
- handled = false;
- return false;
- }
- }
- else
- {
- handled = false;
- return false;
- }
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFGetVersnHandler : RejeSMIFHandler
- {
- public RejeSMIFGetVersnHandler(RejeSMIF device)
- : base(device, "GET", $"VERSN", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- if (result.Data != null && result.Data.Length > 0)
- {
- msg.IsAck = true;
- //获取状态信息
- }
- else
- {
- handled = false;
- return false;
- }
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFGetMapingStateHandler : RejeSMIFHandler
- {
- public RejeSMIFGetMapingStateHandler(RejeSMIF device)
- : base(device, "GET", $"MAPRD", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- if (result.Data != null && result.Data.Length > 0)
- {
- msg.IsAck = true;
- //获取状态信息
- }
- else
- {
- handled = false;
- return false;
- }
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- public class RejeSMIFGetWaferStateHandler : RejeSMIFHandler
- {
- public RejeSMIFGetWaferStateHandler(RejeSMIF device)
- : base(device, "GET", $"THICK", "")
- {
- }
- public override bool HandleMessage(MessageBase msg, out bool handled)
- {
- var result = msg as RejeSMIFMessage;
- if (result.Data != null && result.Data.Length > 0)
- {
- msg.IsAck = true;
- //获取状态信息
- }
- else
- {
- handled = false;
- return false;
- }
- if (base.HandleMessage(msg, out handled))
- {
- //Device.NoteConstant(result.MessagePart[1]);
- }
- return true;
- }
- }
- }
|