Commit 4793d737 几米阳光

1

1 个父辈 08538995
...@@ -47,111 +47,111 @@ namespace OnlineStore.DeviceLibrary ...@@ -47,111 +47,111 @@ namespace OnlineStore.DeviceLibrary
SendData(portName, data); SendData(portName, data);
System.Threading.Thread.Sleep(sleepS); System.Threading.Thread.Sleep(sleepS);
} }
public static void SendStr(string portName, string str) //public static void SendStr(string portName, string str)
{ //{
byte[] data = SerialBean.StringToByte(str); // byte[] data = SerialBean.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);
} //}
private static void DataReceived(string portName, object sender, SerialDataReceivedEventArgs e, byte[] bits) //private static void DataReceived(string portName, object sender, SerialDataReceivedEventArgs e, byte[] bits)
{ //{
string strSend = ""; // string strSend = "";
for (int i = 0; i < bits.Length; i++) // for (int i = 0; i < bits.Length; i++)
{ // {
strSend += string.Format("{0:X2} ", bits[i]); // strSend += string.Format("{0:X2} ", bits[i]);
} // }
if (IsShowMsg) // if (IsShowMsg)
{ // {
LogUtil.info( "串口" + portName + " 收到数据:" + strSend + ""); // LogUtil.info( "串口" + portName + " 收到数据:" + strSend + "");
} // }
string str = ""; // string str = "";
string strFromat = "{0:X2}"; // string strFromat = "{0:X2}";
byte slvAddr = bits[0]; // byte slvAddr = bits[0];
int lenth = bits[2]; // int lenth = bits[2];
byte cmd = bits[1]; // byte cmd = bits[1];
if (cmd.Equals(ACCMDManager.CMD_ReadRegisters) && bits.Length > 6) // if (cmd.Equals(ACCMDManager.CMD_ReadRegisters) && bits.Length > 6)
{ // {
if (PreReadAddr.Equals(ACCMDManager.TargetPostion)) // if (PreReadAddr.Equals(ACCMDManager.TargetPostion))
{ // {
if (lenth == 4) // if (lenth == 4)
{ // {
str = string.Format(strFromat, bits[5]) + string.Format(strFromat, bits[6]) + string.Format(strFromat, bits[3]) + string.Format(strFromat, bits[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); // int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData(portName, slvAddr, ACCMDManager.TargetPostion, value); // SaveData(portName, slvAddr, ACCMDManager.TargetPostion, value);
} // }
} // }
else if (PreReadAddr.Equals(ACCMDManager.ActualPosition)) // else if (PreReadAddr.Equals(ACCMDManager.ActualPosition))
{ // {
if (lenth == 4) // if (lenth == 4)
{ // {
str = string.Format(strFromat, bits[5]) + string.Format(strFromat, bits[6]) + string.Format(strFromat, bits[3]) + string.Format(strFromat, bits[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); // int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData(portName, slvAddr, ACCMDManager.ActualPosition, value); // SaveData(portName, slvAddr, ACCMDManager.ActualPosition, value);
} // }
} // }
else // else
{ // {
for (int i = 3; i < 3 + lenth; i++) // for (int i = 3; i < 3 + lenth; i++)
{ // {
str += string.Format("{0:X2} ", bits[i]); // str += string.Format("{0:X2} ", bits[i]);
} // }
str = str.Replace(" ", ""); // str = str.Replace(" ", "");
int value = Convert.ToInt32(str, 16); // int value = Convert.ToInt32(str, 16);
LogUtil.info("转换后结果:" + value + ""); // LogUtil.info("转换后结果:" + value + "");
//this.richTextBox1.AppendText("转换后结果:" + value + ""); // //this.richTextBox1.AppendText("转换后结果:" + value + "");
//Console.WriteLine("转换后结果:" + value); // //Console.WriteLine("转换后结果:" + value);
} // }
//MessageBox.Show("收到数据:"+value); // //MessageBox.Show("收到数据:"+value);
} // }
else if (cmd.Equals(ACCMDManager.CMD_ReadCoil) && bits.Length >= 6) // else if (cmd.Equals(ACCMDManager.CMD_ReadCoil) && bits.Length >= 6)
{ // {
if (PreReadCoilAddr.Equals(ACCMDManager.ServerOn_Addr)) // if (PreReadCoilAddr.Equals(ACCMDManager.ServerOn_Addr))
{ // {
if (lenth == 1) // if (lenth == 1)
{ // {
str = string.Format(strFromat, bits[3]); // str = string.Format(strFromat, bits[3]);
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16); // int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData(portName, slvAddr, ACCMDManager.ServerOn_Addr, value); // SaveData(portName, slvAddr, ACCMDManager.ServerOn_Addr, value);
} // }
} // }
else // else
if (PreReadCoilAddr.Equals(ACCMDManager.Alarm_Status)) // if (PreReadCoilAddr.Equals(ACCMDManager.Alarm_Status))
{ // {
if (lenth == 1) // if (lenth == 1)
{ // {
str = string.Format(strFromat, bits[3]); // str = string.Format(strFromat, bits[3]);
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16); // int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData(portName, slvAddr, ACCMDManager.Alarm_Status, value); // SaveData(portName, slvAddr, ACCMDManager.Alarm_Status, value);
} // }
} // }
else if (PreReadCoilAddr.Equals(ACCMDManager.BUSYStatus)) // else if (PreReadCoilAddr.Equals(ACCMDManager.BUSYStatus))
{ // {
if (lenth == 1) // if (lenth == 1)
{ // {
str = string.Format(strFromat, bits[3]); // str = string.Format(strFromat, bits[3]);
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16); // int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData(portName, slvAddr, ACCMDManager.BUSYStatus, value); // SaveData(portName, slvAddr, ACCMDManager.BUSYStatus, value);
} // }
} // }
else if (PreReadCoilAddr.Equals(ACCMDManager.HOME_CMP_Status)) // else if (PreReadCoilAddr.Equals(ACCMDManager.HOME_CMP_Status))
{ // {
if (lenth == 1) // if (lenth == 1)
{ // {
str = string.Format(strFromat, bits[3]); // str = string.Format(strFromat, bits[3]);
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16); // int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData(portName, slvAddr, ACCMDManager.HOME_CMP_Status, value); // SaveData(portName, slvAddr, ACCMDManager.HOME_CMP_Status, value);
} // }
} // }
} // }
if (strSend.Equals("")) // if (strSend.Equals(""))
{ // {
return; // 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 +173,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -173,17 +173,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)
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!