Beispiel #1
0
        //--------------------------------------------------------------------------------

        private void FPrincipal_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!b_terminate)
            {
                e.Cancel     = true;
                WD_terminate = Environment.TickCount;
                BackgoundWorker_PLCSync.CancelAsync();
            }
            b_terminate = true;
        }
Beispiel #2
0
        //------------------------------------------------------------------------------
        public FPrincipal()
        {
            InitializeComponent();
            try
            {
                LogFile    = new LogFile();
                MessageLog = new Log("FPrincipal");
                config     = new Config();
                plc        = new PLCInterface(config);
                DB         = new Database(plc);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                MessageLog.Add(e.Message);
            }
            b_init_ok   = false;
            b_terminate = false;


            if (!config.Load("config.json"))
            {
                MessageBox.Show("Error al abrir archivo de configuración.");
                MessageLog.Add(config.MessageLog);
                //cerrar la aplicación
            }
            else
            {
                //Le asigna la configuración al plc
                plc.Protocol = config.Protocol;
                switch (plc.Protocol)
                {
                case "MODBUS/TCP":
                {
                    plc.IPAddress = config.IPAddrPLC;
                    plc.Port      = config.Port;
                    plc.UnitID    = config.UnitID;
                    break;
                }

                case "MODBUS/RTU":
                {
                    plc.SerialPort = config.SerialPort;
                    plc.BaudRate   = config.BaudRate;
                    plc.Parity     = config.Parity;
                    plc.StopBits   = config.StopBits;
                    plc.Type       = config.Type;
                    plc.UnitID     = config.UnitID;
                    break;
                }
                }

                PLCPlanta_Period1 = config.DataReloadPeriod1;
                PLCPlanta_Period2 = config.DataReloadPeriod2;

                timer_UpdateUI.Start();
                BackgoundWorker_PLCSync.RunWorkerAsync();
                MessageLog.Add("Inicio ejecución programa.");

                b_init_ok = true;
            }
        }