Commit 4f4b1190 几米阳光

1

1 个父辈 a4931ab7
......@@ -34,10 +34,11 @@
出库时修改:出料口有料时,出料仍继续。
20190114
20190114
增加一维码类型,Barcode
20190114
改为伺服串联兼容模式
......
......@@ -285,11 +285,7 @@ namespace OnlineStore.DeviceLibrary
}
data = ACCMDManager.buildCheckData(data, data.Length - 2);
SendData(portName, data);
System.Threading.Thread.Sleep(SleepMSendons);
//运动
//data = ACCMDManager.GetWriteData(slvAddr, 06, ACCMDManager.BlockNo, ACCMDManager.Block_RelMove, 2);
//SendData(portName, data);
//Thread.Sleep(SleepMSendons);
System.Threading.Thread.Sleep(SleepMSendons);
UpdateBlock(portName, slvAddr, ACCMDManager.Block_RelMove);
OpenAndCloseSTB(portName, slvAddr);
......@@ -343,11 +339,7 @@ namespace OnlineStore.DeviceLibrary
{
int preSpeed = GetAddrValue(portName,slvAddr, ACCMDManager.Speed_Addr);
if ((preSpeed.Equals(-1)) || (!preSpeed.Equals(Math.Abs(speed))))
{
//byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, "4601", string.Format("{0:X2}", Math.Abs(speed)), 2);
//SendData(portName, data);
//UpdateAddrValue(portName, ACCMDManager.Speed_Addr, Math.Abs(speed));
//Thread.Sleep(SleepMSendons);
{
string v1 = slvAddr + "064601 " + ACServerManager.SpeedToStr(speed, 4) + " ffff";
LogUtil.debug("轴【" + portName + "】更新速度为【" + speed + "】,发送数据【" + v1 + "】");
SendStrAndSleep(portName, v1, SleepMSendons);
......@@ -355,16 +347,11 @@ namespace OnlineStore.DeviceLibrary
Thread.Sleep(SleepMSendons);
}
if (speed > 0)
{
//byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_VolMove0, 2);
//SendData(portName, data);
{
UpdateBlock(portName, slvAddr, ACCMDManager.Block_VolMove0);
}
else
{
//byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_VolMove1, 2);
//SendData(portName, data);
{
UpdateBlock(portName, slvAddr, ACCMDManager.Block_VolMove1);
}
//Thread.Sleep(SleepMSendons);
......@@ -426,10 +413,7 @@ namespace OnlineStore.DeviceLibrary
data = ACCMDManager.buildCheckData(data, data.Length - 2);
SendData(portName, data);
Thread.Sleep(SleepMSendons);
UpdateBlock(portName, slvAddr, ACCMDManager.Block_AbsMove);
//data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_AbsMove, 2);
//SendData(portName, data);
//Thread.Sleep(SleepMSendons);
UpdateBlock(portName, slvAddr, ACCMDManager.Block_AbsMove);
OpenAndCloseSTB(portName, slvAddr);
}
}
......
......@@ -26,18 +26,7 @@ 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 = AcSerialBean.StringToByte(str);
......@@ -46,112 +35,7 @@ namespace OnlineStore.DeviceLibrary
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 = AcSerialBean.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)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!