Пример #1
0
        // checkConnCpuBtn
        private void checkConnCpuBtn_Click(object sender, EventArgs e)
        {
            string errorString;

            try
            {
                using (var plc = new Plc(
                           GetCpuTypeConnect.GetCpuType(Properties.Settings.Default.CpuType),
                           Properties.Settings.Default.IpCpu,
                           Properties.Settings.Default.RackCpu,
                           Properties.Settings.Default.SlotCpu)) //"172.17.132.200"       "127.0.0.1"
                {
                    plc.Open();
                    if (plc.IsConnected)
                    {
                        statusConnLimitsCpu       = true;
                        checkConnCpuBtn.BackColor = Color.Green;
                    }
                    else
                    {
                        statusConnLimitsCpu       = false;
                        checkConnCpuBtn.BackColor = Color.Red;
                    }
                    errorString = plc.LastErrorString;
                    logger.Warn(errorString);   // Write error log
                }
            }
            catch (Exception ex)
            {
                checkConnCpuBtn.BackColor = Color.Red;
                logger.Error(ex.Message, " TEST connect Cpu to Entity");   // Write error log
                errorString = ex.Message;
            }
            errViewTextBox.Text = errorString;  // Show error on screen
        }
Пример #2
0
        // SAVE
        private void saveBtn_Click(object sender, EventArgs e)
        {
            Properties.Settings.Default.CpuType            = GetCpuTypeConnect.GetIntCpuType(cpuTypeComboBox.Text);
            Properties.Settings.Default.IpCpu              = ipTypeTextBox.Text;
            Properties.Settings.Default.RackCpu            = (short)Convert.ToInt32(rackCpuTextBox.Text);
            Properties.Settings.Default.SlotCpu            = (short)Convert.ToInt32(slotCpuTextBox.Text);
            Properties.Settings.Default.timerException     = Convert.ToInt32(timeSleepExceptionBox.Text);
            Properties.Settings.Default.timerStandartCycle = Convert.ToInt32(timerStandartCycleTextBox.Text);
            Properties.Settings.Default.timerMicroDowntime = Convert.ToInt32(timerMicroDowntimeTextBox.Text);

            Properties.Settings.Default.DataBlockLimit    = Convert.ToInt16(dbLimitCpuTextBox.Text);
            Properties.Settings.Default.DataBlockDatetime = Convert.ToInt16(dbDatetimeCpuTextBox.Text);
            if (CheckShiftTransition(shiftTransitionTextBox.Text))
            {
                Properties.Settings.Default.shiftTransition = shiftTransitionTextBox.Text;
                shiftTransitionTextBox.BackColor            = Control.DefaultBackColor;
            }
            else
            {
                shiftTransitionTextBox.BackColor = Color.Red;
            }
            Properties.Settings.Default.Save();

            logger.Info("SAVE config --> " + GetCpuTypeConnect.GetIntCpuType(cpuTypeComboBox.Text));
            logger.Info("SAVE config --> " + ipTypeTextBox.Text);
            logger.Info("SAVE config --> " + (short)Convert.ToInt32(rackCpuTextBox.Text));
            logger.Info("SAVE config --> " + (short)Convert.ToInt32(slotCpuTextBox.Text));
            logger.Info("SAVE config --> " + (short)Convert.ToInt32(timeSleepExceptionBox.Text));
        }
Пример #3
0
 public void WritePositionLimitsCpu(int newPositionRead)
 {
     try
     {
         using (var plc = new Plc(
                    GetCpuTypeConnect.GetCpuType(Properties.Settings.Default.CpuType),
                    Properties.Settings.Default.IpCpu,
                    Properties.Settings.Default.RackCpu,
                    Properties.Settings.Default.SlotCpu)) //"172.17.132.200"       "127.0.0.1"
         {
             Thread.Sleep(timeWaitForOpenConnectCpu);
             plc.Open();
             if (plc.IsConnected)
             {
                 statusConnCpu = true;
                 plc.Write(dbTable + Properties.Settings.Default.DataBlockLimit + dbwTable, newPositionRead);
             }
             else
             {
                 statusConnCpu = false;
                 //TODO need a logger
             }
         }
     }
     catch (Exception ex)
     {
         statusConnCpu = false;
         //TODO need a logger
     }
 }
