Пример #1
0
        ServoPrm SetParameters()
        {//value is from *.prm file (ServoGuide Parameter file)
            ServoPrm P = new ServoPrm();

            //P.FANUCs.HRVGain = 300;
            //P.FANUCs.VelocityLoopGain = 100;
            //P.JL = 0.00546;

            P.KVI = 740.2203300818m;
            P.KVP = 6.6915923521467m;

            P.dTzoh           = 0.001m;
            P.Tc              = 0.0003m;
            P.IsHighCycle     = true;
            P.IsFullCloseLoop = true;

            return(P);
        }
Пример #2
0
        public Form1()
        {
            InitializeComponent();

            //WATCH OUT:
            //Definition of Modes has changed.
            //VLoopModes adds additional 0Hz. mode.
            //0Hz. mode. should be also defined in Mode object.

            //Object name change: Parameter --> ServoPrm

            //Add Motor object. (not important)



            //Set experiment Control Parameters
            ServoPrm   P     = SetParameters();
            FANUCMotor Motor = new FANUCMotor(1.2, 0.012);

            ////create Object
            // VR = new VelocityLoop(P, Motor, VLoopModes);


            //read FRF File from csv file, which is created by servoguide
            //this data is considered as referance.
            FRF[] Close_ref = Tool.Read_ServoGuide_FRFdata("Frequency_Response_Axis-1_1_-_1000Hz_edited.csv");
            //set freq interval. it should be identical with ref.
            //VR.IsFreqDataSameAsRef = true;
            //VR.SetCustomFreqInterval(Close_ref);



            //remove controller response from measurement data
            //extract Structure response
            Struct_ref = Tool.ExtractStructureResponseFromVLoop(P, Motor, Close_ref);
            //OPTIMIZATION TARGET



            ////caculate simulated FRF.
            //FRF[] Close_sim = VR.GetCloseLoop(); //////////// HERE
            //FRF[] Open_sim = VR.GetOpenLoop(); //////////// HERE

            //draw simulated FRF of close loop system
            //DrawLine(Close_ref, 0);
            //DrawLine(Close_sim, 1);


            //caculate simulated Structure FRF.
            //FRF[] Struct_sim = new FRF[Struct_ref.Length];
            //for (int i = 0; i < Struct_ref.Length; i++)
            //{
            //    Complex Res = Tool.GetStructureResponse(Struct_ref[i].Freq, VLoopModes, "Velocity");
            //    Struct_sim[i] = new FRF(Struct_ref[i].Freq, Res);
            //}



            //draw simulated FRF of structure

            DrawLine(Struct_ref, 0);
            //DrawLine(Struct_sim, 1);
        }