using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareCc.Conveyor.Datagram
{
public class GateDatagramParse
{
private GateDatagramProp Prop;
public GateDatagramParse(GateDatagramProp prop)
{
this.Prop = prop;
}
///
/// 生成字节码数组形式报文的函数
///
///
public byte[] ParseByteDatagram()
{
return ASCIIEncoding.ASCII.GetBytes(ParseStringDatagram());
}
///
/// 生成字符串形式报文的函数
///
///
public string ParseStringDatagram()
{
string startstr = "!";
string separator = "@"; //分割符号
string endFlag = "#";//结束标志
StringBuilder sb = new StringBuilder();
if (Prop.Name=="alarm")
{
sb.Append(Prop.Name)//端口名
.Append(separator)
.Append(Prop.Alarmcode)//报警信息
.Append(endFlag);
}
else if (Prop.Name == "sc")
{
sb.Append(Prop.Name)//端口名
.Append(separator)
.Append(Prop.Wind)//出库型材宽厚
.Append(Prop.Thick)
.Append(endFlag);
}
else
{
sb.Append(startstr)
.Append(Prop.Name)//端口名
.Append(separator)
.Append(Prop.Roll)//滚动信号
.Append(separator)
.Append(Prop.InOut)//出入库信号
.Append(endFlag);
}
return sb.ToString();
}
}
}