Example #1
0
        static void Main()
        {
            Type t = Type.GetType("Cn.Youdundianzi.Share.Util.Motor.MotorSignalSettings");

            CSettings settings = (CSettings)ModuleConfig.GetSettings(t, "Test.config");

            signLen             = new SignLength();
            signLen.GAN_LENGTH  = settings.SignConfig.GanLength;
            signLen.XIAN_LENGTH = settings.SignConfig.XianLength;
            signLen.CHE_LENGTH  = settings.SignConfig.CheLength;

            SimForm simForm = new Cn.Youdundianzi.Share.Util.Sim6G6X4C.SimForm();

            ISignalMonitor monitor = SignalMonitorFactory.CreateSignalMonitor("Motor.exe", "Cn.Youdundianzi.Share.Signal.Motor.MotorMonitor", settings);

            oldData = monitor.CreateMonDate(signLen);
            monitor.HotKeyHandle = simForm.Handle;
            monitor.RegMonitor(simForm);
            Program p = new Program();

            monitor.RegMonitor(p);

            ITranslator translator = TranslatorFactory.CreateTranslater("Motor.exe", "Cn.Youdundianzi.Exam.MotorSignalTranslator", monitor);
            //IStateManager sm = StateManagerFactory.CreateStateManager("Motor.exe", "Cn.Youdundianzi.Exam.State.MotorState.MotorStateManager", translator, settings);
            //IStateManager sm = StateManagerFactory.CreateStateManager("Motor.exe", "Cn.Youdundianzi.Exam.State.XA2WMotorState.MotorStateManager", translator, settings);
            IStateManager sm = StateManagerFactory.CreateStateManager("Motor.exe", "Cn.Youdundianzi.Exam.State.XA3WMotorState.MotorStateManager", translator, settings);

            sm.CurrentState = sm.EntryState;

            monitor.Start();
            Application.Run(simForm);
        }
Example #2
0
        static void Main()
        {
            CSettings settings = (CSettings)ModuleConfig.GetSettings(new CTestSettings().GetType(), "Test.config");

            signLen             = new SignLength();
            signLen.GAN_LENGTH  = settings.SignConfig.GanLength;
            signLen.XIAN_LENGTH = settings.SignConfig.XianLength;
            signLen.CHE_LENGTH  = settings.SignConfig.CheLength;

            Util.Sim6G6X4C.SimForm simForm = new Cn.Youdundianzi.Share.Util.Sim6G6X4C.SimForm();

            ISignalMonitor monitor = SignalMonitorFactory.CreateSignalMonitor("Share.exe", "Cn.Youdundianzi.Share.Signal.JKY.CTestMonitor", settings);

            oldData = monitor.CreateMonDate(signLen);
            monitor.HotKeyHandle = simForm.Handle;
            monitor.RegMonitor(simForm);
            Program p = new Program();

            monitor.RegMonitor(p);
            monitor.Start();
            Application.Run(simForm);
        }
Example #3
0
        public virtual void InitializeExamComponent(CSettings set, ISignalMonitor mon, IStateManager sm)
        {
            this.settings = set;
            this.monitor  = mon;
            this.statemgr = sm;

            gan  = new CGanFairy[set.InitPosition.NumOfGan];
            xian = new CLineFairy[set.InitPosition.NumOfXian];
            monitor.RegMonitor(this);
            statemgr.RegExamObserver(this);

            ganbm[0] = new Bitmap(settings.ModelAppearance.Gan.Normal);
            ganbm[1] = new Bitmap(settings.ModelAppearance.Gan.Error);
            ganbm[2] = new Bitmap(settings.ModelAppearance.Gan.Shield);

            for (int i = 0; i < set.InitPosition.NumOfXian; i++)
            {
                XianPosition x = settings.InitPosition.Xian[i];
                xian[i]          = new CLineFairy(x.X1, x.Y1, x.X2, x.Y2);
                xian[i].LineName = (i + 1).ToString();
                cdm.RegDisplay(xian[i]);
            }

            for (int i = 0; i < set.InitPosition.NumOfGan; i++)
            {
                gan[i]         = new CGanFairy(ganbm);
                gan[i].GanName = (i + 1).ToString();

                GanPosition gp = settings.InitPosition.Gan[i];
                gan[i].X = gp.X;
                gan[i].Y = gp.Y - 10;
                cdm.RegDisplay(gan[i]);
            }

            che = new CBmpFairy(settings.ModelAppearance.Che.Normal);
            cdm.RegDisplay(che);

            ResetElements();

            stateDuration = new int[4];

            stateDuration[0] = settings.StateDuration[0];
            stateDuration[1] = settings.StateDuration[1];
            stateDuration[2] = settings.StateDuration[2];
            stateDuration[3] = settings.StateDuration[3];

            timer       = new Timer();
            timer.Tick += new EventHandler(timer_Tick);
            timer.Start();//屏幕刷新启动
        }
Example #4
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (IsStartTest)
            {
                this.timer1.Stop();
                this.timer1.Enabled = false;
                monitor.Close();
                monitor.UnRegMonitor(this);
                monitor.HotKeyHandle = IntPtr.Zero;
                monitor.Dispose();
                monitor = null;

                GC.Collect();
                GC.WaitForPendingFinalizers();

                this.btnStart.Text      = "开始检测";
                this.comBoxType.Enabled = true;
                IsStartTest             = false;
            }
            else
            {
                IsStartTest        = true;
                this.btnStart.Text = "停止检测";
                CheckConfig();

                this.timer1.Enabled = true;
                this.timer1.Start();
                this.comBoxType.Enabled = false;

                try
                {
                    monitor = SignalMonitorFactory.CreateSignalMonitor(_monInfo, _currentSetup.Settings);
                    monitor.HotKeyHandle = this.Handle;
                    monitor.RegMonitor(this);
                    monitor.Start();
                }
                catch (InvalidCastException ice)
                {
                    MessageBox.Show("Monitor与Setting不配套。", "错误!");
                    this.Close();
                }
            }
        }
Example #5
0
 public SignalDisplay(ISignalMonitor mon)
 {
     InitializeComponent();
     monitor = mon;
     monitor.RegMonitor(this);
 }