1.WCF接口增加Gem数据类型

This commit is contained in:
HCL 2024-05-17 15:13:12 +08:00
parent 8254719463
commit ecf319f1e4
3 changed files with 41 additions and 19 deletions

View File

@ -251,15 +251,24 @@ namespace Aitex.Core.RT.DataCenter
public Dictionary<string, object> PollData(IEnumerable<string> keys)
{
Dictionary<string, object> dictionary = new Dictionary<string, object>();
foreach (string key in keys)
try
{
if (_keyValueMap.ContainsKey(key))
{
dictionary[key] = _keyValueMap[key].Value;
}
Dictionary<string, object> dictionary = new Dictionary<string, object>();
foreach (string key in keys)
{
if (_keyValueMap.ContainsKey(key))
{
dictionary[key] = _keyValueMap[key].Value;
}
}
return dictionary;
}
catch (Exception ex)
{
LOG.Error(ex.Message, ex);
return null;
}
return dictionary;
}
}
}

View File

@ -144,6 +144,12 @@ namespace MECF.Framework.Common.DataCenter
[ServiceKnownType(typeof(ConfigChangedInfo))]
[ServiceKnownType(typeof(List<ConfigChangedInfo>))]
[ServiceKnownType(typeof(List<ProcessDeviceItem>))]
[ServiceKnownType(typeof(Kxware.Connectivity.Remoting.VariableData))]
[ServiceKnownType(typeof(List<Kxware.Connectivity.Remoting.VariableData>))]
[ServiceKnownType(typeof(Kxware.Connectivity.Remoting.EventData))]
[ServiceKnownType(typeof(List<Kxware.Connectivity.Remoting.EventData>))]
[ServiceKnownType(typeof(Kxware.Connectivity.Remoting.AlarmData))]
[ServiceKnownType(typeof(List<Kxware.Connectivity.Remoting.AlarmData>))]
public interface IQueryDataService
{

View File

@ -327,26 +327,33 @@ namespace MECF.Framework.Common.Gem
//设置GEM配置文件中变量的值
private void SetXmlValue()
{
SortedDictionary<string, Func<object>> keyValues = Singleton<DataManager>.Instance.GetDBRecorderList();
foreach (Variable variable in _equipment.GetVariables())
try
{
if (variable.VariableType == VariableType.SV)
SortedDictionary<string, Func<object>> keyValues = Singleton<DataManager>.Instance.GetDBRecorderList();
foreach (Variable variable in _equipment.GetVariables())
{
if (keyValues.ContainsKey(variable.Name))
if (variable.VariableType == VariableType.SV)
{
_equipment?.SetValue(variable.Name, keyValues[variable.Name]());
}
else
{
//排除Gem 内置变量
if (variable.Id > 10000)
if (keyValues.ContainsKey(variable.Name))
{
//LOG.Warning($"DATA no Contain Gem Varibable name {variable.Name}");
_equipment?.SetValue(variable.Name, keyValues[variable.Name]());
}
else
{
//排除Gem 内置变量
if (variable.Id > 10000)
{
//LOG.Warning($"DATA no Contain Gem Varibable name {variable.Name}");
}
}
}
}
}
catch (Exception ex)
{
LOG.Error(ex.Message, ex);
}
}
private void SetValue()