1 构造L类型
1.1 L类型的构造
1.1.1单层结构
若要构造下图形式的数据(一个List内含三个数据)

1.声明并实例化listData,用来构造图中的格式
List<string> listData = new List<string>();
- 声明并赋值三个变量,用来保存图中L类型中的数据
使用listJoin方法为数据赋值,第一个参数为该数据的数据类型,第二个参数为该数据的值
string nBarCode = CListOperate.listJoin("A", "123Code");
string pData2 = CListOperate.listJoin("A", "iik");
string pData3 = CListOperate.listJoin("HEX", "32EF29AX");
- 构造图中格式
把图中第一行的L和列表包含的三个数据添加到第一步声明的listData中
listData.Add("L");
listData.Add(nBarCode);
listData.Add(pData2);
listData.Add(pData3);
1.1.2多层结构
如果一个L类型的子数据仅为多个L类型,如下图
图中表示一个List类型中包含一个一般类型的数据和两个List类型数据,每个子List中包含多个数据
图中格式构造方法如下
1.声明并实例化四个list
顶层L: List<string> listDataTopLevel = new List<string>();
第一个子L:List<string> listData1 = new List<string>();
第二个子L:List<string> listData2 = new List<string>();
第二个子L内的List:List<string> listData3 = new List<string>();
2.声明并赋值三个变量,用来保存图中第一个子L类型中的数据
string pLotID = CListOperate.listJoin("A", "lotA");
string pProcessID = CListOperate.listJoin("A", "proceeIDA");
string pProdutID = CListOperate.listJoin("A", "ProdutA");
3.构造第一个子L格式
把图中第一个的子L和列表包含的三个数据添加到第一步声明的listData1中
listData1.Add("L");
listData1.Add(pLotID);
listData1.Add(pProcessID);
listData1.Add(pProdutID);
4.赋值第二个子L中的数据
pLotID = CListOperate.listJoin("A", "lotB");
pProcessID = CListOperate.listJoin("A", "proceeIDB");
pProdutID = CListOperate.listJoin("A", "ProdutB");
5.构造第二个子L格式
把图中第二个的子L和列表包含的三个数据添加到第一步声明的listData2中
listData2.Add("L");
listData2.Add(pLotID);
listData2.Add(pProcessID);
5.1 构造第二个子L中的L
pLotID = CListOperate.listJoin("A", "lotC");
pProcessID = CListOperate.listJoin("A", "proceeIDC");
pProdutID = CListOperate.listJoin("A", "ProdutC");
listData3.Add("L");
listData3.Add(pLotID);
listData3.Add(pProcessID);
listData3.Add(pProdutID);
5.2添加到第二个子L中
listData2.Add(CListOperate.listJoin(listData3));
- 构造整体格式,把所以数据添加到顶层L中
listDataTopLevel.Add("L");
listDataTopLevel.Add(pLotID);
listDataTopLevel.Add(CListOperate.listJoin(listData1));
listDataTopLevel.Add(CListOperate.listJoin(listData2));
2 应用场景
2.1 构造L类型变量
1.添加新变量
m_pSecs.VariableAdd(6003, "TEST", "L测试", "L", "", "");
- 构造变量格式
直接使用1.1.2多层结构的例子
string pValue = "";
List<string> listDataTopLevel = new List<string>();
List<string> listData1 = new List<string>();
List<string> listData2 = new List<string>();
string pLotID = CListOperate.listJoin("A", "lotA");
string pProcessID = CListOperate.listJoin("A", "proceeIDA");
string pProdutID = CListOperate.listJoin("A", "ProdutA");
listData1.Add("L");
listData1.Add(pLotID);
listData1.Add(pProcessID);
listData1.Add(pProdutID);
pLotID = CListOperate.listJoin("A", "lotB");
pProcessID = CListOperate.listJoin("A", "proceeIDB");
pProdutID = CListOperate.listJoin("A", "ProdutB");
listData2.Add("L");
listData2.Add(pLotID);
listData2.Add(pProcessID);
listData2.Add(pProdutID);
listDataTopLevel.Add("L");
listDataTopLevel.Add(CListOperate.listJoin(listData1));
listDataTopLevel.Add(CListOperate.listJoin(listData2));
3.把整体的结构组合成字符串赋值给变量pValue
pValue = CListOperate.listJoin(listDataTopLevel);
4.把pValue赋值到变量6003中
m_pSecs.VariableSet(6003,pValue);
5.当Host/EAP查询6003变量时,会返回以下内容:
