|
@@ -619,8 +619,14 @@ namespace MECF.Framework.Common.IOCore
|
|
|
BlockIndex = accessor.BlockOffset,
|
|
|
});
|
|
|
|
|
|
- if (!isIgnoreSaveDB)
|
|
|
+ if (isIgnoreSaveDB)
|
|
|
+ {
|
|
|
+ DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -652,7 +658,24 @@ namespace MECF.Framework.Common.IOCore
|
|
|
BlockIndex = accessor.BlockOffset,
|
|
|
});
|
|
|
|
|
|
- if (!isIgnoreSaveDB)
|
|
|
+ if (isIgnoreSaveDB)
|
|
|
+ {
|
|
|
+ DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ DATA.Subscribe($"IO32.{accessor.Name}", () =>
|
|
|
+ {
|
|
|
+ if (accessor.Index < accessor.Buffer.Length - 1)
|
|
|
+ {
|
|
|
+ byte[] high = BitConverter.GetBytes(accessor.Buffer[accessor.Index]);
|
|
|
+ byte[] low = BitConverter.GetBytes(accessor.Buffer[accessor.Index + 1]);
|
|
|
+ return BitConverter.ToSingle(new[] { high[0], high[1], low[0], low[1] }, 0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return accessor.Value;
|
|
|
+ }
|
|
|
+ }, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value);
|
|
|
DATA.Subscribe($"IO32.{accessor.Name}", () =>
|
|
@@ -696,7 +719,24 @@ namespace MECF.Framework.Common.IOCore
|
|
|
BlockIndex = accessor.BlockOffset,
|
|
|
});
|
|
|
|
|
|
- if (!isIgnoreSaveDB)
|
|
|
+ if (isIgnoreSaveDB)
|
|
|
+ {
|
|
|
+ DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value,SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ DATA.Subscribe($"IO32.{accessor.Name}", () =>
|
|
|
+ {
|
|
|
+ if (accessor.Index < accessor.Buffer.Length - 1)
|
|
|
+ {
|
|
|
+ byte[] high = BitConverter.GetBytes(accessor.Buffer[accessor.Index]);
|
|
|
+ byte[] low = BitConverter.GetBytes(accessor.Buffer[accessor.Index + 1]);
|
|
|
+ return BitConverter.ToSingle(new[] { high[0], high[1], low[0], low[1] }, 0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return accessor.Value;
|
|
|
+ }
|
|
|
+ }, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value);
|
|
|
DATA.Subscribe($"IO32.{accessor.Name}", () =>
|
|
@@ -792,8 +832,15 @@ namespace MECF.Framework.Common.IOCore
|
|
|
BlockIndex = intIndex,
|
|
|
});
|
|
|
|
|
|
- if (!isIgnoreSaveDB)
|
|
|
+ if (isIgnoreSaveDB)
|
|
|
+ {
|
|
|
+ DATA.Subscribe($"IO.{moduleName}", () => diAccessor.Value, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
DATA.Subscribe($"IO.{moduleName}", () => diAccessor.Value);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
XmlNodeList lstDo = xml.SelectNodes("IO_DEFINE/Dig_Out/DO_ITEM");
|
|
@@ -855,8 +902,15 @@ namespace MECF.Framework.Common.IOCore
|
|
|
BlockIndex = intIndex,
|
|
|
});
|
|
|
|
|
|
- if (!isIgnoreSaveDB)
|
|
|
+ if (isIgnoreSaveDB)
|
|
|
+ {
|
|
|
+ DATA.Subscribe($"IO.{moduleName}", () => doAccessor.Value,SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
DATA.Subscribe($"IO.{moduleName}", () => doAccessor.Value);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
XmlNodeList lstAo = xml.SelectNodes("IO_DEFINE/Ana_Out/AO_ITEM");
|
|
@@ -918,12 +972,30 @@ namespace MECF.Framework.Common.IOCore
|
|
|
BlockIndex = intIndex,
|
|
|
});
|
|
|
|
|
|
- if (!isIgnoreSaveDB)
|
|
|
+ if (isIgnoreSaveDB)
|
|
|
+ {
|
|
|
+ DATA.Subscribe($"IO.{moduleName}", () => aoAccessor.Value,SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ DATA.Subscribe($"IO32.{moduleName}", () =>
|
|
|
+ {
|
|
|
+ if (aoAccessor.Index < aoAccessor.Buffer.Length - 1)
|
|
|
+ {
|
|
|
+ byte[] high = BitConverter.GetBytes(aoAccessor.Buffer[aoAccessor.Index]);
|
|
|
+ byte[] low = BitConverter.GetBytes(aoAccessor.Buffer[aoAccessor.Index + 1]);
|
|
|
+ return BitConverter.ToSingle(new[] { high[0], high[1], low[0], low[1] }, 0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return aoAccessor.Value;
|
|
|
+ }
|
|
|
+
|
|
|
+ },SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
DATA.Subscribe($"IO.{moduleName}", () => aoAccessor.Value);
|
|
|
DATA.Subscribe($"IO32.{moduleName}", () =>
|
|
|
{
|
|
|
- if (aoAccessor.Index < aoAccessor.Buffer.Length-1)
|
|
|
+ if (aoAccessor.Index < aoAccessor.Buffer.Length - 1)
|
|
|
{
|
|
|
byte[] high = BitConverter.GetBytes(aoAccessor.Buffer[aoAccessor.Index]);
|
|
|
byte[] low = BitConverter.GetBytes(aoAccessor.Buffer[aoAccessor.Index + 1]);
|
|
@@ -997,12 +1069,29 @@ namespace MECF.Framework.Common.IOCore
|
|
|
BlockIndex = intIndex,
|
|
|
});
|
|
|
|
|
|
- if (!isIgnoreSaveDB)
|
|
|
+ if (isIgnoreSaveDB)
|
|
|
+ {
|
|
|
+ DATA.Subscribe($"IO.{moduleName}", () => aiAccessor.Value, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ DATA.Subscribe($"IO32.{moduleName}", () =>
|
|
|
+ {
|
|
|
+ if (aiAccessor.Index < aiAccessor.Buffer.Length - 1)
|
|
|
+ {
|
|
|
+ byte[] high = BitConverter.GetBytes(aiAccessor.Buffer[aiAccessor.Index]);
|
|
|
+ byte[] low = BitConverter.GetBytes(aiAccessor.Buffer[aiAccessor.Index + 1]);
|
|
|
+ return BitConverter.ToSingle(new[] { high[0], high[1], low[0], low[1] }, 0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return aiAccessor.Value;
|
|
|
+ }
|
|
|
+ }, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
DATA.Subscribe($"IO.{moduleName}", () => aiAccessor.Value);
|
|
|
DATA.Subscribe($"IO32.{moduleName}", () =>
|
|
|
{
|
|
|
- if (aiAccessor.Index < aiAccessor.Buffer.Length-1)
|
|
|
+ if (aiAccessor.Index < aiAccessor.Buffer.Length - 1)
|
|
|
{
|
|
|
byte[] high = BitConverter.GetBytes(aiAccessor.Buffer[aiAccessor.Index]);
|
|
|
byte[] low = BitConverter.GetBytes(aiAccessor.Buffer[aiAccessor.Index + 1]);
|