Пример #4
0
        private Model_dateTime ReadDatetimeLogics(int startByteAdr)
        {
            int dataBlock = Properties.Settings.Default.DataBlockDatetime;

            indexShag = startByteAdr - 1;
            Model_dateTime modelDateTime = null;

            //int year = 0, month = 0, day = 0, hour = 0, minute = 0, second = 0;
            int[] dateTimeArr  = new int[6];
            int   addShagBytes = indexShag * byteStep;

            try
            {
                using (var plc = new Plc(
                           GetCpuTypeConnect.GetCpuType(Properties.Settings.Default.CpuType),
                           Properties.Settings.Default.IpCpu,
                           Properties.Settings.Default.RackCpu,
                           Properties.Settings.Default.SlotCpu)) //"172.17.132.200"       "127.0.0.1"
                {
                    Thread.Sleep(timeWaitForOpenConnectCpu);
                    plc.Open();
                    if (plc.IsConnected)
                    {
                        modelDateTime = new Model_dateTime();

                        for (int i = 0; i < dateTimeArr.Length; i++)
                        {
                            dateTimeArr[i] = GetPlcRead(plc, dataBlock, i * 2 + addShagBytes);
                        }
                        modelDateTime.Id_DateTime = getIdDateTimeForReadDatetime(dateTimeArr);
                        modelDateTime.DateTime    = getDateTimeForReadDatetime(dateTimeArr);
                    }
                    else
                    {
                        modelDateTime = null;
                        //TODO need a logger
                    }
                }
            }
            catch (Exception ex)
            {
                modelDateTime = null;
                //TODO need a logger
            }
            return(modelDateTime);
        }
Пример #5
0
        public SettingsForm()
        {
            InitializeComponent();

            loadCpu = new LoadCpu();

            cpuTypeComboBox.Text           = GetCpuTypeConnect.GetStrCpuType(Properties.Settings.Default.CpuType);
            ipTypeTextBox.Text             = Properties.Settings.Default.IpCpu;
            rackCpuTextBox.Text            = Properties.Settings.Default.RackCpu.ToString();
            slotCpuTextBox.Text            = Properties.Settings.Default.SlotCpu.ToString();
            timeSleepExceptionBox.Text     = Properties.Settings.Default.timerException.ToString();
            timerStandartCycleTextBox.Text = Properties.Settings.Default.timerStandartCycle.ToString();
            timerMicroDowntimeTextBox.Text = Properties.Settings.Default.timerMicroDowntime.ToString();

            dbLimitCpuTextBox.Text      = Properties.Settings.Default.DataBlockLimit.ToString();
            dbDatetimeCpuTextBox.Text   = Properties.Settings.Default.DataBlockDatetime.ToString();
            shiftTransitionTextBox.Text = Properties.Settings.Default.shiftTransition;

            new Thread(cycleWord).Start();
        }
Пример #6
0
        private LimitsCpu ReadLimitsLogics()
        {
            LimitsCpu limitsCpu = null;

            try
            {
                using (var plc = new Plc(
                           GetCpuTypeConnect.GetCpuType(Properties.Settings.Default.CpuType),
                           Properties.Settings.Default.IpCpu,
                           Properties.Settings.Default.RackCpu,
                           Properties.Settings.Default.SlotCpu)) //"172.17.132.200"
                {
                    Thread.Sleep(timeWaitForOpenConnectCpu);
                    plc.Open();
                    if (plc.IsConnected)
                    {
                        limitsCpu = new LimitsCpu();
                        limitsCpu.PositionWrite = GetPlcRead(plc, Properties.Settings.Default.DataBlockLimit, 0);
                        limitsCpu.PositionRead  = GetPlcRead(plc, Properties.Settings.Default.DataBlockLimit, 2);
                        limitsCpu.PositionMin   = GetPlcRead(plc, Properties.Settings.Default.DataBlockLimit, 4);
                        limitsCpu.PositionMax   = GetPlcRead(plc, Properties.Settings.Default.DataBlockLimit, 6);
                    }
                    else
                    {
                        limitsCpu = null;
                        //TODO need a logger
                    }
                }
            }
            catch (Exception ex)
            {
                limitsCpu = null;
                //TODO need a logger
            }
            return(limitsCpu);
        }