Commit 16ecc6f2 LN

手动控制轴时,若已在运动中,直接返回。

1 个父辈 ab13ee25
...@@ -573,7 +573,7 @@ namespace OnlineStore.ACSingleStore ...@@ -573,7 +573,7 @@ namespace OnlineStore.ACSingleStore
} }
} }
LogUtil.info("点击【绝对运动】,端口号【"+ portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【绝对运动】,端口号【"+ portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed ); ACServerManager.AbsMove(portName, SlvAddr, position, speed,true );
} }
private void btnAxisVMove_Click(object sender, EventArgs e) private void btnAxisVMove_Click(object sender, EventArgs e)
{ {
...@@ -625,7 +625,7 @@ namespace OnlineStore.ACSingleStore ...@@ -625,7 +625,7 @@ namespace OnlineStore.ACSingleStore
} }
} }
LogUtil.info("点击【相对运动】,端口号【" + portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【相对运动】,端口号【" + portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.RelMove(portName, SlvAddr, position, speed); ACServerManager.RelMove(portName, SlvAddr, position, speed,true);
} }
...@@ -785,7 +785,7 @@ namespace OnlineStore.ACSingleStore ...@@ -785,7 +785,7 @@ namespace OnlineStore.ACSingleStore
private void AxisABSMove(ConfigMoveAxis moveAxis, int targetPosition, int targetSpeed) private void AxisABSMove(ConfigMoveAxis moveAxis, int targetPosition, int targetSpeed)
{ {
moveAxis.TargetPosition = targetPosition; moveAxis.TargetPosition = targetPosition;
ACServerManager.AbsMove(moveAxis.DeviceName, moveAxis.GetAxisValue(), targetPosition, targetSpeed); ACServerManager.AbsMove(moveAxis.DeviceName, moveAxis.GetAxisValue(), targetPosition, targetSpeed,true);
} }
private void btnUpDownP1_Click(object sender, EventArgs e) private void btnUpDownP1_Click(object sender, EventArgs e)
{ {
......
...@@ -156,12 +156,7 @@ namespace OnlineStore.ACSingleStore ...@@ -156,12 +156,7 @@ namespace OnlineStore.ACSingleStore
{ {
this.richTextBox1.Text = ""; this.richTextBox1.Text = "";
} }
private void btnRelMove_Click(object sender, EventArgs e)
{
int position = Convert.ToInt32(txtPosition.Text);
ACServerManager.RelMove(PortName, SlvAddr, position);
}
private void btnHomeMove_Click(object sender, EventArgs e) private void btnHomeMove_Click(object sender, EventArgs e)
{ {
int speed = Convert.ToInt32(txtSpeed.Text); int speed = Convert.ToInt32(txtSpeed.Text);
...@@ -223,7 +218,11 @@ namespace OnlineStore.ACSingleStore ...@@ -223,7 +218,11 @@ namespace OnlineStore.ACSingleStore
PositionList = new List<int>(); PositionList = new List<int>();
LogUtil.info(LogName + "伺服开始运动,速度【" + speed + "】位置【" + position + "】启动定时器 "); LogUtil.info(LogName + "伺服开始运动,速度【" + speed + "】位置【" + position + "】启动定时器 ");
formMoveStatus(false); formMoveStatus(false);
ACServerManager.AbsMove(PortName, SlvAddr, position, speed); if (!ACServerManager.AbsMove(PortName, SlvAddr, position, speed, true))
{
MessageBox.Show("运动失败");
return;
}
toolTimer.Start(); toolTimer.Start();
} }
private int P3Offset = 0; private int P3Offset = 0;
......
...@@ -275,8 +275,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -275,8 +275,14 @@ namespace OnlineStore.DeviceLibrary
SendData(portName, dataArray); SendData(portName, dataArray);
} }
public static void RelMove(string portName, int slvAddr, int position,int targetSpeed) public static void RelMove(string portName, int slvAddr, int position,int targetSpeed,bool checkIsMove)
{ {
//判断是否在运动中,运动中直接返回
if (checkIsMove && GetBusyStatus(portName, slvAddr).Equals(1))
{
LogUtil.info($"RelMove:轴{portName}-{slvAddr}相对运动到:{position}失败,当前在忙碌中");
return;
}
//先更新速度 //先更新速度
string slvAddrStr = string.Format(strFromat, slvAddr); string slvAddrStr = string.Format(strFromat, slvAddr);
string v1 = slvAddrStr + "064601 " + SpeedToStr(targetSpeed, 4) + " ffff"; string v1 = slvAddrStr + "064601 " + SpeedToStr(targetSpeed, 4) + " ffff";
...@@ -444,8 +450,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -444,8 +450,15 @@ namespace OnlineStore.DeviceLibrary
} }
} }
public static void AbsMove(string portName, int slvAddr, int targetPosition, int targetSpeed) public static bool AbsMove(string portName, int slvAddr, int targetPosition, int targetSpeed,bool checkIsMove=false)
{ {
//判断是否在运动中,运动中直接返回
if (checkIsMove&& GetBusyStatus(portName, slvAddr).Equals(1))
{
LogUtil.info($"AbsMove:轴{portName}-{slvAddr}绝对运动到:{targetPosition}失败,当前在忙碌中");
return false;
}
//先更新速度 //先更新速度
string slvAddrStr = string.Format(strFromat, slvAddr); string slvAddrStr = string.Format(strFromat, slvAddr);
...@@ -459,8 +472,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -459,8 +472,9 @@ namespace OnlineStore.DeviceLibrary
} }
//绝对运动 //绝对运动
AbsMove(portName, slvAddr, targetPosition); AbsMove(portName, slvAddr, targetPosition);
return true;
} }
public static void AbsMove(string portName, int slvAddr, int position) private static void AbsMove(string portName, int slvAddr, int position)
{ {
//int position = Convert.ToInt32(txtPosition.Text, 10); //int position = Convert.ToInt32(txtPosition.Text, 10);
byte[] positionData = AcSerialBean.StringToByte(position.ToString("X8")); byte[] positionData = AcSerialBean.StringToByte(position.ToString("X8"));
......
...@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 等待仓门口有料 /// 等待仓门口有料
/// </summary> /// </summary>
[Description("入库_取料前_")] [Description("入库_取料前_等待仓门口有料")]
SI_00_TrayCheck = 200, SI_00_TrayCheck = 200,
///// <summary> ///// <summary>
///// 入库,。定位气缸下降 ///// 入库,。定位气缸下降
...@@ -438,18 +438,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -438,18 +438,22 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 盘点 料叉回原点P1 /// 盘点 料叉回原点P1
/// </summary> /// </summary>
[Description("盘点_进出轴返回P1")]
SC_01_InOutAxisHome, SC_01_InOutAxisHome,
/// <summary> /// <summary>
/// 料叉背面移动到库位低点 /// 料叉背面移动到库位低点
/// </summary> /// </summary>
[Description("盘点_料叉背面移动到库位低点")]
SC_02_MoveToLBag, SC_02_MoveToLBag,
/// <summary> /// <summary>
/// 料叉背面移动到库位高点 /// 料叉背面移动到库位高点
/// </summary> /// </summary>
[Description("盘点_料叉背面移动到库位高点")]
SC_03_MoveToHBag, SC_03_MoveToHBag,
/// <summary> /// <summary>
/// 盘点仓位 /// 盘点仓位
/// </summary> /// </summary>
[Description("盘点_盘点仓位")]
SC_04_Inventory, SC_04_Inventory,
#endregion #endregion
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!