Commit 400de8f5 几米阳光

自动出入库改为先入库。485通信添加缓存节省写入时间。

1 个父辈 2e110c3e
...@@ -224,7 +224,7 @@ namespace ACServoDriveTest ...@@ -224,7 +224,7 @@ namespace ACServoDriveTest
private void btnUpdateBlock_Click(object sender, EventArgs e) private void btnUpdateBlock_Click(object sender, EventArgs e)
{ {
int num = Convert.ToInt32(txtNo.Text); int num = Convert.ToInt32(txtNo.Text);
ACServerManager.UpdateBlock(GetPortName(), GetSlaveAddr(), num); ACServerManager.UpdateBlock(GetPortName(), GetSlaveAddr(), num.ToString());
} }
private void button4_Click(object sender, EventArgs e) private void button4_Click(object sender, EventArgs e)
......
...@@ -153,6 +153,7 @@ ...@@ -153,6 +153,7 @@
this.groupBox6 = new System.Windows.Forms.GroupBox(); this.groupBox6 = new System.Windows.Forms.GroupBox();
this.btnOpenWCF = new System.Windows.Forms.Button(); this.btnOpenWCF = new System.Windows.Forms.Button();
this.btnCloseWCF = new System.Windows.Forms.Button(); this.btnCloseWCF = new System.Windows.Forms.Button();
this.chbAutoRead = new System.Windows.Forms.CheckBox();
this.groupBox5.SuspendLayout(); this.groupBox5.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
...@@ -180,6 +181,7 @@ ...@@ -180,6 +181,7 @@
// //
this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox5.Controls.Add(this.chbAutoRead);
this.groupBox5.Controls.Add(this.label16); this.groupBox5.Controls.Add(this.label16);
this.groupBox5.Controls.Add(this.label15); this.groupBox5.Controls.Add(this.label15);
this.groupBox5.Controls.Add(this.label14); this.groupBox5.Controls.Add(this.label14);
...@@ -1768,6 +1770,16 @@ ...@@ -1768,6 +1770,16 @@
this.btnCloseWCF.UseVisualStyleBackColor = true; this.btnCloseWCF.UseVisualStyleBackColor = true;
this.btnCloseWCF.Click += new System.EventHandler(this.btnCloseWCF_Click); this.btnCloseWCF.Click += new System.EventHandler(this.btnCloseWCF_Click);
// //
// chbAutoRead
//
this.chbAutoRead.AutoSize = true;
this.chbAutoRead.Location = new System.Drawing.Point(47, 165);
this.chbAutoRead.Name = "chbAutoRead";
this.chbAutoRead.Size = new System.Drawing.Size(99, 21);
this.chbAutoRead.TabIndex = 296;
this.chbAutoRead.Text = "自动读取位置";
this.chbAutoRead.UseVisualStyleBackColor = true;
//
// FrmStoreBox // FrmStoreBox
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
...@@ -1935,6 +1947,7 @@ ...@@ -1935,6 +1947,7 @@
private System.Windows.Forms.GroupBox groupBox6; private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.Button btnOpenWCF; private System.Windows.Forms.Button btnOpenWCF;
private System.Windows.Forms.Button btnCloseWCF; private System.Windows.Forms.Button btnCloseWCF;
private System.Windows.Forms.CheckBox chbAutoRead;
} }
} }
...@@ -113,8 +113,15 @@ namespace OnlineStore.ACSingleStore ...@@ -113,8 +113,15 @@ namespace OnlineStore.ACSingleStore
LogUtil.error(LOGGER, "出错:" + ex.StackTrace); LogUtil.error(LOGGER, "出错:" + ex.StackTrace);
} }
} }
private bool preOpen = false;
public void StoreOpenStatus(bool isOpen) public void StoreOpenStatus(bool isOpen)
{ {
if (preOpen.Equals(isOpen))
{
return;
}
preOpen = isOpen;
btnOutStore.Enabled = isOpen; btnOutStore.Enabled = isOpen;
btnInStore.Enabled = isOpen; btnInStore.Enabled = isOpen;
...@@ -127,6 +134,7 @@ namespace OnlineStore.ACSingleStore ...@@ -127,6 +134,7 @@ namespace OnlineStore.ACSingleStore
启动ToolStripMenuItem.Enabled = !isOpen; 启动ToolStripMenuItem.Enabled = !isOpen;
停止ToolStripMenuItem.Enabled = isOpen; 停止ToolStripMenuItem.Enabled = isOpen;
复位ToolStripMenuItem.Enabled = isOpen; 复位ToolStripMenuItem.Enabled = isOpen;
} }
private void FrmTest_Load(object sender, EventArgs e) private void FrmTest_Load(object sender, EventArgs e)
{ {
...@@ -143,21 +151,24 @@ namespace OnlineStore.ACSingleStore ...@@ -143,21 +151,24 @@ namespace OnlineStore.ACSingleStore
//忙碌状态不读取状态 //忙碌状态不读取状态
if (!store.storeRunStatus.Equals(StoreRunStatus.Busy)) if (!store.storeRunStatus.Equals(StoreRunStatus.Busy))
{ {
string portName = GetPortName(); if (chbAutoRead.Checked)
int SlvAddr = GetSlaveAddr();
//判断私服是否打开、
if (ACServerManager.ServerOnStatus(portName, SlvAddr))
{ {
lblServerOn.Text = "伺服ON"; string portName = GetPortName();
int lOutPulse = ACServerManager.GetTargetPosition(portName, SlvAddr); int SlvAddr = GetSlaveAddr();
lblOutPulse.Text = string.Format("{0:d}", lOutPulse);
int lCountPulse = ACServerManager.GetActualtPosition(portName, SlvAddr); //判断私服是否打开、
lblCountPulse.Text = string.Format("{0:d}", lCountPulse); if (ACServerManager.ServerOnStatus(portName, SlvAddr))
} {
else lblServerOn.Text = "伺服ON";
{ int lOutPulse = ACServerManager.GetTargetPosition(portName, SlvAddr);
lblServerOn.Text = "伺服OFF"; lblOutPulse.Text = string.Format("{0:d}", lOutPulse);
int lCountPulse = ACServerManager.GetActualtPosition(portName, SlvAddr);
lblCountPulse.Text = string.Format("{0:d}", lCountPulse);
}
else
{
lblServerOn.Text = "伺服OFF";
}
} }
} }
...@@ -180,7 +191,10 @@ namespace OnlineStore.ACSingleStore ...@@ -180,7 +191,10 @@ namespace OnlineStore.ACSingleStore
} }
else else
{ {
复位ToolStripMenuItem.Enabled = true; if (复位ToolStripMenuItem.Enabled.Equals(false))
{
复位ToolStripMenuItem.Enabled = true;
}
} }
} }
else else
...@@ -188,8 +202,11 @@ namespace OnlineStore.ACSingleStore ...@@ -188,8 +202,11 @@ namespace OnlineStore.ACSingleStore
if ((store.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || store.storeRunStatus.Equals(StoreRunStatus.Reset)) if ((store.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || store.storeRunStatus.Equals(StoreRunStatus.Reset))
&& store.alarmType.Equals(StoreAlarmType.None)) && store.alarmType.Equals(StoreAlarmType.None))
{ {
启动ToolStripMenuItem.Enabled = false; if (启动ToolStripMenuItem.Enabled)
复位ToolStripMenuItem.Enabled = false; {
启动ToolStripMenuItem.Enabled = false;
复位ToolStripMenuItem.Enabled = false;
}
} }
} }
lblWarnMsg.Text = store.WarnMsg; lblWarnMsg.Text = store.WarnMsg;
...@@ -783,8 +800,9 @@ namespace OnlineStore.ACSingleStore ...@@ -783,8 +800,9 @@ namespace OnlineStore.ACSingleStore
store.autoPositionIndex = currIndex; store.autoPositionIndex = currIndex;
string poText = cmbPosition.Text; string poText = cmbPosition.Text;
store.autoMsg = "自动出库:" + poText; store.autoMsg = "自动出库:" + poText;
LogUtil.info(LOGGER, store.StoreName + "开启自动出入库模式,开始位置【" + poText + "】(索引=" + currIndex + "),出入库间隔=" + jiange + ",出库开始!"); LogUtil.info(LOGGER, store.StoreName + "开启自动出入库模式,开始位置【" + poText + "】(索引=" + currIndex + "),间隔=" + jiange + ",入库开始!");
store.StartOutStoreMove(new InOutStoreParam("", poText)); //store.StartOutStoreMove(new InOutStoreParam("", poText));
store.StartInStoreMove(new InOutStoreParam("", poText));
} }
btnStartAuTo.Text = "停止自动出入库"; btnStartAuTo.Text = "停止自动出入库";
} }
......
...@@ -8,6 +8,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -8,6 +8,10 @@ namespace OnlineStore.DeviceLibrary
public class ACCMDManager public class ACCMDManager
{ {
/// <summary> /// <summary>
///速度 4601
/// </summary>
public static string Speed_Addr = "4601";
/// <summary>
/// 0060h 伺服 On 输入 (SRV-ON) 操作 R/W 0000h:输入 OFF、FF00h:输入 ON /// 0060h 伺服 On 输入 (SRV-ON) 操作 R/W 0000h:输入 OFF、FF00h:输入 ON
/// </summary> /// </summary>
public static string ServerOn_Addr = "0060"; public static string ServerOn_Addr = "0060";
......
...@@ -15,6 +15,62 @@ namespace OnlineStore.DeviceLibrary ...@@ -15,6 +15,62 @@ namespace OnlineStore.DeviceLibrary
{ {
private static bool IsShowMsg = false ; private static bool IsShowMsg = false ;
private static int SleepMSendons = 100; private static int SleepMSendons = 100;
private static Dictionary<string, Dictionary<string, int>> ComAddrValue = new Dictionary<string, Dictionary<string, int>>();
private static string mapObj = "";
private static int GetAddrValue(string portName, string addr)
{
int value = -1;
try
{
Dictionary<string, int> map = null;
ComAddrValue.TryGetValue(portName, out map);
if (map == null)
{
return -1;
}
if (map.ContainsKey(addr))
{
return map[addr];
}
}
catch (Exception ex)
{
LogUtil.error("UpdateAddrValue出错:" + ex.ToString());
}
return value;
}
private static void UpdateAddrValue(string portName, string addr, int value)
{
try
{
lock (mapObj)
{
Dictionary<string, int> map = null;
ComAddrValue.TryGetValue(portName, out map);
if (map == null)
{
map = new Dictionary<string, int>();
ComAddrValue.Add(portName, map);
}
if (map.ContainsKey(addr))
{
ComAddrValue[portName][addr] = value;
}
else
{
ComAddrValue[portName].Add(addr, value);
}
}
}
catch (Exception ex)
{
LogUtil.error("UpdateAddrValue出错:" + ex.ToString());
}
}
public static bool OpenPort(string portName) public static bool OpenPort(string portName)
{ {
if (serialBeanMap.ContainsKey(portName)) if (serialBeanMap.ContainsKey(portName))
...@@ -228,49 +284,63 @@ namespace OnlineStore.DeviceLibrary ...@@ -228,49 +284,63 @@ namespace OnlineStore.DeviceLibrary
SendData(portName, data); SendData(portName, data);
System.Threading.Thread.Sleep(SleepMSendons); System.Threading.Thread.Sleep(SleepMSendons);
//运动 //运动
data = ACCMDManager.GetWriteData(slvAddr, 06, ACCMDManager.BlockNo, ACCMDManager.Block_RelMove, 2); //data = ACCMDManager.GetWriteData(slvAddr, 06, ACCMDManager.BlockNo, ACCMDManager.Block_RelMove, 2);
SendData(portName, data); //SendData(portName, data);
//Thread.Sleep(SleepMSendons);
UpdateBlock(portName, slvAddr, ACCMDManager.Block_RelMove);
Thread.Sleep(SleepMSendons);
OpenAndCloseSTB(portName, slvAddr); OpenAndCloseSTB(portName, slvAddr);
} }
public static void HomeMove(string portName, int slvAddr, int speed) public static void HomeMove(string portName, int slvAddr, int speed)
{ {
//默认负方向原点返回 //默认负方向原点返回
byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_HomeMove1, 2); //byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_HomeMove1, 2);
SendData(portName, data); //SendData(portName, data);
UpdateBlock(portName, slvAddr, ACCMDManager.Block_HomeMove1);
Thread.Sleep(SleepMSendons); Thread.Sleep(SleepMSendons);
OpenAndCloseSTB(portName, slvAddr); OpenAndCloseSTB(portName, slvAddr);
} }
public static void SpeedMove(string portName, int slvAddr, int speed) public static void SpeedMove(string portName, int slvAddr, int speed)
{ {
byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, "4601", string.Format("{0:X2}", Math.Abs(speed)), 2); int preSpeed = GetAddrValue(portName, ACCMDManager.Speed_Addr);
SendData(portName, data); if ((preSpeed.Equals(-1)) || (!preSpeed.Equals(Math.Abs(speed))))
Thread.Sleep(SleepMSendons);
if (speed > 0)
{ {
data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_VolMove0, 2); byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, "4601", string.Format("{0:X2}", Math.Abs(speed)), 2);
SendData(portName, data); SendData(portName, data);
UpdateAddrValue(portName, ACCMDManager.Speed_Addr, Math.Abs(speed));
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 else
{ {
data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_VolMove1, 2); //byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_VolMove1, 2);
SendData(portName, data); //SendData(portName, data);
UpdateBlock(portName, slvAddr, ACCMDManager.Block_VolMove1);
} }
Thread.Sleep(SleepMSendons); //Thread.Sleep(SleepMSendons);
OpenAndCloseSTB(portName, slvAddr); OpenAndCloseSTB(portName, slvAddr);
} }
public static void AbsMove(string portName, int slvAddr, int targetPosition, int targetSpeed) public static void AbsMove(string portName, int slvAddr, int targetPosition, int targetSpeed)
{ {
//先更新速度 //先更新速度
string slvAddrStr = string.Format(strFromat, slvAddr); string slvAddrStr = string.Format(strFromat, slvAddr);
//0106460001009D12
//速度 V1 =100
string v1 = slvAddrStr + "064601 " + SpeedToStr(targetSpeed, 4) + " ffff";
SendStrAndSleep(portName, v1,SleepMSendons);
int preSpeed = GetAddrValue(portName, ACCMDManager.Speed_Addr);
if ((preSpeed.Equals(-1)) || (!preSpeed.Equals(targetSpeed)))
{
//速度 V1 =100
string v1 = slvAddrStr + "064601 " + SpeedToStr(targetSpeed, 4) + " ffff";
SendStrAndSleep(portName, v1, SleepMSendons);
UpdateAddrValue(portName, ACCMDManager.Speed_Addr, targetSpeed);
}
//绝对运动 //绝对运动
AbsMove(portName, slvAddr, targetPosition); AbsMove(portName, slvAddr, targetPosition);
} }
...@@ -314,9 +384,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -314,9 +384,10 @@ namespace OnlineStore.DeviceLibrary
data = ACCMDManager.buildCheckData(data, data.Length - 2); data = ACCMDManager.buildCheckData(data, data.Length - 2);
SendData(portName, data); SendData(portName, data);
Thread.Sleep(SleepMSendons); Thread.Sleep(SleepMSendons);
data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_AbsMove, 2); UpdateBlock(portName, slvAddr, ACCMDManager.Block_AbsMove);
SendData(portName, data); //data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_AbsMove, 2);
Thread.Sleep(SleepMSendons); //SendData(portName, data);
//Thread.Sleep(SleepMSendons);
OpenAndCloseSTB(portName, slvAddr); OpenAndCloseSTB(portName, slvAddr);
} }
} }
......
...@@ -28,16 +28,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -28,16 +28,16 @@ namespace OnlineStore.DeviceLibrary
} }
public static void RunBlock(string portName, int slvAddr, int index) //public static void RunBlock(string portName, int slvAddr, int index)
{ //{
//运动 // //运动
byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, index.ToString(), 2); // byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, index.ToString(), 2);
SendData(portName, data); // SendData(portName, data);
Thread.Sleep(100); // Thread.Sleep(100);
CloseSTB(portName, slvAddr); // CloseSTB(portName, slvAddr);
Thread.Sleep(100); // Thread.Sleep(100);
OnlyOpenSTB(portName, slvAddr); // 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 = SerialBean.StringToByte(str);
...@@ -342,10 +342,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -342,10 +342,17 @@ namespace OnlineStore.DeviceLibrary
SendData(portName, dataArray); SendData(portName, dataArray);
} }
public static void UpdateBlock(string portName, int slvAddr, int blockNum) public static void UpdateBlock(string portName, int slvAddr, string blockNum)
{ {
byte[] data = ACCMDManager.GetWriteData(01, 06, ACCMDManager.BlockNo, blockNum.ToString(), 2); int preNum = GetAddrValue(portName, ACCMDManager.BlockNo);
SendData(portName, data); if (preNum.Equals(-1) || (!preNum.ToString().Equals(blockNum)))
{
byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, blockNum , 2);
SendData(portName, data);
int value = Convert.ToInt16(blockNum);
UpdateAddrValue(portName, ACCMDManager.BlockNo, value);
Thread.Sleep(SleepMSendons);
}
} }
public static void AlarmClear(string portName, int slvAddr) public static void AlarmClear(string portName, int slvAddr)
......
...@@ -758,15 +758,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -758,15 +758,25 @@ namespace OnlineStore.DeviceLibrary
} }
} }
private bool InProcess = false; private bool InProcess = false;
private DateTime preProcessTime = DateTime.Now;
protected override void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) protected override void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{ {
if (InProcess) if (InProcess)
{ {
return; TimeSpan span = DateTime.Now - preProcessTime;
if (span.TotalMinutes < 1)
{
return;
}
else
{
LogUtil.error("主定时器:InProcess已等待"+span.ToString()+"重新处理");
}
} }
try try
{ {
InProcess = true; InProcess = true;
preProcessTime = DateTime.Now;
IoCheckProcess(); IoCheckProcess();
TimerProcess(); TimerProcess();
} }
...@@ -882,16 +892,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -882,16 +892,7 @@ namespace OnlineStore.DeviceLibrary
//急停按钮 //急停按钮
if (suddenBtn.Equals(IO_VALUE.LOW)) if (suddenBtn.Equals(IO_VALUE.LOW))
{ {
//if (isInSuddenDown.Equals(false))
//{
// isInSuddenDown = true;
// LogUtil.error(LOGGER, StoreName + "收到急停信号,报警急停");
// WarnMsg = StoreName + "收到急停信号,报警急停";
// //报警时会关闭所有轴
// Alarm(StoreAlarmType.SuddenStop, "1", WarnMsg, StoreMoveType.None);
//}
} }
else if (resetBtn.Equals(IO_VALUE.HIGH)) else if (resetBtn.Equals(IO_VALUE.HIGH))
{ {
...@@ -918,39 +919,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -918,39 +919,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
} }
//IO_VALUE airCheck = KNDIOValue(IO_Type.Airpressure_Check);
////气压检测按钮灭三秒以上才算关闭
//if (airCheck == IO_VALUE.LOW && (!isInSuddenDown))
//{
// int checkSenconds = Config.AirCheckSeconds;
// LogUtil.info(LOGGER, StoreName + "未检测到气压信号,判断未检测到信号持续的时间是否" + checkSenconds + "以上!");
// //判断是否持续
// if (lastAirValue == IO_VALUE.LOW)
// {
// if ((!isNoAirCheck) && (DateTime.Now - lastAirCloseTime).TotalSeconds > checkSenconds)
// {
// isNoAirCheck = true;
// //没有了气压检测信号
// LogUtil.error(LOGGER, StoreName + " 未检测到气压信号!");
// WarnMsg = StoreName + " 未检测到气压信号";
// //报警时会关闭所有轴
// Alarm(StoreAlarmType.NoAirCheck, "2", WarnMsg, StoreMoveType.None);
// }
// }
// else
// {
// lastAirValue = airCheck;
// lastAirCloseTime = DateTime.Now;
// isNoAirCheck = false;
// }
//}
//else
//{
// lastAirValue = airCheck;
// lastAirCloseTime = DateTime.Now;
// isNoAirCheck = false;
//}
//检查运动轴报警 //检查运动轴报警
if (storeRunStatus > StoreRunStatus.Wait && (!isInSuddenDown)) if (storeRunStatus > StoreRunStatus.Wait && (!isInSuddenDown))
{ {
......
...@@ -138,31 +138,37 @@ namespace OnlineStore.DeviceLibrary ...@@ -138,31 +138,37 @@ namespace OnlineStore.DeviceLibrary
protected bool isInPro = false; protected bool isInPro = false;
protected virtual void BusyMoveProcess() protected virtual void BusyMoveProcess()
{ {
if (isInPro) //if (isInPro)
{ //{
return; // return;
} //}
isInPro = true; isInPro = true;
switch (StoreMove.MoveType) try
{ {
case StoreMoveType.InStore: switch (StoreMove.MoveType)
InStoreProcess(); {
isInPro = false; case StoreMoveType.InStore:
break; InStoreProcess();
case StoreMoveType.OutStore: isInPro = false;
OutStoreProcess(); break;
isInPro = false; case StoreMoveType.OutStore:
break; OutStoreProcess();
case StoreMoveType.ReturnHome: isInPro = false;
ReturnHomeProcess(); break;
isInPro = false; case StoreMoveType.ReturnHome:
break; ReturnHomeProcess();
case StoreMoveType.StoreReset: isInPro = false;
ResetProcess(); break;
isInPro = false; case StoreMoveType.StoreReset:
break; ResetProcess();
default: break; isInPro = false;
} break;
default: break;
}
}catch(Exception ex)
{
LogUtil.error("BusyMoveProcess出错:"+ex.ToString());
}
isInPro = false; isInPro = false;
} }
protected void SaveAlarmInfo(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType) protected void SaveAlarmInfo(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!