|
@@ -1,6 +1,10 @@
|
|
-using Aitex.Core.RT.Device;
|
|
|
|
|
|
+using Aitex.Core.RT.DataCenter;
|
|
|
|
+using Aitex.Core.RT.Device;
|
|
using Aitex.Core.RT.Fsm;
|
|
using Aitex.Core.RT.Fsm;
|
|
using Aitex.Core.RT.Log;
|
|
using Aitex.Core.RT.Log;
|
|
|
|
+using Aitex.Core.RT.OperationCenter;
|
|
|
|
+using Aitex.Core.RT.Routine;
|
|
|
|
+using Aitex.Core.Util;
|
|
using Aitex.Core.Utilities;
|
|
using Aitex.Core.Utilities;
|
|
using MECF.Framework.Common.Equipment;
|
|
using MECF.Framework.Common.Equipment;
|
|
using MECF.Framework.Common.Persistent.Reservoirs;
|
|
using MECF.Framework.Common.Persistent.Reservoirs;
|
|
@@ -8,10 +12,12 @@ using MECF.Framework.Common.Persistent.VpwMain;
|
|
using MECF.Framework.Common.ToolLayout;
|
|
using MECF.Framework.Common.ToolLayout;
|
|
using PunkHPX8_Core;
|
|
using PunkHPX8_Core;
|
|
using PunkHPX8_RT.Devices.VpwCell;
|
|
using PunkHPX8_RT.Devices.VpwCell;
|
|
|
|
+using PunkHPX8_RT.Modules.VpwCelMain;
|
|
using System;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Text;
|
|
|
|
+using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace PunkHPX8_RT.Modules.VpwMain
|
|
namespace PunkHPX8_RT.Modules.VpwMain
|
|
@@ -123,6 +129,8 @@ namespace PunkHPX8_RT.Modules.VpwMain
|
|
InitialFsm();
|
|
InitialFsm();
|
|
InitializeParameter();
|
|
InitializeParameter();
|
|
InitializeRoutine();
|
|
InitializeRoutine();
|
|
|
|
+ InitialDATA();
|
|
|
|
+ InitialOperation();
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
/// 初始化状态机
|
|
/// 初始化状态机
|
|
@@ -133,12 +141,14 @@ namespace PunkHPX8_RT.Modules.VpwMain
|
|
fsm.EnableRepeatedMsg(true);
|
|
fsm.EnableRepeatedMsg(true);
|
|
|
|
|
|
AnyStateTransition(VPWMainState.Error, NullFunc, VPWMainState.Error);
|
|
AnyStateTransition(VPWMainState.Error, NullFunc, VPWMainState.Error);
|
|
|
|
+ AnyStateTransition(FSM_MSG.TIMER, fnMonitor, FSM_STATE.SAME);
|
|
//Initialized
|
|
//Initialized
|
|
Transition(VPWMainState.Error, VPWMainMsg.Initialize, InitializeAll, VPWMainState.Initializing);
|
|
Transition(VPWMainState.Error, VPWMainMsg.Initialize, InitializeAll, VPWMainState.Initializing);
|
|
Transition(VPWMainState.Init, VPWMainMsg.Initialize, InitializeAll, VPWMainState.Initializing);
|
|
Transition(VPWMainState.Init, VPWMainMsg.Initialize, InitializeAll, VPWMainState.Initializing);
|
|
Transition(VPWMainState.Idle, VPWMainMsg.Initialize, InitializeAll, VPWMainState.Initializing);
|
|
Transition(VPWMainState.Idle, VPWMainMsg.Initialize, InitializeAll, VPWMainState.Initializing);
|
|
Transition(VPWMainState.Initializing, FSM_MSG.TIMER, InitializeAllMonitor, VPWMainState.Idle);
|
|
Transition(VPWMainState.Initializing, FSM_MSG.TIMER, InitializeAllMonitor, VPWMainState.Idle);
|
|
|
|
|
|
|
|
+
|
|
//直接进入Idle
|
|
//直接进入Idle
|
|
Transition(VPWMainState.Initialized, FSM_MSG.TIMER, NullFunc, VPWMainState.Idle);
|
|
Transition(VPWMainState.Initialized, FSM_MSG.TIMER, NullFunc, VPWMainState.Idle);
|
|
//Enter Init
|
|
//Enter Init
|
|
@@ -176,6 +186,29 @@ namespace PunkHPX8_RT.Modules.VpwMain
|
|
private void InitializeRoutine()
|
|
private void InitializeRoutine()
|
|
{
|
|
{
|
|
_homeRoutine = new VPWHomeRoutine(Module.ToString());
|
|
_homeRoutine = new VPWHomeRoutine(Module.ToString());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 初始化数据
|
|
|
|
+ /// </summary>
|
|
|
|
+ private void InitialDATA()
|
|
|
|
+ {
|
|
|
|
+ DATA.Subscribe($"{Module}.FsmState", () => ((VPWMainState)fsm.State).ToString(), SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
|
+ DATA.Subscribe($"{Module}.IsError", () => IsError, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
|
+ DATA.Subscribe($"{Module}.OperatingMode", () => _persistentValue != null ? _persistentValue.OperatingMode : "None", SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
|
+ }
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 初始化操作
|
|
|
|
+ /// </summary>
|
|
|
|
+ private void InitialOperation()
|
|
|
|
+ {
|
|
|
|
+ OP.Subscribe($"{Module}.InitializeHome", (cmd, args) => { return CheckToPostMessage<VPWMainState, VPWMainMsg>(eEvent.ERR_VPWMAIN, Module.ToString(), (int)VPWMainMsg.Initialize); });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private bool fnMonitor(object[] param)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ return true;
|
|
}
|
|
}
|
|
|
|
|
|
#region InitializeAll
|
|
#region InitializeAll
|