예제 #1
0
        public void TestPlcCleanCh()//測試 OK
        {
            using (var plc = new MacHalPlcContext())
            {
                plc.Connect("192.168.0.200", 2);

                //plc.CleanCh.SetParticleCntLimit(1, 2, 3);
                //Console.WriteLine(plc.CleanCh.ReadParticleCntLimitSetting());
                //Console.WriteLine(plc.CleanCh.ReadParticleCount());
                //Console.WriteLine(plc.CleanCh.ReadMaskLevel());
                //plc.CleanCh.SetRobotAboutLimit(10, -10);
                //Console.WriteLine(plc.CleanCh.ReadRobotAboutLimitSetting());
                //Console.WriteLine(plc.CleanCh.ReadRobotPosAbout());
                //plc.CleanCh.SetRobotUpDownLimit(10, -10);
                //Console.WriteLine(plc.CleanCh.ReadRobotUpDownLimitSetting());
                //Console.WriteLine(plc.CleanCh.ReadRobotPosUpDown());
                //plc.CleanCh.SetPressureDiffLimit(2);
                //Console.WriteLine(plc.CleanCh.ReadPressureDiffLimitSetting());
                //Console.WriteLine(plc.CleanCh.ReadPressureDiff());
                Console.WriteLine(plc.CleanCh.GasValveBlow(20));
                plc.CleanCh.SetPressureCtrl(10);
                Console.WriteLine(plc.CleanCh.ReadPressureCtrlSetting());
                Console.WriteLine(plc.CleanCh.ReadBlowPressure());
                Console.WriteLine(plc.CleanCh.ReadPressure());
                Console.WriteLine(plc.CleanCh.ReadLightCurtain());
            }
        }
예제 #2
0
        public void TestPlcInspCh()//測試 OK
        {
            using (var plc = new MacHalPlcContext())
            {
                plc.Connect("192.168.0.200", 2);
                //bool[] AlarmArray = new bool[256];

                Console.WriteLine(plc.InspectionCh.XYPosition(20, 10)); //X:300~-10,Y:250~-10
                Console.WriteLine(plc.InspectionCh.ZPosition(-10));     //1~-85
                Console.WriteLine(plc.InspectionCh.WPosition(20));      //0~359
                Console.WriteLine(plc.InspectionCh.Initial());
                plc.InspectionCh.SetSpeedVar(10, 10, 10);
                Console.WriteLine(plc.InspectionCh.ReadSpeedVar());
                Console.WriteLine(plc.InspectionCh.SetRobotIntrude(true));
                Console.WriteLine(plc.InspectionCh.ReadXYPosition());
                Console.WriteLine(plc.InspectionCh.ReadZPosition());
                Console.WriteLine(plc.InspectionCh.ReadWPosition());
                plc.InspectionCh.SetRobotPosLeftRightLimit(-10, 10);
                Console.WriteLine(plc.InspectionCh.ReadRobotPosLeftRightLimit());
                Console.WriteLine(plc.InspectionCh.ReadRobotPosLeftRight());
                plc.InspectionCh.SetRobotPosUpDownLimit(10, 0);
                Console.WriteLine(plc.InspectionCh.ReadRobotPosUpDownLimit());
                Console.WriteLine(plc.InspectionCh.ReadRobotPosUpDown());
                Console.WriteLine(plc.InspectionCh.ReadICStatus());

                //AlarmArray = plc.InspCh.ReadAlarmArray();
                //Console.WriteLine(plc.InspCh.ReadAlarmArray());
            }
        }
예제 #3
0
 public void TestPlcHardwareAction()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.OpenStage.SetBoxType(1);//鐵盒:1,水晶盒:2
         Console.WriteLine(plc.OpenStage.Initial());
         for (int i = 0; i < 1; i++)
         //while (true)
         {
             Console.WriteLine(plc.OpenStage.SortClamp());
             Console.WriteLine(plc.OpenStage.Vacuum(true));
             Console.WriteLine(plc.OpenStage.SortUnclamp());
             Console.WriteLine(plc.OpenStage.Close());
             Console.WriteLine(plc.OpenStage.Clamp());
             Console.WriteLine(plc.OpenStage.Open());
             Console.WriteLine(plc.OpenStage.ReadRobotIntrude(false, true));  //Mask Robot入侵將MTIntrude訊號改為False
             Console.WriteLine(plc.OpenStage.ReadRobotIntrude(false, false)); //沒有Robot入侵時,將訊號改為True
             Console.WriteLine(plc.OpenStage.Close());
             Console.WriteLine(plc.OpenStage.Unclamp());
             Console.WriteLine(plc.OpenStage.Lock());
             Console.WriteLine(plc.OpenStage.Vacuum(false));
         }
     }
 }
