lch 7 months ago
commit db9a7060a5

@ -116,6 +116,25 @@ namespace BatCharging.Service
return bytesResult;
}
/// <summary>
/// 32进制数高地位对调
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static byte[] Int32ToByteArray(Int32 value) //16进制数高地位对调
{
byte[] bytesResult = new byte[4];
byte[] temp = new byte[4];
BitConverter.GetBytes(Convert.ToInt32(value)).CopyTo(temp, 0);
bytesResult[0] = temp[3];
bytesResult[1] = temp[2];
bytesResult[2] = temp[1];
bytesResult[3] = temp[0];
return bytesResult;
}
/// <summary>
/// 获取16进制字符串的字节数组

@ -10,7 +10,7 @@ namespace BatCharging.Service
public class ChargerSendCMD
{
#region 协议格式
public byte[] SendRCMD1(out APDUModel APDUModel, CMD1 t)
public byte[] SendRCMD1(out APDUModel APDUModel, CMD1 CMD)
{
byte[] result = null;
@ -24,7 +24,7 @@ namespace BatCharging.Service
model.checksumDomain = 0x01;
model.dataDomain = GetRCMD1DataInfo(t); //数据域
model.dataDomain = GetRCMD1DataInfo(CMD); //数据域
model.LengthDomain = Convert.ToUInt16(9 + model.dataDomain.Length); //报文长度
List<byte> lstResult = new List<byte>();
@ -47,15 +47,15 @@ namespace BatCharging.Service
{
List<byte> lstContent = new List<byte>();
lstContent.AddRange(BitConverter.GetBytes(CMD1.value1));
lstContent.AddRange(BitConverter.GetBytes(CMD1.value2));
lstContent.AddRange(ByteUtils.Int16ToByteArray((short)CMD1.value1));
lstContent.AddRange(ByteUtils.Int16ToByteArray((short)CMD1.value2));
lstContent.Add(CMD1.value3);
lstContent.AddRange(BitConverter.GetBytes(CMD1.value4));
lstContent.AddRange(ByteUtils.Int32ToByteArray((int)CMD1.value4));
if (CMD1.value3 == 1)
{
lstContent.Add(CMD1.value5);
lstContent.AddRange(BitConverter.GetBytes(CMD1.value6));
lstContent.AddRange(ByteUtils.Int16ToByteArray((short)CMD1.value6));
lstContent.AddRange(CMD1.value7);
}
else
@ -104,13 +104,13 @@ namespace BatCharging.Service
{
List<byte> lstContent = new List<byte>();
lstContent.AddRange(BitConverter.GetBytes(CMD.value1));
lstContent.AddRange(BitConverter.GetBytes(CMD.value2));
lstContent.AddRange(ByteUtils.Int16ToByteArray((short)CMD.value1));
lstContent.AddRange(ByteUtils.Int16ToByteArray((short)CMD.value2));
lstContent.Add(CMD.value3);
lstContent.AddRange(BitConverter.GetBytes(CMD.value4));
lstContent.AddRange(ByteUtils.Int32ToByteArray((int)CMD.value4));
if (CMD.value3 == 1)
{
lstContent.AddRange(BitConverter.GetBytes(CMD.value5));
lstContent.AddRange(ByteUtils.Int16ToByteArray((short)CMD.value5));
lstContent.AddRange(CMD.value6);
}
else

@ -224,10 +224,18 @@ namespace Monitor.ChargeTest
/// <param name="e"></param>
private void button14_Click(object sender, EventArgs e)
{
byte type = 0;
uint startAddress = 2;
byte num = 3;
byte[] setData = null;
byte type = 1;//类型 0-查询/1-设置
uint startAddress = 2;//设置/查询参数起始地址
byte num = 3;//设置/查询个数
byte[] setData = new byte[8];//设置数据
setData[0] = 0;
setData[1] = 1;
setData[2] = 2;
setData[3] = 3;
setData[4] = 4;
setData[5] = 5;
setData[6] = 6;
setData[7] = 7;
CmnChargerParam._CHR00TCPCLIENT.Send1(type, startAddress, num, setData);
}
/// <summary>
@ -237,9 +245,17 @@ namespace Monitor.ChargeTest
/// <param name="e"></param>
private void button15_Click(object sender, EventArgs e)
{
byte type = 0;
uint startAddress = 1;
byte[] setData = null;
byte type = 0;//0-查询 1-设置
uint startAddress = 1;//设置/查询参数启始地址
byte[] setData = new byte[8];//设置数据
setData[0] = 0;
setData[1] = 1;
setData[2] = 2;
setData[3] = 3;
setData[4] = 4;
setData[5] = 5;
setData[6] = 6;
setData[7] = 7;
CmnChargerParam._CHR00TCPCLIENT.Send3(type, startAddress, setData);
}
/// <summary>

Loading…
Cancel
Save