Commit 589d47aa 几米阳光

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

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