IT Story
-
Sending commands in queue to equipment Example sourceIT Story/C# & WPF 2022. 7. 3. 17:37
void threadEquipmentProcess() { string sData = string.Empty; string[] sArrEvent; do { lock (this.SyncRoot) { try { try { s_EQPEventProcess(); //설비로부터 Event 처리 s_BitTimeOutCheck(); if (this.m_Info.funGetPLCCommandCount() > 0) { sData = this.m_Info.funGetPLCCommand().ToString(); sArrEvent = sData.Split(new char[] { ',' }); switch (Convert.ToInt32(sArrEvent[0])) { case (int)Structure.classStructure..
-
Example source of processing when EQP State is changedIT Story/C# & WPF 2022. 7. 3. 17:37
/// /// private void s_ChangeEQPStatus(int nUnitID, int EQPState) { Structure.classStructure.EQPState sBackupOLDState = Structure.classStructure.EQPState.NONE; Structure.classStructure.EQPState eEQPState = Structure.classStructure.EQPState.NONE; try { eEQPState = (Structure.classStructure.EQPState)EQPState; if (this.m_Info.Unit(nUnitID).SubUnit(0).EQPState == eEQPState) return; //이전 상태를 백업 sBack..
-
PSecsDrv_S10F3 processing example sourceIT Story/C# & WPF 2022. 7. 3. 17:36
private void PSecsDrv_S10F3() { try { this.m_Info.Set_ReceiveHostSF("S10F3"); } catch (Exception ex) { this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, ex.ToString()); } } private void S10F3() { string sMsg = string.Empty; string sTID = string.Empty; string sMsgHader = "Terminal"; int nTID = 0; int nAck = 0; try { if (this.m_Info.All.HostConnect == false) return; if (funACTSECSAort_Send(this.PS..
-
SecsDrv_S3F105CellSize processing example sourceIT Story/C# & WPF 2022. 7. 3. 17:35
private void PSecsDrv_S3F105CellSize() { try { this.m_Info.Set_ReceiveHostSF("S3F105GLSSizeInfo"); } catch (Exception ex) { this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString()); } } private void S3F105CellSizeInfo() { byte bACKC6 = 0x00; int iPortID = 1; //FIX\ try { if (this.m_Info.All.HostConnect == false) return; if (funACTSECSAort_Send(this.PSecsDrv.S2F103.Header) == true) re..
-
SecsDrv_S2F18 and S2F101 processing exampleIT Story/C# & WPF 2022. 7. 3. 17:34
private void PSecsDrv_S2F18() { try { this.m_Info.Set_ReceiveHostSF("S2F18"); } catch (Exception ex) { this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString()); } } private void S2F18() { string dstrData = string.Empty; try { if (this.m_Info.All.HostConnect == false) return; if (funACTSECSAort_Send(this.PSecsDrv.S2F17.Header) == true) return; dstrData = this.PSecsDrv.S2F18.TIME.Trim(..
-
SECS S1F15 and S1F17 processing example sourceIT Story/C# & WPF 2022. 7. 3. 17:34
/// /// Host로부터 Offline 요청을 받는다. /// /// 2006/11/01 [Ver 00] private void PSecsDrv_S1F15() { try { this.m_Info.Set_ReceiveHostSF("S1F15"); } catch (Exception ex) { this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString()); } } private void S1F15() { int dintACK = 0; try { //subReplyTrue(); //Reply가 들어왔음을 저장 if (this.m_Info.All.HostConnect == false) return; if (this.m_Info.All.ControlS..
-
SECS event sending/receiving exampleIT Story/C# & WPF 2022. 7. 3. 17:33
/// /// Host로부터 S1F1을 수신하였을때(S1F1수신 후 S1F2 송신) /// HOST에서 장비가 살아있는지 확인용임. /// /// 2006/11/01 [Ver 00] private void PSecsDrv_AreYouThere() { try { this.m_Info.Set_ReceiveHostSF("S1F1"); } catch (Exception ex) { this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString()); } } private void S1F1() { string sControlState = string.Empty; try { s_ReplyTrue(); //Reply가 들어왔음을 저장 if (this.m_Info...
-
SECS Error Handling Method ExamplesIT Story/C# & WPF 2022. 7. 3. 17:32
/// /// Occurred when a primary SECS message is aborted by the equipment and there is no corresponding about SECS message defined. /// /// The reference to the object of SEComPlugIn. /// The header object of received SECSMessage. /// The Header object of SECSMessage that has been aborted. /// The DataBlock object of SECSMessage that has been aborted. /// If related SECSMessage has header only, i..