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(); } }
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(); }
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(); }