예제 #1
0
        public string button_CwIndex_Click(object sender, EventArgs e)
        {
            string        resultStr = "CwIndex OK";
            string        errStr    = "";
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);
            byte          StopCode  = 0;
            ushort        Cmd       = 0;
            uint          LData     = 0;

            //*** INCREMENTAL INDEX DRIVE COMMAND ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            Cmd   = 0x14;
            LData = 10000;
            if (MC07.LWDrive(hDev, Cmd, ref LData, ref sResult) == false)
            {
                resultStr = "It failed in MC07.LWDrive(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }
            bool isResult = Ready_Wait(hDev, ref StopCode, false, ref errStr);

            if (!isResult)
            {
                resultStr = errStr;
            }
            return(resultStr);
        }
예제 #2
0
        public string button_CwScan_Click(object sender, EventArgs e)
        {
            string        resultStr = "CwScan OK";
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);
            ushort        Cmd       = 0;
            byte          StopCode  = 0;
            string        errStr    = "";

            //*** +CW SCAN DRIVE COMMAND ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            Cmd = 0x12;
            if (MC07.BWDriveCommand(hDev, ref Cmd, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveCommand(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }
            bool isResult = Ready_Wait(hDev, ref StopCode, false, ref errStr);

            if (!isResult)
            {
                resultStr = errStr;
            }
            return(resultStr);
        }
예제 #3
0
        public string button_Org_Click(object sender, EventArgs e)
        {
            string        resultStr = "Org OK";
            string        errStr    = "";
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);
            byte          StopCode  = 0;

            //*** ORIGIN DRIVE ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            if (MC07.Org(hDev, MC07.MC07_ORG3, ref sResult) == false)
            {
                resultStr = "It failed in MC07.Org() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }
            bool isResult = Ready_Wait(hDev, ref StopCode, false, ref errStr);

            if (!isResult)
            {
                resultStr = errStr;
            }
            return(resultStr);
        }
예제 #4
0
        public string StepDrive(int step, out bool isRes)
        {
            DisplayAddress();

            isRes = true;
            //移動後パルスチェック
            if (DataController.SETDATA.Origin[CcdF] == 1)
            {
                if ((gRData + step) < DataController.SETDATA.L_LimitPLS[CcdF] ||
                    (gRData + step) > DataController.SETDATA.U_LimitPLS[CcdF])
                {
                    isRes = false;
                    return("StepDrive Range Over Error");
                }
            }

            string        resultStr = "StepDrive OK";
            string        errStr    = "";
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);
            byte          StopCode  = 0;
            ushort        Cmd       = 0;
            uint          LData     = 0;

            //*** INCREMENTAL INDEX DRIVE COMMAND ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }

            Cmd = 0x14;

            if (step < 0)
            {
                LData = MC07.Unsigned32(step);
            }
            else
            {
                LData = (uint)step;
            }

            if (MC07.LWDrive(hDev, Cmd, ref LData, ref sResult) == false)
            {
                resultStr = "It failed in MC07.LWDrive(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }
            bool isResult = Ready_Wait(hDev, ref StopCode, false, ref errStr);

            if (!isResult)
            {
                resultStr = errStr;
            }
            return(resultStr);
        }
예제 #5
0
        public string button_ClrError_Click(object sender, EventArgs e)
        {
            string resultStr = "ClrError OK";

            MC07_S_RESULT sResult = new MC07_S_RESULT(0);

            if (MC07.ClrError(hDev, ref sResult) == false)
            {
                resultStr = "It failed in MC07.ClrError() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
            }
            return(resultStr);
        }
예제 #6
0
        public string button_Close_Click(object sender, EventArgs e)
        {
            string        resultStr = "Close OK";
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);

            //*** DEVICE CLOSE ***
            if (MC07.BClose(hDev, ref sResult) == false)
            {
                resultStr = "It failed in MC07_BClose() : MC07_Result(1)=" + sResult.MC07_Result[1].ToString();
            }
            return(resultStr);
        }
예제 #7
0
        public string button_Open_Click(object sender, EventArgs e)
        {
            MC07_S_RESULT sResult = new MC07_S_RESULT(0);

            string resultStr = "Open OK";

            //DEVICE OPEN
            if (MC07.BOpen(MC07.MC07_USB_UNIT_0, MC07.MC07_X, ref hDev, ref sResult) == false)
            {
                resultStr = "It failed in MC07_BOpen() : MC07_Result(1)=" + sResult.MC07_Result[1].ToString();
            }
            return(resultStr);
        }
예제 #8
0
        public string button_SlowStop_Click(object sender, EventArgs e)
        {
            string        resultStr = "SlowStop OK";
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);
            ushort        Cmd       = 0;

            //*** SLOW STOP COMMAND ***
            Cmd = 0xFE;
            if (MC07.BWDriveCommand(hDev, ref Cmd, ref sResult) == false)
            {
                resultStr = "It failed in MC07_BWDriveCommand(H'" + Cmd.ToString("X") + ") : MC07_Result(1)=" + sResult.MC07_Result[1].ToString();
            }
            return(resultStr);
        }
