Commit 0baee6b2 刘韬

1

1 个父辈 4680b92b
......@@ -116,7 +116,7 @@ namespace DeviceLibrary
case MoveStep.Wait:
break;
case MoveStep.StoreTS01:
if (!MoveInfo.MoveParam.ReelOnFixture && IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
if (!IgnoreX09 && !MoveInfo.MoveParam.ReelOnFixture && IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
{
if (!IgnoreX09 && IOMonitor.IODebound(IO_Type.TrayCheck_Fixture, Config, IO_VALUE.HIGH, 5000))
Msg.add(crc.GetString(L.out_store_detect_material, "出库时料叉X23检测到有物料无法继续,请检查."), MsgLevel.alarm, ErrInfo.X09_BoxNotDetect);
......
......@@ -20,7 +20,7 @@ namespace DeviceLibrary
Msg.add(crc.GetString(L.not_detect_airpressure, "未检测到气压信号."), MsgLevel.warning);
}
if (StringState == StringStateE.OutStore && IOValue(IO_Type.DoorClose_LoadMaterial).Equals(IO_VALUE.LOW)) {
if ((StringState == StringStateE.OutStore || StringState == StringStateE.Full) && IOValue(IO_Type.DoorClose_LoadMaterial).Equals(IO_VALUE.LOW)) {
StringState = StringStateE.None;
}
......
......@@ -69,8 +69,11 @@ namespace DeviceLibrary
ServerCM.storeStatus = StoreStatus.OutStoreExecute;
}
}
else if (OutStoreJobList.Count > 0 && !IsBatchDoorClosed) {
Msg.add("出库任务等待关闭批量舱门", MsgLevel.warning);
}
//判断有没有出库任务, 需要入库空闲, 出口空闲
else if (OutStoreJobList.Count>0 && boxTransport.IsComplateOrFree)
else if (OutStoreJobList.Count > 0 && boxTransport.IsComplateOrFree)
{
TurnToOut();
if (IsPutReelReady && OutStoreJobList.Dequeue(out JobInfo jobInfo))
......@@ -79,7 +82,7 @@ namespace DeviceLibrary
StoreMoveInfo.MoveParam.PosID = jobInfo.PosId;
StoreMoveInfo.MoveParam.PlateH = jobInfo.plateH;
StoreMoveInfo.MoveParam.PlateW = jobInfo.plateW;
StoreMoveInfo.log($"开始出库任务:"+ jobInfo.ToStr());
StoreMoveInfo.log($"开始出库任务:" + jobInfo.ToStr());
ServerCM.storeStatus = StoreStatus.OutStoreExecute;
}
}
......
......@@ -20,7 +20,7 @@ namespace DeviceLibrary
/// </summary>
public bool IsGetReelReady
{
get => StringMoveInfo.MoveStep == MoveStep.StringReadyGet && (boxTransport.To==null || boxTransport.To.posid!=BoxStorePosition.ngdoor);
get => StringMoveInfo.MoveStep == MoveStep.StringReadyGet && (boxTransport.To == null || boxTransport.To.posid != BoxStorePosition.ngdoor);
}
/// <summary>
/// 返回料串是否准备好放料盘
......@@ -60,7 +60,10 @@ namespace DeviceLibrary
/// </summary>
public bool TurnToOut() {
if ( StringMoveInfo.MoveStep==MoveStep.Wait)
if (!IsBatchDoorClosed) {
return false;
}
if (StringMoveInfo.MoveStep == MoveStep.Wait)
{
StringMoveInfo.log($"升起待机料串");
StringState = StringStateE.OutStore;
......@@ -72,7 +75,7 @@ namespace DeviceLibrary
}
public string StartBatchIn()
{
if (IOValue(IO_Type.DoorClose_LoadMaterial).Equals(IO_VALUE.LOW))
if (!IsBatchDoorClosed)
{
LogUtil.info("批量门未关闭无法锁门X07=High");
return crc.GetString(L.batch_door_not_close_cant_lock, "批量门未关闭无法锁门X07=High");//0704
......@@ -87,7 +90,7 @@ namespace DeviceLibrary
}
return "系统忙碌,无法批量入库";
}
bool IsBatchDoorClosed => IOValue(IO_Type.DoorClose_LoadMaterial).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.BatchDoor_Close).Equals(IO_VALUE.HIGH);
//StringStateE LastStringState { get => ConfigHelper.Config.Get("Status_LastStringState", StringStateE.None); set => ConfigHelper.Config.Set("Status_LastStringState", value); }
bool newreel = true;
bool downCheck1 = false;
......@@ -95,6 +98,8 @@ namespace DeviceLibrary
bool downCheck3 = false;
int ReelGetFail = 0;
Task TestHeightTask = null;
const bool oldtestheight = true;
void StringProcess()
{
if (CheckWait(StringMoveInfo))
......@@ -106,7 +111,16 @@ namespace DeviceLibrary
if (StringState == StringStateE.Full)
Msg.add(crc.GetString(L.string_full_takeout, "料串已满请取出"), MsgLevel.warning);//0704
else if (StringState == StringStateE.OutStore)
{
Msg.add(crc.GetString(L.out_store_free, "舱内有出库料盘"), MsgLevel.warning);//0704
}
if (StringState != StringStateE.Full && StoreMoveInfo.MoveStep >= MoveStep.StoreOut10 && IsBatchDoorClosed)
{
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_01);
StringState = StringStateE.OutStore;
StringMoveInfo.log($"有料盘在出库, 强制转为出库料串");
}
break;
case MoveStep.StringLoad_01:
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_01a);
......@@ -125,7 +139,7 @@ namespace DeviceLibrary
break;
case MoveStep.StringLoad_03:
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_04);
if (true || newreel)
if (oldtestheight || newreel)
{
StringMoveInfo.log($"批量轴到顶部检测点");
BatchAxisToP2(StringMoveInfo);
......@@ -137,7 +151,7 @@ namespace DeviceLibrary
StringMoveInfo.WaitList.Add(WaitResultInfo.WaitMsg("料串正在上升",MsgLevel.warning));
break;
case MoveStep.StringLoad_04:
if (true)
if (oldtestheight)
{
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_05);
if (Batch_Axis.IsInPosition(Config.Batch_P2) && IOValue(IO_Type.TrayCheck).Equals(IO_VALUE.LOW))
......@@ -184,13 +198,14 @@ namespace DeviceLibrary
else if (StringState == StringStateE.OutStore)
{
StringMoveInfo.NextMoveStep(MoveStep.StringReadyPut);
StringMoveInfo.log($"料串出库模式,下降5cm");
var tpos2 = Batch_Axis.GetAclPosition() - Config.Batch_PoToMM * Config.Batch_OutStoreDownMM;
if (tpos2 < 0)
{
tpos2 = 0;
}
Batch_Axis.AbsMove(StringMoveInfo, tpos2, Config.Batch_P1);
StringMoveInfo.log($"料串出库模式,下降{Config.Batch_OutStoreDownMM}mm,{tpos2},{Batch_Axis.GetAclPosition()}");
Batch_Axis.AbsMove(StringMoveInfo, tpos2, Config.Batch_P1_speed);
}
break;
case MoveStep.StringLoad_07:
......@@ -398,12 +413,7 @@ namespace DeviceLibrary
Task TestReelHeight() {
return Task.Run(()=> {
int upmm = 0;
//upmm += 8;
//LogUtil.info($"上升,{8}mm");
//if (TestUp(8)==1) {
// SetReelHeight(CalcHeight(8));
// return;
//}
for (int i = 0; i < 56 / 2; i++) {
upmm += 2;
LogUtil.info($"上升:{2}mm,累计:{upmm}mm");
......@@ -427,11 +437,12 @@ namespace DeviceLibrary
if (currPosition + Config.Batch_PoToMM * mm >= Config.Batch_P2)
{
Batch_Axis.AbsMove(null, Config.Batch_P2, Config.Batch_P1_speed);
Task.Delay(20).Wait();
Task.Delay(50).Wait();
while (Batch_Axis.IsBusy)
{
Task.Delay(20).Wait();
}
Task.Delay(160).Wait();
if (IOValue(IO_Type.TrayCheck).Equals(IO_VALUE.HIGH))
return 1;
else
......
......@@ -250,6 +250,8 @@ namespace TheMachine
private void ConfigControl_Load(object sender, EventArgs e)
{
if (DesignMode)
return;
OnlineStore.CodeResourceControl.LanguageChangeEvent += CodeResourceControl_LanguageChange;
CodeResourceControl_LanguageChange(null,null);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!