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();
if (dstrData == string.Empty || dstrData.Length != 14)
{
this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "S2F18 Date Time Data가 올바르지 않습니다. : " + dstrData.ToString());
return;
}
//여기서 만약 시간이 잘못되면 에외로 빠진다.
DateTime.ParseExact(dstrData.Substring(0, 8), "yyyyMMdd", CultureInfo.InvariantCulture);
DateTime.ParseExact(dstrData.Substring(8, 6), "HHmmss", CultureInfo.InvariantCulture);
//PC에 시간 설정(여기까지 오면 정상임)
//(TEST) 주석
DateAndTime.Today = DateTime.ParseExact(dstrData.Substring(0, 8), "yyyyMMdd", CultureInfo.InvariantCulture);
DateAndTime.TimeOfDay = DateTime.ParseExact(dstrData.Substring(8, 6), "HHmmss", CultureInfo.InvariantCulture);
this.m_Info.Set_PLCCommand(Structure.classStructure.PLCCommand.DateandTimeSetting, dstrData);
}
catch (Exception ex)
{
this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
}
}
/// <summary>
/// Host로부터 S2F101(Operator Call)을 수신하였을때
/// </summary>
/// <remarks>2006/11/01 [Ver 00]</remarks>
private void PSecsDrv_S2F101()
{
try
{
this.m_Info.Set_ReceiveHostSF("S2F101");
}
catch (Exception ex)
{
this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
}
}
private void S2F101()
{
string sMsg = string.Empty;
string sTID = string.Empty;
string sMsgHader = "OPCall";
int nTID = 0;
int nAck = 0;
try
{
if (this.m_Info.All.HostConnect == false) return;
if (funACTSECSAort_Send(this.PSecsDrv.S2F101.Header) == true) return;
sTID = this.PSecsDrv.S2F101.TID.ToString().Trim();
sMsg = this.PSecsDrv.S2F101.MSG.ToString().Trim();
int.TryParse(sTID.Substring(sTID.Length - 1), out nTID);
if (nTID == 1) //CIM
{
this.m_Info.Set_OPCallMessage(Structure.classStructure.OPCallMessage.MSGBuzzer, 0, sMsgHader, sMsg);
this.m_Info.Set_Message(Structure.classStructure.MsgType.HostMsg, "[" + sMsgHader + "]".PadRight(15) + sMsg);
nAck = 0;
}
else if (nTID == 2) //EQP
{
this.m_Info.Set_OPCallMessage(Structure.classStructure.OPCallMessage.MSGBuzzer, 0, sMsgHader, sMsg);
this.m_Info.Set_Message(Structure.classStructure.MsgType.HostMsg, "[" + sMsgHader + "]".PadRight(15) + sMsg);
this.m_Info.Set_PLCCommand(Structure.classStructure.PLCCommand.BuzzerOn);
this.m_Info.Set_PLCCommand(Structure.classStructure.PLCCommand.OPCall, sMsg);
nAck = 0;
}
else
nAck = 2;
if (nAck == 0)
this.m_Info.Set_Log(Common.EnuCommon.LogType.MSG, "," + sMsgHader + "," + sMsg);
this.PSecsDrv.S2F102.ACKC10 = nAck;
this.PSecsDrv.S2F102.Reply(this.PSecsDrv.S2F101.Header);
}
catch (Exception ex)
{
this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, "", ex.ToString());
}
}