예제 #4
0
 public void TestPlcBoxRobot()// OK
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.BoxTransfer.Clamp(1));
         Console.WriteLine(plc.BoxTransfer.Unclamp());
         Console.WriteLine(plc.BoxTransfer.Initial());
         plc.BoxTransfer.SetSpeedVar(10); //Speed:1~100mm/s
         Console.WriteLine(plc.BoxTransfer.ReadSpeedVar());
         Console.WriteLine(plc.BoxTransfer.ReadHandPos());
         Console.WriteLine(plc.BoxTransfer.ReadBoxDetect());
         plc.BoxTransfer.SetHandSpaceLimit(10, 20);
         Console.WriteLine(plc.BoxTransfer.ReadHandSpaceLimitSetting());
         Console.WriteLine(plc.BoxTransfer.ReadHandPosByLSR());
         plc.BoxTransfer.SetClampToCabinetSpaceLimit(10);
         Console.WriteLine(plc.BoxTransfer.ReadClampToCabinetSpaceLimitSetting());
         Console.WriteLine(plc.BoxTransfer.ReadClampDistance());
         plc.BoxTransfer.SetLevelSensorLimit(10, 15);
         Console.WriteLine(plc.BoxTransfer.ReadLevelSensorLimitSetting());
         Console.WriteLine(plc.BoxTransfer.ReadLevelSensor());
         Console.WriteLine(plc.BoxTransfer.LevelReset());
         plc.BoxTransfer.SetSixAxisSensorUpperLimit(10, 20, 30, 10, 10, 10);
         Console.WriteLine(plc.BoxTransfer.ReadSixAxisSensorUpperLimit());
         Console.WriteLine(plc.BoxTransfer.ReadSixAxisSensor());
         Console.WriteLine(plc.BoxTransfer.ReadHandVacuum());
         Console.WriteLine(plc.BoxTransfer.ReadBTStatus());
         plc.BoxTransfer.RobotMoving(false);// OK
     }
 }
예제 #5
0
 public void TestPlcReadSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.LoadPort.ReadChamberPressureDiffLimit());
     }
 }
예제 #6
0
 public void TestPlcVariableSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.LoadPort.SetPressureDiffLimit(1, 2);
     }
 }
예제 #7
0
 public void TestPlcComponentStatus()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.MaskTransfer.ReadMTStatus());
     }
 }
예제 #8
0
 public void TestPlcComponentStatus()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.OpenStage.ReadOpenStageStatus());
     }
 }
예제 #9
0
 public void TestPLCClosePort()//當發生PLC連線占用Port,嘗試關閉Port解決問題
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.ClosePort();
     }
 }
예제 #10
0
 public void TestPlcComponentStatus()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.Cabinet.ReadLightCurtain());
     }
 }
예제 #11
0
 public void TestPlcComponentStatus()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.InspectionCh.ReadICStatus());
     }
 }
예제 #12
0
 public void TestPlcHardwareStatus()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.Cabinet.ReadPressureDiff());
     }
 }
예제 #13
0
 public void TestResetAll()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.ResetAll();
     }
 }
예제 #14
0
 public void TestPlcHardwareAction()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.CleanCh.GasValveBlow(20));
     }
 }
예제 #15
0
 public void TestPlcVariableSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.Cabinet.SetPressureDiffLimit(1, 2);
         plc.Cabinet.SetExhaustFlow(3, 4);
     }
 }
예제 #16
0
 public void TestPlcReadSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.Cabinet.ReadPressureDiffLimitSetting());
         Console.WriteLine(plc.Cabinet.ReadExhaustFlowSetting());
     }
 }
예제 #17
0
 public void TestPlcVariableSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.OpenStage.SetBoxType(0);
         plc.OpenStage.SetSpeed(50);
     }
 }
예제 #18
0
 public void TestPlcReadSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.OpenStage.ReadBoxTypeSetting());
         Console.WriteLine(plc.OpenStage.ReadSpeedSetting());
     }
 }
