using iWareSda.Common;
|
|
using System;
|
using System.Collections.Generic;
|
using System.Threading;
|
|
namespace iWareSda
|
{
|
public class HuscoLineEntity : IDevice
|
{
|
public HuscoLineEntity()
|
{
|
this.View = new HuscoLineView();
|
}
|
|
#region OPC相关
|
|
/// <summary>
|
/// 线体 写的DB块
|
/// </summary>
|
public HuscoLineDBForWrite DBBlockForWrite { get; set; }
|
|
/// <summary>
|
/// 线体 读的DB块
|
/// </summary>
|
public HuscoLineDBForRead DBBlockForRead { get; set; }
|
|
/// <summary>
|
/// 读取PLC实例
|
/// </summary>
|
public PLCService plcService { get; set; }
|
|
/// <summary>
|
/// 视图对象
|
/// </summary>
|
public HuscoLineView View { get; set; }
|
|
|
#endregion
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public void InitData()
|
{
|
//IsConnected = false;
|
//IsHeartBeat = false;
|
|
}
|
public HuscoLineEntity(string DeviceName, int deviceId, HuscoLineDBForWrite _dbBlockForWrite, HuscoLineDBForRead _dbBlockForRead, PLCService _plcService)
|
{
|
this.View = new HuscoLineView();
|
this.View.DeviceName = DeviceName;
|
this.View.DeviceId = deviceId;
|
plcService = _plcService;
|
DBBlockForWrite = _dbBlockForWrite;
|
DBBlockForRead = _dbBlockForRead;
|
}
|
|
|
public void SetPropertyValueForRead()
|
{
|
var r_dbHeader = HuscoLine_CacheEntity.R_DBHeader;
|
var r_dbBlock = this.DBBlockForRead;
|
SdaHelper.SetPropertyValueForDB<HuscoLineDBForRead, HuscoLineView>(r_dbBlock, this.View, this.plcService, r_dbHeader, true);
|
}
|
|
public void SetPropertyValueForWrite()
|
{
|
var w_dbHeader = HuscoLine_CacheEntity.W_DBHeader;
|
var w_dbBlock = this.DBBlockForWrite;
|
SdaHelper.SetPropertyValueForDB<HuscoLineDBForWrite, HuscoLineView>(w_dbBlock, this.View, this.plcService, w_dbHeader, true);
|
}
|
|
|
|
#region 获取当前报警信息
|
|
|
|
/// <summary>
|
/// 获取当前报警信息
|
/// </summary>
|
/// <returns></returns>
|
public System.Collections.Generic.List<string> GetAlertDatas()
|
{
|
List<string> db_warningList = new List<string>();
|
try
|
{
|
System.Collections.Generic.List<string> alertList = new System.Collections.Generic.List<string>();
|
|
string _dbValue;
|
var isHasAlert = false;
|
IDictionary<string, string> srmAlertDict = new Dictionary<string, string>();
|
//srmAlertDict = WareSdaStruct.lineAlertDict_1;
|
foreach (var item in srmAlertDict)
|
{
|
_dbValue = item.Key;
|
isHasAlert = Convert.ToBoolean(this.plcService.ReadValuePoint(HuscoLine_CacheEntity.R_DBHeader, item.Key, typeof(bool)));
|
if (isHasAlert)
|
{
|
db_warningList.Add(item.Value.Trim());
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return db_warningList;
|
}
|
|
|
#endregion
|
|
|
public bool IsHaveHeatBeat()
|
{
|
throw new NotImplementedException();
|
}
|
}
|
}
|