public void Init(ref dynamic parameters) { SpinConfig con = new SpinConfig(); parameters.CONFFile = SpinConfigConstants.SPIN_CONFIG_XML_NAME; con.GetData(ref parameters, "Parametros"); _DispatcherThreads.Add("ComunicacionMeplaca", new ComunicacionMeplaca(this, parameters, "ComunicacionMeplaca")); ConnectMemory("ResultadosUI", new SharedData <Message>(10), "ComunicacionMeplaca"); }
public void Init(ref dynamic parameters) { SpinConfig con = new SpinConfig(); parameters.CONFFile = SpinConfigConstants.SPIN_CONFIG_XML_NAME; con.GetData(ref parameters, "Parametros"); _DispatcherThreads.Add("Productor", new HiloProductor(this, "Productor")); _DispatcherThreads.Add("Consumidor", new HiloConsumidor(this, "Consumidor")); _DispatcherThreads.Add("HiloServidor", new HiloServidor(this, parameters, "HiloServidor")); ConnectMemory("ConsProd", new SharedData <String>(10), "Consumidor", "Productor"); ConnectMemory("Resultados", new SharedData <String>(1), "Consumidor"); CreateEvent("NuevaMedida", new AutoResetEvent(false), "Consumidor", "Productor"); }
/// <summary> /// Inicializa el Modulo MEPLATE. /// </summary> public void Init(dynamic parameters) { try { SpinConfig con = new SpinConfig(); configuracion.CONFFile = SpinConfigConstants.SPIN_CONFIG_XML_NAME; con.GetData(ref configuracion, "Parametros"); // Hilos _DispatcherThreads.Add("Adquisicion", new HiloAdquisicion(this, "Adquisicion", configuracion)); _DispatcherThreads.Add("Procesamiento", new HiloProcesamiento(this, "Procesamiento", configuracion)); _DispatcherThreads.Add("ComunicacionTarjeta", new ComunicacionTarjeta(this, "ComunicacionTarjeta", configuracion)); _DispatcherThreads.Add("ComunicacionOP", new ComunicacionOP(this, "ComunicacionOP", configuracion)); //memorias Ompartidas ConnectMemory("Chapas", new SharedData <List <CMedida> >(20), "Adquisicion", "Procesamiento"); ConnectMemory("Offset", new SharedData <Offset>(1), "Adquisicion", "Procesamiento"); ConnectMemory("Informacion", new SharedData <Informacion>(1), "Adquisicion"); ConnectMemory("Resultados", new SharedData <Resultados>(1), "Procesamiento"); ConnectMemory("Velocidad", new SharedData <Tarjeta>(1), "Adquisicion", "ComunicacionTarjeta"); ConnectMemory("IDChapa", new SharedData <PlateID>(1), "Procesamiento", "ComunicacionOP", "Adquisicion"); //Eventos de sincronizacion CreateEvent("ChapaMedida", new AutoResetEvent(false), "Adquisicion", "Procesamiento"); CreateEvent("ComenzarMedida", new AutoResetEvent(false), "Adquisicion", "ComunicacionTarjeta"); CreateEvent("FinalizarMedida", new AutoResetEvent(false), "Adquisicion", "ComunicacionTarjeta"); CreateEvent("AbortarMedida", new AutoResetEvent(false), "Adquisicion", "ComunicacionTarjeta"); //CreateEvent("IDChapa", new AutoResetEvent(false), "Procesamiento", "ComunicacionOP", "Adquisicion"); //Inicio el Log Log.Init(configuracion.LogMeplate); LogCom.Init(configuracion.LogComunicacion); LogError.Init(configuracion.LogErrores); configuracion.LOGTXTMessage = "MEPLATE is Starting"; Log.SetData(ref configuracion, "Informacion"); } catch (Exception e) { MessageBox.Show(e.Message + " \n Please check config file", "Error Initializating Program"); } }