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.PLCCommand.HOSTConnected:
this.s_SendHostConnect(Convert.ToBoolean(sArrEvent[1]));
break;
case (int)Structure.classStructure.PLCCommand.CellSizeWrite:
this.s_CellSizeWirte(sArrEvent[1], sArrEvent[2]);
break;
case (int)Structure.classStructure.PLCCommand.DateandTimeSetting:
this.s_SendCurrentTime(sArrEvent[1]);
break;
case (int)Structure.classStructure.PLCCommand.ControlState:
this.s_SendHostOnlineMode(sArrEvent[1]);
break;
case (int)Structure.classStructure.PLCCommand.OPCall:
this.s_WriteHostMsg(sArrEvent[1], true);
break;
case (int)Structure.classStructure.PLCCommand.HostMsg:
this.s_WriteHostMsg(sArrEvent[1], false);
break;
case (int)Structure.classStructure.PLCCommand.BuzzerOn:
this.s_SendBuzzerOn();
break;
case (int)Structure.classStructure.PLCCommand.BuzzerOff:
this.s_SendBuzzerOff();
break;
// Printer Label을 재출력 한다.
case (int)Structure.classStructure.PLCCommand.RePrinter:
EnuCommon.PrinterErrCode enuReturn = this.m_Label.SendLabeData(sArrEvent[1]);
if (enuReturn != EnuCommon.PrinterErrCode.NoError)
this.m_Info.Set_Log(EnuCommon.LogType.CIM, "Printer Send Label Data Error : " + enuReturn.ToString());
break;
case (int)Structure.classStructure.PLCCommand.TestPrinter:
s_PortStatusChange(sArrEvent[1]);
break;
default:
break;
}
}
Thread.Sleep(20);
}
catch (Exception ex)
{
this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, ex.ToString());
}
}
catch { }
}
} while (true);
}