public void SetHeatingElementStatus(OvenChanStatusEnum oven_element) { bool outer_status = false; bool sz_status = false; bool inner_status = false; switch (oven_element) { case OvenChanStatusEnum.all_off: case OvenChanStatusEnum.oven_off: outer_status = false; sz_status = false; inner_status = false; break; case OvenChanStatusEnum.inner: inner_status = true; break; case OvenChanStatusEnum.outer: outer_status = true; break; case OvenChanStatusEnum.SZ: sz_status = true; break; case OvenChanStatusEnum.oven_on: outer_status = true; sz_status = true; inner_status = true; break; default: //exit function return; } if (outer_status) SetOuterIndicatorToOn(); else SetOuterIndicatorToOff(); if (inner_status) SetInnerIndicatorToOn(); else SetInnerIndicatorToOff(); if (sz_status) SetSZIndicatorToOn(); else SetSZIndicatorToOff(); }
// This function turns on the heater coils according to the string // parameter passed to it. Usable string parameters are: "all", "0", // "1", "2", and "none"; "all" and "none" turn on/off all the coils, // while "0", "1", "2" turns on the coil corresponding to that channel // output from the USB-TC device. private void oven_channel_out(OvenChanStatusEnum state) { MccBoard daq = new MccDaq.MccBoard(BoardNum); MccDaq.ErrorInfo RetVal; for (int i = 0; i < 3; i++) { RetVal = daq.DConfigBit(DigitalPortType.AuxPort, i, DigitalPortDirection.DigitalOut); IsError(this,RetVal,true); } switch (state) { case OvenChanStatusEnum.oven_on: for (int i = 0; i < 3; i++) { RetVal = daq.DBitOut(DigitalPortType.AuxPort, i, DigitalLogicState.High); IsError(this,RetVal, true); } break; case OvenChanStatusEnum.oven_off: for (int i = 0; i < 3; i++) { RetVal = daq.DBitOut(DigitalPortType.AuxPort, i, DigitalLogicState.Low); IsError(this,RetVal, true); } break; case OvenChanStatusEnum.all_off: for (int i = 0; i < 3; i++) { RetVal = daq.DBitOut(DigitalPortType.AuxPort, i, DigitalLogicState.Low); IsError(this,RetVal, true); } break; case OvenChanStatusEnum.inner: RetVal = daq.DBitOut(DigitalPortType.AuxPort, 0, DigitalLogicState.High); IsError(this,RetVal, true); break; case OvenChanStatusEnum.SZ: RetVal = daq.DBitOut(DigitalPortType.AuxPort, 1, DigitalLogicState.High); IsError(this,RetVal, true); break; case OvenChanStatusEnum.outer: RetVal = daq.DBitOut(DigitalPortType.AuxPort, 2, DigitalLogicState.High); IsError(this,RetVal, true); break; default: RetVal = new ErrorInfo(1); MessageBox.Show("oven_channel_out() called with invalid parameter!", " " + "ERROR!"); break; } RetVal = daq.DConfigBit(DigitalPortType.AuxPort, 0, DigitalPortDirection.DigitalOut); if (IsError(this, RetVal, true) == 0) { oven_status = state; SetHeatingElementStatus(state); } }