You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
5.7 KiB
C#

2 years ago
using Khd.Core.EntityFramework;
2 years ago
using Khd.Core.Plc;
2 years ago
using Khd.Core.Plc.S7;
using Khd.Core.Wcs.Global;
2 years ago
using Khd.Core.Wcs.Wcs;
2 years ago
using Masuit.Tools.Logging;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
2 years ago
using System.Data;
using System.Net.Http.Headers;
using System.Text;
2 years ago
namespace Khd.Core.Wcs
{
public class MainCentralControl
{
2 years ago
public static object QingKongDianWei = 0;
public static object WcsChuLiWanCheng = 1;
public static object WcsMoRenQuXiang = 1;
2 years ago
private readonly IHost _host;
2 years ago
/// <summary>
/// 构造函数
/// </summary>
/// <param name="host"></param>
2 years ago
public MainCentralControl(IHost host)
{
this._host = host;
}
2 years ago
/// <summary>
/// 启动程序
/// </summary>
2 years ago
public void Start()
{
try
2 years ago
{ //加载配置项
2 years ago
2 years ago
using var scope = _host.Services.CreateScope();
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
//设置程序启动时清空点位的数据=>0为 Int16位
2 years ago
QingKongDianWei = StaticPlcHelper.GetValue("2", "0");
2 years ago
//设置默认处理完成=>1为 Int16位
2 years ago
WcsChuLiWanCheng = StaticPlcHelper.GetValue("2", "1");
2 years ago
//设置默认去向=>1为 Int16位
2 years ago
WcsMoRenQuXiang = StaticPlcHelper.GetValue("2", "1");
2 years ago
StaticData.BasePlcpointList = dbContext.BasePlcpoint.Where(t => t.isDelete == 0).ToList();
2 years ago
StaticData.BaseEquip = dbContext.BaseEquip.ToList();
2 years ago
foreach (var plcConfig in StaticData.PlcConfigs)
{
if (!StaticData.PlcDic.Any(t => t.Key == plcConfig.Code))
{
Plc.S7.Plc plc;
plc = new Plc.S7.Plc(plcConfig.CpuType, plcConfig.IP, plcConfig.Port, plcConfig.Rack, plcConfig.Slot);
//plc.Open();
StaticData.PlcDic.TryAdd(plcConfig.Code, plc);
}
}
2 years ago
////创建任务
//CreateTaskByRecord createTaskByRecord = new(_host, StaticData.PlcDic[0], "");
//createTaskByRecord.StartPoint();
2 years ago
////一楼提升机以及接驳位
//FirstFloor firstFloor = new(_host, StaticData.PlcDic[0]);
//firstFloor.StartPoint();
2 years ago
////二层接驳位
//var SecondBaseFloorEquip = StaticData.BaseEquip.Where(t => t.floorNo == 2 && t.equipType == 1).First();
//SecondFloorPoint secondFloorPoint = new(_host, StaticData.PlcDic[0], SecondBaseFloorEquip.floorNo.Value, SecondBaseFloorEquip.equipNo);
//secondFloorPoint.StartPoint();
////二层AGV
//var SecondFloorAgvEquip = StaticData.BaseEquip.Where(t => t.floorNo == 2 && t.equipType == 4).First();
//SecondFloorAGV secondFloorAGV = new(_host, StaticData.PlcDic[0], SecondFloorAgvEquip.floorNo.Value, SecondFloorAgvEquip.equipNo);
//secondFloorAGV.StartPoint();
////二楼线体
//var SecondFloorLineEquip = StaticData.BaseEquip.Where(t => t.floorNo == 2 && t.equipType == 3).First();
//SecondFloorLine secondFloorLine = new(_host, StaticData.PlcDic[0], SecondFloorLineEquip.floorNo.Value, SecondFloorLineEquip.equipNo);
//secondFloorLine.StartPoint();
////三层接驳位
//var ThirdBaseFloorEquip = StaticData.BaseEquip.Where(t => t.floorNo == 3 && t.equipType == 1).First();
//ThirdFloorPoint thirdFloorPoint = new(_host, StaticData.PlcDic[0], ThirdBaseFloorEquip.floorNo.Value, ThirdBaseFloorEquip.equipNo);
//thirdFloorPoint.StartPoint();
////三层AGV
//var ThirdFloorAgvEquip = StaticData.BaseEquip.Where(t => t.floorNo == 3 && t.equipType == 4).First();
//ThirdFloorAGV thirdFloorAGV = new(_host, StaticData.PlcDic[0], ThirdFloorAgvEquip.floorNo.Value, ThirdFloorAgvEquip.equipNo);
//thirdFloorAGV.StartPoint();
2 years ago
////五层接驳位
//var FifthBaseFloorEquip = StaticData.BaseEquip.Where(t => t.floorNo == 5 && t.equipType == 1).First();
//FiveFloorPoint fifthFloorPoint = new(_host, StaticData.PlcDic[0], FifthBaseFloorEquip.floorNo.Value, FifthBaseFloorEquip.equipNo);
//fifthFloorPoint.StartPoint();
2 years ago
////五层线体
//var FiveFloorLineEquip = StaticData.BaseEquip.Where(t => t.floorNo == 4 && t.equipType == 3).First();
//FiveFloorLine fiveFloorLine = new(_host, StaticData.PlcDic[0], FiveFloorLineEquip.floorNo.Value, FiveFloorLineEquip.equipNo);
//fiveFloorLine.StartPoint();
2 years ago
//五层CTU
var FiveFloorCTUEquip = StaticData.BaseEquip.Where(t => t.floorNo == 5 && t.equipType == 6).First();
FiveFloorCTU fiveFloorCTU = new(_host, StaticData.PlcDic[0], FiveFloorCTUEquip.floorNo.Value, FiveFloorCTUEquip.equipNo);
fiveFloorCTU.StartPoint();
2 years ago
////五层AGV
//var FifthFloorAgvEquip = StaticData.BaseEquip.Where(t => t.floorNo == 5 && t.equipType == 5).First();
//FiveFloorAGV fifthFloorAGV = new(_host, StaticData.PlcDic[0], FifthFloorAgvEquip.floorNo.Value, FifthFloorAgvEquip.equipNo);
//fifthFloorAGV.StartPoint();
2 years ago
}
catch (Exception ex)
{
2 years ago
Console.WriteLine(ex.Message);
2 years ago
LogManager.Error(ex);
}
}
2 years ago
2 years ago
}
}