public static void LinkToApi(this IDigitalInput input, BasicTriList trilist, uint joinStart, string joinMapKey) { IDigitalInputJoinMap joinMap = new IDigitalInputJoinMap(); var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey); if (!string.IsNullOrEmpty(joinMapSerialized)) { joinMap = JsonConvert.DeserializeObject <IDigitalInputJoinMap>(joinMapSerialized); } joinMap.OffsetJoinNumbers(joinStart); try { Debug.Console(1, input as Device, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); // Link feedback for input state input.InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState]); } catch (Exception e) { Debug.Console(1, input as Device, "Unable to link device '{0}'. Input is null", (input as Device).Key); Debug.Console(1, input as Device, "Error: {0}", e); return; } }
private void tmrUpdate_Tick(object sender, EventArgs e) { if (HSTMachine.Workcell.HSTSettings.Install.OperationMode != OperationMode.Simulation) { if (_a3200 != null) { _filelock.EnterWriteLock(); try { fn = _directory + "\\" + "IOSTATE" + "_" + DateTime.Now.ToString("dd-MM-yyyy") + ".txt"; using (StreamWriter outputFile = new StreamWriter(fn, true)) { switch ((int)_ioMode) { case 0: //input IDigitalInput digitalInput = HSTMachine.Workcell._ioManifest.GetDigitalInput(_bit + (_card * 8));; bool outputInput = _a3200.GetState(digitalInput) == DigitalIOState.On ? true : false; if (outputInput != _iostate) { { _iostate = outputInput; outputFile.WriteLine(String.Format("{0}, Input Digital,{1}, {2}", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss:ffff"), _IOname, outputInput.ToString())); } } break; case 1: //output IDigitalOutput digitalOutput = HSTMachine.Workcell._ioManifest.GetDigitalOutput(_bit + (_card * 8));; bool outputOutput = _a3200.GetState(digitalOutput) == DigitalIOState.On ? true : false; if (outputOutput != _iostate) { _iostate = outputOutput; } break; case 2: //analog input string outputAnalog = _a3200.GetRawValue(_iAnalogInput).ToString(); if (!_analogValue.Equals(outputAnalog)) { _analogValue = outputAnalog; } break; default: break; } } } catch (Exception ex) { } finally { _filelock.ExitWriteLock(); } } } }
public DigitalInputControlViewModel(IDigitalInput digitalInput) { digitalInput.OnDigitalInputChanged += DigitalInput_OnDigitalInputChanged; Name = digitalInput.UniqueIdentifyer.IdentifierString; IndicatorBackground = new SolidColorBrush(Colors.Transparent); digitalInput.RaiseAllObjectEvents(); }
void RemoveInput(IDigitalInput input) { var tempInput = Inputs.FirstOrDefault(i => i.Equals(input)); if (tempInput != null) { tempInput.InputStateFeedback.OutputChange -= InputStateFeedback_OutputChange; } Inputs.Remove(input); }
public void RegisterDigitalInput(IDigitalInput digIn, int registrationID, string name) { if (digIn == null) { throw new Exception(string.Format("The digital input '{0}' is invalid(null)!", name)); } if (digitalInputMap.Contains(registrationID)) { throw new Exception("The IO is already registered!"); } digIn.Name = name; digitalInputMap.Add(registrationID, digIn); }
// Constructors ------------------------------------------------------------ public OutputClampRotateController(HSTWorkcell workcell, string controllerID, string controllerName) : base(workcell, controllerID, controllerName) { _workcell = workcell; this._ioManifest = (HSTIOManifest)workcell.IOManifest; _doOutputStationClampDeploy = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_CS_Deploy); _doOutputStationClampRotate = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_CS_Rotate); _diOutputStationClampForward = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Deploy); _diOutputStationClampBackward = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Retract); _diOutputStationClampRotateCwOpen = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Lock); _diOutputStationClampRotateCcwClose = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Unlock); _diOutputStationClampOpenDetect = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_Carrier_Clamp_Sensor); if (HSTMachine.Workcell.HSTSettings.Install.OperationMode != OperationMode.Simulation) { //3. Clamp LinearActuator ClampActuator = new LinearActuator(_doOutputStationClampDeploy, _diOutputStationClampForward, _diOutputStationClampBackward, DigitalIOState.On); _clamp = ClampActuator as ILinearActuator; _clamp.Name = "Zone 5 clamp actuator"; _clamp.ExtendedDirectionName = "Forward"; _clamp.ExtendedStateName = "Forward"; _clamp.RetractedDirectionName = "Backward"; _clamp.RetractedStateName = "Backward"; //4. ClampRotary LinearActuator ClampRotaryActuator = new LinearActuator(_doOutputStationClampRotate, _diOutputStationClampRotateCcwClose, _diOutputStationClampRotateCwOpen, DigitalIOState.On); _clampRotary = ClampRotaryActuator as ILinearActuator; _clampRotary.Name = "Zone 5 clamp rotary actuator"; _clampRotary.ExtendedDirectionName = "Cw Open"; _clampRotary.ExtendedStateName = "Cw Open"; _clampRotary.RetractedDirectionName = "Ccw Close"; _clampRotary.RetractedStateName = "Ccw Close"; } }
public void AddIO(IDigitalInput digIn, string label) { SetType(IOType.Digital); Led newLED = new Led(); switch (digIn.State) //newLED.State = digIn.State; { case DigitalIOState.On: newLED.State = true; break; case DigitalIOState.Off: newLED.State = false; break; default: newLED.State = false; break; } newLED.DisplayAsButton = false; newLED.Text = label; this.ioObjList.Add(digIn); this.Controls.Add(newLED); }
//Input public void AssignAxis(A3200HC a3200, int card, int bit) { _a3200 = a3200; _card = card; _bit = bit; _ioMode = IOMode.Input; IDigitalInput digitalInput = HSTMachine.Workcell._ioManifest.GetDigitalInput(_bit + (_card * 8)); if (_a3200 != null) { try { _iostate = _a3200.GetState(digitalInput) == DigitalIOState.On ? true : false; } catch (Exception ex) { } } }
// Constructors ------------------------------------------------------------ public MonitorController(HSTWorkcell workcell, string processID, string processName) : base(workcell, processID, processName) { _workcell = workcell; _ioManifest = (HSTIOManifest)workcell.IOManifest; _safetyController = new OmronSafetyController(workcell, "SafetyController", "SafetyController"); if (HSTMachine.Workcell.HSTSettings.Install.OperationMode != OperationMode.Simulation) { _diGroundMasterOk = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Ground_Master); _inputEndEffectorZAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z1); _outputEndEffectorZAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z3); _testProbeZAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z2); _precisorNestXAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.X); _precisorNestYAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Y); _precisorNestThetaAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Theta); _axesCommandPositionMap = new Hashtable(); } }
// Constructors ------------------------------------------------------------ public OutputEEController(HSTWorkcell workcell, string processID, string processName) : base(workcell, processID, processName) { this._workcell = workcell; this._ioManifest = (HSTIOManifest)workcell.IOManifest; _axesProfile = workcell.SetupConfig.AxesProfile; if (HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Acceleration > outputEEMaxAcce) { HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Acceleration = outputEEMaxAcce; } _axesProfile.OutputEEZ.Acceleration = HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Acceleration; if (HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Deceleration > outputEEMaxDece) { HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Deceleration = outputEEMaxDece; } _axesProfile.OutputEEZ.Deceleration = HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Deceleration; if (HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Velocity > outputEEMaxVel) { HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Velocity = outputEEMaxVel; } _axesProfile.OutputEEZ.Velocity = HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Velocity; _teachPointRecipe = workcell.TeachPointRecipe; _diOutputEndEffectorPnpPresent1 = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_EE_VS1); _diOutputEndEffectorPnpPresent2 = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_EE_VS2); _doOutputEndEffectorPnpVacuumOn = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_EE_VCH); _doOutputEndEffectorPnpPurgeOn = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_EE_PCH); _OutputEndEffectorZAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z3); OutputEEPrecisorVacuumProcessTimeStopWatch = new Stopwatch(); Machine.HSTMachine.Workcell.CalibrationSettings.OnSettingsChanged += VisionSettingsChanged; Machine.HSTMachine.Workcell.SetupSettings.OnSettingsChanged += AutomationConfigChanged; }
private void DigitalInput_OnDigitalInputChanged(IDigitalInput digitalInput, driver.commons.OnOffValue value) { switch (value) { case OnOffValue.On: IndicatorBackground.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => IndicatorBackground = new SolidColorBrush(Colors.Red)); break; case OnOffValue.Off: IndicatorBackground.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => IndicatorBackground = new SolidColorBrush(Colors.Gray)); break; case OnOffValue.Unknown: IndicatorBackground.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => IndicatorBackground = new SolidColorBrush(Colors.Transparent)); break; default: IndicatorBackground.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => IndicatorBackground = new SolidColorBrush(Colors.Transparent)); break; } }
private void tmrUpdate_Tick(object sender, EventArgs e) { if (this.Visible == false) { tmrUpdate.Enabled = false; return; } if (_a3200 != null) { try { _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(_card == 0 ? _bit : (_card - 1) * 8 + NumberOfIOForXAxis + _bit); ledInput.State = HSTMachine.Workcell._a3200HC.GetState(_di) == DigitalIOState.On ? true : false; } catch (Exception ex) { //DisplayError("Status update error: " + ex.Message); } } }
// Constructors ------------------------------------------------------------ public InputEEController(HSTWorkcell workcell, string controllerID, string controllerName) : base(workcell, controllerID, controllerName) { this._ioManifest = (HSTIOManifest)workcell.IOManifest; _axesProfile = workcell.SetupConfig.AxesProfile; if (HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Acceleration > inputEEMaxAcce) { HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Acceleration = inputEEMaxAcce; } _axesProfile.InputEEZ.Acceleration = HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Acceleration; if (HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Deceleration > inputEEMaxDece) { HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Deceleration = inputEEMaxDece; } _axesProfile.InputEEZ.Deceleration = HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Deceleration; if (HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Velocity > inputEEMaxVel) { HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Velocity = inputEEMaxVel; } _axesProfile.InputEEZ.Velocity = HSTMachine.Workcell.SetupSettings.MoveProfile.InputEEZ.Velocity; _teachPointRecipe = workcell.TeachPointRecipe; _diInputEndEffectorPnpPresent1 = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_EE_VS1); _diInputEndEffectorPnpPresent2 = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_EE_VS2); _doInputEndEffectorPnpVacuumOn = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_EE_VCH); _doInputEndEffectorPnpPurgeOn = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_EE_PCH); _doInputEndEffectorFlattener = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_EE_Flattener); _InputEndEffectorZAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z1); Machine.HSTMachine.Workcell.CalibrationSettings.OnSettingsChanged += VisionSettingsChanged; Machine.HSTMachine.Workcell.SetupSettings.OnSettingsChanged += AutomationConfigChanged; }
public DigitalInputControl(IDigitalInput digitalInput) { ViewModel = new DigitalInputControlViewModel(digitalInput); InitializeComponent(); }
void AddInput(IDigitalInput input) { Inputs.Add(input); input.InputStateFeedback.OutputChange += InputStateFeedback_OutputChange; }
public IOControlPanel() { InitializeComponent(); /////////////////////////////////////////////////////////////////////////////////////// //Digital Input Session : Start /////////////////////////////////////////////////////////////////////////////////////// //X axis-input bank _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(0); panelDigitalInputElectronicsOutput1.ledInput.Text = "X-I1 - " + _di.ToString().Replace("_", " "); panelDigitalInputElectronicsOutput1.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 0); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(1); panelDigitalInputElectronicsOutput2.ledInput.Text = "X-I2 - " + _di.ToString().Replace("_", " "); panelDigitalInputElectronicsOutput2.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 1); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(2); panelDigitalInputElectronicsOutput3.ledInput.Text = "X-I3 - " + _di.ToString().Replace("_", " "); panelDigitalInputElectronicsOutput3.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 2); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(3); panelDigitalInputElectronicsOutput4.ledInput.Text = "X-I4 - " + _di.ToString().Replace("_", " "); panelDigitalInputElectronicsOutput4.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 3); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(4); panelDigitalInputOutputTurnStationExitClear.ledInput.Text = "X-I5 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputTurnStationExitClear.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 4); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(5); panelDigitalInputOutputTurnStationAt90Deg.ledInput.Text = "X-I6 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputTurnStationAt90Deg.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 5); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(6); panelDigitalInputOutputTurnStationAt0Deg.ledInput.Text = "X-I7 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputTurnStationAt0Deg.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 6); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(7); panelDigitalInputInputConveyorPositionOn.ledInput.Text = "X-I8 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputConveyorPositionOn.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 7); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(8); panelDigitalInputGroundMaster.ledInput.Text = "X-I9 - " + _di.ToString().Replace("_", " "); panelDigitalInputGroundMaster.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 8); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(9); panelDigitalInputVentilationFan1.ledInput.Text = "X-I10 - " + _di.ToString().Replace("_", " "); panelDigitalInputVentilationFan1.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 9); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(10); panelDigitalInputVentilationFan2.ledInput.Text = "X-I11 - " + _di.ToString().Replace("_", " "); panelDigitalInputVentilationFan2.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 10); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(11); panelDigitalInputVentilationFan3.ledInput.Text = "X-I12 - " + _di.ToString().Replace("_", " "); panelDigitalInputVentilationFan3.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 11); //X-I12 to X-I24 is spare (not used) _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(20); panelDigitalInputCarrierClampInput.ledInput.Text = "X-I20 - " + _di.ToString().Replace("_", " "); panelDigitalInputCarrierClampInput.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 20); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(21); panelDigitalInputCarrierClampOutput.ledInput.Text = "X-I21 - " + _di.ToString().Replace("_", " "); panelDigitalInputCarrierClampOutput.AssignAxis(HSTMachine.Workcell._a3200HC, 0, 21); //Y axis-input bank _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(24); panelDigitalInputBISPositionOn.ledInput.Text = "Y-I1 - " + _di.ToString().Replace("_", " "); panelDigitalInputBISPositionOn.AssignAxis(HSTMachine.Workcell._a3200HC, 1, 0); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(25); panelDigitalInputBOSPositionOn.ledInput.Text = "Y-I2 - " + _di.ToString().Replace("_", " "); panelDigitalInputBOSPositionOn.AssignAxis(HSTMachine.Workcell._a3200HC, 1, 1); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(26); panelDigitalInputBBZPositionOn.ledInput.Text = "Y-I3 - " + _di.ToString().Replace("_", " "); panelDigitalInputBBZPositionOn.AssignAxis(HSTMachine.Workcell._a3200HC, 1, 2); //Y-I4 is spare _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(28); panelDigitalInputInputTurnStationAt90Deg.ledInput.Text = "Y-I5 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputTurnStationAt90Deg.AssignAxis(HSTMachine.Workcell._a3200HC, 1, 4); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(29); panelDigitalInputInputTurnStationAt0Deg.ledInput.Text = "Y-I6 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputTurnStationAt0Deg.AssignAxis(HSTMachine.Workcell._a3200HC, 1, 5); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(30); panelDigitalInputInputTurnStationInPosition.ledInput.Text = "Y-I7 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputTurnStationInPosition.AssignAxis(HSTMachine.Workcell._a3200HC, 1, 6); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(31); panelDigitalInputOutputTurnStationInPosition.ledInput.Text = "Y-I8 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputTurnStationInPosition.AssignAxis(HSTMachine.Workcell._a3200HC, 1, 7); //Theta axis-input bank _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(32); panelDigitalInputInputStopperUp.ledInput.Text = "Theta-I1 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputStopperUp.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 0); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(33); panelDigitalInputInputStopperDown.ledInput.Text = "Theta-I2 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputStopperDown.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 1); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(34); panelDigitalInputInputLifterUp.ledInput.Text = "Theta-I3 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputLifterUp.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 2); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(35); panelDigitalInputInputLifterDown.ledInput.Text = "Theta-I4 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputLifterDown.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 3); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(36); panelDigitalInputOutputStopperUp.ledInput.Text = "Theta-I5 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputStopperUp.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 4); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(37); panelDigitalInputOutputStopperDown.ledInput.Text = "Theta-I6 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputStopperDown.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 5); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(38); panelDigitalInputOutputLifterUp.ledInput.Text = "Theta-I7 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputLifterUp.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 6); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(39); panelDigitalInputOutputLifterDown.ledInput.Text = "Theta-I8 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputLifterDown.AssignAxis(HSTMachine.Workcell._a3200HC, 2, 7); //Z1 axis-input bank _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(40); panelDigitalInputInputCSDeploy.ledInput.Text = "Z1-I1 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputCSDeploy.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 0); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(41); panelDigitalInputInputCSRetract.ledInput.Text = "Z1-I2 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputCSRetract.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 1); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(42); panelDigitalInputInputCSLock.ledInput.Text = "Z1-I3 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputCSLock.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 2); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(43); panelDigitalInputInputCSUnlock.ledInput.Text = "Z1-I4 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputCSUnlock.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 3); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(44); panelDigitalInputOutputCSDeploy.ledInput.Text = "Z1-I5 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputCSDeploy.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 4); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(45); panelDigitalInputOutputCSRetract.ledInput.Text = "Z1-I6 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputCSRetract.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 5); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(46); panelDigitalInputOutputCSLock.ledInput.Text = "Z1-I7 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputCSLock.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 6); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(47); panelDigitalInputOutputCSUnlock.ledInput.Text = "Z1-I8 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputCSUnlock.AssignAxis(HSTMachine.Workcell._a3200HC, 3, 7); //Z2 axis-input bank _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(48); panelDigitalInputPNVS1.ledInput.Text = "Z2-I1 - " + _di.ToString().Replace("_", " "); panelDigitalInputPNVS1.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 0); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(49); panelDigitalInputPNVS2.ledInput.Text = "Z2-I2 - " + _di.ToString().Replace("_", " "); panelDigitalInputPNVS2.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 1); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(50); panelDigitalInputPNVS3.ledInput.Text = "Z2-I3 - " + _di.ToString().Replace("_", " "); panelDigitalInputPNVS3.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 2); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(51); panelDigitalInputPNVS4.ledInput.Text = "Z2-I4 - " + _di.ToString().Replace("_", " "); panelDigitalInputPNVS4.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 3); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(52); panelDigitalInputPNVS5.ledInput.Text = "Z2-I5 - " + _di.ToString().Replace("_", " "); panelDigitalInputPNVS5.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 4); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(53); panelDigitalInputPNVS6.ledInput.Text = "Z2-I6 - " + _di.ToString().Replace("_", " "); panelDigitalInputPNVS6.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 5); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(54); panelDigitalInputPNVS7.ledInput.Text = "Z2-I7 - " + _di.ToString().Replace("_", " "); panelDigitalInputPNVS7.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 6); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(55); panelDigitalInputEMOSenseInput.ledInput.Text = "Z2-I7 - " + _di.ToString().Replace("_", " "); panelDigitalInputEMOSenseInput.AssignAxis(HSTMachine.Workcell._a3200HC, 4, 7); //Z3 axis-input bank _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(56); panelDigitalInputInputEEVS1.ledInput.Text = "Z3-I1 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputEEVS1.AssignAxis(HSTMachine.Workcell._a3200HC, 5, 0); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(57); panelDigitalInputInputEEVS2.ledInput.Text = "Z3-I2 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputEEVS2.AssignAxis(HSTMachine.Workcell._a3200HC, 5, 1); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(60); panelDigitalInputOutputEEVS1.ledInput.Text = "Z3-I5 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputEEVS1.AssignAxis(HSTMachine.Workcell._a3200HC, 5, 4); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(61); panelDigitalInputOutputEEVS2.ledInput.Text = "Z3-I6 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputEEVS2.AssignAxis(HSTMachine.Workcell._a3200HC, 5, 5); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(62); panelDigitalInputInputLifterCarrierSense.ledInput.Text = "Z3-I7 - " + _di.ToString().Replace("_", " "); panelDigitalInputInputLifterCarrierSense.AssignAxis(HSTMachine.Workcell._a3200HC, 5, 6); _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(63); panelDigitalInputOutputLifterCarrierSense.ledInput.Text = "Z3-I8 - " + _di.ToString().Replace("_", " "); panelDigitalInputOutputLifterCarrierSense.AssignAxis(HSTMachine.Workcell._a3200HC, 5, 7); /////////////////////////////////////////////////////////////////////////////////////// //Digital Input Session : End /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// //Analog Input Session : Start /////////////////////////////////////////////////////////////////////////////////////// _ai = HSTMachine.Workcell._ioManifest.GetAnalogInput(1); panelAnalogInputFRLSwitch.labelAnalogInputName.Text = _ai.ToString().Replace("_", " "); panelAnalogInputFRLSwitch.AssignAxis(HSTMachine.Workcell._a3200HC, _ai); //panelAnalogInput2.AssignAxis(HSTMachine.Workcell._a3200HC, _ai); /////////////////////////////////////////////////////////////////////////////////////// //Analog Input Session : End /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// //Output Session : Start /////////////////////////////////////////////////////////////////////////////////////// //X axis-output bank _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(0); panelDigitalOutputInputEEVCH.ledOutput.Text = "X-O1 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputEEVCH.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 0); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(1); panelDigitalOutputInputEEPCH.ledOutput.Text = "X-O2 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputEEPCH.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 1); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(2); panelDigitalOutputOutputEEVCH.ledOutput.Text = "X-O3 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputEEVCH.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 2); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(3); panelDigitalOutputOutputEEPCH.ledOutput.Text = "X-O4 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputEEPCH.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 3); //X-O5 to X-O8 is spare (not used) _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(8); panelDigitalOutputOutputCSDeploy.ledOutput.Text = "X-O9 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputCSDeploy.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 8); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(9); panelDigitalOutputOutputCSRotate.ledOutput.Text = "X-O10 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputCSRotate.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 9); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(10); panelDigitalOutputInputEEFlattener.ledOutput.Text = "X-O11 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputEEFlattener.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 10); //X-O11 not used anymore (was for Input EE flattener) _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(11); panelDigitalOutputInputConveyorInhibit.ledOutput.Text = "X-O12 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputConveyorInhibit.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 11); //X-O13 to X-O16 is spare (not used) _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(16); panelDigitalOutputDCServicingLight.ledOutput.Text = "X-O17 - " + _do.ToString().Replace("_", " "); panelDigitalOutputDCServicingLight.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 16); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(17); panelDigitalOutputCamera1.ledOutput.Text = "X-O18 - " + _do.ToString().Replace("_", " "); panelDigitalOutputCamera1.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 17); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(18); panelDigitalOutputCamera3.ledOutput.Text = "X-O19 - " + _do.ToString().Replace("_", " "); panelDigitalOutputCamera3.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 18); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(19); panelDigitalOutputCamera2.ledOutput.Text = "X-O20 - " + _do.ToString().Replace("_", " "); panelDigitalOutputCamera2.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 19); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(20); panelDigitalOutputElectronicInput1.ledOutput.Text = "X-O21 - " + _do.ToString().Replace("_", " "); panelDigitalOutputElectronicInput1.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 20); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(21); panelDigitalOutputElectronicInput2.ledOutput.Text = "X-O22 - " + _do.ToString().Replace("_", " "); panelDigitalOutputElectronicInput2.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 21); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(22); panelDigitalOutputElectronicInput3.ledOutput.Text = "X-O23 - " + _do.ToString().Replace("_", " "); panelDigitalOutputElectronicInput3.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 22); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(23); panelDigitalOutputElectronicInput4.ledOutput.Text = "X-O24 - " + _do.ToString().Replace("_", " "); panelDigitalOutputElectronicInput4.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0), 0, 23); //Y axis-output bank _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(24); panelDigitalOutputCISInhibit.ledOutput.Text = "Y-O1 - " + _do.ToString().Replace("_", " "); panelDigitalOutputCISInhibit.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 0); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(25); panelDigitalOutputCOSInhibit.ledOutput.Text = "Y-O2 - " + _do.ToString().Replace("_", " "); panelDigitalOutputCOSInhibit.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 1); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(26); panelDigitalOutputInputTurnStationInhibit.ledOutput.Text = "Y-O3 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputTurnStationInhibit.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 2); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(27); panelDigitalOutputInputTurnStationTurnTo90Deg.ledOutput.Text = "Y-O4 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputTurnStationTurnTo90Deg.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 3); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(28); panelDigitalOutputInputTurnStationTurnTo0Deg.ledOutput.Text = "Y-O5 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputTurnStationTurnTo0Deg.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 4); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(29); panelDigitalOutputOutputTurnStationInhibit.ledOutput.Text = "Y-O6 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputTurnStationInhibit.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 5); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(30); panelDigitalOutputOutputTurnStationTurnTo90Deg.ledOutput.Text = "Y-O7 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputTurnStationTurnTo90Deg.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 6); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(31); panelDigitalOutputOutputTurnStationTurnTo0Deg.ledOutput.Text = "Y-O8 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputTurnStationTurnTo0Deg.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1), 1, 7); //Theta axis-output bank _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(32); panelDigitalOutputInputStopper.ledOutput.Text = "Theta-O1 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputStopper.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 0); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(33); panelDigitalOutputInputLifterUp.ledOutput.Text = "Theta-O2 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputLifterUp.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 1); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(34); panelDigitalOutputInputLifterDown.ledOutput.Text = "Theta-O3 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputLifterDown.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 2); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(35); panelDigitalOutputOutputStopper.ledOutput.Text = "Theta-O4 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputStopper.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 3); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(36); panelDigitalOutputOutputLifterUp.ledOutput.Text = "Theta-O5 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputLifterUp.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 4); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(37); panelDigitalOutputOutputLifterDown.ledOutput.Text = "Theta-O6 - " + _do.ToString().Replace("_", " "); panelDigitalOutputOutputLifterDown.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 5); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(38); panelDigitalOutputInputCSDeploy.ledOutput.Text = "Theta-O7 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputCSDeploy.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 6); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(39); panelDigitalOutputInputCSRotate.ledOutput.Text = "Theta-O8 - " + _do.ToString().Replace("_", " "); panelDigitalOutputInputCSRotate.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2), 2, 7); //Z1 axis-output bank _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(40); panelDigitalOutputPNVTS1.ledOutput.Text = "Z1-O1 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVTS1.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 0); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(41); panelDigitalOutputPNVTS2.ledOutput.Text = "Z1-O2 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVTS2.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 1); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(42); panelDigitalOutputPNVTS3.ledOutput.Text = "Z1-O3 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVTS3.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 2); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(43); panelDigitalOutputPNVTS4.ledOutput.Text = "Z1-O4 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVTS4.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 3); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(44); panelDigitalOutputPNVTS5.ledOutput.Text = "Z1-O5 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVTS5.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 4); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(45); panelDigitalOutputPNVTS6.ledOutput.Text = "Z1-O6 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVTS6.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 5); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(46); panelDigitalOutputPNVTS7.ledOutput.Text = "Z1-O7 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVTS7.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 6); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(47); panelDigitalOutputSoftStartUp.ledOutput.Text = "Z1-O8 - " + _do.ToString().Replace("_", " "); panelDigitalOutputSoftStartUp.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3), 3, 7); //Z2 axis-output bank _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(48); panelDigitalOutputPNVCH1.ledOutput.Text = "Z2-O1 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVCH1.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 0); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(49); panelDigitalOutputPNPCH1.ledOutput.Text = "Z2-O2 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNPCH1.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 1); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(50); panelDigitalOutputPNVCH2.ledOutput.Text = "Z2-O3 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVCH2.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 2); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(51); panelDigitalOutputPNPCH2.ledOutput.Text = "Z2-O4 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNPCH2.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 3); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(52); panelDigitalOutputPNVCH3.ledOutput.Text = "Z2-O5 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVCH3.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 4); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(53); panelDigitalOutputPNPCH3.ledOutput.Text = "Z2-O6 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNPCH3.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 5); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(54); panelDigitalOutputPNVCH4.ledOutput.Text = "Z2-O7 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVCH4.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 6); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(55); panelDigitalOutputPNPCH4.ledOutput.Text = "Z2-O8 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNPCH4.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4), 4, 7); //Z3 axis-output bank _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(56); panelDigitalOutputPNVCH5.ledOutput.Text = "Z3-O1 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVCH5.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, 0); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(57); panelDigitalOutputPNPCH5.ledOutput.Text = "Z3-O2 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNPCH5.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, 1); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(58); panelDigitalOutputPNVCH6.ledOutput.Text = "Z3-O3 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVCH6.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, 2); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(59); panelDigitalOutputPNPCH6.ledOutput.Text = "Z3-O4 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNPCH6.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, 3); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(60); panelDigitalOutputPNVCH7.ledOutput.Text = "Z3-O5 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNVCH7.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, 4); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(61); panelDigitalOutputPNPCH7.ledOutput.Text = "Z3-O6 - " + _do.ToString().Replace("_", " "); panelDigitalOutputPNPCH7.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, 5); _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(62); panelDigitalOutputBBZInhibit.ledOutput.Text = "Z3-O7 - " + _do.ToString().Replace("_", " "); panelDigitalOutputBBZInhibit.AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, 6); }
public void GetIOState() { //Input IO for (int icard = 0; icard < 5; icard++) //card 1 to card 5 { for (int ibit = 0; ibit < 8; ibit++) //each card got 8 bits { _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(ibit + (icard * 8)); text = "B" + (icard + 1).ToString() + "I" + (ibit + 1).ToString() + " - " + _di.ToString().Replace("_", " "); if (_di.Name.Contains("NOT USED"))//don't display for those not used/spare { text = "B" + (icard + 1).ToString() + "I" + (ibit + 1).ToString() + " - " + "NOT USED"; } _InputState[icard, ibit].IOName = text; _InputState[icard, ibit].AssignAxis(HSTMachine.Workcell._a3200HC, icard, ibit); } } //card 6 have 20 input, but still display in 8 input per set int iloop = 0; for (int icard = 5; icard < 8; icard++, iloop++) //current only have 8 set { for (int ibit = 0; ibit < 8; ibit++) //each card got 8 bits { if (icard == 7 && ibit > 3) //we have only 60 input, skip for 61 to 64 { continue; } _di = HSTMachine.Workcell._ioManifest.GetDigitalInput(ibit + (icard * 8)); text = "B6I" + (ibit + 1 + (8 * iloop)).ToString() + " - " + _di.ToString().Replace("_", " "); if (_di.Name.Contains("NOT USED"))//don't display for those not used/spare { text = "B6I" + String.Format("{0}", ibit + 1 + (8 * iloop)) + " - " + "NOT USED"; } _InputState[icard, ibit].IOName = text; _InputState[icard, ibit].AssignAxis(HSTMachine.Workcell._a3200HC, 5, ibit + (8 * iloop)); } } _ai = HSTMachine.Workcell._ioManifest.GetAnalogInput(0); text = _ai.ToString().Replace("_", " "); _AnalogueState[0, 0].IOName = text; _AnalogueState[0, 0].AssignAxis(HSTMachine.Workcell._a3200HC, _ai); _ai = HSTMachine.Workcell._ioManifest.GetAnalogInput(1); text = _ai.ToString().Replace("_", " "); _AnalogueState[0, 1].IOName = text; _AnalogueState[0, 1].AssignAxis(HSTMachine.Workcell._a3200HC, _ai); /////////////////////////////////////////////////////////////////////////////////////// //Analog Input Session : End /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// //Output Session : Start /////////////////////////////////////////////////////////////////////////////////////// //have 8 set to display, 3 column and 3 row (1 place for spare) for (int icard = 0; icard < 5; icard++) { for (int ibit = 0; ibit < 8; ibit++)//each card got 8 bits { _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(ibit + (icard * 8)); text = "B" + (icard + 1).ToString() + "O" + (ibit + 1).ToString() + " - " + _do.ToString().Replace("_", " "); if (_do.Name.Contains("NOT USED"))//don't display for those not used/spare { //continue; text = "B" + (icard + 1).ToString() + "O" + (ibit + 1).ToString() + " - " + "NOT USED"; } _OutputState[icard, ibit].IOName = text; _OutputState[icard, ibit].AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)icard), icard, ibit); } } //card 6 have 20 output, but still display in 8 output per set iloop = 0; for (int icard = 5; icard < 8; icard++, iloop++) //current only have 8 set { for (int ibit = 0; ibit < 8; ibit++) //each card got 8 bits { if (icard == 7 && ibit > 3) //we have only 60 input, skip for 61 to 64 { continue; } _do = HSTMachine.Workcell._ioManifest.GetDigitalOutput(ibit + (icard * 8)); text = "B6O" + (ibit + 1 + (8 * iloop)).ToString() + " - " + _do.ToString().Replace("_", " "); if (_do.Name.Contains("NOT USED"))//don't display for those not used/spare { //continue; text = "B6O" + String.Format("{0}", ibit + 1 + (8 * iloop)) + " - " + "NOT USED"; } _OutputState[icard, ibit].IOName = text; _OutputState[icard, ibit].AssignAxis(HSTMachine.Workcell._a3200HC, HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5), 5, ibit + (8 * iloop)); } } /////////////////////////////////////////////////////////////////////////////////////// //Output Session : End /////////////////////////////////////////////////////////////////////////////////////// }
// Constructors ------------------------------------------------------------ public InputStationController(HSTWorkcell workcell, string processID, string processName) : base(workcell, processID, processName) { _workcell = workcell; this._ioManifest = (HSTIOManifest)workcell.IOManifest; _rfidController = new ReadWriteRFIDController(workcell, "RfidInput", "RfidInput", ReadWriteRFIDController.ReaderType.Fola, RFHead.Head1); _rfHead = Seagate.AAS.Parsel.Device.RFID.RFHead.Head1; _seaveyorInputStationZoneIO = new SeaveyorZoneIO(); _seaveyorInputStationZoneIO.inhibit = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.CIS_Inhibit); _seaveyorBufferStationZoneIO = new SeaveyorZoneIO(); _seaveyorBufferStationZoneIO.inhibit = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.BBZ_Inhibit); //Seaveyor SeaveyorZone _seaveyorZone = new SeaveyorZone(_seaveyorInputStationZoneIO); _seaveyorInputStation = _seaveyorZone as ISeaveyorZone; _seaveyorInputStation.Simulation = (HSTMachine.Workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation); _seaveyorInputStation.Name = "Input Station Zone"; SeaveyorZone _seaveyorBufferZone = new SeaveyorZone(_seaveyorBufferStationZoneIO); _seaveyorBufferStation = _seaveyorBufferZone as ISeaveyorZone; _seaveyorBufferStation.Simulation = (HSTMachine.Workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation); _seaveyorBufferStation.Name = "Buffer Station Zone"; //digital input _diInputStationInPosition = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.BIS_Position_On); _diBufferStationInPosition = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.BBZ_Position_On); _diInputStationStopperUp = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Stopper_Up); _diInputStationStopperDown = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Stopper_Down); _diInputStationLifterUp = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Lifter_Up); _diInputStationLifterDown = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Lifter_Down); _diInputStationClampForward = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Deploy); _diInputStationClampBackward = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Retract); _diInputStationClampRotateCwOpen = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Unlock); _diInputStationClampRotateCcwClose = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Lock); _diInputCarrierClampOpen = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Carrier_Clamp_Sensor); //Digital Output _doInputStationStopperExtendUp = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Stopper); _doInputStationLifterExtendUp = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Lifter_Up); _doInputStationLifterRetractDown = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Lifter_Down); _doInputStationClampDeploy = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_CS_Deploy); _doInputStationClampRotate = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_CS_Rotate); //1. Stopper LinearActuator StopperActuator = new LinearActuator(_doInputStationStopperExtendUp, _diInputStationStopperUp, _diInputStationStopperDown, DigitalIOState.On); _stopper = StopperActuator as ILinearActuator; _stopper.Name = "Zone 5 stopper actuator"; _stopper.ExtendedDirectionName = "Up"; _stopper.ExtendedStateName = "Up"; _stopper.RetractedDirectionName = "Down"; _stopper.RetractedStateName = "Down"; //2. Lifter LinearActuator lifterActuator = new LinearActuator(_doInputStationLifterExtendUp, _doInputStationLifterRetractDown, _diInputStationLifterUp, _diInputStationLifterDown); _lifter = lifterActuator as ILinearActuator; _lifter.Name = "Zone 5 lifter actuator"; _lifter.ExtendedDirectionName = "Up"; _lifter.ExtendedStateName = "Up"; _lifter.RetractedDirectionName = "Down"; _lifter.RetractedStateName = "Down"; //3. Clamp LinearActuator ClampActuator = new LinearActuator(_doInputStationClampDeploy, _diInputStationClampForward, _diInputStationClampBackward, DigitalIOState.On); _clamp = ClampActuator as ILinearActuator; _clamp.Name = "Zone 5 clamp actuator"; _clamp.ExtendedDirectionName = "Forward"; _clamp.ExtendedStateName = "Forward"; _clamp.RetractedDirectionName = "Backward"; _clamp.RetractedStateName = "Backward"; //4. ClampRotary LinearActuator ClampRotaryActuator = new LinearActuator(_doInputStationClampRotate, _diInputStationClampRotateCwOpen, _diInputStationClampRotateCcwClose, DigitalIOState.On); _clampRotary = ClampRotaryActuator as ILinearActuator; _clampRotary.Name = "Zone 5 clamp rotary actuator"; _clampRotary.ExtendedDirectionName = "Cw Open"; _clampRotary.ExtendedStateName = "Cw Open"; _clampRotary.RetractedDirectionName = "Ccw Close"; _clampRotary.RetractedStateName = "Ccw Close"; }
private void RaiseOnDigitalInputChanged(IDigitalInput digitalinput, OnOffValue value) => Task.Run(() => OnDigitalInputChanged?.Invoke(digitalinput, value));