using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BPASmartClient.MorkTM { public enum MaterialPosion { Top1 =1, Top2 =2, Top3 =3, Top4 = 4, Top5 = 5, Top6= 6, Top7 = 7, Top8=8, Top9 =9, Top10 =10, Top11 = 11, Top12 =12, Top13 =13, Top14 =14, Top15= 15, Top16=16, Top17 =17, Top18 =18, Top19 =19, Top20 =20, Top21 =21, Top22 =22, Top23 =23, Top24 =24, Top25 =25, Top26 =26, Top27 =27, Top28=28 } public enum OutMaterialPosion { 出料位=0, 一号位 = 1, 二号位 = 2, 三号位 = 3, 四号位 = 4, 五号位 = 5, 六号位 = 6 } public class CommationPosionPLC { public CommationPosionPLC( string set,string get, Enum @enum) { SetPLCPosion = set; GetPLCPosion = get; posion = @enum; } public string SetPLCPosion; public string GetPLCPosion; public Enum posion; } public class PolymerBatching { /// /// 物料对应的plc点位 /// public Dictionary MaterialPosionList = new Dictionary() { {MaterialPosion.Top1 , "VW304"}, {MaterialPosion.Top2 , "VW308"}, {MaterialPosion.Top3 , "VW312"}, {MaterialPosion.Top4 , "VW316"}, {MaterialPosion.Top5 , "VW320"}, {MaterialPosion.Top6 , "VW324"}, {MaterialPosion.Top7 , "VW328"}, {MaterialPosion.Top8 , "VW332"}, {MaterialPosion.Top9 , "VW336"}, {MaterialPosion.Top10, "VW340" }, {MaterialPosion.Top11, "VW344" }, {MaterialPosion.Top12, "VW348" }, {MaterialPosion.Top13, "VW352" }, {MaterialPosion.Top14, "VW356" }, {MaterialPosion.Top15, "VW360" }, {MaterialPosion.Top16, "VW364" }, {MaterialPosion.Top17, "VW368" }, {MaterialPosion.Top18, "VW372" }, {MaterialPosion.Top19, "VW376" }, {MaterialPosion.Top20, "VW380" }, {MaterialPosion.Top21, "VW384" }, {MaterialPosion.Top22, "VW388" }, {MaterialPosion.Top23, "VW392" }, {MaterialPosion.Top24, "VW396" }, {MaterialPosion.Top25, "VW400" }, {MaterialPosion.Top26, "VW404" }, {MaterialPosion.Top27, "VW408" }, {MaterialPosion.Top28, "VW412" }, }; /// /// 通道校正PLC点位 /// public Dictionary PasswayPosionList = new Dictionary() { {MaterialPosion.Top1 , "VW104"}, {MaterialPosion.Top2 , "VW108"}, {MaterialPosion.Top3 , "VW112"}, {MaterialPosion.Top4 , "VW116"}, {MaterialPosion.Top5 , "VW120"}, {MaterialPosion.Top6 , "VW124"}, {MaterialPosion.Top7 , "VW128"}, {MaterialPosion.Top8 , "VW132"}, {MaterialPosion.Top9 , "VW136"}, {MaterialPosion.Top10, "VW140" }, {MaterialPosion.Top11, "VW144" }, {MaterialPosion.Top12, "VW148" }, {MaterialPosion.Top13, "VW152" }, {MaterialPosion.Top14, "VW156" }, {MaterialPosion.Top15, "VW160" }, {MaterialPosion.Top16, "VW164" }, {MaterialPosion.Top17, "VW168" }, {MaterialPosion.Top18, "VW172" }, {MaterialPosion.Top19, "VW176" }, {MaterialPosion.Top20, "VW180" }, {MaterialPosion.Top21, "VW184" }, {MaterialPosion.Top22, "VW188" }, {MaterialPosion.Top23, "VW192" }, {MaterialPosion.Top24, "VW196" }, {MaterialPosion.Top25, "VW200" }, {MaterialPosion.Top26, "VW204" }, {MaterialPosion.Top27, "VW208" }, {MaterialPosion.Top28, "VW212" }, }; /// /// plc转盘点位 /// public List TurnPosionPLCs = new List() { new CommationPosionPLC("M4.0","M14.0",OutMaterialPosion.一号位), new CommationPosionPLC("M4.1","M14.1",OutMaterialPosion.二号位), new CommationPosionPLC("M4.2","M14.2",OutMaterialPosion.三号位), new CommationPosionPLC("M4.3","M14.3",OutMaterialPosion.四号位), new CommationPosionPLC("M4.4","M14.4",OutMaterialPosion.五号位), new CommationPosionPLC("M4.5","M14.5",OutMaterialPosion.六号位), }; /// /// plc出料点位 /// public List OutPosionPLCs = new List() { new CommationPosionPLC("M0.0","M10.0",MaterialPosion.Top1), new CommationPosionPLC("M0.1","M10.1",MaterialPosion.Top2), new CommationPosionPLC("M0.2","M10.2",MaterialPosion.Top3), new CommationPosionPLC("M0.3","M10.3",MaterialPosion.Top4), new CommationPosionPLC("M0.4","M10.4",MaterialPosion.Top5), new CommationPosionPLC("M0.5","M10.5",MaterialPosion.Top6), new CommationPosionPLC("M0.6","M10.6",MaterialPosion.Top7), new CommationPosionPLC("M0.7","M10.7",MaterialPosion.Top8), new CommationPosionPLC("M1.0","M11.0",MaterialPosion.Top9), new CommationPosionPLC("M1.1","M11.1",MaterialPosion.Top10), new CommationPosionPLC("M1.2","M11.2",MaterialPosion.Top11), new CommationPosionPLC("M1.3","M11.3",MaterialPosion.Top12), new CommationPosionPLC("M1.4","M11.4",MaterialPosion.Top13), new CommationPosionPLC("M1.5","M11.5",MaterialPosion.Top14), new CommationPosionPLC("M1.6","M11.6",MaterialPosion.Top15), new CommationPosionPLC("M1.7","M11.7",MaterialPosion.Top16), new CommationPosionPLC("M2.0","M12.0",MaterialPosion.Top17), new CommationPosionPLC("M2.1","M12.1",MaterialPosion.Top18), new CommationPosionPLC("M2.2","M12.2",MaterialPosion.Top19), new CommationPosionPLC("M2.3","M12.3",MaterialPosion.Top20), new CommationPosionPLC("M2.4","M12.4",MaterialPosion.Top21), new CommationPosionPLC("M2.5","M12.5",MaterialPosion.Top22), new CommationPosionPLC("M2.6","M12.6",MaterialPosion.Top23), new CommationPosionPLC("M2.7","M12.7",MaterialPosion.Top24), new CommationPosionPLC("M3.0","M13.0",MaterialPosion.Top25), new CommationPosionPLC("M3.1","M13.1",MaterialPosion.Top26), new CommationPosionPLC("M3.2","M13.2",MaterialPosion.Top27), new CommationPosionPLC("M3.3","M13.3",MaterialPosion.Top28), }; public void GetMaterialInfo() { List materialPosions = Enum.GetValues(typeof(MaterialPosion)).Cast().ToList(); for (int i = 0; i < Enum.GetValues(typeof(OutMaterialPosion)).Length -1; i++) { if (i == 2 || i == 3) { GoodsMaterialPosion.Add(materialPosions.Take(4).ToList(), TurnPosionPLCs[i]); materialPosions.RemoveRange(0, 4); } else { GoodsMaterialPosion.Add(materialPosions.Take(5).ToList(), TurnPosionPLCs[i]); materialPosions.RemoveRange(0, 5); } } } public Dictionary, CommationPosionPLC> GoodsMaterialPosion = new Dictionary, CommationPosionPLC>(); } }