..
This commit is contained in:
@@ -229,7 +229,7 @@ namespace arDev
|
||||
private void RevSTS(Dataframe frame)
|
||||
{
|
||||
LastSTS = frame.DataString;
|
||||
string rcvdNow = frame.DataString.Replace("\0","");
|
||||
string rcvdNow = frame.DataString.Replace("\0", "");
|
||||
byte[] bRcvData = frame.Buffer;
|
||||
var encoding = System.Text.Encoding.Default;
|
||||
try
|
||||
@@ -258,21 +258,39 @@ namespace arDev
|
||||
error.SetValue(nDataTemp);
|
||||
idx += 4;
|
||||
|
||||
|
||||
data.Speed = rcvdNow.Substring(idx, 1)[0]; idx += 1; //L,M.H
|
||||
data.Sts = rcvdNow.Substring(idx, 1)[0]; idx += 1; //S(직진),L(좌분기),R(우분기)
|
||||
data.Direction = rcvdNow.Substring(idx, 1)[0]; idx += 1; //F,B,L,R
|
||||
data.guidesensor = int.Parse(rcvdNow.Substring(idx, 1)); idx += 1; //가이드 좌측부터 1~9
|
||||
|
||||
nDataTemp = Convert.ToByte(rcvdNow.Substring(idx, 2), 16);
|
||||
signal1.SetValue(nDataTemp); idx += 2;
|
||||
signal1.SetValue(nDataTemp); idx += 2;
|
||||
|
||||
if(idx <= rcvdNow.Length-2)
|
||||
//agv가 멈춰있고 마크센서가 들어온경우, 턴 작업이었다면 턴 셋팅을 한다
|
||||
if (system1.agv_run == false && system1.agv_stop == true &&
|
||||
TurnInformation != null && signal1.mark_sensor)
|
||||
{
|
||||
if (TurnInformation.Start.Year > 2000)
|
||||
{
|
||||
if (TurnInformation.State == eNarumiTurn.LeftIng || TurnInformation.State == eNarumiTurn.RightIng)
|
||||
{
|
||||
TurnInformation.End = DateTime.Now;
|
||||
if (TurnInformation.State == eNarumiTurn.LeftIng) TurnInformation.State = eNarumiTurn.Left;
|
||||
if (TurnInformation.State == eNarumiTurn.RightIng) TurnInformation.State = eNarumiTurn.Right;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//시작시간이 설정되지 않았다면 처리하지 않는다.
|
||||
}
|
||||
}
|
||||
|
||||
if (idx <= rcvdNow.Length - 2)
|
||||
{
|
||||
nDataTemp = Convert.ToByte(rcvdNow.Substring(idx, 2), 16);
|
||||
signal2.SetValue(nDataTemp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
DataReceive?.Invoke(this, new DataEventArgs(DataType.STS));
|
||||
|
||||
@@ -462,7 +480,7 @@ namespace arDev
|
||||
OFF
|
||||
}
|
||||
|
||||
|
||||
|
||||
private bool CheckSum(byte[] bData)
|
||||
{
|
||||
if (bData.Length < 2) // 데이터 길이가 2이하일 경우 비정상 처리
|
||||
|
||||
Reference in New Issue
Block a user