|
@@ -4,6 +4,7 @@ using Aitex.Core.RT.Device.Unit;
|
|
|
using Aitex.Core.RT.IOCore;
|
|
|
using Aitex.Core.RT.OperationCenter;
|
|
|
using Aitex.Core.RT.SCCore;
|
|
|
+using DocumentFormat.OpenXml.EMMA;
|
|
|
using MECF.Framework.Common.CommonData.DeviceData;
|
|
|
using MECF.Framework.Common.Equipment;
|
|
|
using System;
|
|
@@ -106,7 +107,10 @@ namespace FurnaceRT.Devices
|
|
|
{
|
|
|
return (int)(_isFloatAioType ? _aiSetSpeed.FloatValue : _aiSetSpeed.Value);
|
|
|
}
|
|
|
-
|
|
|
+ if (_aoSetSpeed != null)
|
|
|
+ {
|
|
|
+ return (int)(_isFloatAioType ? _aoSetSpeed.FloatValue : _aoSetSpeed.Value);
|
|
|
+ }
|
|
|
return 0;
|
|
|
}
|
|
|
}
|
|
@@ -202,7 +206,8 @@ namespace FurnaceRT.Devices
|
|
|
AITFFUData data = new AITFFUData()
|
|
|
{
|
|
|
SetPoint = _aoSetSpeed != null ? _aoSetSpeed.FloatValue : 0,
|
|
|
- DisplayName = Name,
|
|
|
+ DisplayName = Display,
|
|
|
+ RTName = Name,
|
|
|
IsSwitchOn = GetFFUStatusEnum() == FFUStatusEnum.ON,
|
|
|
Feedback = CurrentSpeed,
|
|
|
Max = _scFFUHSPEED != null ? Convert.ToInt32((double)_scFFUHSPEED.Value) : 0,
|
|
@@ -242,6 +247,7 @@ namespace FurnaceRT.Devices
|
|
|
base.Name = node.GetAttribute("id");
|
|
|
base.Display = node.GetAttribute("display");
|
|
|
base.DeviceID = node.GetAttribute("schematicId");
|
|
|
+ var scRootPath = string.IsNullOrEmpty(node.GetAttribute("scRootPath")) ? Module : node.GetAttribute("scRootPath");
|
|
|
|
|
|
_isFloatAioType = !string.IsNullOrEmpty(node.GetAttribute("aioType")) && (node.GetAttribute("aioType") == "float");
|
|
|
|
|
@@ -268,23 +274,27 @@ namespace FurnaceRT.Devices
|
|
|
|
|
|
_doEnable = ParseDoNode("doEnable", node, ioModule);
|
|
|
_doWriteCommand = ParseDoNode("doWriteCommand", node, ioModule);
|
|
|
+ _scSetSpeed = ParseScNode("SetSpeed", node, ioModule, $"{scRootPath}.{Name}.SetSpeed");
|
|
|
+
|
|
|
}
|
|
|
public bool Initialize()
|
|
|
{
|
|
|
_scFFULSPEED = SC.GetConfigItem($"System.FFU.LSPEED");
|
|
|
_scFFUHSPEED = SC.GetConfigItem($"System.FFU.HSPEED");
|
|
|
- _scSetSpeed = SC.GetConfigItem($"System.FFU.{Name}.SetSpeed");
|
|
|
DATA.Subscribe($"{Module}.{Name}.DeviceData", () => DeviceData);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.GroupNumber", () => GroupNumber);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.AddressNumber", () => AddressNumber);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.IsSwitch", () => IsSwitch);
|
|
|
+
|
|
|
DATA.Subscribe($"{Module}.{Name}.SetSpeed", () => SetSpeed);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.MaxSpeed", () => MaxSpeed);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.IsReset", () => IsReset);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.ErrorTimer", () => ErrorTimer);
|
|
|
DATA.Subscribe($"{Module}.{Name}.CurrentSpeed", () => CurrentSpeed);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.Voltage", () => Voltage);
|
|
|
- DATA.Subscribe($"{Module}.{Name}.Current", () => Current);
|
|
|
+
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.GroupNumber", () => GroupNumber);
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.AddressNumber", () => AddressNumber);
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.IsSwitch", () => IsSwitch);
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.MaxSpeed", () => MaxSpeed);
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.IsReset", () => IsReset);
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.ErrorTimer", () => ErrorTimer);
|
|
|
+
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.Voltage", () => Voltage);
|
|
|
+ //DATA.Subscribe($"{Module}.{Name}.Current", () => Current);
|
|
|
OP.Subscribe($"{Module}.{Name}.SetCurrectSpeed", (string cmd, object[] param) =>
|
|
|
{
|
|
|
SetCurrectSpeed(param);
|
|
@@ -295,10 +305,17 @@ namespace FurnaceRT.Devices
|
|
|
// SetRetract(out string reason);
|
|
|
// return true;
|
|
|
//});
|
|
|
-
|
|
|
+ InitSCAOData();
|
|
|
return true;
|
|
|
}
|
|
|
+ private void InitSCAOData()
|
|
|
+ {
|
|
|
+
|
|
|
+ if (_scSetSpeed != null && _aoSetSpeed != null)
|
|
|
+ _aoSetSpeed.FloatValue = (float)_scSetSpeed.DoubleValue;
|
|
|
|
|
|
+
|
|
|
+ }
|
|
|
public bool SetCurrectSpeed(object[] param)
|
|
|
{
|
|
|
if (param != null && param.Length > 0)
|