using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using WIDESEA_Comm.DBItem;
using WIDESEA_Comm.ItemDB;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WCS.IRepositories;
using WIDESEA_WCS.Jobs;
using WIDESEA_WCS.Repositories;
using WIDESEA_WCS.WCSClient;
namespace WIDESEA_WCS
{
///
/// 桁架
///
[DisallowConcurrentExecution]
public class GantryJob : JobBase, IJob
{
public Task Execute(IJobExecutionContext context)
{
try
{
ExecuteJob(context, DoAction);
}
catch { }
return Task.CompletedTask;
}
private void DoAction(IJobExecutionContext context)
{
var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient;
//自动重连
if (!client.IsConnected)
{
client.Connect();
return;
}
client.WriteByOrder("W_Palpitate", client.ReadByOrder("R_Palpitate", "心跳"));
Gantry gantry = new Gantry();
gantry.QueryOrder(client);
gantry.QueryWheeldata(client);
gantry.Layofflevel(client);
}
}
}