예제 #19
0
 public void TestPlcReadSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.InspectionCh.ReadSpeedVar());
         Console.WriteLine(plc.InspectionCh.ReadRobotPosLeftRightLimit());
         Console.WriteLine(plc.InspectionCh.ReadRobotPosUpDownLimit());
     }
 }
예제 #20
0
 public void TestPlcVariableSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.InspectionCh.SetSpeedVar(10, 10, 10);
         plc.InspectionCh.SetRobotPosLeftRightLimit(-10, 10);
         plc.InspectionCh.SetRobotPosUpDownLimit(10, 0);
     }
 }
예제 #21
0
 public void TestSignalTower()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.SetSignalTower(true, false, false);
         plc.SetSignalTower(false, true, false);
         plc.SetSignalTower(false, false, true);
     }
 }
예제 #22
0
 public void TestPlcVariableSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.InspCh.SetSpeed(10, 10, 10);
         plc.InspCh.SetRobotAboutLimit(-10, 10);
         plc.InspCh.SetRobotUpDownLimit(10, 0);
     }
 }
예제 #23
0
 public void TestPlcReadSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.InspCh.ReadSpeedSetting());
         Console.WriteLine(plc.InspCh.ReadRobotAboutLimitSetting());
         Console.WriteLine(plc.InspCh.ReadRobotUpDownLimitSetting());
     }
 }
예제 #24
0
 public void TestEMSSignal()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.EMSAlarm(true, false, false, false);
         plc.EMSAlarm(false, true, false, false);
         plc.EMSAlarm(false, false, true, false);
         plc.EMSAlarm(false, false, false, true);
     }
 }
예제 #25
0
        public void TestPlcLoadPort()//測試 OK
        {
            using (var plc = new MacHalPlcContext())
            {
                plc.Connect("192.168.0.200", 2);

                plc.LoadPort.SetPressureDiffLimit(1, 2);
                Console.WriteLine(plc.LoadPort.ReadPressureDiffLimitSrtting());
                Console.WriteLine(plc.LoadPort.ReadPressureDiff());
            }
        }
예제 #26
0
 public void TestPlcHardwareStatus()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.InspectionCh.ReadXYPosition());
         Console.WriteLine(plc.InspectionCh.ReadZPosition());
         Console.WriteLine(plc.InspectionCh.ReadWPosition());
         Console.WriteLine(plc.InspectionCh.ReadRobotPosLeftRight());
         Console.WriteLine(plc.InspectionCh.ReadRobotPosUpDown());
     }
 }
예제 #27
0
 public void TestOuterCoverFan()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         for (uint i = 1; i < 13; i++)
         {
             plc.CoverFanCtrl(i, (600 + i * 50));
         }
         Console.WriteLine(plc.ReadCoverFanSpeed());
     }
 }
예제 #28
0
 public void TestPlcVariableSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         plc.CleanCh.SetParticleCntLimit(1, 2, 3);
         plc.CleanCh.SetRobotAboutLimit(10, -10);
         plc.CleanCh.SetRobotUpDownLimit(10, -10);
         plc.CleanCh.SetPressureDiffLimit(2);
         plc.CleanCh.SetPressureCtrl(10);
     }
 }
예제 #29
0
 public void TestPlcHardwareAction()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.InspectionCh.Initial());
         Console.WriteLine(plc.InspectionCh.XYPosition(20, 10)); //X:300~-10,Y:250~-10
         Console.WriteLine(plc.InspectionCh.ZPosition(-30));     //1~-85
         Console.WriteLine(plc.InspectionCh.WPosition(20));      //0~359
         Console.WriteLine(plc.InspectionCh.SetRobotIntrude(true));
     }
 }
예제 #30
0
 public void TestPlcReadSetting()
 {
     using (var plc = new MacHalPlcContext())
     {
         plc.Connect("192.168.0.200", 2);
         Console.WriteLine(plc.CleanCh.ReadParticleCntLimitSetting());
         Console.WriteLine(plc.CleanCh.ReadRobotAboutLimitSetting());
         Console.WriteLine(plc.CleanCh.ReadRobotUpDownLimitSetting());
         Console.WriteLine(plc.CleanCh.ReadPressureDiffLimitSetting());
         Console.WriteLine(plc.CleanCh.ReadPressureCtrlSetting());
     }
 }