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); }
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(); }
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); }
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); }
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); }
public IMonData CreateMonDate(SignLength length) { return(new CJKYMonData(length)); }