修改HW寻边器代码,使EFEM中对寻边器的功能按钮生效

This commit is contained in:
SIC1016\caipeilun 2024-01-22 17:36:25 +08:00
parent 3998a663ae
commit c2fa939ebf
3 changed files with 41 additions and 2 deletions

View File

@ -58,6 +58,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.AlignersBase
}
public object[] CurrentParamter { get; private set; }
public bool IsOnline { get; set; }
public WaferSize Size
{

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text;
using Aitex.Core.RT.DataCenter;
@ -113,6 +114,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
private void InitData()
{
DATA.Subscribe($"{Module}.{Name}.HaveWafer", () => HaveWafer);
DATA.Subscribe($"{Module}.{Name}.Result", () => _connection.Result,SubscriptionAttribute.FLAG.IgnoreSaveDB);
}
private void InitOp()
@ -162,6 +164,9 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
//寻边补正
OP.Subscribe($"{Module}.{Name}.HwBAL", (_, _) => MsgAliger());
//关闭真空
OP.Subscribe($"{Module}.{Name}.HwCVD", (_, _) => ReadVacuum());
//关闭真空
OP.Subscribe($"{Module}.{Name}.HwCVF", (_, _) => CloseVacuum());
@ -171,6 +176,9 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
//清除报警
OP.Subscribe($"{Module}.{Name}.HwERS", (_, _) => ClearError());
//读取报警
OP.Subscribe($"{Module}.{Name}.HwPER", (_, _) => ReadError());
//马达激磁
OP.Subscribe($"{Module}.{Name}.HwSME", (_, _) =>
{
@ -194,7 +202,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
}
private bool OnTimer()
{
try
@ -447,6 +455,16 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
return true;
}
private bool ReadVacuum()
{
lock (_locker)
{
_lstHandler.AddLast(new HwAlignerGuideSetHandler(this, "CVD", "CVD"));
}
return true;
}
public bool MoveToRobotPutPlace()
{
lock (_locker)
@ -495,6 +513,16 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
return true;
}
public bool ReadError()
{
lock (_locker)
{
_lstHandler.AddLast(new HwAlignerGuideSetHandler(this, "PER", "PER"));
}
return true;
}
/// <summary>
/// 新增一条命令到命令执行列队。

View File

@ -1,4 +1,5 @@
using MECF.Framework.Common.Communications;
using System;
using System.Collections.Generic;
namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
@ -7,6 +8,11 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
{
private readonly List<byte> _lstCacheBuffer = new();
private object _lockerActiveHandler = new object();
private string _result = "";
public string Result
{
get { return _result; }
}
public HwAlignerGuideConnection(string portName)
: base(portName, 115200, 8, System.IO.Ports.Parity.None, System.IO.Ports.StopBits.One, "\r", false)
{
@ -14,6 +20,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
public override bool SendMessage(byte[] message)
{
_lstCacheBuffer.Clear();
_result = "";
return base.SendMessage(message);
}
protected override MessageBase ParseResponse(byte[] rawMessage)
@ -22,7 +29,9 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
_lstCacheBuffer.AddRange(rawMessage);
var temps = _lstCacheBuffer.ToArray();
var msg = new HwAlignerGuideMessage();
_result += System.Text.Encoding.ASCII.GetString(temps);
HwAlignerGuideMessage msg = new HwAlignerGuideMessage();
msg.IsResponse = false;
msg.IsAck = false;
msg.IsComplete = false;
@ -34,6 +43,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.HiWinAligner
return msg;
}
}
}