Commit 589d47aa 几米阳光

三个轴原点返回都改为负方向

1 个父辈 faf869d1
...@@ -11,7 +11,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -11,7 +11,8 @@ namespace OnlineStore.DeviceLibrary
/// 0132h 原点接近传感器输入 (HOME) 状态 ReadOnly 0: 输入 OFF 1: 输入 ON /// 0132h 原点接近传感器输入 (HOME) 状态 ReadOnly 0: 输入 OFF 1: 输入 ON
/// </summary> /// </summary>
public static string Home_Single = "0132"; public static string Home_Single = "0132";
// 0022h 负方向驱动禁止输入(NOT) ReadOnly 0: 输入 OFF、 1: 输入 ON
// 0023h 正方向驱动禁止输入(POT) ReadOnly 0: 输入 OFF、 1: 输入 ON
/// <summary> /// <summary>
///速度 4601 ///速度 4601
/// </summary> /// </summary>
...@@ -73,7 +74,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -73,7 +74,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 读线圈01 /// 读线圈01
/// </summary> /// </summary>
public static byte CMD_ReadCoil= 0x01; public static byte CMD_ReadCoil = 0x01;
/// <summary> /// <summary>
/// 写线圈 05 /// 写线圈 05
/// </summary> /// </summary>
...@@ -131,9 +132,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -131,9 +132,9 @@ namespace OnlineStore.DeviceLibrary
public static byte[] buildCheckData(byte[] sendData, int length) public static byte[] buildCheckData(byte[] sendData, int length)
{ {
ushort pChecksum = 0; ushort pChecksum = 0;
SerialBean.CalculateCRC(sendData, length, out pChecksum); AcSerialBean.CalculateCRC(sendData, length, out pChecksum);
string checkStr = Convert.ToString(pChecksum, 16); string checkStr = Convert.ToString(pChecksum, 16);
byte[] checkByte = SerialBean.StringToByte(checkStr); byte[] checkByte = AcSerialBean.StringToByte(checkStr);
if (checkByte.Length == 1) if (checkByte.Length == 1)
{ {
sendData[length] = checkByte[0]; sendData[length] = checkByte[0];
...@@ -152,7 +153,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -152,7 +153,7 @@ namespace OnlineStore.DeviceLibrary
// ( 2) 读取寄存器( 03h) // ( 2) 读取寄存器( 03h)
if (cmd.Equals(CMD_ReadRegisters)) if (cmd.Equals(CMD_ReadRegisters))
{ {
return Get03WriteData(slvAddr, addr,length); return Get03WriteData(slvAddr, addr, length);
} }
else if (cmd.Equals(CMD_WriteRegisters)) else if (cmd.Equals(CMD_WriteRegisters))
{ {
...@@ -176,7 +177,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -176,7 +177,7 @@ namespace OnlineStore.DeviceLibrary
byte[] sendData = new byte[8]; byte[] sendData = new byte[8];
sendData[0] = (byte)slvAddr; sendData[0] = (byte)slvAddr;
sendData[1] = CMD_WriteCoil; sendData[1] = CMD_WriteCoil;
byte[] addrByte = SerialBean.StringToByte(addr.ToString()); byte[] addrByte = AcSerialBean.StringToByte(addr.ToString());
if (addrByte.Length == 1) if (addrByte.Length == 1)
{ {
sendData[2] = 0x00; sendData[2] = 0x00;
...@@ -188,7 +189,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -188,7 +189,7 @@ namespace OnlineStore.DeviceLibrary
sendData[2] = addrByte[0]; sendData[2] = addrByte[0];
} }
byte[] dataByte = SerialBean.StringToByte(dataValue); byte[] dataByte = AcSerialBean.StringToByte(dataValue);
if (dataByte.Length == 1) if (dataByte.Length == 1)
{ {
sendData[4] = 0x00; sendData[4] = 0x00;
...@@ -209,7 +210,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -209,7 +210,7 @@ namespace OnlineStore.DeviceLibrary
byte[] sendData = new byte[8]; byte[] sendData = new byte[8];
sendData[0] = (byte)slvAddr; sendData[0] = (byte)slvAddr;
sendData[1] = CMD_ReadCoil; sendData[1] = CMD_ReadCoil;
byte[] addrByte = SerialBean.StringToByte(addr.ToString()); byte[] addrByte = AcSerialBean.StringToByte(addr.ToString());
if (addrByte.Length == 1) if (addrByte.Length == 1)
{ {
sendData[2] = 0x00; sendData[2] = 0x00;
...@@ -221,7 +222,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -221,7 +222,7 @@ namespace OnlineStore.DeviceLibrary
sendData[2] = addrByte[0]; sendData[2] = addrByte[0];
} }
byte[] dataByte = SerialBean.StringToByte(length.ToString()); byte[] dataByte = AcSerialBean.StringToByte(length.ToString());
if (dataByte.Length == 1) if (dataByte.Length == 1)
{ {
sendData[4] = 0x00; sendData[4] = 0x00;
...@@ -249,10 +250,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -249,10 +250,10 @@ namespace OnlineStore.DeviceLibrary
//低位 //低位
//CRC 低位 //CRC 低位
//高位 //高位
byte[] sendData = new byte[8 ]; byte[] sendData = new byte[8];
sendData[0] = (byte)slvAddr; sendData[0] = (byte)slvAddr;
sendData[1] = CMD_ReadRegisters; sendData[1] = CMD_ReadRegisters;
byte[] addrByte = SerialBean.StringToByte(addr.ToString()); byte[] addrByte = AcSerialBean.StringToByte(addr.ToString());
if (addrByte.Length == 1) if (addrByte.Length == 1)
{ {
sendData[2] = 0x00; sendData[2] = 0x00;
...@@ -264,7 +265,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -264,7 +265,7 @@ namespace OnlineStore.DeviceLibrary
sendData[2] = addrByte[0]; sendData[2] = addrByte[0];
} }
byte[] dataByte = SerialBean.StringToByte(length.ToString()); byte[] dataByte = AcSerialBean.StringToByte(length.ToString());
if (dataByte.Length == 1) if (dataByte.Length == 1)
{ {
sendData[4] = 0x00; sendData[4] = 0x00;
...@@ -276,7 +277,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -276,7 +277,7 @@ namespace OnlineStore.DeviceLibrary
sendData[5] = dataByte[0]; sendData[5] = dataByte[0];
} }
sendData = buildCheckData(sendData, sendData.Length-2); sendData = buildCheckData(sendData, sendData.Length - 2);
return sendData; return sendData;
} }
...@@ -294,7 +295,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -294,7 +295,7 @@ namespace OnlineStore.DeviceLibrary
byte[] sendData = new byte[8]; byte[] sendData = new byte[8];
sendData[0] = (byte)slvAddr; sendData[0] = (byte)slvAddr;
sendData[1] = CMD_WriteRegisters; sendData[1] = CMD_WriteRegisters;
byte[] addrByte = SerialBean.StringToByte(addr.ToString()); byte[] addrByte = AcSerialBean.StringToByte(addr.ToString());
if (addrByte.Length == 1) if (addrByte.Length == 1)
{ {
sendData[2] = 0x00; sendData[2] = 0x00;
...@@ -306,7 +307,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -306,7 +307,7 @@ namespace OnlineStore.DeviceLibrary
sendData[2] = addrByte[0]; sendData[2] = addrByte[0];
} }
byte[] dataByte = SerialBean.StringToByte(dataValue); byte[] dataByte = AcSerialBean.StringToByte(dataValue);
if (dataByte.Length == 1) if (dataByte.Length == 1)
{ {
sendData[4] = 0x00; sendData[4] = 0x00;
...@@ -316,6 +317,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -316,6 +317,7 @@ namespace OnlineStore.DeviceLibrary
{ {
sendData[4] = dataByte[0]; sendData[4] = dataByte[0];
sendData[5] = dataByte[1]; sendData[5] = dataByte[1];
//sendData[4] = dataByte[1]; //sendData[4] = dataByte[1];
//sendData[5] = dataByte[0]; //sendData[5] = dataByte[0];
} }
......
...@@ -27,131 +27,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -27,131 +27,15 @@ namespace OnlineStore.DeviceLibrary
return null; return null;
} }
//public static void RunBlock(string portName, int slvAddr, int index)
//{
// //运动
// byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, index.ToString(), 2);
// SendData(portName, data);
// Thread.Sleep(100);
// CloseSTB(portName, slvAddr);
// Thread.Sleep(100);
// OnlyOpenSTB(portName, slvAddr);
//}
public static void SendStrAndSleep(string portName, string str, int sleepS) public static void SendStrAndSleep(string portName, string str, int sleepS)
{ {
byte[] data = SerialBean.StringToByte(str); byte[] data = AcSerialBean.StringToByte(str);
data[data.Length - 1] = 0x00; data[data.Length - 1] = 0x00;
data[data.Length - 2] = 0x00; data[data.Length - 2] = 0x00;
data = ACCMDManager.buildCheckData(data, data.Length - 2); data = ACCMDManager.buildCheckData(data, data.Length - 2);
SendData(portName, data); SendData(portName, data);
System.Threading.Thread.Sleep(sleepS); System.Threading.Thread.Sleep(sleepS);
} }
//public static void SendStr(string portName, string str)
//{
// byte[] data = SerialBean.StringToByte(str);
// data[data.Length - 1] = 0x00;
// data[data.Length - 2] = 0x00;
// data = ACCMDManager.buildCheckData(data, data.Length - 2);
// SendData(portName, data);
//}
//private static void DataReceived(string portName, object sender, SerialDataReceivedEventArgs e, byte[] bits)
//{
// string strSend = "";
// for (int i = 0; i < bits.Length; i++)
// {
// strSend += string.Format("{0:X2} ", bits[i]);
// }
// if (IsShowMsg)
// {
// LogUtil.info( "串口" + portName + " 收到数据:" + strSend + "");
// }
// string str = "";
// string strFromat = "{0:X2}";
// byte slvAddr = bits[0];
// int lenth = bits[2];
// byte cmd = bits[1];
// if (cmd.Equals(ACCMDManager.CMD_ReadRegisters) && bits.Length > 6)
// {
// if (PreReadAddr.Equals(ACCMDManager.TargetPostion))
// {
// if (lenth == 4)
// {
// str = string.Format(strFromat, bits[5]) + string.Format(strFromat, bits[6]) + string.Format(strFromat, bits[3]) + string.Format(strFromat, bits[4]);
// int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
// SaveData(portName, slvAddr, ACCMDManager.TargetPostion, value);
// }
// }
// else if (PreReadAddr.Equals(ACCMDManager.ActualPosition))
// {
// if (lenth == 4)
// {
// str = string.Format(strFromat, bits[5]) + string.Format(strFromat, bits[6]) + string.Format(strFromat, bits[3]) + string.Format(strFromat, bits[4]);
// int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
// SaveData(portName, slvAddr, ACCMDManager.ActualPosition, value);
// }
// }
// else
// {
// for (int i = 3; i < 3 + lenth; i++)
// {
// str += string.Format("{0:X2} ", bits[i]);
// }
// str = str.Replace(" ", "");
// int value = Convert.ToInt32(str, 16);
// LogUtil.info("转换后结果:" + value + "");
// //this.richTextBox1.AppendText("转换后结果:" + value + "");
// //Console.WriteLine("转换后结果:" + value);
// }
// //MessageBox.Show("收到数据:"+value);
// }
// else if (cmd.Equals(ACCMDManager.CMD_ReadCoil) && bits.Length >= 6)
// {
// if (PreReadCoilAddr.Equals(ACCMDManager.ServerOn_Addr))
// {
// if (lenth == 1)
// {
// str = string.Format(strFromat, bits[3]);
// int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
// SaveData(portName, slvAddr, ACCMDManager.ServerOn_Addr, value);
// }
// }
// else
// if (PreReadCoilAddr.Equals(ACCMDManager.Alarm_Status))
// {
// if (lenth == 1)
// {
// str = string.Format(strFromat, bits[3]);
// int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
// SaveData(portName, slvAddr, ACCMDManager.Alarm_Status, value);
// }
// }
// else if (PreReadCoilAddr.Equals(ACCMDManager.BUSYStatus))
// {
// if (lenth == 1)
// {
// str = string.Format(strFromat, bits[3]);
// int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
// SaveData(portName, slvAddr, ACCMDManager.BUSYStatus, value);
// }
// }
// else if (PreReadCoilAddr.Equals(ACCMDManager.HOME_CMP_Status))
// {
// if (lenth == 1)
// {
// str = string.Format(strFromat, bits[3]);
// int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
// SaveData(portName, slvAddr, ACCMDManager.HOME_CMP_Status, value);
// }
// }
// }
// if (strSend.Equals(""))
// {
// return;
// }
//}
public static void SaveData(string portName, byte slvAddr, string regAddr, int value) public static void SaveData(string portName, byte slvAddr, string regAddr, int value)
{ {
...@@ -173,17 +57,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -173,17 +57,17 @@ namespace OnlineStore.DeviceLibrary
LastDataMap.Add(slvAddr, map); LastDataMap.Add(slvAddr, map);
} }
} }
//public static RegisterInfo GetData(string portName, byte slvAddr, string regAddr) public static RegisterInfo GetData(string portName, byte slvAddr, string regAddr)
//{ {
// if (LastDataMap.ContainsKey(slvAddr)) if (LastDataMap.ContainsKey(slvAddr))
// { {
// if (LastDataMap[slvAddr].ContainsKey(regAddr)) if (LastDataMap[slvAddr].ContainsKey(regAddr))
// { {
// return LastDataMap[slvAddr][regAddr]; return LastDataMap[slvAddr][regAddr];
// } }
// } }
// return null; return null;
//} }
public static void SendData(string portName, byte[] data, int reviceLength) public static void SendData(string portName, byte[] data, int reviceLength)
{ {
...@@ -200,7 +84,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -200,7 +84,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (IsShowMsg) if (IsShowMsg)
{ {
LogUtil.info( "串口" + portName + " 收到数据:" + strSend + ""); LogUtil.info("串口" + portName + " 收到数据:" + strSend + "");
} }
} }
public static void SendData(string portName, byte[] data) public static void SendData(string portName, byte[] data)
...@@ -210,7 +94,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -210,7 +94,7 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
byte[] returnData = SendCommand(portName, data, 50, 8); byte[] returnData = SendCommand(portName, data, 50, 8);
if (returnData!=null) if (returnData != null)
{ {
string strSend = ""; string strSend = "";
for (int i = 0; i < returnData.Length; i++) for (int i = 0; i < returnData.Length; i++)
...@@ -231,6 +115,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -231,6 +115,10 @@ namespace OnlineStore.DeviceLibrary
/// <returns>返回值的长度</returns> /// <returns>返回值的长度</returns>
public static byte[] SendCommand(string portName, byte[] data, int outTime, int reviceLength) public static byte[] SendCommand(string portName, byte[] data, int outTime, int reviceLength)
{ {
if (outTime > 80)
{
outTime = 80;
}
byte[] returnData = null; byte[] returnData = null;
try try
...@@ -250,7 +138,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -250,7 +138,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (IsShowMsg) if (IsShowMsg)
{ {
LogUtil.info( "串口" + portName + " 写入数据:" + strSend + ""); LogUtil.info("串口" + portName + " 写入数据:" + strSend + "");
} }
AcSerialBean bean = GetSerialBean(portName); AcSerialBean bean = GetSerialBean(portName);
if (bean == null) if (bean == null)
...@@ -279,7 +167,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -279,7 +167,7 @@ namespace OnlineStore.DeviceLibrary
public static void SendStr(string portName, int slvAddr, string str) public static void SendStr(string portName, int slvAddr, string str)
{ {
//string str = txtSendStr.Text; //string str = txtSendStr.Text;
byte[] data = SerialBean.StringToByte(str); byte[] data = AcSerialBean.StringToByte(str);
data[data.Length - 1] = 0x00; data[data.Length - 1] = 0x00;
data[data.Length - 2] = 0x00; data[data.Length - 2] = 0x00;
data = ACCMDManager.buildCheckData(data, data.Length - 2); data = ACCMDManager.buildCheckData(data, data.Length - 2);
...@@ -346,13 +234,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -346,13 +234,13 @@ namespace OnlineStore.DeviceLibrary
public static void UpdateBlock(string portName, int slvAddr, string blockNum) public static void UpdateBlock(string portName, int slvAddr, string blockNum)
{ {
int preNum = GetAddrValue(portName,slvAddr, ACCMDManager.BlockNo); int preNum = GetAddrValue(portName, slvAddr, ACCMDManager.BlockNo);
if (preNum.Equals(-1) || (!preNum.ToString().Equals(blockNum))) if (preNum.Equals(-1) || (!preNum.ToString().Equals(blockNum)))
{ {
byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, blockNum , 2); byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, blockNum, 2);
SendData(portName, data); SendData(portName, data);
int value = Convert.ToInt16(blockNum); int value = Convert.ToInt16(blockNum);
UpdateAddrValue(portName,slvAddr, ACCMDManager.BlockNo, value); UpdateAddrValue(portName, slvAddr, ACCMDManager.BlockNo, value);
Thread.Sleep(SleepMSendons); Thread.Sleep(SleepMSendons);
} }
} }
...@@ -394,7 +282,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -394,7 +282,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (IsShowMsg) if (IsShowMsg)
{ {
LogUtil.info( "串口" + portName + " 收到数据:" + strSend + ""); LogUtil.info("串口" + portName + " 收到数据:" + strSend + "");
} }
string strFromat = "{0:X2}"; string strFromat = "{0:X2}";
byte slvAddrR = reviceData[0]; byte slvAddrR = reviceData[0];
...@@ -442,7 +330,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -442,7 +330,7 @@ namespace OnlineStore.DeviceLibrary
if (IsShowMsg) if (IsShowMsg)
{ {
LogUtil.info( "串口" + portName + " 收到数据:" + strSend + ""); LogUtil.info("串口" + portName + " 收到数据:" + strSend + "");
} }
string strFromat = "{0:X2}"; string strFromat = "{0:X2}";
byte slvAddrR = reviceData[0]; byte slvAddrR = reviceData[0];
......
...@@ -163,18 +163,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -163,18 +163,9 @@ namespace OnlineStore.DeviceLibrary
} }
else if (wait.WaitType == 5) else if (wait.WaitType == 5)
{ {
if (wait.IsHomeMove) string msg = "";
{ wait.IsEnd = ShuoKeIsEnd(wait, out msg);
wait.IsEnd = ShuoKeControls.IsHomeMoveEnd(wait.SlvAddr, StoreMove.LastSetpTime); NotOkMsg = NotOkMsg + " " + msg;
}
else
{
wait.IsEnd = ShuoKeControls.IsMoveEnd(wait.SlvAddr, StoreMove.LastSetpTime);
}
if (!wait.IsEnd)
{
ShuoKeControls.GetStatus(wait.SlvAddr);
}
} }
if (wait.IsEnd) if (wait.IsEnd)
{ {
...@@ -206,7 +197,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -206,7 +197,18 @@ namespace OnlineStore.DeviceLibrary
} }
} }
private bool ShuoKeIsEnd(WaitResultInfo wait, out string msg)
{
msg = "";
if (wait.IsHomeMove)
{
return ShuoKeControls.IsHomeMoveEnd(wait.SlvAddr, StoreMove.LastSetpTime, out msg);
}
else
{
return ShuoKeControls.IsMoveEnd(wait.SlvAddr, wait.TargetPosition, StoreMove.LastSetpTime, out msg);
}
}
#endregion #endregion
#region 入库 #region 入库
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!