using Leit.FrameWork.Log;
using Leit.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Leit.StationFunction
{
public static class Function_OP80
{
///
/// 工位标签信息
///
public static List StationTagInfos { get; set; }
///
/// 工位报警标签信息
///
public static List StationAlarmTagInfos { get; set; }
///
/// 工位质量数据标签信息
///
public static List StationQualityTagInfos { get; set; }
///
/// 工位交互数据标签信息
///
public static List StationCommunicatedTagInfos { get; set; }
///
/// 工位信息
///
public static StationInfo StationInf { get; set; }
///
/// 托盘号
///
public static byte PalletNum { get; set; }
public static bool ReadDataOk { get; set; }
///
/// 业务逻辑
///
public static void CycleRunTimer()
{
try
{
//读取托盘号
byte palletNum = ServiceData.OpcTags.Where(p => p.TagId == StationCommunicatedTagInfos.Where(q => q.TagMarkCode == 1010).First().TagId).First().GetValue();
if (palletNum != 0)
{
//托盘号保持
PalletNum = palletNum;
}
if (ServiceData.OpcTags.Where(p => p.TagId == StationCommunicatedTagInfos.Where(q => q.TagMarkCode == 1050).First().TagId).First().GetValue() == 1)
{
//收到允许保存 保存质量数据
if (!ReadDataOk)
{
//读取质量数据.
//读取质量数据.
string sql = "update Deploy_Data set ";
foreach (var item in StationQualityTagInfos)
{
if (item.TagDataType == "byte")
{
sql = sql + item.ColName + "='" + ServiceData.OpcTags.Where(p => p.TagId == item.TagId).First().GetValue()+"'";
}
else if (item.TagDataType == "float")
{
sql = sql + item.ColName + "='" + ServiceData.OpcTags.Where(p => p.TagId == item.TagId).First().GetValue().ToString()+"'";
}
sql = sql + ",";
}
sql = sql.Remove(sql.Length - 1, 1);
sql = sql + $",op80_time='{DateTime.Now}' where tuopan_id={PalletNum} and process_state=1";
SqlSugarAdo.ExecuteCommand(sql);
ReadDataOk = true;
}
//回写保存完成
ServiceData.PlcServer.Write(StationCommunicatedTagInfos.Where(p => p.TagMarkCode == 1060).First().TagAddr, 1);
}
else
{
ReadDataOk = false;
}
}
catch (Exception ex)
{
LogHelper.WriteLog(LogHelper.GetMethodInfo(), ex);
}
}
}
}