Ejemplo n.º 1
0
        private void StartCounterCoolant()
        {
            if (!FLAG_COUNTER_COOLANT)
            {
                ModbusInput DeviceInput = GlobalProperties.DevicesInput[0];
                CounterValveCoolant.Reset();
                CounterValveCoolant.Start();
                FLAG_COUNTER_COOLANT = true;

                Task task = new Task(() =>
                {
                    while (FLAG_COUNTER_COOLANT)
                    {
                        DeviceInput.GetData("CHA12", out int FeedbackOn);
                        DeviceInput.GetData("CHA13", out int FeedbackOff);
                        if (FeedbackOn == 1 && FeedbackOff == 0)
                        {
                            CounterValveCoolant.Stop();
                            FLAG_COUNTER_COOLANT = false;
                        }
                        else
                        {
                            if (CounterValveCoolant.ElapsedMilliseconds > CounterCoolantTimeout)
                            {
                                Emergency("Valve Coolant Error\nCant Open Valve Coolant", "Unknown Feedback Result", true);
                                FLAG_COUNTER_COOLANT = false;
                            }
                        }
                        Thread.Sleep(1000);
                    }
                });
                task.Start();
            }
        }
Ejemplo n.º 2
0
        private void PullTrolley()
        {
            Task TaskPull = new Task(() =>
            {
                AsyncTask = true;
                StatusIndicator(false);

                while (AsyncTask)
                {
                    try
                    {
                        FLAG_NEXT = false;
                        if (GlobalProperties.ModbusInputStatus && GlobalProperties.ModbusOutputStatus)
                        {
                            // WRITE
                            DeviceOutput.ResetBit(BitInterlock);

                            // READ
                            DeviceInput.GetData("CHA8", out int FeedbackOn);
                            DeviceInput.GetData("CHA9", out int FeedbackOff);

                            // CHECK
                            if (FeedbackOn == 1 && FeedbackOff == 0)
                            {
                                StatusIndicator(true);

                                FLAG_NEXT = true;
                                AsyncTask = false;
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Debug.WriteLine(e.ToString());
                    }
                    Thread.Sleep(100);
                }
            });

            TaskPull.Start();
        }
Ejemplo n.º 3
0
        private void PullTrolley()
        {
            Task TaskPull = new Task(() =>
            {
                AsyncTask = true;
                StatusIndicator(false);

                while (AsyncTask)
                {
                    try
                    {
                        FLAG_NEXT = false;
                        if (PublicProperties.ModbusInputStatus && PublicProperties.ModbusOutputStatus)
                        {
                            // WRITE
                            DeviceOutput.ResetBit(13);

                            // READ
                            DeviceInput.GetData("CHA8", out int result);

                            System.Diagnostics.Debug.WriteLine(result);
                            // CHECK
                            if (result != 0)
                            {
                                StatusIndicator(true);

                                FLAG_NEXT = true;
                                AsyncTask = false;
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Debug.WriteLine(e.ToString());
                    }
                    Thread.Sleep(100);
                }
            });

            TaskPull.Start();
        }