Commit 9c7ba9f1 几米阳光

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

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