예제 #9
0
        public string button_Reset_Click(object sender, EventArgs e)
        {
            string        resultStr = "Reset OK";
            uint          LData     = 0;
            ushort        Cmd       = 0;
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);

            //*** ADDRESS COUNTER PRESET ***
            Cmd   = 0x80;
            LData = 0;
            if (MC07.LWDrive(hDev, Cmd, ref LData, ref sResult) == false)
            {
                resultStr = "It failed in MC07_LWDrive(H'" + Cmd.ToString("X") + ") : MC07_Result(1)=" + sResult.MC07_Result[1].ToString();
            }
            return(resultStr);
        }
예제 #10
0
        public void Release()
        {
#if false
            MC07_S_RESULT sResult = new MC07_S_RESULT(0);
            Boolean       Ret     = false;

            Ret = MC07.BClose(hDev, ref sResult);

            Ret = MC07.UWExUnitCommControl(hUnit, MC07.MC07_EX_UNIT_COMM_STOP, ref sResult);

            Ret = MC07.UClose(hUnit, ref sResult);

            Ret = MC07.BPortClose(hInPort, ref sResult);

            Ret = MC07.BPortClose(hOutPort, ref sResult);
#endif
        }
예제 #11
0
        private Boolean CheckStatus1(uint hDevice, ref string errStr)
        {
            MC07_S_RESULT sResult = new MC07_S_RESULT(0);
            ushort        Cmd     = 0;
            ushort        Status1 = 0;
            ushort        Data1   = 0;

            //*** CHECK STATUS1 BUSY BIT = 0 (WAIT TIME = 1000ms)***
            if (MC07.BWaitDriveCommand(hDevice, 1000, ref sResult) == false)
            {
                errStr = "It failed in MC07.BWaitDriveCommand() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(false);
            }

            //*** READ STATUS1 ***
            if (MC07.BRStatus1(hDevice, ref Status1, ref sResult) == false)
            {
                errStr = "It failed in MC07.BRStatus1() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(false);
            }

            //*** CHECK STATUS1 ERROR BIT = 0 ***
            if ((Status1 & 0x0010) != 0)
            {
                //*** READ ERROR STATUS ***
                Cmd = 0xD1;
                if (MC07.BWDriveCommand(hDevice, ref Cmd, ref sResult) == false)
                {
                    errStr = "It failed in MC07.BWDriveCommand(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                    return(false);
                }

                if (MC07.BRDriveData1(hDevice, ref Data1, ref sResult) == false)
                {
                    errStr = "It failed in MC07.BRDriveData1(): MC07.Result(1) = " + sResult.MC07_Result[1].ToString();
                    return(false);
                }

                errStr = "STATUS1 ERROR = 1 : ERROR STATUS = H'" + Data1.ToString("X") + "\r\n Please click 'Clear Error'";

                return(false);
            }

            return(true);
        }
