Commit aedc9e67 刘韬

优化入料滚筒运行时间

1 个父辈 c9ac5b9a
...@@ -9,7 +9,9 @@ PRO,50,IO信号超时时间(秒),IOSingle_TimerOut,15,,,,,,,,,,,, ...@@ -9,7 +9,9 @@ PRO,50,IO信号超时时间(秒),IOSingle_TimerOut,15,,,,,,,,,,,,
PRO,50,气压检测超时,AirCheckSeconds,5,,,,,,,,,,,, PRO,50,气压检测超时,AirCheckSeconds,5,,,,,,,,,,,,
PRO,50,扫码相机,CameraName,GigE:MV-CE200-10GC (00G03770732),,,,,,,,,,,, PRO,50,扫码相机,CameraName,GigE:MV-CE200-10GC (00G03770732),,,,,,,,,,,,
PRO,40,入料线体顶升电机速度,InLift_Moto_Speed,30000,,,,,,,,,,,, PRO,40,入料线体顶升电机速度,InLift_Moto_Speed,30000,,,,,,,,,,,,
PRO,40,入料线体顶升电机下降速度,InLift_Moto_DownSpeed,30000,,,,,,,,,,,,
PRO,40,出料线体顶升电机速度,OutLift_Moto_Speed,30000,,,,,,,,,,,, PRO,40,出料线体顶升电机速度,OutLift_Moto_Speed,30000,,,,,,,,,,,,
PRO,40,出料线体顶升电机下降速度,OutLift_Moto_DownSpeed,30000,,,,,,,,,,,,
PRO,40,称重传感器端口,WeightSensorPort,COM5,,,,,,,,,,,, PRO,40,称重传感器端口,WeightSensorPort,COM5,,,,,,,,,,,,
PRO,40,称重传感器皮重,WeightSensorBase,0,,,,,,,,,,,, PRO,40,称重传感器皮重,WeightSensorBase,0,,,,,,,,,,,,
PRO,40,库位最大承重,StoreWeightLimited,30,,,,,,,,,,,, PRO,40,库位最大承重,StoreWeightLimited,30,,,,,,,,,,,,
......
...@@ -15,14 +15,19 @@ namespace DeviceLibrary ...@@ -15,14 +15,19 @@ namespace DeviceLibrary
string down; string down;
string axisbreak; string axisbreak;
AxisBean axisBean; AxisBean axisBean;
int speed; int upspeed;
int downspeed;
int StrokeLength = 270000; int StrokeLength = 270000;
public LiftMonitor(string _up, string _down,string _break, AxisBean _axisBean,int _speed) { public LiftMonitor(string _up, string _down,string _break, AxisBean _axisBean,int _upspeed, int _downspeed= 0) {
up = _up; up = _up;
down = _down; down = _down;
axisBean = _axisBean; axisBean = _axisBean;
speed = _speed; upspeed = _upspeed;
axisbreak = _break; axisbreak = _break;
downspeed = _downspeed;
if (downspeed == 0) {
downspeed = upspeed;
}
} }
public bool isAtTOP { public bool isAtTOP {
get { get {
...@@ -46,7 +51,7 @@ namespace DeviceLibrary ...@@ -46,7 +51,7 @@ namespace DeviceLibrary
} }
IOManager.IOMove(axisbreak,IO_VALUE.HIGH); IOManager.IOMove(axisbreak,IO_VALUE.HIGH);
Thread.Sleep(200); Thread.Sleep(200);
axisBean.RelMove(StrokeLength, (double)speed); axisBean.RelMove(StrokeLength, (double)upspeed);
DateTime d = DateTime.Now; DateTime d = DateTime.Now;
moveInfo.log($"{axisBean.AxisName},LiftUp"); moveInfo.log($"{axisBean.AxisName},LiftUp");
if(moveInfo!=null) if(moveInfo!=null)
...@@ -71,7 +76,7 @@ namespace DeviceLibrary ...@@ -71,7 +76,7 @@ namespace DeviceLibrary
} }
if (!axisBean.IsBusy) { if (!axisBean.IsBusy) {
axisBean.RelMove(StrokeLength, (double)speed); axisBean.RelMove(StrokeLength, (double)upspeed);
} }
return false; return false;
} }
...@@ -86,7 +91,7 @@ namespace DeviceLibrary ...@@ -86,7 +91,7 @@ namespace DeviceLibrary
} }
IOManager.IOMove(axisbreak, IO_VALUE.HIGH); IOManager.IOMove(axisbreak, IO_VALUE.HIGH);
Thread.Sleep(200); Thread.Sleep(200);
axisBean.RelMove(-StrokeLength, (double)speed); axisBean.RelMove(-StrokeLength, (double)downspeed);
DateTime d = DateTime.Now; DateTime d = DateTime.Now;
moveInfo.log($"{axisBean.AxisName},LiftDown"); moveInfo.log($"{axisBean.AxisName},LiftDown");
if (moveInfo != null) if (moveInfo != null)
...@@ -114,7 +119,7 @@ namespace DeviceLibrary ...@@ -114,7 +119,7 @@ namespace DeviceLibrary
if (!axisBean.IsBusy) if (!axisBean.IsBusy)
{ {
axisBean.RelMove(-StrokeLength, (double)speed); axisBean.RelMove(-StrokeLength, (double)downspeed);
} }
return false; return false;
} }
......
...@@ -27,6 +27,7 @@ namespace DeviceLibrary ...@@ -27,6 +27,7 @@ namespace DeviceLibrary
public bool IsComplateOrFree { get => MoveInfo.MoveStep == MoveStep.Wait; } public bool IsComplateOrFree { get => MoveInfo.MoveStep == MoveStep.Wait; }
public bool IsTakedBox { get => MoveInfo.MoveStep >= MoveStep.StoreTS10; } public bool IsTakedBox { get => MoveInfo.MoveStep >= MoveStep.StoreTS10; }
public bool IsPutOnOut {get=> To.posid== BoxStorePosition.outdoor && MoveInfo.MoveStep >= MoveStep.StoreTS16; } public bool IsPutOnOut {get=> To.posid== BoxStorePosition.outdoor && MoveInfo.MoveStep >= MoveStep.StoreTS16; }
public BoxTransport(Robot_Config _Config, MainMachine _mainMachine) public BoxTransport(Robot_Config _Config, MainMachine _mainMachine)
{ {
Config = _Config; Config = _Config;
...@@ -44,7 +45,8 @@ namespace DeviceLibrary ...@@ -44,7 +45,8 @@ namespace DeviceLibrary
} }
StoreMoveType storeMoveType = StoreMoveType.None; StoreMoveType storeMoveType = StoreMoveType.None;
string WareCode=""; string WareCode="";
public bool Start(BoxStorePosition from, BoxStorePosition to, StoreMoveType _storeMoveType, string warecode) bool PreMove = false;
public bool Start(BoxStorePosition from, BoxStorePosition to, StoreMoveType _storeMoveType, string warecode, bool premove=false)
{ {
if (MoveInfo.MoveStep != MoveStep.Wait) if (MoveInfo.MoveStep != MoveStep.Wait)
...@@ -52,6 +54,7 @@ namespace DeviceLibrary ...@@ -52,6 +54,7 @@ namespace DeviceLibrary
WareCode = warecode; WareCode = warecode;
storeMoveType = _storeMoveType; storeMoveType = _storeMoveType;
PreMove = premove;
if (from == null) if (from == null)
{ {
To = to.clone(); To = to.clone();
...@@ -83,6 +86,12 @@ namespace DeviceLibrary ...@@ -83,6 +86,12 @@ namespace DeviceLibrary
var uty = py + Config.YAxis.CanErrorCountMax; var uty = py + Config.YAxis.CanErrorCountMax;
var dty = py - Config.YAxis.CanErrorCountMax; var dty = py - Config.YAxis.CanErrorCountMax;
if (y_to <= Config.Yaxis_P1)
return true;
if (dty <= Config.Yaxis_P1)
return true;
//从外侧到内测,判断目标位置是否小于p1 //从外侧到内测,判断目标位置是否小于p1
if (rtx >= Config.Xaxis_P1 && x_to < Config.Xaxis_P1) if (rtx >= Config.Xaxis_P1 && x_to < Config.Xaxis_P1)
{ {
...@@ -92,12 +101,18 @@ namespace DeviceLibrary ...@@ -92,12 +101,18 @@ namespace DeviceLibrary
//从内测到外侧判断当前位置是否小于p1 //从内测到外侧判断当前位置是否小于p1
if (ltx <= Config.Xaxis_P1 && x_to > Config.Xaxis_P1) if (ltx <= Config.Xaxis_P1 && x_to > Config.Xaxis_P1)
{ {
if (uty < Config.Yaxis_P1)
return true;
} }
return false; return false;
} }
public bool ReadyToTakeBox() {
if (MoveInfo.MoveStep != MoveStep.StoreTS05)
return false;
MoveInfo.NextMoveStep(MoveStep.StoreTS06);
return true;
}
public bool Process() public bool Process()
{ {
if (mainMachine.CheckWait(MoveInfo)) if (mainMachine.CheckWait(MoveInfo))
...@@ -140,14 +155,15 @@ namespace DeviceLibrary ...@@ -140,14 +155,15 @@ namespace DeviceLibrary
} }
break; break;
case MoveStep.StoreTS04: case MoveStep.StoreTS04:
MoveInfo.NextMoveStep(MoveStep.StoreTS06); MoveInfo.NextMoveStep(MoveStep.StoreTS05);
YAxis.AbsMove(MoveInfo, From.Yaxis_PL, Config.Yaxis_P1_speed); YAxis.AbsMove(MoveInfo, From.Yaxis_PL, Config.Yaxis_P1_speed);
MoveInfo.log($"{storeMoveType}:上下轴到达取料低点"); MoveInfo.log($"{storeMoveType}:上下轴到达取料低点");
XAxis.AbsMove(MoveInfo, From.Xaxis_P2, Config.Xaxis_P2_speed); XAxis.AbsMove(MoveInfo, From.Xaxis_P2, Config.Xaxis_P2_speed);
MoveInfo.log($"{storeMoveType}:行走机构到达取料点"); MoveInfo.log($"{storeMoveType}:行走机构到达取料点");
break; break;
case MoveStep.StoreTS05: case MoveStep.StoreTS05:
MoveInfo.NextMoveStep(MoveStep.StoreTS06); if (!PreMove)
MoveInfo.NextMoveStep(MoveStep.StoreTS06);
break; break;
case MoveStep.StoreTS06: case MoveStep.StoreTS06:
MoveInfo.NextMoveStep(MoveStep.StoreTS07); MoveInfo.NextMoveStep(MoveStep.StoreTS07);
...@@ -195,14 +211,22 @@ namespace DeviceLibrary ...@@ -195,14 +211,22 @@ namespace DeviceLibrary
} }
break; break;
case MoveStep.StoreTS10: case MoveStep.StoreTS10:
MoveInfo.NextMoveStep(MoveStep.StoreTS12); MoveInfo.NextMoveStep(MoveStep.StoreTS11);
XAxis.AbsMove(MoveInfo, To.Xaxis_P2, Config.Xaxis_P2_speed); XAxis.AbsMove(MoveInfo, To.Xaxis_P2, Config.Xaxis_P2_speed);
MoveInfo.log($"{storeMoveType}:行走机构到达目的地"); MoveInfo.log($"{storeMoveType}:行走机构到达目的地");
YAxis.AbsMove(MoveInfo, To.Yaxis_PH, Config.Yaxis_P1_speed); YAxis.AbsMove(MoveInfo, To.Yaxis_PH, Config.Yaxis_P1_speed);
MoveInfo.log($"{storeMoveType}:上下轴到达目的地高点"); MoveInfo.log($"{storeMoveType}:上下轴到达目的地高点");
break; break;
case MoveStep.StoreTS11: case MoveStep.StoreTS11:
MoveInfo.NextMoveStep(MoveStep.StoreTS12); if (To.posid==BoxStorePosition.outdoor) {
if (!mainMachine.IsOutLiftEmpty)
{
if (MoveInfo.IsTimeOut(20))
Msg.add("等待出口顶升清空周转箱", MsgLevel.warning);
return false;
}
}
MoveInfo.NextMoveStep(MoveStep.StoreTS12);
break; break;
case MoveStep.StoreTS12: case MoveStep.StoreTS12:
MoveInfo.NextMoveStep(MoveStep.StoreTS13); MoveInfo.NextMoveStep(MoveStep.StoreTS13);
......
...@@ -170,11 +170,11 @@ namespace DeviceLibrary ...@@ -170,11 +170,11 @@ namespace DeviceLibrary
case MoveStep.In06: case MoveStep.In06:
InMoveInfo.NextMoveStep(MoveStep.In07); InMoveInfo.NextMoveStep(MoveStep.In07);
LineIn.LineRun("work", 999); LineIn.LineRun("work", 999);
if (RobotManage.StoreType == StoreType.TypeA) //if (RobotManage.StoreType == StoreType.TypeA)
{ //{
CylinderMove(InMoveInfo, IO_Type.InMaterialLocation_Bck, IO_Type.InMaterialLocation_Fwd, IO_VALUE.HIGH); // CylinderMove(InMoveInfo, IO_Type.InMaterialLocation_Bck, IO_Type.InMaterialLocation_Fwd, IO_VALUE.HIGH);
InMoveInfo.log($"料箱定位前进"); // InMoveInfo.log($"料箱定位前进");
} //}
break; break;
case MoveStep.In07: case MoveStep.In07:
if (RobotManage.StoreType == StoreType.TypeA && IOValue(IO_Type.InOverHead_Check).Equals(IO_VALUE.LOW)) { if (RobotManage.StoreType == StoreType.TypeA && IOValue(IO_Type.InOverHead_Check).Equals(IO_VALUE.LOW)) {
...@@ -187,9 +187,9 @@ namespace DeviceLibrary ...@@ -187,9 +187,9 @@ namespace DeviceLibrary
//IOValue(IO_Type.InEndMaterialTop_Check).Equals(IO_VALUE.HIGH) && //IOValue(IO_Type.InEndMaterialTop_Check).Equals(IO_VALUE.HIGH) &&
if(IOValue(IO_Type.InEndMaterialBottom_Check).Equals(IO_VALUE.HIGH)) if(IOValue(IO_Type.InEndMaterialBottom_Check).Equals(IO_VALUE.HIGH))
{ {
InMoveInfo.NextMoveStep(MoveStep.In08); InMoveInfo.NextMoveStep(MoveStep.In09);
CylinderMove(InMoveInfo, IO_Type.InStop_Down, IO_Type.InStop_Up, IO_VALUE.HIGH); CylinderMove(InMoveInfo, IO_Type.InStop_Down, IO_Type.InStop_Up, IO_VALUE.HIGH);
LineIn.LineRun("work", 3); LineIn.LineRun("work", 2);
InMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); InMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
} }
else if (InMoveInfo.IsTimeOut(10)) else if (InMoveInfo.IsTimeOut(10))
...@@ -200,11 +200,11 @@ namespace DeviceLibrary ...@@ -200,11 +200,11 @@ namespace DeviceLibrary
break; break;
case MoveStep.In08: case MoveStep.In08:
InMoveInfo.NextMoveStep(MoveStep.In09); InMoveInfo.NextMoveStep(MoveStep.In09);
if (RobotManage.StoreType == StoreType.TypeA) //if (RobotManage.StoreType == StoreType.TypeA)
{ //{
CylinderMove(InMoveInfo, IO_Type.InMaterialLocation_Bck, IO_Type.InMaterialLocation_Fwd, IO_VALUE.LOW); // CylinderMove(InMoveInfo, IO_Type.InMaterialLocation_Bck, IO_Type.InMaterialLocation_Fwd, IO_VALUE.LOW);
InMoveInfo.log("料箱定位后退"); // InMoveInfo.log("料箱定位后退");
} //}
break; break;
case MoveStep.In09: case MoveStep.In09:
InMoveInfo.NextMoveStep(MoveStep.In10); InMoveInfo.NextMoveStep(MoveStep.In10);
......
...@@ -12,12 +12,13 @@ namespace DeviceLibrary ...@@ -12,12 +12,13 @@ namespace DeviceLibrary
{ {
partial class MainMachine partial class MainMachine
{ {
bool IsOutLiftEmpty public bool IsOutLiftEmpty
{ {
get { get {
return IOValue(IO_Type.OutEntryMaterialTop_Check).Equals(IO_VALUE.LOW) && OutSideLift.isAtTOP; return IOValue(IO_Type.OutEntryMaterialTop_Check).Equals(IO_VALUE.LOW) && OutSideLift.isAtTOP;
} }
} }
void OutProcess() void OutProcess()
{ {
...@@ -65,7 +66,8 @@ namespace DeviceLibrary ...@@ -65,7 +66,8 @@ namespace DeviceLibrary
} }
break; break;
case MoveStep.Out01: case MoveStep.Out01:
if (IOMonitor.IODebound(IO_Type.OutStopMaterial_Check, Config, IO_VALUE.LOW, 2000) && IOMonitor.IODebound(IO_Type.OutExitMaterial_Check, Config, IO_VALUE.LOW, 2000)) //if (IOMonitor.IODebound(IO_Type.OutStopMaterial_Check, Config, IO_VALUE.LOW, 2000) && IOMonitor.IODebound(IO_Type.OutExitMaterial_Check, Config, IO_VALUE.LOW, 2000))
if (IOValue(IO_Type.OutStopMaterial_Check).Equals(IO_VALUE.LOW) && IOValue(IO_Type.OutExitMaterial_Check).Equals(IO_VALUE.LOW))
{ {
OutMoveInfo.NextMoveStep(MoveStep.Out02); OutMoveInfo.NextMoveStep(MoveStep.Out02);
LineOut.LineRun("out", 999); LineOut.LineRun("out", 999);
...@@ -82,18 +84,21 @@ namespace DeviceLibrary ...@@ -82,18 +84,21 @@ namespace DeviceLibrary
OutMoveInfo.NextMoveStep(MoveStep.Out03); OutMoveInfo.NextMoveStep(MoveStep.Out03);
LineOut.LineRun("out", 6); LineOut.LineRun("out", 6);
OutMoveInfo.log($"料箱抵达出口等待阻挡信号X33消失"); OutMoveInfo.log($"料箱抵达出口等待阻挡信号X33消失");
OutMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); OutMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1500));
OutMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.OutStopMaterial_Check, IO_VALUE.LOW)); OutMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.OutStopMaterial_Check, IO_VALUE.LOW));
break; break;
case MoveStep.Out03: case MoveStep.Out03:
OutMoveInfo.NextMoveStep(MoveStep.Out04); OutMoveInfo.NextMoveStep(MoveStep.Out04);
LineOut.LineRun("out", 5); LineOut.LineRun("out", 5);
OutMoveInfo.log($"料箱抵达出口再运行5秒"); OutMoveInfo.log($"料箱抵达出口再运行5秒");
OutMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); OutMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
OutMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.OutExitMaterial_Check, IO_VALUE.HIGH));
OutMoveInfo.OneWaitCanEndStep = true;
break; break;
case MoveStep.Out04: case MoveStep.Out04:
OutMoveInfo.NextMoveStep(MoveStep.Out05); OutMoveInfo.NextMoveStep(MoveStep.Out05);
CylinderMove(OutMoveInfo, IO_Type.OutStop_Down, IO_Type.OutStop_Up, IO_VALUE.HIGH); CylinderMove(OutMoveInfo, IO_Type.OutStop_Down, IO_Type.OutStop_Up, IO_VALUE.HIGH);
LineOut.LineStop("out");
OutSideLift.LiftUp(OutMoveInfo); OutSideLift.LiftUp(OutMoveInfo);
OutMoveInfo.log($"出料中间阻挡升起"); OutMoveInfo.log($"出料中间阻挡升起");
ServerCM.SendStoreState(StoreMoveInfo.MoveParam.PosID, StoreStatus.OutStoreEnd); ServerCM.SendStoreState(StoreMoveInfo.MoveParam.PosID, StoreStatus.OutStoreEnd);
......
...@@ -26,14 +26,14 @@ namespace DeviceLibrary ...@@ -26,14 +26,14 @@ namespace DeviceLibrary
{ {
case MoveStep.Wait: case MoveStep.Wait:
//判断入库线体有没有等待入库 //判断入库线体有没有等待入库
if (InMoveInfo.MoveStep == MoveStep.InWaitBoxLeave && !string.IsNullOrEmpty(InMoveInfo.MoveParam.PosID)) if (InMoveInfo.MoveStep >= MoveStep.StartInStore && InMoveInfo.MoveStep <= MoveStep.InWaitBoxLeave && !string.IsNullOrEmpty(InMoveInfo.MoveParam.PosID))
{ {
StoreMoveInfo.NextMoveStep(MoveStep.StoreIn01); StoreMoveInfo.NextMoveStep(MoveStep.StoreIn01);
StoreMoveInfo.MoveParam = InMoveInfo.MoveParam.clone(); StoreMoveInfo.MoveParam = InMoveInfo.MoveParam.clone();
StoreMoveInfo.log($"入库周转箱已准备好"); StoreMoveInfo.log($"入库周转箱已准备好");
} }
//判断有没有出库任务, 需要入库空闲, 出口空闲 //判断有没有出库任务, 需要入库空闲, 出口空闲
else if (InMoveInfo.MoveStep==MoveStep.Wait && OutMoveInfo.MoveStep==MoveStep.Wait && IsOutLiftEmpty && boxTransport.IsComplateOrFree) { else if (InMoveInfo.MoveStep==MoveStep.Wait && boxTransport.IsComplateOrFree) {
if (OutStoreJobList.Dequeue(out JobInfo jobInfo)) if (OutStoreJobList.Dequeue(out JobInfo jobInfo))
{ {
StoreMoveInfo.NewMove(MoveStep.StoreOut10); StoreMoveInfo.NewMove(MoveStep.StoreOut10);
...@@ -46,14 +46,32 @@ namespace DeviceLibrary ...@@ -46,14 +46,32 @@ namespace DeviceLibrary
case MoveStep.StoreIn01: case MoveStep.StoreIn01:
StoreMoveInfo.NextMoveStep(MoveStep.StoreIn02); StoreMoveInfo.NextMoveStep(MoveStep.StoreIn02);
var ac = CSVPositionReader<ACStorePosition>.GetPositon(StoreMoveInfo.MoveParam.PosID); var ac = CSVPositionReader<ACStorePosition>.GetPositon(StoreMoveInfo.MoveParam.PosID);
boxTransport.Start(new BoxStorePosition(Config,StoreSide.A), new BoxStorePosition(ac),StoreMoveType.InStore, StoreMoveInfo.MoveParam.WareCode); boxTransport.Start(new BoxStorePosition(Config,StoreSide.A), new BoxStorePosition(ac),StoreMoveType.InStore, StoreMoveInfo.MoveParam.WareCode,true);
StoreMoveInfo.log($"开始转运周转箱"); StoreMoveInfo.log($"开始转运周转箱");
ServerCM.SendStoreState(StoreMoveInfo.MoveParam.PosID, StoreStatus.InStoreExecute); ServerCM.SendStoreState(StoreMoveInfo.MoveParam.PosID, StoreStatus.InStoreExecute);
break; break;
case MoveStep.StoreIn02: case MoveStep.StoreIn02:
if (InMoveInfo.MoveStep == MoveStep.InWaitBoxLeave)
{
if (boxTransport.ReadyToTakeBox())
{
StoreMoveInfo.NextMoveStep(MoveStep.StoreIn03);
}else if (StoreMoveInfo.IsTimeOut(10))
{
boxTransport.Reset();
StoreMoveInfo.log($"等待转运装置到位超时, 退出等待");
StoreMoveInfo.EndMove();
}
}
else if(StoreMoveInfo.IsTimeOut(10)) {
StoreMoveInfo.log($"等待入库料箱到位超时, 退出等待");
StoreMoveInfo.EndMove();
}
break;
case MoveStep.StoreIn03:
if (boxTransport.IsTakedBox) if (boxTransport.IsTakedBox)
{ {
StoreMoveInfo.NextMoveStep(MoveStep.StoreIn03); StoreMoveInfo.NextMoveStep(MoveStep.StoreIn04);
InMoveInfo.NextMoveStep(MoveStep.InBoxLeaved); InMoveInfo.NextMoveStep(MoveStep.InBoxLeaved);
StoreMoveInfo.log($"周转箱已取走"); StoreMoveInfo.log($"周转箱已取走");
} }
...@@ -65,7 +83,7 @@ namespace DeviceLibrary ...@@ -65,7 +83,7 @@ namespace DeviceLibrary
// Msg.add(boxTransport.ErrMsgTxt, MsgLevel.warning); // Msg.add(boxTransport.ErrMsgTxt, MsgLevel.warning);
//} //}
break; break;
case MoveStep.StoreIn03: case MoveStep.StoreIn04:
if (boxTransport.IsComplateOrFree) if (boxTransport.IsComplateOrFree)
{ {
StoreMoveInfo.log($"周转箱已到达目的地"); StoreMoveInfo.log($"周转箱已到达目的地");
......
...@@ -108,8 +108,8 @@ namespace DeviceLibrary ...@@ -108,8 +108,8 @@ namespace DeviceLibrary
LineIn = new LineRunMonitor("入料滚筒", Config.DOList[IO_Type.InMoto_Run].GetIOAddr()); LineIn = new LineRunMonitor("入料滚筒", Config.DOList[IO_Type.InMoto_Run].GetIOAddr());
LineOut = new LineRunMonitor("出料滚筒", Config.DOList[IO_Type.OutMoto_Run].GetIOAddr()); LineOut = new LineRunMonitor("出料滚筒", Config.DOList[IO_Type.OutMoto_Run].GetIOAddr());
InSideLift = new LiftMonitor(IO_Type.InLift_Up, IO_Type.InLift_Down, IO_Type.InLift_Break, InLift_Moto, Config.InLift_Moto_Speed); InSideLift = new LiftMonitor(IO_Type.InLift_Up, IO_Type.InLift_Down, IO_Type.InLift_Break, InLift_Moto, Config.InLift_Moto_Speed, Config.InLift_Moto_DownSpeed);
OutSideLift = new LiftMonitor(IO_Type.OutLift_Up, IO_Type.OutLift_Down, IO_Type.OutLift_Break, OutLift_Moto, Config.OutLift_Moto_Speed); OutSideLift = new LiftMonitor(IO_Type.OutLift_Up, IO_Type.OutLift_Down, IO_Type.OutLift_Break, OutLift_Moto, Config.OutLift_Moto_Speed, Config.OutLift_Moto_DownSpeed);
boxTransport = new BoxTransport(Config, this); boxTransport = new BoxTransport(Config, this);
......
...@@ -132,6 +132,16 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -132,6 +132,16 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("OutLift_Moto_Speed")] [ConfigProAttribute("OutLift_Moto_Speed")]
public int OutLift_Moto_Speed { get; set; } public int OutLift_Moto_Speed { get; set; }
/// <summary> /// <summary>
/// PRO,0,入料线体顶升电机下降速度,InLift_Moto_Speed,10,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("InLift_Moto_DownSpeed")]
public int InLift_Moto_DownSpeed { get; set; }
/// <summary>
/// PRO,0,出料线体顶升电机下降速度,OutLift_Moto_Speed,10,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("OutLift_Moto_DownSpeed")]
public int OutLift_Moto_DownSpeed { get; set; }
/// <summary>
/// PRO,41,称重传感器端口,WeightSensorPort,COM1,,,,,,,,,,,, /// PRO,41,称重传感器端口,WeightSensorPort,COM1,,,,,,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("WeightSensorPort")] [ConfigProAttribute("WeightSensorPort")]
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!