金南瓜SECS/GEM如何实现List类型变量(C#)

1 构造L类型

1.1 L类型的构造

1.1.1单层结构

若要构造下图形式的数据(一个List内含三个数据)

1.声明并实例化listData,用来构造图中的格式

List<string> listData = new List<string>();

  1. 声明并赋值三个变量,用来保存图中L类型中的数据

使用listJoin方法为数据赋值,第一个参数为该数据的数据类型,第二个参数为该数据的值

string nBarCode = CListOperate.listJoin("A", "123Code");

string pData2 = CListOperate.listJoin("A", "iik");

string pData3 = CListOperate.listJoin("HEX", "32EF29AX");

  1. 构造图中格式

把图中第一行的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));

  1. 构造整体格式,把所以数据添加到顶层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.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变量时,会返回以下内容:

相关推荐
SECS/GEM4 小时前
金南瓜SECS/GEM如何实现List类型变量(C++)
secs·gem300·secs gem
好学近乎知o1 年前
Secs/Gem第五讲(基于secs4net项目的ChatGpt介绍)
secs/gem·secs4net
画个一样的我2 年前
06、HSMS协议介绍
secs/gem
半导体老油条2 年前
金南瓜SECS/GEM C# SDK 快速使用指南
开发语言·c#·secs·secs/gem·gem300