예제 #12
0
        public string DisplayPulse()
        {
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);
            uint          WData     = 0;
            uint          RData     = 0;
            ushort        Cmd       = 0;
            string        resultStr = "";

            //*** PULSE COUNTER READ COMMAND ***
            Cmd = 0xD9;
            if (MC07.LWRDrive(hDev, Cmd, ref WData, ref RData, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveCommand(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            gPulse = (int)RData;

            resultStr = string.Format("{0:#,###,###,##0}", MC07.Signed32(RData));
            return(resultStr);
        }
예제 #13
0
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public string button_Env_Click(object sender, EventArgs e)
        {
            MC07_S_RESULT    sResult  = new MC07_S_RESULT(0);
            MC07_S_UNIT_INFO unitInfo = new MC07_S_UNIT_INFO();

            string resultStr = "Environment OK";

            if (MC07.Environment(MC07.MC07_USB_UNIT_0, ref sResult) == false)
            {
                resultStr = "It failed in MC07_Environment() : MC07_Result(1)=" + sResult.MC07_Result[1].ToString();
            }

            if (MC07.ReadUnitInfo(MC07.MC07_USB_UNIT_0, ref unitInfo, ref sResult) == false)
            {
                resultStr = "It failed in MC07_ReadUnitInfo() : MC07_Result(1)=" + sResult.MC07_Result[1].ToString();
            }

            if (unitInfo.UnitType[0] == 0xFF)
            {
                resultStr = "NO CONTROLLER UNIT:Please Check USB connection";
            }

            return(resultStr);
        }
예제 #14
0
        private bool Ready_Wait(uint hDevice, ref byte StopCode, bool OriginDriveFlag, ref string errStr)
        {
            MC07_S_RESULT sResult = new MC07_S_RESULT(0);
            ushort        Status1 = 0;

            do
            {
//				Now_Address_Display( hDevice );
                Application.DoEvents();
//				Now_Address_Display( hDevice );
                if (MC07.BRStatus1(hDevice, ref Status1, ref sResult) == false)
                {
                    errStr   = "It failed in MC07.BRStatus1() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                    StopCode = 7;
                    return(false);
                }
            }while((Status1 & 0x0001) != 0);

//            Now_Address_Display( hDevice );

            if (OriginDriveFlag)
            {
                if (MC07.ReadOrgStatus(hDevice, ref Status1, ref sResult) == false)
                {
                    errStr   = "It failed in MC07.ReadOrgStatus() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                    StopCode = 7;
                    return(false);
                }
                if ((Status1 & 0x8000) != 0)
                {
                    StopCode = 6;                                            // ADDRESS ERROR
                }
                else if ((Status1 & 0x4000) != 0)
                {
                    StopCode = 5;                                            // ERROR PULSE ERROR
                }
                else if ((Status1 & 0x2000) != 0)
                {
                    StopCode = 4;                                            // SENSOR ERROR
                }
                else if ((Status1 & 0x0020) != 0)
                {
                    StopCode = 3;                                            // LSEND
                }
                else if ((Status1 & 0x0040) != 0)
                {
                    StopCode = 2;                                            // SSEND
                }
                else if ((Status1 & 0x0080) != 0)
                {
                    StopCode = 1;                                            // FSEND
                }
                else
                {
                    StopCode = 0;                                            // PASS
                }
            }
            else
            {
                if ((Status1 & 0x0020) != 0)
                {
                    StopCode = 3;                                            // LSEND
                }
                else if ((Status1 & 0x0040) != 0)
                {
                    StopCode = 2;                                            // SSEND
                }
                else if ((Status1 & 0x0080) != 0)
                {
                    StopCode = 1;                                            // FSEND
                }
                else
                {
                    StopCode = 0;                                            // PASS
                }
            }
            return(true);
        }
예제 #15
0
        public string button_DataSet_Click(object sender, EventArgs e)
        {
            string        resultStr = "DataSet OK";
            MC07_S_RESULT sResult   = new MC07_S_RESULT(0);
            ushort        Data      = 0;
            ushort        Cmd       = 0;
            uint          LData     = 0;
            string        errStr    = "";

            //*** FSPD SET COMMAND       : 5000Hz ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            Cmd   = 0x5;
            LData = 5000;
            if (MC07.LWDrive(hDev, Cmd, ref LData, ref sResult) == false)
            {
                resultStr = "It failed in MC07.LWDrive(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            //*** JSPD SET COMMAND       : 1000Hz ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            Cmd   = 0xC;
            LData = 1000;
            if (MC07.LWDrive(hDev, Cmd, ref LData, ref sResult) == false)
            {
                resultStr = "It failed in MC07.LWDrive(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            //*** HIGH SPEED SET COMMAND ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            Data = 5000;                            // HSPD       : 5000Hz;
            if (MC07.BWDriveData1(hDev, ref Data, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveData1() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            Data = 0x3;                             // RESOL No.  : 3;
            if (MC07.BWDriveData2(hDev, ref Data, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveData2() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            Cmd = 0x6;
            if (MC07.BWDriveCommand(hDev, ref Cmd, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveCommand(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            //*** LOW SPEED SET COMMAND ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            Data = 1000;                            // LSPD       : 1000Hz
            if (MC07.BWDriveData1(hDev, ref Data, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveData1() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            Data = 1000;                             // ELSPD      : 1000Hz
            if (MC07.BWDriveData2(hDev, ref Data, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveData2() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            Cmd = 0x7;
            if (MC07.BWDriveCommand(hDev, ref Cmd, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveCommand(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            //*** RATE SET COMMAND ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            Data = 200;                            // UCYCLE     : 100μs
            if (MC07.BWDriveData1(hDev, ref Data, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveData1() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            Data = 200;                             // DCYCLE     : 100μs
            if (MC07.BWDriveData2(hDev, ref Data, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveData2() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            Cmd = 0x8;
            if (MC07.BWDriveCommand(hDev, ref Cmd, ref sResult) == false)
            {
                resultStr = "It failed in MC07.BWDriveCommand(H'" + Cmd.ToString("X") + ") : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            //*** ORIGIN SPEC SET ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            if (MC07.SetOrgSpec(hDev, 0x8000, ref sResult) == false)
            {
                resultStr = "It failed in MC07.SetOrgSpec() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            //*** MARGIN PULSE            : 5 Pulse ***
            if (CheckStatus1(hDev, ref errStr) == false)
            {
                return(errStr);
            }
            if (MC07.SetOrgMarginPulse(hDev, 5, ref sResult) == false)
            {
                resultStr = "It failed in MC07.SetOrgMarginPulse() : MC07.Result(1)=" + sResult.MC07_Result[1].ToString();
                return(resultStr);
            }

            return(resultStr);
        }