Commit 9c7ba9f1 几米阳光

伺服回原点时若原点亮且未回过原点,需要匀速运动

1 个父辈 4c513d02
...@@ -69,7 +69,8 @@ ...@@ -69,7 +69,8 @@
1.前门未关时需要报警。 1.前门未关时需要报警。
2.客户端启动时状态应该是重置中。 2.客户端启动时状态应该是重置中。
20190508修改
伺服回原点时若原点亮且未回过原点,需要匀速运动。
......
...@@ -358,7 +358,7 @@ namespace OnlineStore.Common ...@@ -358,7 +358,7 @@ namespace OnlineStore.Common
if (_serialPort.IsOpen) if (_serialPort.IsOpen)
{ {
if (Monitor.TryEnter(lockObj, 10)) if (Monitor.TryEnter(lockObj, 1))
{ {
//Monitor.Enter(lockObj); //Monitor.Enter(lockObj);
try try
......
...@@ -299,11 +299,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -299,11 +299,11 @@ namespace OnlineStore.DeviceLibrary
int homeSingle = GetHomeSingle(portName, slvAddr); int homeSingle = GetHomeSingle(portName, slvAddr);
if (homeSingle.Equals(1)) if (homeSingle.Equals(1))
{ {
//int isHomeEnd = GetHomeEndStatus(portName, slvAddr); int isHomeEnd = GetHomeEndStatus(portName, slvAddr);
//if (isHomeEnd.Equals(1)) if (isHomeEnd.Equals(1))
//{ {
int value = 2000; int value = 2000;
LogUtil.info("轴【" + portName + "】原点返回时发现原点已亮且回过原点,需要先相对走" + value); LogUtil.info("轴【" + portName + "_" + slvAddr + "】原点返回时发现原点已亮且回过原点,需要先相对走" + value);
RelMove(portName, slvAddr, value); RelMove(portName, slvAddr, value);
bool isStop = false; bool isStop = false;
for (int i = 0; i <= 10; i++) for (int i = 0; i <= 10; i++)
...@@ -312,16 +312,29 @@ namespace OnlineStore.DeviceLibrary ...@@ -312,16 +312,29 @@ namespace OnlineStore.DeviceLibrary
if (GetBusyStatus(portName, slvAddr).Equals(0)) if (GetBusyStatus(portName, slvAddr).Equals(0))
{ {
isStop = true; isStop = true;
LogUtil.info("轴【" + portName + "】 相对走" + value + "已结束"); LogUtil.info("轴【" + portName + "_" + slvAddr + "】相对走" + value + "已结束");
break; break;
} }
} }
if (!isStop) if (!isStop)
{ {
LogUtil.info("轴【" + portName + "】 相对走" + value + "已等待2分钟,直接停止"); LogUtil.info("轴【" + portName + "_" + slvAddr + "】相对走" + value + "已等待2分钟,直接停止");
SuddenStop(portName, slvAddr); SuddenStop(portName, slvAddr);
} }
//} }
else
{
int volSpeed = Math.Abs(speed / 5);
int time = 1500;
LogUtil.info("轴【" + portName + "_" + slvAddr + "】原点返回时发现原点已亮但未回过原点,先匀速向上走" + time + ",速度[" + volSpeed + "]");
//需要匀速向上走
ACServerManager.SpeedMove(portName, slvAddr, volSpeed);
Thread.Sleep(time);
LogUtil.info("轴【" + portName + "_" + slvAddr + "】匀速 已等待" + time + ",直接停止");
SuddenStop(portName, slvAddr);
Thread.Sleep(100);
}
} }
} }
catch (Exception ex) catch (Exception ex)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!