Commit dafb1ec5 LN

1

1 个父辈 227f7be8
...@@ -104,14 +104,16 @@ namespace OnlineStore.AssemblyLine ...@@ -104,14 +104,16 @@ namespace OnlineStore.AssemblyLine
{ {
try try
{ {
if (equipBase.runStatus >= LineRunStatus.HomeMoving) if (equipBase.runStatus <= LineRunStatus.Wait)
{ {
equipBase.StopRun(); MessageBox.Show(equipBase.Name + "请先启动设备");
FormStatus(false);
} }
else else
{ {
MessageBox.Show(equipBase.Name + "请先启动设备"); LogUtil.info(equipBase.Name + "点击:停止运行");
equipBase.StopRun();
FormStatus(false);
} }
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -105,6 +105,14 @@ namespace OnlineStore.AssemblyLine ...@@ -105,6 +105,14 @@ namespace OnlineStore.AssemblyLine
ReadIOList(); ReadIOList();
//lblTrayNum.Text = "托盘编码:" + TrayManager.GetTrayNum(equipBean.DeviceID); //lblTrayNum.Text = "托盘编码:" + TrayManager.GetTrayNum(equipBean.DeviceID);
} }
if (equipBean.runStatus > LineRunStatus.Wait)
{
lblName.BackColor = Color.Green;
}
else
{
lblName.BackColor= System.Drawing.Color.DodgerBlue;
}
lblAgvInfo.Text = "AGV-" + equipBean.Config.AgvInName + " 状态:" + AgvClient.GetAction(equipBean.Config.AgvInName).ToString() + lblAgvInfo.Text = "AGV-" + equipBean.Config.AgvInName + " 状态:" + AgvClient.GetAction(equipBean.Config.AgvInName).ToString() +
"\t AGV-" + equipBean.Config.AgvOutName + " 状态:" + AgvClient.GetAction(equipBean.Config.AgvOutName).ToString() + ""; "\t AGV-" + equipBean.Config.AgvOutName + " 状态:" + AgvClient.GetAction(equipBean.Config.AgvOutName).ToString() + "";
string canOut = equipBean.Config.IsCanOut.Equals(1) ? "紧急出料模块" : "入料模块"; string canOut = equipBean.Config.IsCanOut.Equals(1) ? "紧急出料模块" : "入料模块";
......
...@@ -95,6 +95,10 @@ namespace OnlineStore.Common ...@@ -95,6 +95,10 @@ namespace OnlineStore.Common
} }
public static void error(ILog log, string errorMsg) public static void error(ILog log, string errorMsg)
{ {
if (errorMsg.Trim().Equals(""))
{
return;
}
//if (!lasErrorLogList.Contains(errorMsg)) //if (!lasErrorLogList.Contains(errorMsg))
{ {
log.Error( errorMsg); log.Error( errorMsg);
......
...@@ -52,7 +52,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -52,7 +52,14 @@ namespace OnlineStore.DeviceLibrary
{ {
return; return;
} }
if (alarmType.Equals(LineAlarmType.SuddenStop))
{
isInSuddenDown = true;
}
else if (alarmType.Equals(LineAlarmType.NoAirCheck))
{
isNoAirCheck = true;
}
this.alarmType = alarmType; this.alarmType = alarmType;
if (alarmType.Equals(LineAlarmType.SuddenStop) || alarmType.Equals(LineAlarmType.NoAirCheck)) if (alarmType.Equals(LineAlarmType.SuddenStop) || alarmType.Equals(LineAlarmType.NoAirCheck))
{ {
...@@ -276,7 +283,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -276,7 +283,7 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.info(Name + "关闭刹车,关闭伺服"); LogUtil.info(Name + "关闭刹车,关闭伺服");
IOMove(axis.Config.BreakOnDO, IO_VALUE.LOW); IOMove(axis.Config.BreakOnDO, IO_VALUE.LOW);
axis.Close(); axis.ServoOff();
Thread.Sleep(100); Thread.Sleep(100);
IOMove(axis.Config.ServerOnDO, IO_VALUE.LOW); IOMove(axis.Config.ServerOnDO, IO_VALUE.LOW);
} }
...@@ -344,9 +351,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -344,9 +351,15 @@ namespace OnlineStore.DeviceLibrary
// LogUtil.debug(moveInfo.Name + "未检测到:IsUse_Tray_Check= " + wait.IoValue + ",直接跳过检测继续下一步"); // LogUtil.debug(moveInfo.Name + "未检测到:IsUse_Tray_Check= " + wait.IoValue + ",直接跳过检测继续下一步");
//} //}
//夹紧按钮若果超过一秒钟还未收到,默认成功 //夹紧按钮若果超过一秒钟还未收到,默认成功
if (wait.IoType.Equals(IO_Type.ClampCylinder_Slack) && wait.IoValue.Equals(IO_VALUE.HIGH) && span.TotalMilliseconds > 4000)
if (wait.IoType.Equals(IO_Type.ClampCylinder_Slack) && wait.IoValue.Equals(IO_VALUE.HIGH) && span.TotalMilliseconds > 6000)
{
LogInfo("未检测到:ClampCylinder_Slack=HIGH,超过6秒钟,默认下一步骤");
wait.IsEnd = true;
}
else if (wait.IoType.Equals(IO_Type.SL_MoveCylinder_Tighten) && wait.IoValue.Equals(IO_VALUE.HIGH) && span.TotalMilliseconds > 6000)
{ {
LogInfo("未检测到:ClampCylinder_Slack=HIGH,超过4秒钟,默认下一步骤"); LogInfo("未检测到:SL_MoveCylinder_Tighten=HIGH,超过6秒钟,默认下一步骤");
wait.IsEnd = true; wait.IsEnd = true;
} }
else else
......
...@@ -52,6 +52,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -52,6 +52,11 @@ namespace OnlineStore.DeviceLibrary
AgvClient.Init(); AgvClient.Init();
} }
} }
if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW))
{
SetWarnMsg(Name + "启动失败:急停未开");
return false;
}
if (RunAxis(true, BatchAxis) && RunAxis(true, UpdownAxis)) if (RunAxis(true, BatchAxis) && RunAxis(true, UpdownAxis))
{ {
mainTimer.Enabled = false; mainTimer.Enabled = false;
...@@ -97,8 +102,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -97,8 +102,9 @@ namespace OnlineStore.DeviceLibrary
lineStatus = LineStatus.ResetMove; lineStatus = LineStatus.ResetMove;
IOMove(IO_Type.SL_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.SL_HddLed, IO_VALUE.HIGH);
MoveInfo.NextMoveStep(LineMoveStep.FR_01_MoveCylinder_Up); MoveInfo.NextMoveStep(LineMoveStep.FR_01_MoveCylinder_Up);
LogInfo(MoveInfo.MoveType + ":" + MoveInfo.MoveStep + ":上料横移机构上升,所有阻挡气缸上升"); LogInfo(MoveInfo.MoveType + ":" + MoveInfo.MoveStep + ":上料横移机构上升,出口顶升下降,所有阻挡气缸上升");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down);
if (Config.SidesWayNum <= 0) if (Config.SidesWayNum <= 0)
{ {
IOMove(IO_Type.FL_StopCylinder_Down1, IO_VALUE.LOW); IOMove(IO_Type.FL_StopCylinder_Down1, IO_VALUE.LOW);
...@@ -159,14 +165,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -159,14 +165,27 @@ namespace OnlineStore.DeviceLibrary
break; break;
case LineMoveStep.FR_04_LocationCylinder_Down: case LineMoveStep.FR_04_LocationCylinder_Down:
LogInfo(MoveInfo.MoveType + ":FR_05_TopCylinderDown:SL1定位气缸下降SOL"); LogInfo(MoveInfo.MoveType + ":FR_05_TopCylinderDown:SL1定位气缸下降SOL,出口顶升气缸下降");
MoveInfo.NextMoveStep(LineMoveStep.FR_05_TopCylinderDown); MoveInfo.NextMoveStep(LineMoveStep.FR_05_TopCylinderDown);
CylinderMove(MoveInfo, IO_Type.SL_LocationCylinder_Up, IO_Type.SL_LocationCylinder_Down); CylinderMove(MoveInfo, IO_Type.SL_LocationCylinder_Up, IO_Type.SL_LocationCylinder_Down);
CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down);
break; break;
case LineMoveStep.FR_05_TopCylinderDown: case LineMoveStep.FR_05_TopCylinderDown:
LogInfo(MoveInfo.MoveType + ":FR_06_BatchAxisToP1:提升伺服在上升到P1点");
MoveInfo.NextMoveStep(LineMoveStep.FR_06_BatchAxisToP1); //判断定位工位是否有料架
BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP1, Config.BatchAxis_P1Speed); if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.HIGH))
{
LogInfo(MoveInfo.MoveType + ":FR_06_BatchAxisToP1:定位工位有料架,提升伺服不需要到P1");
MoveInfo.NextMoveStep(LineMoveStep.FR_06_BatchAxisToP1);
// BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP1, Config.BatchAxis_P1Speed);
}
else
{
LogInfo(MoveInfo.MoveType + ":FR_06_BatchAxisToP1:定位工位无料架,提升伺服上升到P1点");
MoveInfo.NextMoveStep(LineMoveStep.FR_06_BatchAxisToP1);
BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP1, Config.BatchAxis_P1Speed);
}
break; break;
case LineMoveStep.FR_06_BatchAxisToP1: case LineMoveStep.FR_06_BatchAxisToP1:
// LogInfo(MoveInfo.MoveType + ":FR_07_MoveCylinder_Up:上料横移机构上升SOL"); // LogInfo(MoveInfo.MoveType + ":FR_07_MoveCylinder_Up:上料横移机构上升SOL");
...@@ -198,11 +217,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -198,11 +217,11 @@ namespace OnlineStore.DeviceLibrary
} }
break; break;
case LineMoveStep.FR_09_MoveCylinder_Give: case LineMoveStep.FR_09_MoveCylinder_Give:
LogInfo(MoveInfo.MoveType + ":FR_10_OutTopCylinder_Down: 出口顶升下降SOL"); // LogInfo(MoveInfo.MoveType + ":FR_10_OutTopCylinder_Down: 出口顶升下降SOL");
MoveInfo.NextMoveStep(LineMoveStep.FR_10_OutTopCylinder_Down); // MoveInfo.NextMoveStep(LineMoveStep.FR_10_OutTopCylinder_Down);
CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down); // CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down);
break; // break;
case LineMoveStep.FR_10_OutTopCylinder_Down: //case LineMoveStep.FR_10_OutTopCylinder_Down:
LogInfo("重置完成!"); LogInfo("重置完成!");
runStatus = LineRunStatus.Runing; runStatus = LineRunStatus.Runing;
lineStatus = LineStatus.StoreOnline; lineStatus = LineStatus.StoreOnline;
...@@ -220,6 +239,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -220,6 +239,9 @@ namespace OnlineStore.DeviceLibrary
BatchAxisStopCheck(); BatchAxisStopCheck();
BatchAxis.SuddenStop(); BatchAxis.SuddenStop();
UpdownAxis.SuddenStop(); UpdownAxis.SuddenStop();
CloseAxis(BatchAxis);
CloseAxis(UpdownAxis);
if (Config.SidesWayNum <= 0) if (Config.SidesWayNum <= 0)
{ {
IOMove(IO_Type.FL_StopCylinder_Down1, IO_VALUE.LOW); IOMove(IO_Type.FL_StopCylinder_Down1, IO_VALUE.LOW);
...@@ -254,9 +276,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -254,9 +276,11 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
SetWarnMsg( Name + "收到急停信号"); if (isInSuddenDown.Equals(false))
{
Alarm(LineAlarmType.SuddenStop); SetWarnMsg(Name + "收到急停信号");
Alarm(LineAlarmType.SuddenStop);
}
return; return;
} }
...@@ -284,15 +308,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -284,15 +308,16 @@ namespace OnlineStore.DeviceLibrary
//判断流水线打开了才可以运行 //判断流水线打开了才可以运行
if (MoveInfo.MoveType.Equals(LineMoveType.None)) if (MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
if (LineManager.Line.CanProcessLine() && SecondMoveInfo.MoveType.Equals(LineMoveType.None))
{ if ( Config.IsCanOut.Equals(0))
StartCheckFixture();
}
if ( Config.IsCanOut.Equals(false))
{ {
StartInStoreP(); StartInStoreP();
} }
} }
if (LineManager.Line.CanProcessLine() && SecondMoveInfo.MoveType.Equals(LineMoveType.None))
{
StartCheckFixture();
}
IOTimeOutProcess(); IOTimeOutProcess();
} }
......
...@@ -44,7 +44,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -44,7 +44,22 @@ namespace OnlineStore.DeviceLibrary
if (Config.SidesWayNum > 0) if (Config.SidesWayNum > 0)
{ {
int num = TrayManager.GetTrayNum(DeviceID); int num = TrayManager.GetTrayNum(DeviceID);
if (IOValue(IO_Type.SW_TrayCheck).Equals(IO_VALUE.HIGH) && num > 0 && preTrayNum.Equals(num).Equals(false) && LineManager.Line.SwNoProcess(Config.SidesWayNum)) if (LineManager.Line.IsDebug && IOValue(IO_Type.SW_TrayCheck).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SW_ReelCheck).Equals(IO_VALUE.LOW))
{
if (NeedCurrTray())
{
TrayManager.UpdateSWState(Config.SidesWayNum, 2);
CheckLog("托盘检测(流水线阻挡)SecondStoreMove:(MIO_06_TopCylinderUp 横移顶升气缸上 升 )");
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopCylinderUp);
CylinderMove(SecondMoveInfo, IO_Type.SW_TopCylinder_Down, IO_Type.SW_TopCylinder_Up);
}
else
{
preTrayNum = num;
TrayManager.UpdateSWState(Config.SidesWayNum, 1);
}
}
else if (IOValue(IO_Type.SW_TrayCheck).Equals(IO_VALUE.HIGH) && num > 0 && preTrayNum.Equals(num).Equals(false) && LineManager.Line.SwNoProcess(Config.SidesWayNum))
{ {
//判断是否是需要的托盘 //判断是否是需要的托盘
if (NeedCurrTray()) if (NeedCurrTray())
...@@ -496,9 +511,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -496,9 +511,10 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_07_LocationCylinder_Up)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_07_LocationCylinder_Up))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_08_BatchAxisToP2); MoveInfo.NextMoveStep(LineMoveStep.FI_08_BatchAxisToP2);
InStoreLog(" FI_08_BatchAxisToP2 开始:提升轴下降到位P2"); InStoreLog(" FI_08_BatchAxisToP2 开始:提升轴下降到位P2,定位气缸上升");
IOMove(IO_Type.Line_Run, IO_VALUE.LOW); IOMove(IO_Type.Line_Run, IO_VALUE.LOW);
BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed); BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed);
CylinderMove(MoveInfo, IO_Type.SL_LocationCylinder_Down, IO_Type.SL_LocationCylinder_Up);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_08_BatchAxisToP2)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_08_BatchAxisToP2))
{ {
...@@ -528,20 +544,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -528,20 +544,20 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.SL_MoveCylinder_Give).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SL_MoveCylinder_Take).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SL_MoveCylinder_Give).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SL_MoveCylinder_Take).Equals(IO_VALUE.LOW))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_13_ScanCode); MoveInfo.NextMoveStep(LineMoveStep.FI_13_ScanCode);
InStoreLog(" FI_13_ScanCode 料盘移栽:开始扫码"); InStoreLog(" FI_13_ScanCode 料盘移栽:开始扫码:暂时不扫码");
LastCodeList = new List<string>(); LastCodeList = new List<string>();
MoveInfo.WaitList.Add(WaitResultInfo.WaitFeedScanCode()); //MoveInfo.WaitList.Add(WaitResultInfo.WaitFeedScanCode());
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000));
Task<List<string>> scanTask = Task.Factory.StartNew(delegate //Task<List<string>> scanTask = Task.Factory.StartNew(delegate
{ //{
LastCodeList = CodeManager.CameraScan(Config.GetCameraList()); // LastCodeList = CodeManager.CameraScan(Config.GetCameraList());
if (LastCodeList.Count <= 0) // if (LastCodeList.Count <= 0)
{ // {
LastCodeList = CodeManager.CameraScan(Config.GetCameraList()); // LastCodeList = CodeManager.CameraScan(Config.GetCameraList());
} // }
return LastCodeList; // return LastCodeList;
}); //});
} }
else else
{ {
...@@ -766,12 +782,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -766,12 +782,13 @@ namespace OnlineStore.DeviceLibrary
private void BatchAxisToP3() private void BatchAxisToP3()
{ {
MoveInfo.CanWhileCount = 0; MoveInfo.TimeOutSeconds = 200;
MoveInfo.CanWhileCount = 3;
// 需要增加定时器,获取验证信号并停止伺服 // 需要增加定时器,获取验证信号并停止伺服
StartMovePosition = BatchAxis.GetAclPosition(); StartMovePosition = BatchAxis.GetAclPosition();
MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, Config.BatchAxisP3, Config.BatchAxis_P3Speed)); MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, Config.BatchAxisP3, Config.BatchAxis_P3Speed));
Config.Batch_Axis.TargetPosition = Config.BatchAxisP3; Config.Batch_Axis.TargetPosition = Config.BatchAxisP3;
BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP3, Config.BatchAxis_P3Speed); BatchAxis.AbsMove( Config.BatchAxisP3, Config.BatchAxis_P3Speed);
//开始检测信号 //开始检测信号
BatchAxisStartCheck(); BatchAxisStartCheck();
} }
...@@ -833,7 +850,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -833,7 +850,7 @@ namespace OnlineStore.DeviceLibrary
/// <returns></returns> /// <returns></returns>
internal bool NeedCurrTray(bool checkAndMove = false ) internal bool NeedCurrTray(bool checkAndMove = false )
{ {
if (IsDebug || runStatus <= LineRunStatus.Wait) if (IsDebug && runStatus <= LineRunStatus.Wait)
{ {
return false; return false;
} }
...@@ -862,7 +879,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -862,7 +879,8 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
if (!isFull && runStatus.Equals(LineRunStatus.Runing) && MoveInfo.MoveType.Equals(LineMoveType.InStore)) if ((LineManager.Line.IsDebug&&MoveInfo.MoveType.Equals(LineMoveType.InStore))||
( !isFull && runStatus.Equals(LineRunStatus.Runing) && MoveInfo.MoveType.Equals(LineMoveType.InStore)))
{ {
//入料执行中, 且需要空托盘 //入料执行中, 且需要空托盘
if (MoveInfo.MoveStep >= LineMoveStep.FI_11_MoveCylinder_Up && MoveInfo.MoveStep <= LineMoveStep.FI_20_WaitTray) if (MoveInfo.MoveStep >= LineMoveStep.FI_11_MoveCylinder_Up && MoveInfo.MoveStep <= LineMoveStep.FI_20_WaitTray)
......
...@@ -212,6 +212,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -212,6 +212,10 @@ namespace OnlineStore.DeviceLibrary
public string CanStart() public string CanStart()
{ {
if (!canStart)
{
return "启动失败:设备未初始化完成";
}
if (MoveEquipMap == null) if (MoveEquipMap == null)
{ {
return "启动失败:未加载到移栽信息"; return "启动失败:未加载到移栽信息";
...@@ -219,12 +223,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -219,12 +223,7 @@ namespace OnlineStore.DeviceLibrary
if (IsDebug) if (IsDebug)
{ {
return ""; return "";
} }
if (!canStart)
{
return "启动失败:设备未初始化完成" ;
}
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
...@@ -409,7 +408,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -409,7 +408,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (alarmType == LineAlarmType.SuddenStop || alarmType.Equals(LineAlarmType.NoAirCheck)) if (alarmType == LineAlarmType.SuddenStop || alarmType.Equals(LineAlarmType.NoAirCheck))
{ {
LogUtil.error(WarnMsg); LogUtil.error(WarnMsg);
StopMove(); StopMove();
} }
......
...@@ -177,20 +177,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -177,20 +177,20 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
public static int GetTrayNum(int subType) public static int GetTrayNum(int subType)
{ {
string ip = GetRFIP(subType); //string ip = GetRFIP(subType);
//获取盘号 ////获取盘号
RFIDData data = RFIDManager.ReadData(ip); //RFIDData data = RFIDManager.ReadData(ip);
if (data != null) //if (data != null)
{ //{
if (data.RFType.Equals("E")) // if (data.RFType.Equals("E"))
{ // {
return data.Num; // return data.Num;
} // }
else // else
{ // {
LogUtil.error("读取托盘RFID[" + subType + "][" + ip + "]的数据出错:" + data.ToStr()); // LogUtil.error("读取托盘RFID[" + subType + "][" + ip + "]的数据出错:" + data.ToStr());
} // }
} //}
return 0; return 0;
} }
public static RFIDData GetShelfData(int subType) public static RFIDData GetShelfData(int subType)
......
...@@ -97,7 +97,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -97,7 +97,7 @@ namespace OnlineStore.DeviceLibrary
return true; return true;
} }
public void Close() public void ServoOff()
{ {
LogUtil.info("ServoOff【" + AxisName + "】"); LogUtil.info("ServoOff【" + AxisName + "】");
ACServerManager.ServoOff(Config.DeviceName, Config.GetAxisValue()); ACServerManager.ServoOff(Config.DeviceName, Config.GetAxisValue());
...@@ -114,7 +114,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -114,7 +114,7 @@ namespace OnlineStore.DeviceLibrary
/// 松下伺服电机运动 /// 松下伺服电机运动
/// </summary> /// </summary>
public void AbsMove(LineMoveInfo MoveInfo, int targetPosition, int targetSpeed) public void AbsMove(LineMoveInfo MoveInfo, int targetPosition, int targetSpeed)
{ {
MoveInfo.WaitList.Add(WaitResultInfo.WaitAxis(Config, targetPosition, targetSpeed)); MoveInfo.WaitList.Add(WaitResultInfo.WaitAxis(Config, targetPosition, targetSpeed));
Config.TargetPosition = targetPosition; Config.TargetPosition = targetPosition;
ACServerManager.AbsMove(Config.DeviceName, Config.GetAxisValue(), targetPosition, targetSpeed); ACServerManager.AbsMove(Config.DeviceName, Config.GetAxisValue(), targetPosition, targetSpeed);
...@@ -150,7 +150,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -150,7 +150,7 @@ namespace OnlineStore.DeviceLibrary
{ {
msg = " storeMoveStep=" + MoveInfo.MoveStep + axis.DisplayStr + "目标位置[" + targetPosition + "]当前位置[" + outCount msg = " storeMoveStep=" + MoveInfo.MoveStep + axis.DisplayStr + "目标位置[" + targetPosition + "]当前位置[" + outCount
+ "],误差过大,需要报警"; + "],误差过大,需要报警";
LogUtil.error(msg); LogUtil.error(msg,34);
} }
} }
return false; return false;
......
...@@ -33,6 +33,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -33,6 +33,7 @@ namespace OnlineStore.DeviceLibrary
public override void ConnectionIOList(List<string> DIONameList) public override void ConnectionIOList(List<string> DIONameList)
{ {
if (conTimer == null) if (conTimer == null)
{ {
conTimer = new System.Timers.Timer(); conTimer = new System.Timers.Timer();
...@@ -42,6 +43,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -42,6 +43,7 @@ namespace OnlineStore.DeviceLibrary
} }
conTimer.Enabled = false; conTimer.Enabled = false;
IoIPLIst = new List<string>(DIONameList); IoIPLIst = new List<string>(DIONameList);
conCount = 3;
foreach (string ip in DIONameList) foreach (string ip in DIONameList)
{ {
ConnectionIP(ip); ConnectionIP(ip);
...@@ -69,6 +71,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -69,6 +71,7 @@ namespace OnlineStore.DeviceLibrary
if (list.Count > 0) if (list.Count > 0)
{ {
LogUtil.info("开始重连IO模块 ------------" ); LogUtil.info("开始重连IO模块 ------------" );
conCount = 1;
foreach (string ip in list) foreach (string ip in list)
{ {
ConnectionIP(ip); ConnectionIP(ip);
...@@ -82,7 +85,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -82,7 +85,7 @@ namespace OnlineStore.DeviceLibrary
} }
isProcess = false; isProcess = false;
} }
private int conCount = 3;
public void ConnectionIP(string ioIp) public void ConnectionIP(string ioIp)
{ {
AIOBOX aioBox = null; AIOBOX aioBox = null;
...@@ -140,7 +143,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -140,7 +143,7 @@ namespace OnlineStore.DeviceLibrary
AIOMap.Add(ioIp, aioBox); AIOMap.Add(ioIp, aioBox);
LogUtil.debug("开始连接" + logName + ",尝试重连3次"); LogUtil.debug("开始连接" + logName + ",尝试重连3次");
for (int i = 1; i <= 3; i++) for (int i = 1; i <= conCount; i++)
{ {
bool result = aioBox.Connect(); bool result = aioBox.Connect();
if (result) if (result)
......
...@@ -252,7 +252,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -252,7 +252,7 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = msg; WarnMsg = msg;
if (String.IsNullOrEmpty(WarnMsg).Equals(false)) if (String.IsNullOrEmpty(WarnMsg).Equals(false))
{ {
LogUtil.error(Name + WarnMsg); LogUtil.error( WarnMsg);
} }
} }
public static string GetRunStr(LineStatus ls, LineRunStatus runs) public static string GetRunStr(LineStatus ls, LineRunStatus runs)
......
...@@ -162,7 +162,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -162,7 +162,7 @@ namespace OnlineStore.LoadCSVLibrary
} }
public static DeviceConfig LoadConfig(DeviceConfig config) public static DeviceConfig LoadConfig(DeviceConfig config)
{ {
LOGGER.Info("开始读取文件:" + config.ConfigFilePath); LOGGER.Debug("开始读取文件:" + config.ConfigFilePath);
if (config == null || config.ConfigFilePath.Equals("")) if (config == null || config.ConfigFilePath.Equals(""))
{ {
return null; return null;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!