/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardApplication constructor * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : * */ /*#--------------------------------------------------------------------------#*/ public FiddleYardApplication(string instance, FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH) { m_instance = instance; m_FYIOHandleVar = FYIOHandleVar; m_iFYIOH = iFYIOH; if ("TOP" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardApplicationTOP.txt"; // different logging file per target, this is default FiddleYardApplicationLogging = new Log2LoggingFile(path); } else if ("BOT" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardApplicationBOT.txt"; // different logging file per target, this is default FiddleYardApplicationLogging = new Log2LoggingFile(path); } // Sub programs FYAppVar = new FiddleYardApplicationVariables(m_FYIOHandleVar); // FiddleYard Application variables class, holds all variables and functions regarding variables FYMIP50 = new FiddleYardMip50(m_instance, m_FYIOHandleVar, m_iFYIOH, FYAppVar); FYAppRun = new FiddleYardAppRun(m_FYIOHandleVar, m_iFYIOH, FYAppVar, FYMIP50, FiddleYardApplicationLogging); FYTDT = new FiddleYardTrainDetection(m_FYIOHandleVar, FYAppVar, FYMIP50, FiddleYardApplicationLogging); FYAppInit = new FiddleYardAppInit(m_FYIOHandleVar, FYAppVar, FYMIP50, FYTDT, FiddleYardApplicationLogging); FYFORM = new FiddleYardForm(this);//, FYMip50SettingsForm); //Init and setup FYFORM (after the creation of the sensors and commands) if ("TOP" == m_instance) FYFORM.Name = "FiddleYardTOP"; else if ("BOT" == m_instance) FYFORM.Name = "FiddleYardBOT"; FYFORM.Show(); FYFORM.Hide(); FYFORM.Connect(m_FYIOHandleVar, FYAppVar); // connect the Form to the FYIOHandle interface }
/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardAppTrainDrive() * Constructor * * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public FiddleYardAppTrainDrive(FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH, FiddleYardApplicationVariables FYAppVar, FiddleYardMip50 FYMIP50, Log2LoggingFile FiddleYardApplicationLogging) { m_FYIOHandleVar = FYIOHandleVar; m_iFYIOH = iFYIOH; m_FYAppVar = FYAppVar; m_FYMIP50 = FYMIP50; m_FYAppLog = FiddleYardApplicationLogging; TrainDriveIn_Machine = State.Start; TrainDriveOut_Machine = State.Start; TrainDriveThrough_Machine = State.Start; Message Msg_uControllerReady = new Message("uControllerReady", " uControllerReady ", (name, log) => SetMessage(name, log)); // initialize and subscribe readback action, Message m_FYIOHandleVar.uControllerReady.Attach(Msg_uControllerReady); }
/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardAppRun() * Constructor * * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : */ /*#--------------------------------------------------------------------------#*/ public FiddleYardAppRun(FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH, FiddleYardApplicationVariables FYAppVar, FiddleYardMip50 FYMIP50, Log2LoggingFile FiddleYardApplicationLogging) { m_iFYIOH = iFYIOH; m_FYIOHandleVar = FYIOHandleVar; m_FYAppVar = FYAppVar; m_FYMIP50 = FYMIP50; m_FYAppLog = FiddleYardApplicationLogging; FYAppTrainDrive = new FiddleYardAppTrainDrive(m_FYIOHandleVar, m_iFYIOH, m_FYAppVar, m_FYMIP50, m_FYAppLog); State_Machine = State.Idle; Message Msg_TrackPower15VDown = new Message("TrackPower15VDown", " TrackPower15VDown ", (name, log) => SetMessage(name, 0, log)); // initialize and subscribe readback action, Message m_FYIOHandleVar.TrackPower15VDown.Attach(Msg_TrackPower15VDown); Sensor Sns_TrackPower15V = new Sensor("15VTrackPower", " 15V Track Power ", 0, (name, val, log) => SetMessage(name, val, log)); // initialize and subscribe sensors m_FYIOHandleVar.TrackPower15V.Attach(Sns_TrackPower15V); Command Act_Collect = new Command("Collect", (name) => SetMessage(name, 0, "")); // initialize and subscribe Commands m_FYAppVar.FormCollect.Attach(Act_Collect); }
//private const int TEMPOFFSET = 700; //public uint[] TrackForward = new uint[12] { 0, 0, 42800, 85600, 128400, 171200, 214000, 256800, 299600, 342400, 385200, 428000 };// New track coordinates forward movement 1 --> 11 //public uint[] TrackBackwardOffset = new uint[12] { 0, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, TEMPOFFSET, 0 }; // New track coordinates forward movement 11 --> 1 offset number /*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardApplication constructor * * Input(s) : instance == TOP || BOTTOM, FYIOHancleVar (FY IO handle variables class) and interface to FY IO Handler * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : * */ /*#--------------------------------------------------------------------------#*/ public FiddleYardMip50(string instance, FiddleYardIOHandleVariables FYIOHandleVar, iFiddleYardIOHandle iFYIOH, FiddleYardApplicationVariables FYAppVar) { m_instance = instance; m_FYIOHandleVar = FYIOHandleVar; m_iFYIOH = iFYIOH; m_FYAppVar = FYAppVar; if ("TOP" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardMIP50TOP.txt"; // different logging file per target, this is default FiddleYardMIP50Logging = new Log2LoggingFile(path); } else if ("BOT" == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardMIP50BOT.txt"; // different logging file per target, this is default FiddleYardMIP50Logging = new Log2LoggingFile(path); } }
/*#--------------------------------------------------------------------------#*/ /* Description: FiddleYardSimTrain constructor * * Input(s) : * * Output(s) : * * Returns : * * Pre.Cond. : * * Post.Cond. : * * Notes : * */ /*#--------------------------------------------------------------------------#*/ public FiddleYardSimTrain(bool instance, iFiddleYardSimulator iFYSim, iFiddleYardIOHandle iFYIOH) { m_iFYSim = iFYSim; m_iFYIOH = iFYIOH; m_instance = instance; Sensor Cmd_TargetAlive = new Sensor("TargetAlive", "TargetAlive", 0, (name, val, log) => SimulatorCmd(name, val, log)); // initialize and subscribe sensors m_iFYSim.GetFYSim().TargetAlive.Attach(Cmd_TargetAlive); Sensor TrackNo = new Sensor("Track_No", " Track Nr ", 0, (name, val, log) => SimulatorCmd(name, val, log)); // initialize and subscribe sensors m_iFYIOH.GetIoHandler().TrackNo.Attach(TrackNo); if (TOP == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardSimTrainTOP.txt"; // different logging file per target, this is default FiddleYardSimTrainLogging = new Log2LoggingFile(path); } else if (BOT == m_instance) { path = @"c:\localdata\Siebwalde\" + DateTime.Now.Day + "-" + DateTime.Now.Month + "-" + DateTime.Now.Year + "_FiddleYardSimTrainBOT.txt"; // different logging file per target, this is default FiddleYardSimTrainLogging = new Log2LoggingFile(path); } Sensor Sns_FYSimSpeedSetting = new Sensor("FYSimSpeedSetting", " FYSimSpeedSetting ", 0, (name, val, log) => SimulatorSettings(name, val, log)); // initialize and subscribe sensors Siebwalde_Application.Properties.Settings.Default.FYSimSpeedSetting.Attach(Sns_FYSimSpeedSetting); }