chore: commit all remaining changes
This commit is contained in:
@@ -82,7 +82,7 @@ namespace Project.Device
|
||||
proto.OnMessage -= Proto_OnMessage;
|
||||
}
|
||||
|
||||
|
||||
public int senderrcnt = 0;
|
||||
/// <summary>
|
||||
/// 지그비장치에 데이터를 전송합니다
|
||||
/// </summary>
|
||||
@@ -93,10 +93,12 @@ namespace Project.Device
|
||||
try
|
||||
{
|
||||
this.Write(data, 0, data.Length);
|
||||
senderrcnt = 0;
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
senderrcnt += 1;
|
||||
ErrorMessage = ex.Message;
|
||||
return false;
|
||||
}
|
||||
@@ -119,6 +121,7 @@ namespace Project.Device
|
||||
try
|
||||
{
|
||||
base.Open();
|
||||
senderrcnt = 0;
|
||||
return IsOpen;
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -150,6 +153,7 @@ namespace Project.Device
|
||||
var buffer = new byte[dev.BytesToRead];
|
||||
dev.Read(buffer, 0, buffer.Length);
|
||||
proto.ProcessReceivedData(buffer);
|
||||
VAR.TIME[eVarTime.LastRecv_XBE] = DateTime.Now;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -168,6 +172,39 @@ namespace Project.Device
|
||||
PUB.logxbee.AddE($"Send SendMoveComplete [X] : {packet.Length} {packet.HexString()} {PUB.XBE.ErrorMessage}");
|
||||
}
|
||||
|
||||
StateMachine.ERunStep lastactioncmd = StateMachine.ERunStep.READY;
|
||||
DateTime lastactioncmdtime = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 특정행동이 완료되었을때 전달함
|
||||
/// </summary>
|
||||
/// <param name="tag"></param>
|
||||
public void SendActionComplete(StateMachine.ERunStep actionCmd)
|
||||
{
|
||||
if (lastactioncmd == actionCmd)
|
||||
{
|
||||
var ts = DateTime.Now - lastactioncmdtime;
|
||||
if(ts.TotalSeconds < 2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var id = PUB.setting.XBE_ID;
|
||||
byte cmd = (byte)ENIGProtocol.AGVCommandEH.ActionComplete;
|
||||
var packet = proto.CreatePacket(id, cmd, null);
|
||||
if (Send(packet))
|
||||
PUB.logxbee.AddI($"SendActionComplete [O] : {packet.Length} {packet.HexString()}");
|
||||
else
|
||||
PUB.logxbee.AddE($"SendActionComplete [X] : {packet.Length} {packet.HexString()} {PUB.XBE.ErrorMessage}");
|
||||
|
||||
//최종액션저장
|
||||
lastactioncmd = actionCmd;
|
||||
lastactioncmdtime = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 신규 RFID태그값이 읽혔다면 이명령을 통해서 전송한다
|
||||
/// </summary>
|
||||
@@ -254,7 +291,7 @@ namespace Project.Device
|
||||
value = 0; // stop
|
||||
data.Add(value);
|
||||
|
||||
|
||||
|
||||
//나르미오류코드전송필요 260202
|
||||
//agv\structure\errorflag.cs 파일의 public enum eflag 에 내용있음
|
||||
data.AddRange(BitConverter.GetBytes(PUB.AGV.error.Value));
|
||||
@@ -311,6 +348,10 @@ namespace Project.Device
|
||||
|
||||
// ErrorCode [New RunStepErrorCode]
|
||||
value = (byte)PUB.Result.RunStepErrorCode;
|
||||
|
||||
//라이다로인해 멈춘경우 오류코드 추가 260204
|
||||
if (value == 0 && PUB.AGV.system1.stop_by_front_detect)
|
||||
value = (byte)ENIGProtocol.AGVErrorCode.LIDAR_STOP;
|
||||
data.Add(value);
|
||||
|
||||
// LastTag
|
||||
|
||||
Reference in New Issue
Block a user