Пример #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);
        }
Пример #2
0
        public CJKYBaseMonitor(CSettings settings)
        {
            commonSettings = settings;
            SignalConfigures sigConf = settings.SignConfig;

            iorport     = sigConf.IOReaderPort;
            iowport     = sigConf.IOWritterPort;
            printerport = sigConf.PrinterPort;
            g_jifennum  = sigConf.GanJiFen;
            x_jifennum  = sigConf.XianJiFen;
            lx_jifennum = sigConf.LXianJiFen;
            if (g_jifennum < 2 || g_jifennum > 100)
            {
                g_jifennum = 2;
            }
            if (x_jifennum < 2 || x_jifennum > 100)
            {
                x_jifennum = 2;
            }
            if (lx_jifennum < 2 || lx_jifennum > 100)
            {
                lx_jifennum = 2;
            }

            max_x_jifennum = Math.Max(x_jifennum, lx_jifennum);

            signLen = new SignLength();

            signLen.GAN_LENGTH  = ganlen = sigConf.GanLength;
            signLen.XIAN_LENGTH = xianlen = sigConf.XianLength;
            signLen.CHE_LENGTH  = chelen = sigConf.CheLength;

            readIOLoopTime = sigConf.ReadIOLoopTime;

            mondata      = CreateMonDate(signLen);
            mondata_cur  = CreateMonDate(signLen);
            mondata_old  = CreateMonDate(signLen);
            g_jifenQueue = new List <CSignals>(g_jifennum);
            x_jifenQueue = new List <CSignals>(max_x_jifennum);

            adminPBGan  = sigConf.AdminPBGan;
            adminPBXian = sigConf.AdminPBXian;
            adminQFGan  = sigConf.AdminQFGan;
            adminQFXian = sigConf.AdminQFXian;
            PBChe       = sigConf.PBChe;
            PBGan       = sigConf.PBGan;
            PBXian      = sigConf.PBXian;

            ganpos  = sigConf.GanPosition;
            xianpos = sigConf.XianPosition;
            chepos  = sigConf.ChePosition;

            ApplyCommonSettings();

            mythread = new Thread(Monitor);
            regobj   = new ArrayList();
        }
Пример #3
0
        public CJKYMonData(SignLength signLen)
        {
            GAN_LENGTH  = signLen.GAN_LENGTH;
            XIAN_LENGTH = signLen.XIAN_LENGTH;
            CHE_LENGTH  = signLen.CHE_LENGTH;

            Gan  = new CSignals(SignalType.GAN, GAN_LENGTH);
            Xian = new CSignals(SignalType.XIAN, XIAN_LENGTH);
            Che  = new CSignals(SignalType.CHE, CHE_LENGTH);
        }
Пример #4
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);
        }
Пример #5
0
        private bool checkSignals()
        {
            IMonData   tempData = monitor.CurrData;
            SignLength sigLen   = monitor.SignalLength;
            CSignals   ganSig   = tempData.GetSignals(SignalType.GAN);

            for (int i = 0; i < sigLen.GAN_LENGTH; i++)
            {
                if (ganSig[i] == 0)
                {
                    return(false);
                }
            }
            CSignals xianSig = tempData.GetSignals(SignalType.XIAN);

            for (int i = 0; i < sigLen.XIAN_LENGTH; i++)
            {
                if (xianSig[i] == 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #6
0
 public IMonData CreateMonDate(SignLength length)
 {
     return(new CJKYMonData(length));
 }