This commit is contained in:
chi
2025-04-24 11:51:55 +09:00
parent 0a93a54a6f
commit f71b963851
62 changed files with 1748 additions and 4105 deletions

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using AR;
using arDev;
using COMM;
@@ -46,7 +47,7 @@ namespace Project
if (VAR.BOOL[eVarBool.WAIT_COVER_UP])
{
PUB.log.Add($"버튼({diName}) 눌림");
PUB.PLC.ZMot(FakePLC.ZMotDirection.Up);
PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
PUB.Result.NextPos = ePosition.QC;
}
else PUB.Speak(Lang.);
@@ -92,7 +93,7 @@ namespace Project
if (VAR.BOOL[eVarBool.WAIT_COVER_UP])
{
PUB.log.Add($"버튼({diName}) 눌림");
PUB.PLC.ZMot(FakePLC.ZMotDirection.Up);
PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
PUB.Result.NextPos = ePosition.QA;
}
else PUB.Speak(Lang.);
@@ -120,7 +121,7 @@ namespace Project
{
//Z-up기능으로 업데이트 230119
PUB.log.Add($"버튼({diName}) 눌림");
PUB.PLC.ZMot(FakePLC.ZMotDirection.Up);
PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
}
}
else if (diName == arDev.FakePLC.DIName.PINI_EMG)
@@ -172,8 +173,8 @@ namespace Project
//}
//PUB.flag.set(EFlag.FLAG_LIMITHIGH, (PUB.flag.get(EFlag.FLAG_LIMITHIGHL) && PUB.flag.get(EFlag.FLAG_LIMITHIGHR)));
//PUB.flag.set(EFlag.FLAG_LIMITLOW, (PUB.flag.get(EFlag.FLAG_LIMITLOWL) && PUB.flag.get(EFlag.FLAG_LIMITLOWR)));
VAR.BOOL[eVarBool.FLAG_LIMITHIGH] = PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU);
VAR.BOOL[eVarBool.FLAG_LIMITLOW] = PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LD) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RD);
VAR.BOOL[eVarBool.FLAG_LIMITHIGH] = false;// PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU);
VAR.BOOL[eVarBool.FLAG_LIMITLOW] = false;//PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LD) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RD);
VAR.BOOL[eVarBool.OVERLOAD] = (VAR.BOOL[eVarBool.OVERLOADL] || VAR.BOOL[eVarBool.OVERLOADR]);
}
else
@@ -189,109 +190,7 @@ namespace Project
DateTime lastplclogtime = DateTime.Now;
string logmessage = "";
bool logerror = false;
void PLC_Message(object sender, FakePLC.MessageEventArgs e)
{
if (e.MsgType == arRS232.MessageType.Error)
{
PUB.logplc.Add("ERROR-MAIN", e.Message);
}
else if (e.MsgType == arRS232.MessageType.Normal)
{
//내부클래스에서 발생한 메세지(이 프로그램)
if (e.Message.StartsWith("@STP:") && e.Message.Length > 5)
{
PUB.Result.StopMessageSWR = e.Message.Substring(5);
PUB.Result.StopMessageTimeSWR = DateTime.Now;
}
PUB.logplc.Add("MOT", "[Inner Msg]" + e.Message);
}
else
{
//PLC에서 수신된 메세지
if (e.Message.StartsWith("@STP|") && e.Message.Length > 5)
{
PUB.Result.StopMessagePLC = e.Message.Substring(5);
PUB.Result.StopMessageTimePLC = DateTime.Now;
PUB.logplc.Add("PLC", "[" + e.MsgType.ToString() + "]" + e.Message);
}
else if (e.Message.StartsWith("@FLAG|") && e.Message.Length > 6)
{
var flagData = e.Message.Split('|')[1].Split(',');
var flag = (COMM.eVarBool)(byte.Parse(flagData[0]));
var flagmsg = "[" + flag.ToString() + "] = " + flagData[1];
//플래그값이 바뀌면 로깅한다
var fValueTrue = flagData[1] == "1";
if (PUB.PLC.GetFlag(flag) != fValueTrue)
{
PUB.logplc.Add("MFLAG", flagmsg);
}
}
else if (e.Message.StartsWith("@SET|") && e.Message.Length > 5)
{
//셋팅관련 정보이다
var flagData = e.Message.Split('|')[1];
var splBuf = flagData.Split(':');
if (splBuf[0] == "SAVE") PUB.PLC.SaveTime = DateTime.Now;
PUB.logplc.Add("SETUP", "[SETTING] " + flagData);
}
else
{
if (e.Message.StartsWith("ERR"))
{
logmessage = e.Message;
logerror = true;
}
else if (e.Message.StartsWith("@@") & e.Data.Length == 16)
{
//표시하지 말자
logerror = false;
var hexstr = e.Data.GetHexString();
logmessage = "[" + e.MsgType.ToString() + "]" + hexstr;
}
else
{
logmessage = "[" + e.MsgType.ToString() + "]" + e.Message;
logerror = false;
}
bool addlog = false;
if (lastplclogmessage.StartsWith("[Recv] 40 40"))
{
if (lastplclogmessage.Length > 40)
{
var st = lastplclogmessage.Substring(0, 40);
var cr = logmessage.Substring(0, 40);
addlog = st.Equals(cr) == false;
if (addlog == false)
{
var ts = DateTime.Now - lastplclogtime;
if (ts.TotalSeconds > 5) addlog = true;
}
}
else addlog = true;
}
else if (logmessage.Equals(lastplclogmessage) == false) addlog = true;
else
{
var ts = DateTime.Now - lastplclogtime;
if (ts.TotalSeconds > 30) addlog = true;
}
if (addlog)
{
if (logerror) PUB.logplc.AddE(logmessage);
else PUB.logplc.Add("PLC", logmessage);
lastplclogmessage = logmessage;
lastplclogtime = DateTime.Now;
}
}
}
}
}
}