..
This commit is contained in:
@@ -15,7 +15,8 @@ namespace AGVEmulator
|
||||
public UInt16 system0 = 0;
|
||||
public UInt16 system1 = 0;
|
||||
public UInt16 error = 0;
|
||||
public byte signal = 0;
|
||||
public byte signal1 = 0;
|
||||
public byte signal2 = 0;
|
||||
public char sts_bunki = 'S';
|
||||
public char sts_speed = 'L';
|
||||
public char sts_dir = 'F';
|
||||
@@ -57,16 +58,22 @@ namespace AGVEmulator
|
||||
/// </summary>
|
||||
cross_ctrl_comm_error,
|
||||
}
|
||||
public enum esignal
|
||||
public enum esignal2
|
||||
{
|
||||
cart_detect1 = 0,
|
||||
cart_detect2,
|
||||
}
|
||||
|
||||
public enum esignal1
|
||||
{
|
||||
front_gate_out = 0,
|
||||
rear_sensor_out,
|
||||
mark_sensor_1,
|
||||
mark_sensor_2,
|
||||
front_left_sensor,
|
||||
front_right_sensor,
|
||||
front_center_sensor,
|
||||
charger_align_sensor,
|
||||
lift_up,
|
||||
lift_down,
|
||||
magnet_on
|
||||
}
|
||||
public enum esystemflag0
|
||||
{
|
||||
@@ -119,7 +126,8 @@ namespace AGVEmulator
|
||||
system0,
|
||||
system1,
|
||||
error,
|
||||
signal,
|
||||
signal1,
|
||||
signal2,
|
||||
}
|
||||
public enum estsvaluetype
|
||||
{
|
||||
@@ -266,11 +274,17 @@ namespace AGVEmulator
|
||||
if (SetBit(ref error, idx, value))
|
||||
ValueChanged?.Invoke(this, new ValueChangedArgs(idx, value, evaluetype.error));
|
||||
}
|
||||
public void SetAGV(DevAGV.esignal flag, bool value)
|
||||
public void SetAGV(DevAGV.esignal1 flag, bool value)
|
||||
{
|
||||
var idx = (int)flag;
|
||||
if (SetBit(ref signal, idx, value))
|
||||
ValueChanged?.Invoke(this, new ValueChangedArgs(idx, value, evaluetype.signal));
|
||||
if (SetBit(ref signal1, idx, value))
|
||||
ValueChanged?.Invoke(this, new ValueChangedArgs(idx, value, evaluetype.signal1));
|
||||
}
|
||||
public void SetAGV(DevAGV.esignal2 flag, bool value)
|
||||
{
|
||||
var idx = (int)flag;
|
||||
if (SetBit(ref signal2, idx, value))
|
||||
ValueChanged?.Invoke(this, new ValueChangedArgs(idx, value, evaluetype.signal2));
|
||||
}
|
||||
|
||||
public void SetSTS(estsvaluetype target, char value)
|
||||
@@ -311,6 +325,29 @@ namespace AGVEmulator
|
||||
|
||||
switch (frame.cmd)
|
||||
{
|
||||
case "CLF"://마그넷 * 리프트
|
||||
var cmd2 = frame.data.Substring(0, 2);
|
||||
switch(cmd2)
|
||||
{
|
||||
case "ON":
|
||||
SetAGV(esignal1.magnet_on, true);
|
||||
break;
|
||||
case "UP":
|
||||
SetAGV(esignal1.lift_down, false);
|
||||
SetAGV(esignal1.lift_up, true);
|
||||
break;
|
||||
case "DN":
|
||||
SetAGV(esignal1.lift_up, false);
|
||||
SetAGV(esignal1.lift_down, true);
|
||||
break;
|
||||
case "ST":
|
||||
break;
|
||||
case "OF":
|
||||
SetAGV(esignal1.magnet_on, false);
|
||||
break;
|
||||
|
||||
}
|
||||
break;
|
||||
case "CRN": //기동명령
|
||||
//sts_dir = frame.data[0];
|
||||
SetSTS(estsvaluetype.direction, frame.data[0]);
|
||||
@@ -472,11 +509,12 @@ namespace AGVEmulator
|
||||
barr[20] = (byte)this.sts_bunki;
|
||||
barr[21] = (byte)this.sts_dir;
|
||||
barr[22] = (byte)this.sts_sensor;
|
||||
//bufarr = System.Text.Encoding.Default.GetBytes(p.sensor.ToString().PadLeft(2, '0'));
|
||||
//Array.Copy(bufarr, 0, barr, 22, bufarr.Length);
|
||||
bufarr = System.Text.Encoding.Default.GetBytes(signal.ToString("X2").PadLeft(2, '0'));
|
||||
|
||||
bufarr = System.Text.Encoding.Default.GetBytes(signal1.ToString("X2").PadLeft(2, '0'));
|
||||
Array.Copy(bufarr, 0, barr, 23, bufarr.Length);
|
||||
//barr[22] = (byte)'5';
|
||||
|
||||
bufarr = System.Text.Encoding.Default.GetBytes(signal2.ToString("X2").PadLeft(2, '0'));
|
||||
Array.Copy(bufarr, 0, barr, 25, bufarr.Length);
|
||||
|
||||
barr[barr.Length - 3] = (byte)'*';
|
||||
barr[barr.Length - 2] = (byte)'*';
|
||||
|
||||
Reference in New Issue
Block a user