private void CreateProgram(MazakTestData dset, string program) { dset.TestPrograms.Add(new MazakProgramRow() { MainProgram = program, Comment = "" }); }
private void CreateFixture(MazakTestData dset, string name) { dset.TestFixtures.Add(new MazakFixtureRow() { Comment = "Insight", FixtureName = name }); }
private MazakTestData CreateReadSet() { var dset = new MazakTestData(); CreateFixture(dset, "Test"); return(dset); }
private void CreatePallet(MazakTestData dset, int pal, string fix, int numProc) { for (int i = 1; i <= numProc; i++) { dset.TestPallets.Add(new MazakPalletRow() { Fixture = fix + ":" + i.ToString(), PalletNumber = pal }); } }
private void CreatePart(MazakTestData dset, string unique, string name, int numProc, string fix) { var pRow = new MazakPartRow() { Comment = "comment", PartName = name }; dset.TestParts.Add(pRow); for (int proc = 1; proc <= numProc; proc++) { pRow.Processes.Add(new MazakPartProcessRow() { ProcessNumber = proc, Fixture = fix + ":" + proc.ToString(), PartName = name, }); } }
public void DifferentPallets() { //Test when processes have different pallet lists var job1 = new JobPlan("Job1", 2, new int[] { 2, 2 }); job1.PartName = "Part1"; job1.SetPathGroup(1, 1, 1); job1.SetPathGroup(1, 2, 2); job1.SetPathGroup(2, 1, 1); job1.SetPathGroup(2, 2, 2); job1.AddProcessOnPallet(1, 1, "4"); job1.AddProcessOnPallet(1, 1, "5"); job1.AddProcessOnPallet(1, 2, "10"); job1.AddProcessOnPallet(1, 2, "11"); job1.AddProcessOnPallet(1, 2, "12"); job1.AddProcessOnPallet(2, 1, "40"); job1.AddProcessOnPallet(2, 1, "50"); job1.AddProcessOnPallet(2, 2, "100"); job1.AddProcessOnPallet(2, 2, "110"); job1.AddProcessOnPallet(2, 2, "120"); AddBasicStopsWithProg(job1); var job2 = new JobPlan("Job2", 2, new int[] { 2, 2 }); job2.PartName = "Part2"; //make path groups twisted job2.SetPathGroup(1, 1, 1); job2.SetPathGroup(1, 2, 2); job2.SetPathGroup(2, 1, 2); job2.SetPathGroup(2, 2, 1); //process groups on the same pallet. job2.AddProcessOnPallet(1, 1, "4"); job2.AddProcessOnPallet(1, 1, "5"); job2.AddProcessOnPallet(1, 2, "10"); job2.AddProcessOnPallet(1, 2, "11"); job2.AddProcessOnPallet(1, 2, "12"); job2.AddProcessOnPallet(2, 2, "40"); job2.AddProcessOnPallet(2, 2, "50"); job2.AddProcessOnPallet(2, 1, "100"); job2.AddProcessOnPallet(2, 1, "110"); job2.AddProcessOnPallet(2, 1, "120"); AddBasicStopsWithProg(job2); var job3 = new JobPlan("Job3", 2, new int[] { 2, 2 }); job3.PartName = "Part3"; job3.SetPathGroup(1, 1, 1); job3.SetPathGroup(1, 2, 2); job3.SetPathGroup(2, 1, 1); job3.SetPathGroup(2, 2, 2); //These do not all match above (some do, but not all) job3.AddProcessOnPallet(1, 1, "4"); job3.AddProcessOnPallet(1, 1, "5"); job3.AddProcessOnPallet(1, 2, "22"); job3.AddProcessOnPallet(1, 2, "23"); job3.AddProcessOnPallet(1, 2, "24"); job3.AddProcessOnPallet(2, 1, "30"); job3.AddProcessOnPallet(2, 1, "31"); job3.AddProcessOnPallet(2, 2, "100"); job3.AddProcessOnPallet(2, 2, "110"); job3.AddProcessOnPallet(2, 2, "120"); AddBasicStopsWithProg(job3); var log = new List <string>(); var dset = new MazakTestData(); CreateProgram(dset, "1234"); var pMap = ConvertJobsToMazakParts.JobsToMazak( new JobPlan[] { job1, job2, job3 }, 3, dset, new HashSet <string>(), MazakDbType.MazakVersionE, checkPalletsUsedOnce: false, fmsSettings: new FMSSettings(), errors: log ); if (log.Count > 0) { Assert.True(false, log[0]); } CheckNewFixtures(pMap, new string[] { "F:3:0:4:1", "F:3:1:40:2", "F:3:2:10:1", "F:3:3:100:2", "F:3:4:30:2", "F:3:5:22:1" }); var trans = pMap.CreatePartPalletDatabaseRows(); CheckPartProcessFromJob(trans, "Part1:3:1", 1, "F:3:0:4:1"); CheckPartProcessFromJob(trans, "Part1:3:1", 2, "F:3:1:40:2"); CheckPart(trans, "Part1:3:1", "Job1-Path1-1-0"); CheckPartProcessFromJob(trans, "Part1:3:2", 1, "F:3:2:10:1"); CheckPartProcessFromJob(trans, "Part1:3:2", 2, "F:3:3:100:2"); CheckPart(trans, "Part1:3:2", "Job1-Path2-2-0"); CheckPartProcessFromJob(trans, "Part2:3:1", 1, "F:3:0:4:1"); CheckPartProcessFromJob(trans, "Part2:3:1", 2, "F:3:1:40:2"); CheckPart(trans, "Part2:3:1", "Job2-Path1-2-0"); CheckPartProcessFromJob(trans, "Part2:3:2", 1, "F:3:2:10:1"); CheckPartProcessFromJob(trans, "Part2:3:2", 2, "F:3:3:100:2"); CheckPart(trans, "Part2:3:2", "Job2-Path2-1-0"); CheckPartProcessFromJob(trans, "Part3:3:1", 1, "F:3:0:4:1"); CheckPartProcessFromJob(trans, "Part3:3:1", 2, "F:3:4:30:2"); CheckPart(trans, "Part3:3:1", "Job3-Path1-1-0"); CheckPartProcessFromJob(trans, "Part3:3:2", 1, "F:3:5:22:1"); CheckPartProcessFromJob(trans, "Part3:3:2", 2, "F:3:3:100:2"); CheckPart(trans, "Part3:3:2", "Job3-Path2-2-0"); CheckSingleProcPalletGroup(trans, 31, "F:3:0:4:1", new int[] { 4, 5 }); CheckSingleProcPalletGroup(trans, 32, "F:3:1:40:2", new int[] { 40, 50 }); CheckSingleProcPalletGroup(trans, 33, "F:3:2:10:1", new int[] { 10, 11, 12 }); CheckSingleProcPalletGroup(trans, 34, "F:3:3:100:2", new int[] { 100, 110, 120 }); CheckSingleProcPalletGroup(trans, 35, "F:3:4:30:2", new int[] { 30, 31 }); CheckSingleProcPalletGroup(trans, 36, "F:3:5:22:1", new int[] { 22, 23, 24 }); AssertPartsPalletsDeleted(trans); }